ntaravel Posté(e) le 19 décembre 2015 Signaler Posté(e) le 19 décembre 2015 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
jojo Posté(e) le 19 décembre 2015 Signaler Posté(e) le 19 décembre 2015 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
ntaravel Posté(e) le 21 décembre 2015 Auteur Signaler Posté(e) le 21 décembre 2015 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
jojo Posté(e) le 21 décembre 2015 Signaler Posté(e) le 21 décembre 2015 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
ntaravel Posté(e) le 21 décembre 2015 Auteur Signaler Posté(e) le 21 décembre 2015 je ne sais pas ce qu'es le json et ou le trouver?
ntaravel Posté(e) le 21 décembre 2015 Auteur Signaler Posté(e) le 21 décembre 2015 {"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é
jojo Posté(e) le 21 décembre 2015 Signaler Posté(e) le 21 décembre 2015 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
ntaravel Posté(e) le 21 décembre 2015 Auteur Signaler Posté(e) le 21 décembre 2015 {"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}
jojo Posté(e) le 21 décembre 2015 Signaler Posté(e) le 21 décembre 2015 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)
jojo Posté(e) le 21 décembre 2015 Signaler Posté(e) le 21 décembre 2015 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
ntaravel Posté(e) le 21 décembre 2015 Auteur Signaler Posté(e) le 21 décembre 2015 [DEBUG] 15:38:39: line 11: syntax error near 'tonumber'
ntaravel Posté(e) le 21 décembre 2015 Auteur Signaler Posté(e) le 21 décembre 2015 J'ai modifié [DEBUG] 15:42:34: line 13: unexpected symbol near 'and'
jojo Posté(e) le 21 décembre 2015 Signaler Posté(e) le 21 décembre 2015 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
ntaravel Posté(e) le 21 décembre 2015 Auteur Signaler Posté(e) le 21 décembre 2015 Ok [DEBUG] 15:48:33: line 66: Assertion failed: Expected string
jojo Posté(e) le 21 décembre 2015 Signaler Posté(e) le 21 décembre 2015 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 ?
ntaravel Posté(e) le 21 décembre 2015 Auteur Signaler Posté(e) le 21 décembre 2015 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
ntaravel Posté(e) le 21 décembre 2015 Auteur Signaler Posté(e) le 21 décembre 2015 alors qu'il n'y a pas de ligne 66
jojo Posté(e) le 21 décembre 2015 Signaler Posté(e) le 21 décembre 2015 j'ai oublié de fermer la ) après le dernier fibaro:call (avant dernière ligne)
ntaravel Posté(e) le 21 décembre 2015 Auteur Signaler Posté(e) le 21 décembre 2015 je l'ai fait et tjs la meme alerte
ntaravel Posté(e) le 21 décembre 2015 Auteur Signaler Posté(e) le 21 décembre 2015 Je n'y comprends rien. J'ai rebooté et essayé de recreer une scene.
jojo Posté(e) le 21 décembre 2015 Signaler Posté(e) le 21 décembre 2015 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
ntaravel Posté(e) le 21 décembre 2015 Auteur Signaler Posté(e) le 21 décembre 2015 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?
ntaravel Posté(e) le 21 décembre 2015 Auteur Signaler Posté(e) le 21 décembre 2015 Lorsque le chauffage est allumé il ne passe rien
Messages recommandés