Alexandru Posté(e) le 19 août 2016 Auteur Signaler Posté(e) le 19 août 2016 [DEBUG] 22:39:49: 27.06ºC / 17.00ºC _ [DEBUG] 22:44:12: 27.06ºC / 17.00ºC _ [DEBUG] 22:44:14: 27.06ºC / 17.00ºC _
Alexandru Posté(e) le 19 août 2016 Auteur Signaler Posté(e) le 19 août 2016 et aussi ca --[[ %% autostart %% properties %% events %% globals --]] local actualConsigna = fibaro:getValue(109, "ui.actualConsigna.value") local pattern = "(%d+)ºC / (%d+)ºC _" local t, consigna = string.match(actualConsigna, pattern) fibaro:debug(actualConsigna) fibaro:debug(consigna)
Alexandru Posté(e) le 19 août 2016 Auteur Signaler Posté(e) le 19 août 2016 [DEBUG] 22:52:07: 27.06ºC / 17.00ºC _ [DEBUG] 22:52:07: nil [DEBUG] 22:52:19: 27.06ºC / 17.00ºC _ [DEBUG] 22:52:19: nil
pepite Posté(e) le 20 août 2016 Signaler Posté(e) le 20 août 2016 Salut, Olala, c'est de ma faute, je n'ai testé qu'avec des entiers et non avec des virgules ;-) SUIS UN BOULET ;-) Ca va mieux fonctionner comme ceci (enfin peut-etre hihi) local actualConsigna = fibaro:getValue(109, "ui.actualConsigna.value") fibaro:debug("Valeur Actual Consigna : " ..actualConsigna) local pattern = "(%d+.%d+)ºC / (%d+.%d+)ºC _" local t, consigna = string.match(actualConsigna, pattern) fibaro:debug(t) fibaro:debug(consigna)
Alexandru Posté(e) le 20 août 2016 Auteur Signaler Posté(e) le 20 août 2016 Mon Dieu , vous êtes un vrai homme, je ne sais plus comme je peux vous remercier pour le temps et le travail mis... [DEBUG] 14:38:55: Valeur Actual Consigna : 26.06ºC / 19.00ºC _ [DEBUG] 14:38:55: 26.06 [DEBUG] 14:38:55: 19.00 [DEBUG] 14:39:05: Valeur Actual Consigna : 26.06ºC / 21.50ºC _ [DEBUG] 14:39:05: 26.06 [DEBUG] 14:39:05: 21.50 [DEBUG] 14:39:18: Valeur Actual Consigna : 26.06ºC / 24.50ºC _ [DEBUG] 14:39:18: 26.06 [DEBUG] 14:39:18: 24.50
pepite Posté(e) le 20 août 2016 Signaler Posté(e) le 20 août 2016 De rien, j'apprends en même temps ;-) [[ %% autostart %% properties 107 value %% events %% globals --]] local actualConsigna = fibaro:getValue(109, "ui.actualConsigna.value") fibaro:debug("Valeur Actual Consigna : " ..actualConsigna) local pattern = "(%d+.%d+)ºC / (%d+.%d+)ºC _" local t, consigna = string.match(actualConsigna, pattern) fibaro:debug(t) fibaro:debug(consigna) if (tonumber(fibaro:getValue(107, "value")) >= 24.5 and tonumber(consigna)) >= 26 then fibaro:call(12, "setValue", "25") end
Alexandru Posté(e) le 20 août 2016 Auteur Signaler Posté(e) le 20 août 2016 Désolé mais , quand le Thermostat est en mode fonctionne , on a signe qui il est pas reconnu par la scène [DEBUG] 15:26:31: Valeur Actual Consigna : 26.12ºC / 25.00ºC _ [DEBUG] 15:26:31: 26.12 [DEBUG] 15:26:31: 25.00 [DEBUG] 15:26:38: Valeur Actual Consigna : 26.12ºC / 25.00ºC _ [DEBUG] 15:26:38: 26.12 [DEBUG] 15:26:38: 25.00 [DEBUG] 15:27:07: Valeur Actual Consigna : 26.12ºC / 26.50ºC [DEBUG] 15:27:07: nil [DEBUG] 15:27:07: nil [DEBUG] 15:27:07: line 19: attempt to compare number with nil
pepite Posté(e) le 20 août 2016 Signaler Posté(e) le 20 août 2016 Ah ok, alors pour local pattern sans "espace""_" comme ceci [[ %% autostart %% properties 107 value %% events %% globals --]] local actualConsigna = fibaro:getValue(109, "ui.actualConsigna.value") fibaro:debug("Valeur Actual Consigna : " ..actualConsigna) local pattern = "(%d+.%d+)ºC / (%d+.%d+)ºC" local t, consigna = string.match(actualConsigna, pattern) fibaro:debug(t) fibaro:debug(consigna) if (tonumber(fibaro:getValue(107, "value")) >= 24.5 and tonumber(consigna)) >= 26 then fibaro:call(12, "setValue", "25") end
Alexandru Posté(e) le 20 août 2016 Auteur Signaler Posté(e) le 20 août 2016 Super , ça fonctionne , 1
Alexandru Posté(e) le 21 août 2016 Auteur Signaler Posté(e) le 21 août 2016 Bonjour a vous , J'ai honte de vous appeler encore une fois, mais quand vous avez du temps, es-ce que possible de me dire ou est l'erreur , avec une seule ligne qui fait le rapport , la scène fonctionne bien , mais comme ça j'ai une erreur , Un tout grand merci ,, --[[ %% autostart %% properties 107 value %% events %% globals --]] local actualConsigna = fibaro:getValue(109, "ui.actualConsigna.value") fibaro:debug("Valeur Actual Consigna : " ..actualConsigna) local pattern = "(%d+.%d+)ºC / (%d+.%d+)ºC " local t, consigna = string.match(actualConsigna, pattern) fibaro:debug(t) fibaro:debug(consigna) if (tonumber(fibaro:getValue(107, "value")) <= 19.00 ) and (tonumber(consigna)) >= 22.00 then fibaro:call(12, "setValue", "25"); (tonumber(fibaro:getValue(107, "value")) <= 19.00 ) and (tonumber(consigna)) >= 23.00 then fibaro:call(12, "setValue", "50"); (tonumber(fibaro:getValue(107, "value")) <= 19.00 ) and (tonumber(consigna)) >= 24.00 then fibaro:call(12, "setValue", "90") end
Alexandru Posté(e) le 21 août 2016 Auteur Signaler Posté(e) le 21 août 2016 [DEBUG] 10:40:43: line 21: syntax error near 'and' [DEBUG] 10:42:44: line 21: syntax error near 'and' [DEBUG] 10:46:56: line 21: syntax error near 'and' [DEBUG] 10:51:08: line 21: syntax error near 'and' [DEBUG] 10:53:14: line 21: syntax error near 'and' [DEBUG] 10:53:41: line 21: syntax error near 'and' [DEBUG] 10:55:05: line 21: syntax error near 'and' [DEBUG] 10:57:11: line 21: syntax error near 'and' [DEBUG] 10:59:17: line 21: syntax error near 'and' [DEBUG] 11:01:23: line 21: syntax error near 'and' [DEBUG] 11:03:29: line 21: syntax error near 'and' [DEBUG] 11:05:14: line 21: syntax error near 'and'
pepite Posté(e) le 21 août 2016 Signaler Posté(e) le 21 août 2016 Bonjour, Pas de soucis A tester --[[ %% autostart %% properties 107 value %% events %% globals --]] local actualConsigna = fibaro:getValue(109, "ui.actualConsigna.value") fibaro:debug("Valeur Actual Consigna : " ..actualConsigna) local pattern = "(%d+.%d+)ºC / (%d+.%d+)ºC " local t, consigna = string.match(actualConsigna, pattern) fibaro:debug(t) fibaro:debug(consigna) if (tonumber(fibaro:getValue(107, "value")) <= 19.00 ) and (tonumber(consigna)) >= 22.00 then fibaro:call(12, "setValue", "25") elseif (tonumber(fibaro:getValue(107, "value")) <= 19.00 ) and (tonumber(consigna)) >= 23.00 then fibaro:call(12, "setValue", "50") else (tonumber(fibaro:getValue(107, "value")) <= 19.00 ) and (tonumber(consigna)) >= 24.00 then fibaro:call(12, "setValue", "90") end
Alexandru Posté(e) le 21 août 2016 Auteur Signaler Posté(e) le 21 août 2016 Merci pour votre réponse assez vite , mais maintenant pas d'erreur , mais juste la premier ligne de comparaison qui fonctionne ,, --[[ %% autostart %% properties 107 value %% events %% globals --]] local actualConsigna = fibaro:getValue(109, "ui.actualConsigna.value") fibaro:debug("Valeur Actual Consigna : " ..actualConsigna) local pattern = "(%d+.%d+)ºC / (%d+.%d+)ºC " local t, consigna = string.match(actualConsigna, pattern) fibaro:debug(t) fibaro:debug(consigna) if (tonumber(fibaro:getValue(107, "value")) <= 19.00 ) and (tonumber(consigna)) >= 22.00 then fibaro:call(12, "setValue", "25") elseif (tonumber(fibaro:getValue(107, "value")) <= 19.00 ) and (tonumber(consigna)) >= 23.00 then fibaro:call(12, "setValue", "50") elseif (tonumber(fibaro:getValue(107, "value")) <= 19.00 ) and (tonumber(consigna)) >= 24.00 then fibaro:call(12, "setValue", "90") end
Alexandru Posté(e) le 21 août 2016 Auteur Signaler Posté(e) le 21 août 2016 [DEBUG] 20:13:48: 23.50 [DEBUG] 20:14:09: Valeur Actual Consigna : 18.31ºC / 23.50ºC _ [DEBUG] 20:14:09: 18.31 [DEBUG] 20:14:09: 23.50 [DEBUG] 20:14:30: Valeur Actual Consigna : 21.25ºC / 23.50ºC _ [DEBUG] 20:14:30: 21.25 [DEBUG] 20:14:30: 23.50 [DEBUG] 20:14:51: Valeur Actual Consigna : 23.31ºC / 23.50ºC _ [DEBUG] 20:14:51: 23.31 [DEBUG] 20:14:51: 23.50 [DEBUG] 20:15:12: Valeur Actual Consigna : 24.31ºC / 25.00ºC 🔥 [DEBUG] 20:15:12: 24.31 [DEBUG] 20:15:12: 25.00 [DEBUG] 20:15:33: Valeur Actual Consigna : 24.81ºC / 25.00ºC 🔥 [DEBUG] 20:15:33: 24.81 [DEBUG] 20:15:33: 25.00 [DEBUG] 20:16:15: Valeur Actual Consigna : 22.31ºC / 25.00ºC 🔥 [DEBUG] 20:16:15: 22.31 [DEBUG] 20:16:15: 25.00 [DEBUG] 20:16:36: Valeur Actual Consigna : 21.62ºC / 25.00ºC 🔥
pepite Posté(e) le 21 août 2016 Signaler Posté(e) le 21 août 2016 Tu n'as pas copier coller ce que je t'ai propose, le dernier "elseif" doit etre un "else"et non elseif ;-) Essaie comme ceci --[[ %% autostart %% properties 107 value %% events %% globals --]] local actualConsigna = fibaro:getValue(109, "ui.actualConsigna.value") fibaro:debug("Valeur Actual Consigna : " ..actualConsigna) local pattern = "(%d+.%d+)ºC / (%d+.%d+)ºC " local t, consigna = string.match(actualConsigna, pattern) fibaro:debug(t) fibaro:debug(consigna) if (tonumber(fibaro:getValue(107, "value")) <= 19.00 ) and (tonumber(consigna)) >= 22.00 then fibaro:call(12, "setValue", "25") end if (tonumber(fibaro:getValue(107, "value")) <= 19.00 ) and (tonumber(consigna)) >= 23.00 then fibaro:call(12, "setValue", "50") end if(tonumber(fibaro:getValue(107, "value")) <= 19.00 ) and (tonumber(consigna)) >= 24.00 then fibaro:call(12, "setValue", "90") end
Alexandru Posté(e) le 22 août 2016 Auteur Signaler Posté(e) le 22 août 2016 Désolé pour le retard , le travail les enfants , tout fonctionne parfait , chapeau bas vous etes un vrai professionnel , un grand merci et moi ajouté ça la scène , apparent fonctionne ... Bien a vous --[[ %% autostart %% properties 107 value %% events %% globals --]] local actualConsigna = fibaro:getValue(109, "ui.actualConsigna.value") fibaro:debug("Valeur Actual Consigna : " ..actualConsigna) local pattern = "(%d+.%d+)ºC / (%d+.%d+)ºC " local t, consigna = string.match(actualConsigna, pattern) fibaro:debug(t) fibaro:debug(consigna) if (tonumber(fibaro:getValue(107, "value")) <= 19.00 ) and (tonumber(consigna)) >= 22.00 then fibaro:call(12, "setValue", "25") end if (tonumber(fibaro:getValue(107, "value")) >= 21.50 ) and (tonumber(consigna)) >= 22.00 then fibaro:call(12, "turnOff") end if (tonumber(fibaro:getValue(107, "value")) <= 19.00 ) and (tonumber(consigna)) >= 23.00 then fibaro:call(12, "setValue", "50") end if (tonumber(fibaro:getValue(107, "value")) >= 22.50 ) and (tonumber(consigna)) >= 23.00 then fibaro:call(12, "turnOff") end if (tonumber(fibaro:getValue(107, "value")) <= 19.00 ) and (tonumber(consigna)) >= 24.00 then fibaro:call(12, "setValue", "90") end if (tonumber(fibaro:getValue(107, "value")) >= 23.50 ) and (tonumber(consigna)) >= 24.00 then fibaro:call(12, "turnOff") end J'espère que cette scène peut être utile pour ceux qui de radiateur Clima Canal avec ventilateur 0-10V ... 2
Catalin Posté(e) le 4 novembre 2016 Signaler Posté(e) le 4 novembre 2016 Salut, Ce n'ai pas plus logique d'utiliser des valeurs " a°=temperature ambiante, b°=temperature de consigne " et de travaillé sur la différence b°-a°>=6 90%; dif b°-a°>5<6 80%... b°=a°+1 tournOff. D'après le script si on a une t° ambiante 22° et t° consigne 25° le ventilo-convecteur ne démarre pas.
Alexandru Posté(e) le 22 janvier 2017 Auteur Signaler Posté(e) le 22 janvier 2017 Comme Catalin a bien vu , j'ai essayé ca et je suis content du résultat , peut servir a quelqu'un qui as de ventilo-convecteur Jaga , Bien a vous , --[[ %% autostart %% properties 107 value %% events %% globals --]] local actualConsigna = fibaro:getValue(109, "ui.actualConsigna.value") fibaro:debug("Valeur Actual Consigna : " ..actualConsigna) local pattern = "(%d+.%d+)ºC / (%d+.%d+)ºC " local t, consigna = string.match(actualConsigna, pattern) fibaro:debug(t) fibaro:debug(consigna) local a = (t) local b = (consigna) local c = (b-a) fibaro:debug(c) if (c >= 4.5) and (c < 5) then fibaro:call(12, "setValue", "90") end if (c >= 4) and (c < 4.5) then fibaro:call(12, "setValue", "60") end if (c >= 3.5) and (c < 4) then fibaro:call(12, "setValue", "30") end if (c >= 3) and (c < 3.5) then fibaro:call(12, "setValue", "15") end if (c >= 2.5) and (c < 3) then fibaro:call(12, "setValue", "8") end if (c < 2) or (c == 2) then fibaro:call(12, "setValue", "0") end
Messages recommandés