Aller au contenu

Srt 321 Gestion Du Chauffage Et D'une Clim Reversible Selon La Température Extérieur


Messages recommandés

Posté(e)

Bonjour,

 

Je suis un petit nouveau mais j'ai de grandes ambitions.

Il y a quelques années j'ai installé une clim réversible. Pour chauffer c'est très économique mais cette solution présente un défaut de taille. Lorsqu'il fait moins de 5°C à  l'exterieur, le climatiseur en mode chauffage évidemment à  beaucoup de mal à  chauffer. Il tourne alors en permanence ce qui consomme beaucoup et ne doit pas lui faire du bien.

Devant ce constat, j'ai installé 4 chauffages (1 dans la salle de bain, 2 dans le salon et 1 dans la cuisine). 

Je voudrai pouvoir commander tout ca avec un srt321. Mon problème c'est que la programmation en lua c'est pas vraiment aussi évident que je le pensais. Pour contrôler les radiateurs je les ai équipé de module qubino fil pilote que je souhaiterai utiliser en tout ou rien.

Pour contrôler la clim j'utilise un zxt 120.

 

 

Scénario choix du mode de chauffage ou froid

Si la température ext < 5°C Alors j'execute le scénario chauffage radiateur (clim Off)

Si la temperature ext >= 5°C Alors j'execute le scénario clim chauffage (radiateur Off)

Si la température int > température de consigne de plus de 2°C Alors j'execute le scénario clim froid

 

Scénario Chauffage radiateur

Si la température int < température consigne Alors chauffage On

Si la température int > température de consigne Alors chauffage Off (mais la  clim froid doit rester off)

 

Scénario chauffage clim

Si la température int < température consigne Alors clim chauffage On

Si la température int > température de consigne Alors clim chauffage Off (mais la clim froid doit rester off)

 

Scénario froid clim

Si la température int < température consigne Alors clim froid Off (mais les radiateurs doivent rester Off)

Si la température int > température de consigne Alors clim froid On 

 

Enfin voila c'est pas très évident pour moi d'autant qu'il ne faut surtout pas que la clim froid et le chauffage radiateur fonctionnent en même temps. A vrai dire ca fait une semaine que j'essai désespérément mais je n'y arrive pas.

Si l'un de vous peux m'aider je lui en serai très reconnaissant.

 

Nicolas

 

 
Posté(e)

as-tu déjàinstallé GEA ? Il pourrait être très utile dans ce cas.

Qu'est-ce qui te remonte ta température ? e ZXT-120 (j'en ai un, mais j'en suis PAS content) ou le SRT321 (je n'en ai pas) ?

J'imagine que ta consinge vient du SRT-321

Posté(e)

C'est le sort 321 qui remonte la température pour l'instant

Mais mon vrai problème c'est que je ne comprends strictement rien au lua et gea a l'air pas si simple d'utilisation.

Quelqu'un pourrait il m'aider à  écrire ce script?

 

Pour l'instant j'en suis la et meme ca ca ne marche pas

 

--[[

%% properties
76 value
76 valuesensor
%% globals
--]]
 
local temp = fibaro:getGlobalValue(76, 'valueSensor') --Température
local cons = fibaro:getGlobalValue(76, 'value') --Consigne de température
 
If tonumber(cons) <= tonumber(temp)
  then fibaro:call(17, "turnOn") and fibaro:call(50, "turnOn")
  
else fibaro:call(17, "turnOff") and fibaro:call(50, "turnOff")
  
end
 
Merci d'avance
Posté(e)

1) pour que ton code soit plus lisible sur le forum, introduit le en cliquant sur l'icône <> en dessous de celle des smily

2) utilise des fibaro:debug(...) dans ton code pour qu'il t'affiche plus d'info.

N'ayant pas de str321, ce sera plus difficile pour moi de t'aider, mais on va essayer de faire fonctionner ce code de base.

Peux-tu m'envoyer le json de ton device (dans le bouton <>) :

http://<ip box>/api/devices/76

Posté(e)
{"id":76,"name":"Thermostat","roomID":4,"type":"com.fibaro.thermostatHorstmann","baseType":"com.fibaro.thermostatDanfoss","enabled":true,"visible":true,"isPlugin":false,"parentId":75,"remoteGatewayId":0,"interfaces":["battery","zwave","zwaveConfiguration","zwaveWakeup"],"properties":{"parameters":[{"id":1,"lastReportedValue":129,"lastSetValue":129,"size":1,"value":129},{"id":2,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0},{"id":3,"lastReportedValue":10,"lastSetValue":10,"size":1,"value":10}],"zwaveCompany":"Horstmann Controls Limited","zwaveInfo":"2,2,78","zwaveVersion":"5.0","wakeUpTime":900,"pollingTimeSec":0,"batteryLevel":"96","batteryLowNotification":"true","configured":"true","dead":"false","defInterval":"0","deviceControlType":"0","deviceIcon":"39","emailNotificationID":"0","emailNotificationType":"0","endPointId":"0","liliOffCommand":"","liliOnCommand":"","log":"","logTemp":"","manufacturer":"","markAsDead":"true","maxInterval":"0","minInterval":"0","model":"","nodeId":"22","parametersTemplate":"43","productInfo":"0,89,0,1,0,3,5,0","pushNotificationID":"0","pushNotificationType":"0","remoteGatewayId":"0","saveLogs":"true","smsNotificationID":"0","smsNotificationType":"0","stepInterval":"0","targetLevel":"22.00","timestamp":"1450553408","unit":"C","useTemplate":"true","userDescription":"","value":"22.00"},"actions":{"getParameter":1,"reconfigure":0,"setInterval":1,"setParameter":2,"setTargetLevel":1,"setTime":1},"created":1450465124,"modified":1450465124,"sortOrder":72}

J'ai trouvé

Posté(e)

dans le json que tu m'as envoyé, je vois que la consigne serait à22°C (juste) ?

Je ne vois pas la valeur actuelle de la température.

Dans ton interface HC2, as-tu une icône de température qui affiche la température actuelle ? J'spère que oui, et elle a un id différent.

Trouve-làet envoie moi son json SVP

Posté(e)


{"id":77,"name":"T°C","roomID":4,"type":"com.fibaro.temperatureSensor","baseType":"com.fibaro.multilevelSensor","enabled":true,"visible":true,"isPlugin":false,"parentId":75,"remoteGatewayId":0,"interfaces":["battery","zwave","zwaveConfiguration","zwaveWakeup"],"properties":{"parameters":[{"id":1,"lastReportedValue":129,"lastSetValue":129,"size":1,"value":129},{"id":2,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0},{"id":3,"lastReportedValue":10,"lastSetValue":10,"size":1,"value":10}],"zwaveCompany":"Horstmann Controls Limited","zwaveInfo":"2,2,78","zwaveVersion":"5.0","wakeUpTime":900,"pollingTimeSec":0,"batteryLevel":"96","batteryLowNotification":"true","configured":"true","dead":"false","defInterval":"0","deviceControlType":"0","deviceIcon":"30","emailNotificationID":"0","emailNotificationType":"0","endPointId":"0","liliOffCommand":"","liliOnCommand":"","log":"","logTemp":"","manufacturer":"","markAsDead":"true","maxInterval":"0","minInterval":"0","model":"","nodeId":"22","offset":"0.00","parametersTemplate":"43","productInfo":"0,89,0,1,0,3,5,0","pushNotificationID":"0","pushNotificationType":"0","remoteGatewayId":"0","saveLogs":"true","showFireAlarm":"true","showFreezeAlarm":"false","smsNotificationID":"0","smsNotificationType":"0","stepInterval":"0","unit":"C","useTemplate":"true","userDescription":"","value":"24.40"},"actions":{"getParameter":1,"reconfigure":0,"setInterval":1,"setParameter":2},"created":1450465125,"modified":1450465125,"sortOrder":73}

Posté(e)

donc tu as une consigne de 22°C et une température actuelle de 24°C ? (pour que je sache si j'interprète bien)

Posté(e)

voici le code qui devrait fonctionner :

--[[
%% properties
76 value
77 values
%% globals
--]]
 
local temp = fibaro:getGlobalValue(77, 'value') --Température
local cons = fibaro:getGlobalValue(76, 'value') --Consigne de température
 
If tonumber(cons) <= tonumber(temp)
  then fibaro:call(17, "turnOn") and fibaro:call(50, "turnOn")
  
else fibaro:call(17, "turnOff") and fibaro:call(50, "turnOff")
  
end
Posté(e)

sorry, je n'avais pas relu en détail le code.

Il ne faut pas de and dans les actions d'un if (and est seulement pour les conditions)

--[[
%% properties
76 value
77 values
%% globals
--]]
 
local temp = fibaro:getGlobalValue(77, 'value') --Température
local cons = fibaro:getGlobalValue(76, 'value') --Consigne de température
 
if tonumber(cons) <= tonumber(temp) then
	fibaro:call(17, "turnOn")
	fibaro:call(50, "turnOn")
else
	fibaro:call(17, "turnOff")
	fibaro:call(50, "turnOff"
end
Posté(e)

ok ou pas ok ?

 

de plus le script ne fait que 18 lignes => comment se fait-il qu'il y ait une erreur à  la ligne 66 ?

Posté(e)

ce n'était pas fibaro:getGlobalValue (c'est pour les variables globales), mais fibaro:getValue

--[[
%% properties
76 value
77 values
%% globals
--]]
 
local temp = fibaro:getValue(77, "value") --Température
local cons = fibaro:getValue(76, "value") --Consigne de température
 
if tonumber(cons) <= tonumber(temp) then
	fibaro:call(17, "turnOn")
	fibaro:call(50, "turnOn")
else
	fibaro:call(17, "turnOff")
	fibaro:call(50, "turnOff")
end
Posté(e)

Ca y est l'erreur a disparu. Lorsque le chauffage est éteint, la scène l'allume que la consigne soit supérieur ou inférieur à  la température.

 

N'est il pas préférable d'établir des variables globals pour la consigne et la température si je dois l'utiliser dans plusieurs scenes?

×
×
  • Créer...