Page 2 sur 34

Re: chauffage PID

Publié : 13 oct. 2017, 16:27
par vil1driver
Ba tu crées un switch de plus pour commander les 4 en 1 fois, voila tout.

Re: chauffage PID

Publié : 14 oct. 2017, 15:36
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

Re: chauffage PID

Publié : 14 oct. 2017, 15:55
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..

Re: chauffage PID

Publié : 15 oct. 2017, 03:13
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

Re: chauffage PID

Publié : 15 oct. 2017, 08:13
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 ?

Re: chauffage PID

Publié : 15 oct. 2017, 17:33
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}))

Re: chauffage PID

Publié : 15 oct. 2017, 18:47
par vil1driver
Étrange, cela voudrait dire que par moment ton switch ne possède pas de valeur lastupdate correcte :|

Re: chauffage PID

Publié : 15 oct. 2017, 19:29
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 ?

Re: chauffage PID

Publié : 16 oct. 2017, 08:26
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

Re: chauffage PID

Publié : 16 oct. 2017, 15:29
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.