Page 1 sur 1
Recherche script delestage en LUA
Publié : 20 oct. 2017, 14:38
par joris
Bonjour à tous,
Jusqu'à présent j'utilisais surtout le forum en mode lecteur, j'y ai puisé nombre d'infos précieuses pour mon installation et j'en remercie les différents contributeurs.
Je suis à la recherche d'un script de délestage en LUA qui permettrai de délester (quand j'approche la puissance max de mon abonnement EDF) prioritairement les pièces dans lesquelles la température est la plus proche de la consigne afin d'améliorer le confort des occupants.
J'ai pas mal cherché sur le forum, mais jusqu'a présent je n'ai pas trouvé mon bonheur, si un tel script n'existe pas déjà, je peux mettre les mains dans le cambouis (ou dans notepad plutôt dans ce cas) si besoin, mais je ne maîtrise pas autant LUA que d'autres languages et plus précisement je bloque sur le moyen de trier les ecart températures/consigne des différentes pièces...
En vous remerciant !!!!!
Re: Recherche script delestage en LUA
Publié : 20 oct. 2017, 20:40
par oula85
tu dois pouvoir adapter sur la base du mien
Code : Tout sélectionner
--script_device_delestage.lua
-- script qui deleste sur 2 seuils avec un CM180 --
-- detection seuil enclenchement salon --
-- si owl supérieur à 6000 enclenchement de l'interrupteur virtuel sinon si owl inférieur a 3200 remise a zero de l'interrupteur --
commandArray = {}
owl, total = otherdevices_svalues['CM180']:match("([^;]+);([^;]+)")
owl = tonumber(owl)
if devicechanged['CM180'] then
if (owl > 6500) and (otherdevices['Delestage Seuil 6000/3200'] == 'Off') then
commandArray['Delestage Seuil 6000/3200']='On'
elseif (owl < 3500) and (otherdevices['Delestage Seuil 6000/3200'] == 'On') then
commandArray['Delestage Seuil 6000/3200']='Off'
end
end
-- detection seuil enclenchement chambre 2 --
-- si owl supérieur à 6000 enclenchement de l'interrupteur virtuel sinon si owl inférieur a 3200 remise a zero de l'interrupteur --
owl, total = otherdevices_svalues['CM180']:match("([^;]+);([^;]+)")
owl = tonumber(owl)
if devicechanged['CM180'] then
if (owl > 7000) and (otherdevices['Delestage Seuil 6500/5400'] == 'Off') then
commandArray['Delestage Seuil 6500/5400']='On'
elseif (owl < 6100) and (otherdevices['Delestage Seuil 6500/5400'] == 'On') then
commandArray['Delestage Seuil 6500/5400']='Off'
end
end
-- enclenchement delestage salon --
-- si l'interrupteur virtuel est a ON on active le mode eco de la zone ( repris dans un blocky de chauffe en ligne de securité ) --
if (devicechanged['Delestage Seuil 6000/3200'] == 'On') and (otherdevices['Eco chauffage Salon'] == 'Off') then
commandArray['Eco chauffage Salon']='On'
end
-- arret delestage salon --
-- si l'interrupteur virtuel est a OFF on desactive le mode eco de la zone ( repris dans un blocky de chauffe en ligne de securité ) --
if (devicechanged['Delestage Seuil 6000/3200'] == 'Off') and (otherdevices['Eco chauffage Salon'] == 'On') then
commandArray['Eco chauffage Salon']='Off'
end
-- enclenchement delestage chambre 2 --
-- si l'interrupteur virtuel est a ON on active le mode eco de la zone ( repris dans un blocky de chauffe en ligne de securité ) --
if (devicechanged['Delestage Seuil 6500/5400'] == 'On') and (otherdevices['Eco chauffage Chambre 2'] == 'Off') then
commandArray['Eco chauffage Chambre 2']='On'
end
-- arret delestage chambre 2 --
-- si l'interrupteur virtuel est a OFF on desactive le mode eco de la zone ( repris dans un blocky de chauffe en ligne de securité ) --
if (devicechanged['Delestage Seuil 6500/5400'] == 'Off') and (otherdevices['Eco chauffage Chambre 2'] == 'On') then
commandArray['Eco chauffage Chambre 2']='Off'
end
return commandArray
Re: Recherche script delestage en LUA
Publié : 21 oct. 2017, 10:13
par joris
salut,
J'étais tombé sur son script lors de mes recherches, mais plutôt que de délester certains pièces spécifiques, je me disais qu'il pourrait être plus agréable en terme de confort, de delester les pièces les plus proches de leur consigne (donc les plus chaudes) en priorité.
L'idée de base serait de comparer toutes les pièces à leur consigne et de trier tout ça par ordre croissant mais je ne sais pas si une telle fonction est faisable en lua. En python par exemple, on pourrait creer un tableau clé, écart et le trier en fonction de l'écart, mais de ce que j'ai lu Lua ne permet pas de le faire sur les valeurs, uniquement sur les clé ...
[Edit] j'ai trouvé comment trier mon tableau, reste plus qu'a passer à la phase de test

Re: Recherche script delestage en LUA
Publié : 21 oct. 2017, 23:12
par oula85
Pas idiot du tout reste à savoir comment tu vas pouvoir couper la zone choisie...te faudra autant d inter virtuels que de pièces pour pouvoir les couper séparement je pense.
Re: Recherche script delestage en LUA
Publié : 22 oct. 2017, 09:42
par vil1driver
Salut,
Le mieux est je pense, de mettre 20€ de plus par an
Pour un abonnement qui t'évitera d'avoir à délester.
Ceci dit je veux bien aider avec le tri des temps.
Re: Recherche script delestage en LUA
Publié : 22 oct. 2017, 10:00
par joris
oula85 a écrit :Pas idiot du tout reste à savoir comment tu vas pouvoir couper la zone choisie...te faudra autant d inter virtuels que de pièces pour pouvoir les couper séparement je pense.
C'est déjà le cas de façon à piloter au plus juste les plages horaires des différentes pièces, notemment des chambres étant donné que tout le monde à des horaires de présence radicalement différents.
Re: Recherche script delestage en LUA
Publié : 22 oct. 2017, 11:26
par oula85
joris a écrit :oula85 a écrit :Pas idiot du tout reste à savoir comment tu vas pouvoir couper la zone choisie...te faudra autant d inter virtuels que de pièces pour pouvoir les couper séparement je pense.
C'est déjà le cas de façon à piloter au plus juste les plages horaires des différentes pièces, notemment des chambres étant donné que tout le monde à des horaires de présence radicalement différents.
oui ça j'ai bien compris comme chez moi mais si tu as par exemple salon et chambre 1 et que tu veux couper seulement dans le salon comment va tu modifier ton programme pour qu'il prenne en compte le delestage seulement dans cette zone ? tu ne peux pas désactiver le programme déja actif ou alors rajouter une condition qui bloquera le chauffage dans la zone propre à chaque zone ( ce que j'ai fais dans mon script un inter eco qui bascule avec des conditions pour chaque zone ), les 2 principales energivores.
Re: Recherche script delestage en LUA
Publié : 22 oct. 2017, 11:50
par joris
Mon install est la suivante (les radiateurs sont tous des panneaux rayonnants sauf la salle de bain ou c'est sèche serviette à inertie):
- 3 chambres avec 1 sonde T° par chambre et 1 module par radiateur
- 1 Salle de bain avec 1 sonde T°+Hygro pour piloter par la suite la vitesse de la VMC et 1 module sur le radiateur (ça me permet également de lui coller 1° de plus sur la consigne de T° c'est plus agréable pour une salle de bain)
- 1 Séjour avec une sonde de T° et 1 module pour 3 radiateurs (sans conteste mon plus gros poste énergivore)
- 1 module teleinfo pour surveiller les infos en provenance du compteur
Je me suis basé sur ce
script (Time) en incluant une valeur de conso à ne pas dépasser pour pouvoir activer un nouveau radiateur.
Enfin un script Device sur le compteur qui deleste la(les) pièce(s) les plus chaudes si la conso dépasse un seuil défini.