Je vais tester tout ça.
[LUA] Chauffage PID
Re: chauffage PID
Merci pour ces explications détaillées, on a même le droit aux graphs, tu assures 
Je vais tester tout ça.
Je vais tester tout ça.
RPI 3 - Raspbian 8 (Jessie) - Domoticz V3.5877
Re: chauffage PID
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
- 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
Re: chauffage PID
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.
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.
Re: chauffage PID
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
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
Re: chauffage PID
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.
- 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
- 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
merci
légère optimisation, (si votre version de modules.lua est antérieur à ce message)
ligne 615 environ
remplacer 0.2 par 0.11
Voila,
Content si ça fonctionne chez vous aussi bien que chez moi.
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 thenVoila,
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
/!\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
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
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
il faut modifier 'modules.lua' pour passer la variable souhaitée de locale à globale
supprimer ou commenter
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..
supprimer ou commenter
Code : Tout sélectionner
local heatTimesi 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
/!\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
Donc je le "test" avant de l'utiliser, s'il est valable je l'utilise sinon je bypassvil1driver a écrit :il faut modifier 'modules.lua' pour passer la variable souhaitée de locale à globale
supprimer ou commentermais heatTime n'est récupérable qu'après son calcul, à chaque cycle et pas entre..Code : Tout sélectionner
local heatTime
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..
c'est ça?
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: chauffage PID
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
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien