Aller au contenu

Recommended Posts


[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 _

Partager ce message


Lien à poster
Partager sur d’autres sites

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)

Partager ce message


Lien à poster
Partager sur d’autres sites


[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

Partager ce message


Lien à poster
Partager sur d’autres sites

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)

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites


[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'

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites


[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 🔥

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ...

  • Upvote 2

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

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

 

Partager ce message


Lien à poster
Partager sur d’autres sites

×