[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.
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: chauffage PID

Message par vil1driver »

Ba tu crées un switch de plus pour commander les 4 en 1 fois, voila tout.
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
lmet
Messages : 252
Inscription : 30 juin 2017, 18:16
Localisation : Val d'Oise
Contact :

Re: chauffage PID

Message par lmet »

Merci, j'ai créé un script en lua pour allumer les quatre radiateurs à partir d'un dummy (pas facile quand on débute).
J'ai fais quelques tests hier et sans rien toucher aux paramètres PID j'avoue que cela fonctionne très bien.
Chauffage coupé à partir de 23h à partir de 1H et toutes les heures environ j'ai :

Code : Tout sélectionner

2017-10-14 15:15:00.143 Error: EventSystem: in PID_RDC: /home/pi/domoticz/scripts/lua/modules.lua:246: field 'day' missing in date table
Domoticz : V4.10717
Zigate : V4.11230 plugin:4.5.4 firmware:031a
Mon petit blog domotique
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: chauffage PID

Message par vil1driver »

Ton ipx800 sait allumer tes 4 radiateurs en une fois à réception d'une seule commande, bosse un peut son utilisation ;)

Un truc du genre (de ce que me dit google)

Code : Tout sélectionner

http://..............set1=1&set2=1&set3=1&set4=1
Pour l'erreur je ne sais pas..
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
lmet
Messages : 252
Inscription : 30 juin 2017, 18:16
Localisation : Val d'Oise
Contact :

Re: chauffage PID

Message par lmet »

Merci mais balancer 3kw d'un seul coup cela me paraissait beaucoup donc j'ai préféré procéder de la sorte:

Code : Tout sélectionner

----------------------------------------------------------------------------------------------------------
--              Script allumage des radiateurs du rez-de-chaussée                                       --
-- Type : script device                                                                                 --
----------------------------------------------------------------------------------------------------------
commandArray = {}

-- Allumage des radiaiteurs du rez-de-chaussée
if (devicechanged['Rad_RDC'] == 'On') then
    commandArray[1]={['Rad_RDC1']='On'}
    commandArray[2]={['Rad_RDC2']='On AFTER 5'}
    commandArray[3]={['Rad_RDC3']='On AFTER 10'}
    commandArray[4]={['Rad_RDC4']='On AFTER 15'}
    elseif (devicechanged['Rad_RDC'] == 'Off') then
        commandArray[1]={['Rad_RDC1']='Off'}
        commandArray[2]={['Rad_RDC2']='Off AFTER 5'}
        commandArray[3]={['Rad_RDC3']='Off AFTER 10'}
        commandArray[4]={['Rad_RDC4']='Off AFTER 15'}
end

return commandArray
Il doit y avoir mieux en termes de code mais c'est ce que j'ai trouvé (en grande partie grâce à toi).

Dommage pour le code erreur qui provient de modules.lua
Domoticz : V4.10717
Zigate : V4.11230 plugin:4.5.4 firmware:031a
Mon petit blog domotique
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: chauffage PID

Message par vil1driver »

Ton script n'a pas lieu d'être, aucun problème pour 'balancer' 3000w d'un seul coup et heureusement, ma machine a laver fait plus (mon sèche linge également de mémoire) ;)

Ceci étant dit, il est correctement écrit et je ne pense pas qu'il soit la cause de l'erreur..

Tu as été voir à quoi correspond la ligne 246 indiquée ?
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
lmet
Messages : 252
Inscription : 30 juin 2017, 18:16
Localisation : Val d'Oise
Contact :

Re: chauffage PID

Message par lmet »

Bonjour,
Pour préserver mon IPX et éviter la commutation des quatre relais d'un seul coup je vais rester comme cela.
Par rapport au message d'erreur il s'agit de la fonction LastSeen et la ligne 246 correspond à difference = ...

Code : Tout sélectionner

-- retourne le temps en seconde depuis la dernière maj du péréphérique
function lastSeen(device)
  timestamp = otherdevices_lastupdate[device] or device
  y, m, d, H, M, S = timestamp:match("(%d+)-(%d+)-(%d+) (%d+):(%d+):(%d+)")
  --> difference = os.difftime(os.time(), os.time{year=y, month=m, day=d, hour=H, min=M, sec=S})
  return difference
end
Peut-être ... je vais essayer

Code : Tout sélectionner

difference = os.difftime(os.time(), os.time({year=y, month=m, day=d, hour=H, min=M, sec=S}))
Domoticz : V4.10717
Zigate : V4.11230 plugin:4.5.4 firmware:031a
Mon petit blog domotique
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: chauffage PID

Message par vil1driver »

Étrange, cela voudrait dire que par moment ton switch ne possède pas de valeur lastupdate correcte :|
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
lmet
Messages : 252
Inscription : 30 juin 2017, 18:16
Localisation : Val d'Oise
Contact :

Re: chauffage PID

Message par lmet »

Mon switch qui est pid['radiateur'] est un switch dummy qui lance un script lua pour mettre sur "On" ou "Off" mes quatre radiateurs.
Le pid['OnOff'] est sur Off et c'est depuis que j'ai ce message d'erreur toutes les trente minutes:

Code : Tout sélectionner

2017-10-15 16:45:00.582 Error: EventSystem: in PID_RDC: /home/pi/domoticz/scripts/lua/modules.lua:246: field 'day' missing in date table
2017-10-15 17:15:00.268 Error: EventSystem: in PID_RDC: /home/pi/domoticz/scripts/lua/modules.lua:246: field 'day' missing in date table
2017-10-15 17:45:00.411 Error: EventSystem: in PID_RDC: /home/pi/domoticz/scripts/lua/modules.lua:246: field 'day' missing in date table
2017-10-15 18:15:00.418 Error: EventSystem: in PID_RDC: /home/pi/domoticz/scripts/lua/modules.lua:246: field 'day' missing in date table
2017-10-15 18:45:00.267 Error: EventSystem: in PID_RDC: /home/pi/domoticz/scripts/lua/modules.lua:246: field 'day' missing in date table
2017-10-15 19:15:00.542 Error: EventSystem: in PID_RDC: /home/pi/domoticz/scripts/lua/modules.lua:246: field 'day' missing in date table 
Donc il n'y avait pas d'erreur de syntaxe dans le code LastSeen ?
Domoticz : V4.10717
Zigate : V4.11230 plugin:4.5.4 firmware:031a
Mon petit blog domotique
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: chauffage PID

Message par vil1driver »

lmet a écrit :Mon switch qui est pid['radiateur'] est un switch dummy qui lance un script lua pour mettre sur "On" ou "Off" mes quatre radiateurs.
oui j'ai bien compris cela
lmet a écrit :Donc il n'y avait pas d'erreur de syntaxe dans le code LastSeen ?
non ;)

peux tu ajouter juste après

Code : Tout sélectionner

function lastSeen(device)
ceci

Code : Tout sélectionner

print(device)
print(otherdevices_lastupdate[device])
que l'on essai de comprendre pourquoi une fois sur deux ça coince chez toi
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
lmet
Messages : 252
Inscription : 30 juin 2017, 18:16
Localisation : Val d'Oise
Contact :

Re: chauffage PID

Message par lmet »

Mea culpa,
vil1driver a écrit :Étrange, cela voudrait dire que par moment ton switch ne possède pas de valeur lastupdate correcte :|
Tu avais raison.
Le problème venait d'une différence de valeur entre l'onglet Hardware et Name dans le menu devices.
Une fois mis des valeurs identiques tout fonctionne.
Merci de ton aide et de ta patience.
Domoticz : V4.10717
Zigate : V4.11230 plugin:4.5.4 firmware:031a
Mon petit blog domotique
Répondre