Aller au contenu

Recommended Posts

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 

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

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 

Partager ce message


Lien à poster
Partager sur d’autres sites

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



Partager ce message


Lien à poster
Partager sur d’autres sites


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

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui, revérifies tes parenthèses, ils en manquent des fermantes là, et plusieurs même.

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

 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
 
 

Partager ce message


Lien à poster
Partager sur d’autres sites


[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

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut,

 

As tu quelque chose dans le label "actualconsigna" du 109 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

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")

Partager ce message


Lien à poster
Partager sur d’autres sites

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") 
 
 

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites


--[[

%% 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"))

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

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)

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

×