YASDC (Yes Another Script De Chauffage) !

Vous avez crée un script lua dont vous êtes fier, un .sh génial, un programme python hors du commun, un tuto , c'est ici que vous pouvez les partager.
Soyez précis quant aux prérequis, les manips à faire pour que votre bijou fonctionne (des chmod ?, un apt-get à faire ...)
Décrivez précisément son fonctionnement
Placez votre code entre [Quote] et {/Quote]
srill
Messages : 21
Enregistré le : 15 sept. 2016, 13:20

Re: YASDC (Yes Another Script De Chauffage) !

Message par srill » 31 janv. 2017, 18:59

Bonsoir,
J’essaie de mettre en place ce script pour piloter mon chauffage mais je n'ai aucune compétence en programmation :( .Je rencontre une erreur de ce type:
bad argument #1 to 'sub' (string expected, got nil) à la ligne 52 qui est la ligne :
year = string.sub(s, 1, 4)
J'ai beau chercher si j'ai fait des erreurs mais je n'en vois pas.
Savez vous d’où peut provenir?
RPi3 - RFLink Gateway - Mysensors Gateway - Broadlink RM mini 3 - Xiaomi Gateway

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Nissa
Messages : 84
Enregistré le : 21 déc. 2015, 23:38
Localisation : Bordeaux

Re: YASDC (Yes Another Script De Chauffage) !

Message par Nissa » 31 janv. 2017, 20:13

Bonsoir,
L'erreur ne vient pas de cette fonction ligne 52, mais sans doute dans tes déclarations de variables qui précèdent.
Vérifie bien chaque ligne local.... l'orthographe des noms est-il bien le même que sur ton domoticz ...
A+
srill a écrit :Bonsoir,
J’essaie de mettre en place ce script pour piloter mon chauffage mais je n'ai aucune compétence en programmation :( .Je rencontre une erreur de ce type:
bad argument #1 to 'sub' (string expected, got nil) à la ligne 52 qui est la ligne :
year = string.sub(s, 1, 4)
J'ai beau chercher si j'ai fait des erreurs mais je n'en vois pas.
Savez vous d’où peut provenir?
Domoticz sur RPI2 / Rflink / Rftrxcom / Sondes thermo sur 1Wire / Volets Somfy rts / Divers modules 433 mhz pas chers / Poele à pellets Ravelli domotisé / Volets Bubendorf / SonOff

srill
Messages : 21
Enregistré le : 15 sept. 2016, 13:20

Re: YASDC (Yes Another Script De Chauffage) !

Message par srill » 05 févr. 2017, 11:04

Merci beaucoup!
J'ai trouvé mon erreur, j'avais mis un C majuscule à Chambre dans le tableau et un c minuscule dans les switchs et interrupteurs! ça tiend à peu de chose!!!
RPi3 - RFLink Gateway - Mysensors Gateway - Broadlink RM mini 3 - Xiaomi Gateway

Nissa
Messages : 84
Enregistré le : 21 déc. 2015, 23:38
Localisation : Bordeaux

Re: YASDC (Yes Another Script De Chauffage) !

Message par Nissa » 23 oct. 2017, 09:36

Bonjour,
Mise à jour du code pour alléger un tant soit peu les boucles, quelques IF étaient inutiles.
Ce script gère la totalité des radiateurs d'une maison avec un minimum de modification en cas de rajout.
Domoticz sur RPI2 / Rflink / Rftrxcom / Sondes thermo sur 1Wire / Volets Somfy rts / Divers modules 433 mhz pas chers / Poele à pellets Ravelli domotisé / Volets Bubendorf / SonOff

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


balajol
Messages : 661
Enregistré le : 13 nov. 2015, 18:54
Localisation : 62

Re: YASDC (Yes Another Script De Chauffage) !

Message par balajol » 23 oct. 2017, 20:03

Bonjour Nissa,
Je voie que sur le premier post les thermostats sont en "bandeau rouge", si tu n'as pas modifié depuis,
J'avais le même problème et ai résolu la chose en lisant la consigne et en la "réinjectant" dans la foulée sur le thermostat..
Au cas ou :)
cdt
Bertrand

cdt
Bertrand

Code : Tout sélectionner

--Scipt-time-Bandeau-rouge-Danfoss-thermo  lecture consigne et reinjection valeur pour éviter bandeau rouge sur l'affichage
commandArray = {}
local heureSysteme = os.date("%H:%M")
ThermostaConfort=555
ThermostatEco=556
Thermostathorsgel=597
Thermostaconfortplus=608
ThermostatDanfosPieceSonde=616
ThermostatDanfossEte=792

if heureSysteme == ("03:36") then
--
consigneeco= string.match(otherdevices_svalues['Consigne-Danfoss-Eco'], "(%d+%.*%d*)")
consigneconfort= string.match(otherdevices_svalues['Consigne-Danfoss-Confort'], "(%d+%.*%d*)")
consignehorsgel= string.match(otherdevices_svalues['Consigne-Danfoss-Hors-Gel'], "(%d+%.*%d*)")
consigneconfortplus= string.match(otherdevices_svalues['Consigne-Danfoss-Confort-Plus'], "(%d+%.*%d*)")
ConsigneThermostatDanfosPieceSonde= string.match(otherdevices_svalues['Consigne_Danfoss_Piece_Sonde'], "(%d+%.*%d*)")
ConsigneThermostatDanfossEte= string.match(otherdevices_svalues['Consigne_Danfoss_Ete'], "(%d+%.*%d*)")
--
commandArray[0] = { ['UpdateDevice'] = ThermostatEco..'|0|'..consigneeco }
commandArray[1] = { ['UpdateDevice'] = ThermostaConfort..'|0|'..consigneconfort }
commandArray[2] = { ['UpdateDevice'] = Thermostathorsgel..'|0|'..consignehorsgel }
commandArray[3] = { ['UpdateDevice'] = Thermostaconfortplus..'|0|'..consigneconfortplus }
commandArray[4] = { ['UpdateDevice'] = ThermostatDanfosPieceSonde..'|0|'..ConsigneThermostatDanfosPieceSonde }
commandArray[5] = { ['UpdateDevice'] = ThermostatDanfossEte..'|0|'..ConsigneThermostatDanfossEte }
end
return commandArray
v4.9700 sur PC Windows7 (Elite book); DANFOSS LC13, Topp; Senseurs univ FIBARO FGBS001, Flood Sensor, ZMNHBD1 Flush 2 Relays ; FIBARO FGS222-FGS212;RFXCOM-RFXtrx433 USB 433.92MHz , Prises Phénix, Prises et Eclairage DI-O, Divers SOMFY RTS etc..

Nissa
Messages : 84
Enregistré le : 21 déc. 2015, 23:38
Localisation : Bordeaux

Re: YASDC (Yes Another Script De Chauffage) !

Message par Nissa » 23 oct. 2017, 22:40

Bonsoir Balajol,
Oui, effectivement j'y touche rarement et je n'ai jamais pensé à ton astuce.
Je vais la mettre en place, merci
Domoticz sur RPI2 / Rflink / Rftrxcom / Sondes thermo sur 1Wire / Volets Somfy rts / Divers modules 433 mhz pas chers / Poele à pellets Ravelli domotisé / Volets Bubendorf / SonOff

xav999
Messages : 2
Enregistré le : 31 oct. 2017, 22:06

Re: YASDC (Yes Another Script De Chauffage) !

Message par xav999 » 31 oct. 2017, 22:10

Bonjour,
Merci bcp pour ce script que j'ai mis en place.
ça a fonctionné mais j'ai eu des allumages / arrêts très rapprochés.
Est-ce qu'il n'y a pas un "else" en trop qui coupe le chauffage dès qu'on passe au dessus de la valeur consigne-hysterisis?

else
commandArray[radiateur]='Off'
status = 0
log = '*** Le Radiateur est arrêté'
if (debug) then print('>>>>>>>>ELSE>>>>>>>>>>>>>>>>>>>>>>>>>>>> Radiateur arrêté ! '..valeur) end
end

Nissa
Messages : 84
Enregistré le : 21 déc. 2015, 23:38
Localisation : Bordeaux

Re: YASDC (Yes Another Script De Chauffage) !

Message par Nissa » 31 oct. 2017, 22:43

xav999 a écrit :Bonjour,
Merci bcp pour ce script que j'ai mis en place.
ça a fonctionné mais j'ai eu des allumages / arrêts très rapprochés.
Est-ce qu'il n'y a pas un "else" en trop qui coupe le chauffage dès qu'on passe au dessus de la valeur consigne-hysterisis?

else
commandArray[radiateur]='Off'
status = 0
log = '*** Le Radiateur est arrêté'
if (debug) then print('>>>>>>>>ELSE>>>>>>>>>>>>>>>>>>>>>>>>>>>> Radiateur arrêté ! '..valeur) end
end
L'arrêt ou le démarrage du radiateur s'effectue toujours en cumulant la consigne et l'hystérisis (en plus pour le off et en moins pour le on).
En fonction de la dissipation de la chaleur dans la pièce, il faut ajuster l'hysteresis dans la déclaration des variables (local hystérisis = ...) pour éviter des on/off trop frequents. Pour moi je l'ai mis très bas, à 0,4 °, car ma maison est bien isolée. Il faut trouver là bonne valeur en fonction de chacun.
Domoticz sur RPI2 / Rflink / Rftrxcom / Sondes thermo sur 1Wire / Volets Somfy rts / Divers modules 433 mhz pas chers / Poele à pellets Ravelli domotisé / Volets Bubendorf / SonOff

xav999
Messages : 2
Enregistré le : 31 oct. 2017, 22:06

Re: YASDC (Yes Another Script De Chauffage) !

Message par xav999 » 01 nov. 2017, 11:28

Oui mais là on a :
if (temperature <= (consigne - hysteresis)) then
commandArray[radiateur]='On' -- on allume le radiateur*
...
else
commandArray[radiateur]='Off'

du coup dès que la condition (temperature <= (consigne - hysteresis) ) n'est plus remplie, le radiateur s'éteint. Donc dans mon cas ou la consigne est à 19,5 et l'hysteresis à 0,4 (j'ai laissé la même valeur), dès que la température dépasse 19,1 le chauffage se coupe. Donc j'ai un cycle de chauffe hyper court puisqu'il correspond à une hausse de température de seulement 0,1°

vil1driver
Messages : 5120
Enregistré le : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: YASDC (Yes Another Script De Chauffage) !

Message par vil1driver » 01 nov. 2017, 15:24

+1

et le tout premier

Code : Tout sélectionner

--[[ 
est de trop ;)

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Répondre