listes variables
Re: listes variables
Je suppose que j'aurais pu mettre :
if (devicechanged[sonde] or devicechanged[consigne]) and (otherdevices[periode] == 'On')
a la place de
if (devicechanged[sonde] and otherdevices[periode] == 'On') or (devicechanged[consigne] and otherdevices[periode] == 'On')
if (devicechanged[sonde] or devicechanged[consigne]) and (otherdevices[periode] == 'On')
a la place de
if (devicechanged[sonde] and otherdevices[periode] == 'On') or (devicechanged[consigne] and otherdevices[periode] == 'On')
RaspberryPi2B+SD16GPNYclass10-RFlink firm1.1R41-domoticz 5877-6 sonde temp + une prise domotisé et 4 adaptateurs chaicon pour radiateur
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: listes variables
Il y a plusieurs méthodes.. Tant que tu restes logique ça ira
Attention cependant au nom du script ! Pas de - après le type mais un _
Attention cependant au nom du script ! Pas de - après le type mais un _
Ps: pense à utiliser la balise code dans tes messagesscript_device_thermSDB.lua
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
Re: listes variables
merci c'etait une petite coquille...
Au fait tu as deja utilisé des
Y a une astuce car moi j'ai abandonné trop galere
j'ai fini par faire :
ça fonctionne, mais est-ce viable ?
Au fait tu as deja utilisé des
Code : Tout sélectionner
if (devicechanged[XXX] then etcj'ai fini par faire :
Code : Tout sélectionner
local hysteresis = 1 --Valeur seuil pour éviter que le relai ne cesse de commuter dans les 2 sens
local radiateur = 'Prise_SecheServiette' --Nom du device radiateur à allumer/éteindre
local periode = 'Periode_Chauffe_SDB' --Switch manuel permettant de valider si on est en periode de chauffage de SDB
local sonde = 'Temp_SDB' -- sonde temperature/humidite salle de bain
local planning = 'Consignes_SDB' --themostat avec plannification pour le chauffage de la salle de bain
--------------------------------
-- End of edit section --
--------------------------------
commandArray = {}
local temp, hum = otherdevices_svalues[sonde]:match("([^;]+);([^;]+)") -- recuperation de la temperature de la sonde
local temp = tonumber(temp) -- mise au format chiffre
local consigne = otherdevices_svalues[planning] -- recuperation de la temperature du hermostat
local consigne = tonumber(consigne) -- mise au format chiffre
-- print("temperature reference "..consigne) -- utiliser pour test
-- print("temperature reel "..temp) -- utiliser pour test
if (otherdevices[periode] == 'Off' and otherdevices[radiateur] == 'On') then
commandArray[radiateur]='Off'
--print("Pas de chauffage en ce moment dans SDB ")
elseif (temp <= (consigne - hysteresis) and otherdevices[periode] == 'On' and otherdevices[radiateur] == 'Off') then
commandArray[radiateur]='On'
print("Allumage du chauffage dans SDB ")
elseif (temp <= (consigne - hysteresis) and otherdevices[periode] == 'Off' and otherdevices[radiateur] == 'On') then
commandArray[radiateur]='Off'
--print("Attention periode hors chauffage SDB ")
elseif (temp > (consigne + hysteresis) and otherdevices[periode] == 'On' and otherdevices[radiateur] == 'On') then
commandArray[radiateur]='Off'
print("Extinction du chauffage dans SDB ")
elseif (temp > (consigne + hysteresis) and otherdevices[periode] == 'Off' and otherdevices[radiateur] == 'On') then
commandArray[radiateur]='Off'
--print("Attention periode hors chauffage SDB - en plus il fait trop chaud ")
elseif (temp < (consigne + hysteresis) and temp > (consigne - hysteresis)) then
--print("temperature ideal ")
else
--print("Aucune modif necessaire ")
end
return commandArray
RaspberryPi2B+SD16GPNYclass10-RFlink firm1.1R41-domoticz 5877-6 sonde temp + une prise domotisé et 4 adaptateurs chaicon pour radiateur
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: listes variables
Oui, pas de soucis avec les devicechanged.. Mais pas pour le chauffage pour moi
Le tout est de bien les utiliser.
Ton script est du coups un script_time... Tu fais la différence n'est-ce pas ?
Ton script est compliqué
Fait une première condition juste avec ta période
Si oui tu fais tes autres conditions avec la temp/consigne..
Si non chauffage off
Ce sera plus facile à lire
Perso par sécurité je ne teste pas l'état des radiateurs je renvoie la commande systématiquement.
Pour quelqu'un qui voulait une liste de commandes tu t'en sors bien
Ps: perso je n'aime pas l'hystéresis
Le tout est de bien les utiliser.
Ton script est du coups un script_time... Tu fais la différence n'est-ce pas ?
Ton script est compliqué
Fait une première condition juste avec ta période
Si oui tu fais tes autres conditions avec la temp/consigne..
Si non chauffage off
Ce sera plus facile à lire
Perso par sécurité je ne teste pas l'état des radiateurs je renvoie la commande systématiquement.
Pour quelqu'un qui voulait une liste de commandes tu t'en sors bien
Ps: perso je n'aime pas l'hystéresis
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
Re: listes variables
Merci beaucoup de ton retour... je vais peaufiner alors
RaspberryPi2B+SD16GPNYclass10-RFlink firm1.1R41-domoticz 5877-6 sonde temp + une prise domotisé et 4 adaptateurs chaicon pour radiateur
Re: listes variables
script_time .... c'est pour qu'il s'execute toute les minutes c'est ça et non pas a chaque changement d'un device ???
RaspberryPi2B+SD16GPNYclass10-RFlink firm1.1R41-domoticz 5877-6 sonde temp + une prise domotisé et 4 adaptateurs chaicon pour radiateur
Re: listes variables
Pas de probleme de balancer un ordre d'eteindre toute les minutes s'il est déjà en off ?vil1driver a écrit :Oui, pas de soucis avec les devicechanged.. Mais pas pour le chauffage pour moi
Fait une première condition juste avec ta période
Si oui tu fais tes autres conditions avec la temp/consigne..
Si non chauffage off
RaspberryPi2B+SD16GPNYclass10-RFlink firm1.1R41-domoticz 5877-6 sonde temp + une prise domotisé et 4 adaptateurs chaicon pour radiateur
Re: listes variables
genrevil1driver a écrit : Fait une première condition juste avec ta période
Si oui tu fais tes autres conditions avec la temp/consigne..
Si non chauffage off
Code : Tout sélectionner
if (otherdevices[periode] == 'On') then
if (temp <= (consigne - hysteresis)) then
commandArray[radiateur]='On'
print("Allumage du chauffage dans SDB ")
elseif (temp > (consigne + hysteresis)) then
commandArray[radiateur]='Off'
print("Extinction du chauffage dans SDB ")
-- elseif (temp < (consigne + hysteresis) and temp > (consigne - hysteresis)) then -- pour test
--print("temperature ideal ")
end
else
commandArray[radiateur]='Off'
--print("Hors periode de chauffage de la SDB ")
end
RaspberryPi2B+SD16GPNYclass10-RFlink firm1.1R41-domoticz 5877-6 sonde temp + une prise domotisé et 4 adaptateurs chaicon pour radiateur
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: listes variables
Alors, oui, non, exactement 
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
Re: listes variables
En promenant mon petit bout de choux... j'ai eu une idée pour éviter d'envoyer une commande inutile
Remplacement du else de fin par une condition qui fait qu'il envoie ordre extinction que si le radiateur est allumer.
Utile ou non ???
Peut être que tu vas me dire par précaution envoie un Off ???
Code : Tout sélectionner
if (otherdevices[periode] == 'On') then
if (temp <= (consigne - hysteresis)) then
commandArray[radiateur]='On'
print("Allumage du chauffage dans SDB ")
elseif (temp > (consigne + hysteresis)) then
commandArray[radiateur]='Off'
print("Extinction du chauffage dans SDB ")
-- elseif (temp < (consigne + hysteresis) and temp > (consigne - hysteresis)) then -- pour test
--print("temperature ideal ")
end
elseif (otherdevices[radiateur] == 'On') then
commandArray[radiateur]='Off'
--print("Hors periode de chauffage de la SDB ")
end
Utile ou non ???
Peut être que tu vas me dire par précaution envoie un Off ???
RaspberryPi2B+SD16GPNYclass10-RFlink firm1.1R41-domoticz 5877-6 sonde temp + une prise domotisé et 4 adaptateurs chaicon pour radiateur