-
Compteur de contenus
14 962 -
Inscription
-
Dernière visite
-
Jours gagnés
204
Tout ce qui a été posté par jojo
-
merci mprinfo, avec les infos de Berale24 j'avais trouvé, et j'étais justement entrain de poster la solution la source : http://www.lua.org/pil/19.2.html le code : -- table et sous table fibaro:debug("Table et sous-table") local tabl = {} for i = 1,4 do table.insert(tabl, {10+i, 20+i}) end fibaro:debug("Affichage") for i = 1, #tabl do fibaro:debug(tabl[i][1] .. " - " .. tabl[i][2]) end fibaro:debug("Replace line 2") table.remove (tabl, 2) table.insert (tabl, 2, {41, 42}) fibaro:debug("Affichage") for i = 1, #tabl do fibaro:debug(tabl[i][1] .. " - " .. tabl[i][2]) end le log : [DEBUG] 19:29:44: Table et sous-table [DEBUG] 19:29:44: Affichage [DEBUG] 19:29:44: 11 - 21 [DEBUG] 19:29:44: 12 - 22 [DEBUG] 19:29:44: 13 - 23 [DEBUG] 19:29:44: 14 - 24 [DEBUG] 19:29:44: Replace line 2 [DEBUG] 19:29:44: Affichage [DEBUG] 19:29:44: 11 - 21 [DEBUG] 19:29:44: 41 - 42 [DEBUG] 19:29:44: 13 - 23 [DEBUG] 19:29:44: 14 - 24
-
oui, mais tu dois également mettre les lignes 59 à61 en commentaire, car elle a pour objectif de tronquer la ligne si elle est trop longue, pour que tout tinne sur une ligne. Pour le push, il faut se poser les bonnes questions : fréquence du push, 1 par device ? Car sinon tu sera innondé
-
boujour, Ne vous moquez pas de moi SVP Je cherche à remplir en LUA une table à 2 colonnes et plusieurs lignes (=matrice). finalement je devrais être capable de modifie un élément particulier de la matrice. exemple de table remplie la la main (mais je voudrais le faire en LUA) : local table = { {11, 21}, {12, 22}, {13, 23}, {14, 24} } et je sais la relire en LUA : for i = 1, #table do fibaro:debug(table[i][1] .. " - " .. table[i][2]) end et voici le debug [DEBUG] 18:27:22: Table et sous-table [DEBUG] 18:27:22: Affichage [DEBUG] 18:27:22: 11 - 21 [DEBUG] 18:27:22: 12 - 22 [DEBUG] 18:27:22: 13 - 23 [DEBUG] 18:27:22: 14 - 24 cela fait 2 heures que je cherche, et je sais que c'est une bêtise. Je parie que notre "quiche en LUA" sait comment il faut faire
-
je te proposerais de commencer directement avec GEA. Il faut l'apprivoiser, mais c'est bien plus accessible que le lua. Regarde ici : https://gea.piccand.me/doku.php
-
Donc ceci fonctionne ? je mettrais tout dans une seule scène. Pour l'instant tu as 2 triggers : if température extérieure >= 5 then la scène actuelle else la scène de clim end modification de la température de la pièce, et la modification de la consigne de température. La scène actuelle est bien la scène de chauffage ? il suffit de rajouter ceci
-
c'est normal, la logique n'était pas bonne : tu allumes le chauffage si la consigne est inférieure à la température ? J'ai ajouté du débug. j'imagine que 17 et 50 correspondent à tes radiateurs ? --[[ %% properties 76 value 77 values %% globals --]] local temp = fibaro:getValue(77, "value") --Température local cons = fibaro:getValue(76, "value") --Consigne de température fibaro:debug("Température = " .. temp .. "°C") fibaro:debug("Consigne = " .. cons .. "°C") if tonumber(cons) >= tonumber(temp) then fibaro:call(17, "turnOn") fibaro:call(50, "turnOn") else fibaro:call(17, "turnOff") fibaro:call(50, "turnOff") end
-
lors d'un restore de la DB, , tu ne restores que la DB, et donc pas la version du firmware. Si ton backup était fait clean, tes ID après le restore de ta DB devraient être les mêmes => toujours clean
-
ce n'était pas fibaro:getGlobalValue (c'est pour les variables globales), mais fibaro:getValue --[[ %% properties 76 value 77 values %% globals --]] local temp = fibaro:getValue(77, "value") --Température local cons = fibaro:getValue(76, "value") --Consigne de température if tonumber(cons) <= tonumber(temp) then fibaro:call(17, "turnOn") fibaro:call(50, "turnOn") else fibaro:call(17, "turnOff") fibaro:call(50, "turnOff") end
-
j'ai oublié de fermer la ) après le dernier fibaro:call (avant dernière ligne)
-
ok ou pas ok ? de plus le script ne fait que 18 lignes => comment se fait-il qu'il y ait une erreur à la ligne 66 ?
-
sorry, je n'avais pas relu en détail le code. Il ne faut pas de and dans les actions d'un if (and est seulement pour les conditions) --[[ %% properties 76 value 77 values %% globals --]] local temp = fibaro:getGlobalValue(77, 'value') --Température local cons = fibaro:getGlobalValue(76, 'value') --Consigne de température if tonumber(cons) <= tonumber(temp) then fibaro:call(17, "turnOn") fibaro:call(50, "turnOn") else fibaro:call(17, "turnOff") fibaro:call(50, "turnOff" end
-
le if est en minuscules
-
voici le code qui devrait fonctionner : --[[ %% properties 76 value 77 values %% globals --]] local temp = fibaro:getGlobalValue(77, 'value') --Température local cons = fibaro:getGlobalValue(76, 'value') --Consigne de température If tonumber(cons) <= tonumber(temp) then fibaro:call(17, "turnOn") and fibaro:call(50, "turnOn") else fibaro:call(17, "turnOff") and fibaro:call(50, "turnOff") end
-
donc tu as une consigne de 22°C et une température actuelle de 24°C ? (pour que je sache si j'interprète bien)
-
250€, mais ça a l'air sympa !
-
dans le json que tu m'as envoyé, je vois que la consigne serait à22°C (juste) ? Je ne vois pas la valeur actuelle de la température. Dans ton interface HC2, as-tu une icône de température qui affiche la température actuelle ? J'spère que oui, et elle a un id différent. Trouve-làet envoie moi son json SVP
-
1) pour que ton code soit plus lisible sur le forum, introduit le en cliquant sur l'icône <> en dessous de celle des smily 2) utilise des fibaro:debug(...) dans ton code pour qu'il t'affiche plus d'info. N'ayant pas de str321, ce sera plus difficile pour moi de t'aider, mais on va essayer de faire fonctionner ce code de base. Peux-tu m'envoyer le json de ton device (dans le bouton <>) : http://<ip box>/api/devices/76
-
voici le code àmettre dans le bouton batteries pour afficher le nom de la pièce ---------------------------------- -- User Settings ---------------------------------- -- icones pour 0, 25, 50, 75 & 100 % local iconebatt = {39, 40, 41, 42, 43} ---------------------------------- -- DO not change bellow this line ---------------------------------- local modules = {} local batt -- charge de la batt local battmin = 100 -- % charge de la batterie chargée au min HC2 = Net.FHttp("127.0.0.1",11111) -- memorise LastCheck time local LastCheck = os.date("%d/%m/%y %H:%M") -- clear labels for i = 1, 10 do fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label" ..i.. ".value", "") end --------------- --FUNCTIONS --------------- function exclude(name) return name == "Main_Zwave_Device" or name == "Seismomètre" or name == "Luminosité" end --------------- --END FUNCTIONS --------------- local parentIds = {} local uniqueParentId = true local response = HC2:GET("/api/devices") local json = json.decode(response) for k, v in ipairs(json) do if (type(v.properties.batteryLevel) == "number") then if (not exclude(v.name) and v.visible and (not uniqueParentId or not parentIds[v.parentId])) then parentIds[v.parentId] = true batt = tonumber(v.properties.batteryLevel) if batt == 255 then batt = 0 end if (batt < battmin) then battmin = batt end table.insert(modules, {batt, v.name .. " (" .. v.id .. "-"..fibaro:getRoomName(fibaro:getRoomID(v.id))..")"}) end -- if exclude end -- if batteryLevel end -- for -- sort table function comp(w1,w2) return tonumber(w1[1]) < tonumber(w2[1]) end table.sort(modules,comp) -- display labels --if string.len(modules[1][2]) >= 29 then -- modules[1][2] = string.sub(modules[1][2], 1, 28) --end for index, value in ipairs(modules) do pcall( function() fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label"..index..".value", value[2].. "..." .. value[1] .. "%") end ) end -- display LastCheck fibaro:debug(LastCheck) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.LastCheck.value", LastCheck) -- display Icon fibaro:debug("battmin = "..battmin) battmin = math.floor((battmin - 1)/25) + 2 fibaro:debug("Icone batterie : "..battmin) fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", iconebatt[battmin]) (àla place du code existant)
-
mais c'est ce qu'elle fait, uniquement incrémenter toutes les secondes. C'est la scène domochart qui remet le compteur àzéro. Donc je vais faire en sorte que dans ma scène, elle ne fasse rien àla seconde 0 ? Pour éviter les conflits comme tu le suggères. ok ?
-
la 4.056 n'est pas une beta. Pour moi, elle et ok. $Je suis en 4.057 beta (mais plus disponible), et je n'irais pas au)delas pour le moment
-
joli, mais le prix également. Si elle fait mjeg, elle est compatible HCL/2
-
- 12 394 réponses
-
- 1
-
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
-
on ne sait pas faire de downgrade. Sauf si tu fais un full recovery, alors il revient àla version d'usine. Si ta version d'usine est une v3, alors oui tu peux retourner en v3, sinon pas possible. Fait un full recovery, avec effacement de tout le bazar, et essaie d'upgrader vers la dernière version stable 4.056 avant de réinclure ton module.
-
oui, c'est le principe du repreat. Le repeat répète l'action tant que les conditions sont remplies àla fréquence déterminée dnas le temps => avec -1, il ne sait rien faire. mais en fait tu veux que ton alerte lumineuse s'enclenche dès que une des deux porte est ouverte, et s'éteigne si les deux sont fermée. Donc ce n'est pas un repeat qu'il te faut. Mais si tu veux un message vocal, il te faut un repeat (toutes les 30 sec), comme je te l'ai expliqué plus haut alors)
- 12 394 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :