[LUA] Chauffage PID

Vous avez créé 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.
rapinou
Messages : 119
Inscription : 17 nov. 2016, 01:44

Re: chauffage PID

Message par rapinou »

Merci pour ces explications détaillées, on a même le droit aux graphs, tu assures ;)
Je vais tester tout ça.
RPI 3 - Raspbian 8 (Jessie) - Domoticz V3.5877
ogulf
Messages : 445
Inscription : 15 juin 2017, 14:41

Re: chauffage PID

Message par ogulf »

En complément, voici un lien intéressant qui montre l'impact des 3 coefficients ==> Clic-moi dessus
Domoticz Stable sur RPi3 + RFPlayer + ZWave+ + RFLink R48 :
- 11 x RF660P
- 1 x FGSD-002
- 10 x F007TH
- 5 x Emcoluxr EV1527 + 4 x NAS-DS01Z
- 4 x NAS-PD02Z
- 1 x Shelly 1PM
lmet
Messages : 252
Inscription : 30 juin 2017, 18:16
Localisation : Val d'Oise
Contact :

Re: chauffage PID

Message par lmet »

Salut vil1driver,
Je tente de mettre en place ta solution PID pour le chauffage avec pas mal de succès, mes petites avancées sont ici. Tu y es cité.
Encore merci.
Domoticz : V4.10717
Zigate : V4.11230 plugin:4.5.4 firmware:031a
Mon petit blog domotique
lbeaudoin
Messages : 11
Inscription : 11 oct. 2016, 10:13

Re: chauffage PID

Message par lbeaudoin »

Salut à tous,

J'ai cassé et repris ma config de chauffage de 0 le week end dernier.
J'ai implémenté ton script, et tout marche impeccable !
Comme suggéré, je n'avais pas compris la commande OFF ... AFTER qui coupe le radiateur au bout d'un certain temps en fonction de la consigne, et pas forcément durant un cycle.

Je suis plus qu'heureux, sans jouer sur les coefficients j'ai une courbe de température quasiment lisses en fonction de la consigne.

Bravo Vil1Driver, ton script est magnifique !
Merci à toi

Laurent
ogulf
Messages : 445
Inscription : 15 juin 2017, 14:41

Re: chauffage PID

Message par ogulf »

De ce que j'ai compris :
- il est préférable d'utiliser le AFTER plutôt que le ON FOR
- par contre le AFTER est exprimé en secondes alors que le FOR est en minutes, c'est bien ça ?? (SET OFF AFTER 4 = arrêt au bout de 4 secondes alors que SET ON FOR 4 = dernière commande après 4 minutes ?)

Dans tous les cas, je suis toujours en test des deux scripts, mais fait pas (encore) assez froid dehors pour pouvoir les comparer.
Domoticz Stable sur RPi3 + RFPlayer + ZWave+ + RFLink R48 :
- 11 x RF660P
- 1 x FGSD-002
- 10 x F007TH
- 5 x Emcoluxr EV1527 + 4 x NAS-DS01Z
- 4 x NAS-PD02Z
- 1 x Shelly 1PM
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: chauffage PID

Message par vil1driver »

merci ;)

légère optimisation, (si votre version de modules.lua est antérieur à ce message)

ligne 615 environ

Code : Tout sélectionner

if math.abs(erreur) > 0.2 then
remplacer 0.2 par 0.11

Voila,
Content si ça fonctionne chez vous aussi bien que chez moi.
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
padbol2002
Messages : 84
Inscription : 23 oct. 2017, 08:53

Re: chauffage PID

Message par padbol2002 »

Petite question à l'auteur du modules.lua

Je vais adapter un script de conso virtuel sur le votre.
je voulais donc pour chaque zone faire un compteur energie.
J'ai pensé effectuer ces calculs juste après : compute(pid)
mais pour plus de précision il me faudrait le retour de la variable 'heatTime'

Comment faire pour la 'sortir' de modules.lua et l'amener dans 'script_time_chauffage'

d'avance merci
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: chauffage PID

Message par vil1driver »

il faut modifier 'modules.lua' pour passer la variable souhaitée de locale à globale

supprimer ou commenter

Code : Tout sélectionner

local heatTime
mais heatTime n'est récupérable qu'après son calcul, à chaque cycle et pas entre..
si par exemple le cycle est déterminé à 10 minutes
le script 'script_time_chauffage' se lançant chaque minutes, heatTime vaudra nil 9 fois sur 10..

donc bien penser à prendre également la durée de cycle en compte..
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
padbol2002
Messages : 84
Inscription : 23 oct. 2017, 08:53

Re: chauffage PID

Message par padbol2002 »

vil1driver a écrit :il faut modifier 'modules.lua' pour passer la variable souhaitée de locale à globale

supprimer ou commenter

Code : Tout sélectionner

local heatTime
mais heatTime n'est récupérable qu'après son calcul, à chaque cycle et pas entre..
si par exemple le cycle est déterminé à 10 minutes
le script 'script_time_chauffage' se lançant chaque minutes, heatTime vaudra nil 9 fois sur 10..

donc bien penser à prendre également la durée de cycle en compte..
Donc je le "test" avant de l'utiliser, s'il est valable je l'utilise sinon je bypass
c'est ça?
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: chauffage PID

Message par vil1driver »

Par exemple oui ;)
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Répondre