Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

 

OK ce qui t interesse est le "targetLevel".

 

Ne le mets tu pas dans "Configuracion de usario" ?

 

As tu aussi une variable globale "dev".. ?

Posté(e)

Re,

 

Faut jouer avec les patterns, ce n'est pas mon truc, mais essaie cela dans ta scene avant le premier "IF" et regarde le debug pour vérifier si tu récupères bien la temperature de consigne

 --[[
%% autostart
%% properties
107 value
%% events
%% globals
--]]
 
local startSource = fibaro:getSourceTrigger();
local actualConsigna = fibaro:getValue(109, "ui.actualConsigna.value")
fibaro:debug("Valeur Actual Consigna : " ..actualConsigna)

local t, consigna = string.match(actualConsigna, "(%d+)ºC /(%d+)ºC")
fibaro:debug("Valeur Consigna : " ..consigna)
Posté(e)

Je vous remercie pour votre effort , mais dans le debug j'ai ca 

[DEBUG] 18:46:56: Valeur Actual Consigna : 28.31ºC / 19.50ºC _
[DEBUG] 18:46:56: line 16: attempt to concatenate local 'consigna' (a nil value)
[DEBUG] 18:47:10: Valeur Actual Consigna : 28.31ºC / 21.50ºC _
[DEBUG] 18:47:10: line 16: attempt to concatenate local 'consigna' (a nil value)
[DEBUG] 18:49:06: Valeur Actual Consigna : 28.31ºC / 21.50ºC _
[DEBUG] 18:49:06: line 16: attempt to concatenate local 'consigna' (a nil value)
Posté(e)

Avec plaisir ;-)

 

Et comme ceci peut-etre : 

--[[
%% autostart
%% properties
107 value
%% events
%% globals
--]]
 
local startSource = fibaro:getSourceTrigger();
local actualConsigna = fibaro:getValue(109, "ui.actualConsigna.value")
fibaro:debug("Valeur Actual Consigna : " ..actualConsigna)

local t, consigna = string.match(actualConsigna, "(%d+)ºC%s*/%s*(%d+)ºC")
fibaro:debug("Valeur Consigna : " ..consigna)

 

Posté(e)

Désolé,  mais la récupération de consigne veux pas  :(

[DEBUG] 19:25:51: Valeur Actual Consigna : 29.25ºC / 23.50ºC _
[DEBUG] 19:25:51: line 16: attempt to concatenate local 'consigna' (a nil value)
[DEBUG] 19:26:00: Valeur Actual Consigna : 29.25ºC / 22.00ºC _
[DEBUG] 19:26:00: line 16: attempt to concatenate local 'consigna' (a nil value)
[DEBUG] 19:26:11: Valeur Actual Consigna : 29.25ºC / 25.00ºC _
[DEBUG] 19:26:11: line 16: attempt to concatenate local 'consigna' (a nil value)
Posté(e)

heuuu ;-)

 

essaie au moins le t stp dans le debug pour verifier, mets le a la place du debug pour recuperer consigna ;-)

fibaro:debug(t)
Posté(e)

Je l'ai testé, mais sans résultat ...

[DEBUG] 21:05:22: Valeur Actual Consigna : 29.81ºC / 22.00ºC _
[DEBUG] 21:05:22: nil
[DEBUG] 21:05:22: line 21: attempt to compare number with nil

Posté(e)


--[[

%% autostart

%% properties

107 value

%% events

%% globals

--]]

local startSource = fibaro:getSourceTrigger();

local actualConsigna = fibaro:getValue(109, "ui.actualConsigna.value")

fibaro:debug("Valeur Actual Consigna : " ..actualConsigna)

local t, consigna = string.match(actualConsigna, "(%d+)ºC%s*/%s*(%d+)ºC")

fibaro:debug(t)

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

Posté(e)

Bonjour,

 

Bon, j'ai testé chez moi et ceci fonctionne.

Essaie stp

--[[
%% autostart
%% properties
107 value
%% events
%% globals
--]]
 
local startSource = fibaro:getSourceTrigger();
local actualConsigna = fibaro:getValue(109, "ui.actualConsigna.value")
fibaro:debug("Valeur Actual Consigna : " ..actualConsigna)
 
local pattern = "(%d+)ºC / (%d+)ºC _"
local t, consigna = string.match(actualConsigna, pattern)
fibaro:debug(t)
fibaro:debug(consigna)
Posté(e)

Bonjour , je viens de mettre le code en place ...  c'est possible que j'oublie quelque chose ...

[DEBUG] 17:38:42: Valeur Actual Consigna : 27.25ºC / 25.00ºC _
[DEBUG] 17:38:42: nil
[DEBUG] 17:38:42: nil
[DEBUG] 17:38:42: line 23: attempt to compare number with nil
[DEBUG] 17:39:10: Valeur Actual Consigna : 27.25ºC / 22.50ºC _
[DEBUG] 17:39:10: nil
[DEBUG] 17:39:10: nil
[DEBUG] 17:39:10: line 23: attempt to compare number with nil
[DEBUG] 17:40:18: Valeur Actual Consigna : 27.25ºC / 22.50ºC _
[DEBUG] 17:40:18: nil
[DEBUG] 17:40:18: nil
[DEBUG] 17:40:18: line 23: attempt to compare number with nil
[DEBUG] 17:42:30: Valeur Actual Consigna : 27.31ºC / 22.50ºC _
[DEBUG] 17:42:30: nil
[DEBUG] 17:42:30: nil
[DEBUG] 17:42:30: line 23: attempt to compare number with nil
Posté(e)


--[[

%% autostart

%% properties

107 value

%% events

%% globals

--]]

local startSource = fibaro:getSourceTrigger();

local actualConsigna = fibaro:getValue(109, "ui.actualConsigna.value")

fibaro:debug("Valeur Actual Consigna : " ..actualConsigna)

local pattern = "(%d+)ºC / (%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(fibaro:getValue(109, "ui.actualConsigna.value")) >= 26

or

startSource["type"] == "other"

)

then

fibaro:call(12, "setValue", "25");

end

Posté(e)

oui j'ai mis que le code la 

[DEBUG] 19:46:57: Valeur Actual Consigna : 28.00ºC / 23.50ºC _
[DEBUG] 19:46:57: nil
[DEBUG] 19:46:57: nil
[DEBUG] 19:47:00: Valeur Actual Consigna : 28.00ºC / 23.50ºC _
[DEBUG] 19:47:00: nil
[DEBUG] 19:47:00: nil
[DEBUG] 19:49:36: Valeur Actual Consigna : 28.00ºC / 21.50ºC _
[DEBUG] 19:49:36: nil
[DEBUG] 19:49:36: nil

Posté(e)


--[[

%% autostart

%% properties

107 value

%% events

%% globals

--]]

local startSource = fibaro:getSourceTrigger();

local actualConsigna = fibaro:getValue(109, "ui.actualConsigna.value")

fibaro:debug("Valeur Actual Consigna : " ..actualConsigna)

local pattern = "(%d+)ºC / (%d+)ºC _"

local t, consigna = string.match(actualConsigna, pattern)

fibaro:debug(t)

fibaro:debug(consigna)

Posté(e)

Alors la je ne comprends pas tout ;-)

 

J'ai testé cela :

local actualConsigna = fibaro:getValue(fibaro:getSelfId(), "ui.test.value")
fibaro:debug("Valeur Actual Consigna : " ..actualConsigna)

local pattern = "(%d+)ºC / (%d+)ºC _"   
local t, consigna = string.match(actualConsigna, pattern )
fibaro:debug(t)
fibaro:debug(consigna)

Et mon debug

[DEBUG] 19:56:35: Valeur Actual Consigna : 31ºC / 15ºC _
[DEBUG] 19:56:35: 31
[DEBUG] 19:56:35: 15
Posté(e)

Salut,

 

Essaie de recreer une nouvelle scene avec ceci

 

Fais attention, pas d'espace entre le haut de la page et de l'entete.

--[[
%% autostart
%% properties
%% events
%% globals
--]]
 
local actualConsigna = fibaro:getValue(109, "ui.actualConsigna.value")
fibaro:debug("Valeur Actual Consigna : " ..actualConsigna)
 
local pattern = "(%d+)ºC / (%d+)ºC _"
local t, consigna = string.match(actualConsigna, pattern)
fibaro:debug(t)
fibaro:debug(consigna)
Posté(e)

Bonjour  ,  je crois pas ce qui se passe ,  c'est ou l'erreur ...

[DEBUG] 19:37:40: Valeur Actual Consigna : 27.18ºC / 24.50ºC _
[DEBUG] 19:37:40: nil
[DEBUG] 19:37:40: nil
[DEBUG] 19:37:44: Valeur Actual Consigna : 27.18ºC / 24.50ºC _
[DEBUG] 19:37:44: nil
[DEBUG] 19:37:44: nil
[DEBUG] 19:38:57: Valeur Actual Consigna : 27.18ºC / 24.50ºC _
[DEBUG] 19:38:57: nil
[DEBUG] 19:38:57: nil
[DEBUG] 19:40:34: Valeur Actual Consigna : 27.18ºC / 5.00ºC _
[DEBUG] 19:40:34: nil
[DEBUG] 19:40:34: nil
[DEBUG] 19:40:51: Valeur Actual Consigna : 27.18ºC / 5.00ºC _
[DEBUG] 19:40:51: nil
[DEBUG] 19:40:51: nil

Posté(e)

Il te manque une partie du code apparemment, tu as oublie de mettre ceci non ?

 

  • local pattern = "(%d+)ºC / (%d+)ºC _"
  • local t, consigna = string.match(actualConsigna, pattern)
  • fibaro:debug(t)
  • fibaro:debug(consigna)
Posté(e)

alors la.

 

Tu n'as aucune erreur et il ne te fait que le 1er Debug !!

la je buggue :-)

Je viens de retester le code dans un VD, et j'ai bien les 3 lignes de debug heuuu

Posté(e)

J'ai essayé de façon comme 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)
×
×
  • Créer...