Alexandru Posté(e) le 23 juin 2016 Signaler Posté(e) le 23 juin 2016 Bonjour a vous , Depuis une certaine période , j'ai essayé les deux versions en 0-10V pour le ventilateur du convecteur Clima Canal Jaga en HC2 - la première version c'est une combinaison LT-3060-010V avec RGBW Fibaro -la deuxième version est avec Flush Dimmer 0-10V Qubino Je suis satisfait avec les deux versions. Maintenant, pour pouvoir intégrer ce ventilateur dans notre HC2 est nécessaire une scène et cette scène doit être en fonction de la différence de température ambiante et température de consigne. (ex si dans la pièce la température ambiante est 18° et la température de consigne est 22° alors le ventilateur démarre a 80 pour-cent de sa vitesse et aussi la température ambiante est 20° et la température de consigne est 22° alors le ventilateur va diminué sa vitesse a 10 pour-cent et température ambiante 21 et la température de consigne est 22° ventilateur s'arrête) Merci bien à vous de votre aide ! Bien à vous
pepite Posté(e) le 24 juin 2016 Signaler Posté(e) le 24 juin 2016 Salut, Tu as donc besoin d'aide pour faire la scène c'est ca ? Si oui, as-tu déjà commencé à écrire quelque-chose ?
Alexandru Posté(e) le 24 juin 2016 Auteur Signaler Posté(e) le 24 juin 2016 Désolé pour le retard , Oui c'est ça j'ai besoin d'aide pour faire la scène , En fait , j'ai mis en place le Vd Thermostat Virtuel Pid et j'ai essayé quelque-ligne en mode bloc , mais ça ne marche pas ... et en LUA mes connaissances sont limitées
Alexandru Posté(e) le 13 août 2016 Auteur Signaler Posté(e) le 13 août 2016 Bonjour , J'ai essayé ca mais j'arrive pas a résoudre quelque chose... [[ %% autostart %% properties 107 value %% events %% globals --]] local startSource = fibaro:getSourceTrigger(); if ( ( tonumber(fibaro:getValue(107, "value")) >= 24.5 and ( tonumber(fibaro:getValue(109, "ui.actualConsigna.value")) >= 26 or startSource["type"] == "other" ) then fibaro:call(12, "setValue", "25"); end
Alexandru Posté(e) le 13 août 2016 Auteur Signaler Posté(e) le 13 août 2016 [DEBUG] 21:46:46: line 17: ')' expected (to close '(' at line 11) near 'then' [DEBUG] 21:51:19: line 17: ')' expected (to close '(' at line 11) near 'then'
Nico Posté(e) le 14 août 2016 Signaler Posté(e) le 14 août 2016 Oui, revérifies tes parenthèses, ils en manquent des fermantes là, et plusieurs même.
pepite Posté(e) le 14 août 2016 Signaler Posté(e) le 14 août 2016 Oui @nico a raison, comme ceci. à tester. if ( tonumber(fibaro:getValue(107, "value")) >= 24.5 and tonumber(fibaro:getValue(109, "ui.actualConsigna.value")) >= 26 or startSource["type"] == "other" ) then fibaro:call(12, "setValue", "25"); end
Alexandru Posté(e) le 14 août 2016 Auteur Signaler Posté(e) le 14 août 2016 Bonjour, Je vous remercie , mais je l'ai testé , mais maintenant j'ai ca ... --[[ %% autostart %% properties 107 value %% events %% globals --]] local startSource = fibaro:getSourceTrigger(); if ( tonumber(fibaro:getValue(107, "value")) >= 25.5 and tonumber(fibaro:getValue(109, "ui.actualConsigna.value")) >= 27 or startSource["type"] == "other" ) then fibaro:call(12, "setValue", "25"); end
Alexandru Posté(e) le 14 août 2016 Auteur Signaler Posté(e) le 14 août 2016 [DEBUG] 16:27:10: line 15: attempt to compare number with nil [DEBUG] 16:27:42: line 15: attempt to compare number with nil [DEBUG] 16:27:42: line 15: attempt to compare number with nil [DEBUG] 16:28:35: line 15: attempt to compare number with nil [DEBUG] 16:36:45: line 15: attempt to compare number with nil
pepite Posté(e) le 14 août 2016 Signaler Posté(e) le 14 août 2016 Salut, As tu quelque chose dans le label "actualconsigna" du 109 ?
Alexandru Posté(e) le 14 août 2016 Auteur Signaler Posté(e) le 14 août 2016 Oui ,j'ai ca , dans le VD avec id 109
pepite Posté(e) le 14 août 2016 Signaler Posté(e) le 14 août 2016 Essaie cela et regarde le debug. Cela nous donnera la valeur du label "actualconsigna". Y a t-il quelquechose d'ecrit dans cette etiquette ? if ( tonumber(fibaro:getValue(107, "value")) >= 24.5 and tonumber(fibaro:getValue(109, "ui.actualConsigna.value")) >= 26 or startSource["type"] == "other" ) then fibaro:call(12, "setValue", "25"); end fibaro:debug("Valeur consigna : " ..fibaro:getValue(109, "ui.actualConsigna.value")
Alexandru Posté(e) le 14 août 2016 Auteur Signaler Posté(e) le 14 août 2016 J'ai essayé ... --[[ %% autostart %% properties 107 value %% events %% globals --]] local startSource = fibaro:getSourceTrigger(); if ( tonumber(fibaro:getValue(107, "value")) >= 24.5 and tonumber(fibaro:getValue(109, "ui.actualConsigna.value")) >= 26 or startSource["type"] == "other" ) then fibaro:call(12, "setValue", "25"); end fibaro:debug("Valeur consigna : "..fibaro:getValue(109, "ui.actualConsigna.value")
Alexandru Posté(e) le 14 août 2016 Auteur Signaler Posté(e) le 14 août 2016 le debug [DEBUG] 21:00:59: line 25: ')' expected (to close '(' at line 23) near [DEBUG] 21:01:04: line 25: ')' expected (to close '(' at line 23) near [DEBUG] 21:01:20: line 25: ')' expected (to close '(' at line 23) near
Alexandru Posté(e) le 14 août 2016 Auteur Signaler Posté(e) le 14 août 2016 --[[ %% autostart %% properties 107 value %% events %% globals --]] local startSource = fibaro:getSourceTrigger(); if ( tonumber(fibaro:getValue(107, "value")) >= 24.5 and tonumber(fibaro:getValue(109, "ui.actualConsigna.value")) >= 26 or startSource["type"] == "other" ) then fibaro:call(12, "setValue", "25"); end fibaro:debug("Valeur consigna : "..fibaro:getValue(109, "ui.actualConsigna.value"))
Alexandru Posté(e) le 14 août 2016 Auteur Signaler Posté(e) le 14 août 2016 le debug ... [DEBUG] 21:06:25: line 15: attempt to compare number with nil [DEBUG] 21:06:30: line 15: attempt to compare number with nil [DEBUG] 21:08:06: line 15: attempt to compare number with nil
pepite Posté(e) le 14 août 2016 Signaler Posté(e) le 14 août 2016 oops pardon j'avais oublie une parenthese Mets la ligne de debug juste apres le startsource sinon le code s'arrete a l'erreur de la ligne 15 j'avais copie la ligne mais j'ai oublie de la remettre au bon endroit sorry
Alexandru Posté(e) le 14 août 2016 Auteur Signaler Posté(e) le 14 août 2016 Opus on a quelque chose [DEBUG] 21:32:35: Valeur consigna : 26.75ºC / 23.50ºC _ [DEBUG] 21:32:35: line 16: attempt to compare number with nil [DEBUG] 21:32:46: Valeur consigna : 26.75ºC / 23.50ºC _ [DEBUG] 21:32:46: line 16: attempt to compare number with nil
pepite Posté(e) le 14 août 2016 Signaler Posté(e) le 14 août 2016 tu as donc bien 2 températures dans ce label et pas qu'1 seule, difficile donc de comparer en l'etat la valeur avec 26. D'où viennent ces temperatures dans l'etiquette ?
Alexandru Posté(e) le 14 août 2016 Auteur Signaler Posté(e) le 14 août 2016 En fait, la température de 26,75 est la température ambiante , et la température de 23,50 est la temperature de consigne , donc la température de consigne qu'il me faut , cela que je dois récupère ...
pepite Posté(e) le 15 août 2016 Signaler Posté(e) le 15 août 2016 Salut, Oui, j'ai bien compris que tu voulais récupérer la temperature de consigne. Comment l'etiquette est renseignée par ces 2 valeurs ? Quel module te donne la temperature de consigne ?
Alexandru Posté(e) le 15 août 2016 Auteur Signaler Posté(e) le 15 août 2016 Désolé pour le retard , mais j'avais analyse un peu et le bouton " + " du ce VD et jai trouvé ce ligne qui donne la temperature consigne... fibaro:call(_selfId, "setProperty", "ui.actualConsigna.value", value..'ºC / '..targetLevel..'ºC'..onOff)
Alexandru Posté(e) le 15 août 2016 Auteur Signaler Posté(e) le 15 août 2016 En fait le code de bouton "+" --[[ TermostatoVirtual Dispositivo virtual upTempButton.lua por Manuel Pascual ------------------------------------------------------------------------------]] --[[----- CONFIGURACION DE USUARIO -------------------------------------------]] --[[----- FIN CONFIGURACION DE USUARIO ---------------------------------------]] --[[----- NO CAMBIAR EL CODIGO A PARTIR DE AQUI ------------------------------]] --[[----- CONFIGURACION AVANZADA ---------------------------------------------]] local _selfId = fibaro:getSelfId() -- ID de este dispositivo virtual local intervalo = 0.5 local maxTemp = 28 local shadowTime = 120 -- minutos en intervalos de 15min. --[[----- FIN CONFIGURACION AVANZADA -----------------------------------------]] -- isVariable(varName) -- (string) varName: nombre de la variable global -- comprueba si existe una variable global dada function isVariable(varName) -- comprobar si existe local valor, timestamp = fibaro:getGlobal(varName) if (valor and timestamp > 0) then return valor end return false end --[[---------------------------------------------------------------------------- getDevice(nodeId) recupera el dispositivo virtual desde la variable global (number) --]] function getDevice(nodeId) -- si exite la variable global recuperar dispositivo local device = isVariable('dev'..nodeId) if device then return json.decode(device) end end -- recuperar dispositivo local termostatoVirtual = getDevice(_selfId) -- comprobar que no està¡ en modo MANUAL if termostatoVirtual.mode ~= 0 then -- recuperar temperaturas local value = termostatoVirtual.value local targetLevel = termostatoVirtual.targetLevel local onOff = ' _' -- disminuir intervalo if targetLevel <= (maxTemp - intervalo) then targetLevel = targetLevel + intervalo else targetLevel = 0 end --actualizar dispositivo termostatoVirtual.targetLevel = targetLevel -- proteger con un tiempo por defecto termostatoVirtual.timestamp = os.time() + shadowTime * 60 -- guardar en variable global fibaro:setGlobal('dev'.._selfId, json.encode(termostatoVirtual)) -- actualizar la etiqueta targetLevel = string.format('%.2f', targetLevel) value = string.format('%.2f', value) local onOff = ' _' fibaro:call(_selfId, "setProperty", "ui.actualConsigna.value", value..'ºC / '..targetLevel..'ºC'..onOff) end --[[--------------------------------------------------------------------------]]
Messages recommandés