Aller au contenu
ntaravel

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

Recommended Posts

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

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites
{"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é

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites


{"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}

Partager ce message


Lien à poster
Partager sur d’autres sites

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)

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

le if est en minuscules

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Non ca ne marche pas. J'ai essayé de copier dans une nouvelle scene et ca ne marche pas non plus il fait la meme erreur ligne 66

Partager ce message


Lien à poster
Partager sur d’autres sites

j'ai oublié de fermer la ) après le dernier fibaro:call (avant dernière ligne)

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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?

Partager ce message


Lien à poster
Partager sur d’autres sites

×