Script Lua : variable à afficher dans une variable de type chaine

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
Phebus06
Messages : 213
Inscription : 26 janv. 2017, 09:25

Re: Script Lua : variable à afficher dans une variable température

Message par Phebus06 »

Pour l'hystérésis, je l'ai mis sur un thermostat pour éventuellement pouvoir le faire varier, sait on jamais car j'ai une femme qui rigole encore à me voir bidouiller la domotique et qui ne voit pas bien ce que ça va apporter, mais par contre elle est très précise dans ses demandes alors pouvoir varier facilement l'hystérésis sans remettre les mains dans le code c'est plus sympa et plus WAF devant madame lol...
Dernière modification par Phebus06 le 20 sept. 2017, 11:03, modifié 2 fois.
Phebus06
Messages : 213
Inscription : 26 janv. 2017, 09:25

Re: Script Lua : variable à afficher dans une variable température

Message par Phebus06 »

le voici en entier :

Code : Tout sélectionner

CommandArray = {}

local tempchambrehaute = otherdevices_svalues['Consigne Thermostat Chambre']+['Hysteresis']
local tempchambrebasse = otherdevices_svalues['Consigne Thermostat Chambre']-['Hysteresis']

if (devicechanged['Consigne Thermostat Chambre']) or (devicechanged['Hysteresis']) then
CommandArray['Variable:Temperature_Chambre_Haute'] = tostring ('tempchambrehaute') CommandArray['Variable:Temperature_Chambre_Basse'] = tostring ('tempchambrebasse')
end

return CommandArray
avec quelques corrections, je pense lol
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Script Lua : variable à afficher dans une variable température

Message par vil1driver »

Hummm

Je ne comprends pas a quoi sert ton script

Quel intérêt

Fait voir celui qui pilote ton chauffage, un script suffit

On chope la consigne
On chope la température
On mesure la différence
Et selon, on chauffe ou pas
Basta

Pas besoin d'une usine à gaz

Et pour ta femme c'est comme toutes
Elle veut ne pas avoir froid et pas trop chaud
Donc l'hysteresis ca ne va pas lui aller
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
Phebus06
Messages : 213
Inscription : 26 janv. 2017, 09:25

Re: Script Lua : variable à afficher dans une variable température

Message par Phebus06 »

Mon petit script en lua sert juste à palier ce que je ne peux pas faire avec Blocky sur mon programme de chauffage (additionner ou soustraire deux valeurs) ;)

Et oui je sais que tu n'ai pas du tout adepte du Blocky, mais perso j'aime beaucoup et je comprend beaucoup mieux la logique, et comme tu dis c'est en faisant de petit bout de code en Lua que je vais progresser pour un jour peut être réussir à en faire un en entier avec toutes les contraintes que j'ai en tête car effectivement chaque programme est fait en fonction de ses demandes et de son environnement.
Phebus06
Messages : 213
Inscription : 26 janv. 2017, 09:25

Re: Script Lua : variable à afficher dans une variable température

Message par Phebus06 »

et pour l'hytérésis c'est bien pour ça que j'ai mis un thermostat comme ça au pire je le met à 0 :D
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Script Lua : variable à afficher dans une variable température

Message par vil1driver »

Ok, mais fais simple ;)
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
Phebus06
Messages : 213
Inscription : 26 janv. 2017, 09:25

Re: Script Lua : variable à afficher dans une variable température

Message par Phebus06 »

bon j'ai essayé ça :

Code : Tout sélectionner

CommandArray = {}

local CTC = uservariables['Consigne Thermostat Chambre']
local H = uservariables['Hysteresis']

local tempchambrehaute = CTC + H
local tempchambrebasse = CTC - H

if (devicechanged['Consigne Thermostat Chambre']) or (devicechanged['Hysteresis']) then
CommandArray ['Variable:Temperature_Chambre_Haute'] = tempchambrehaute
CommandArray ['Variable:Temperature_Chambre_Basse'] = tempchambrebasse


end

return CommandArray
mais toujours pas ça ...

tu peux m'aider vil1driver STP
Phebus06
Messages : 213
Inscription : 26 janv. 2017, 09:25

Re: Script Lua : variable à afficher dans une variable température

Message par Phebus06 »

AAARRRRRHHHHHH...
La programmation ça rend dingue.... j'ai beau lire tout ce que je trouve sur le wiki ou le forum bin j'arrive pas et pourtant je suis sur de ne pas être loin du truc...

Je me dis que c'est peut être le nom du script.... script_device_Temperature_Chambre.lua que je n'ai pas associé à un interrupteur du même nom ?
ou ce n'est pas des variables de type chaine que je devais faire mais peut être des dummy températures....

Je ne sais plus....
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Script Lua : variable à afficher dans une variable température

Message par vil1driver »

Quel est le but d'envoyer dans des variables utilisateur temp haute et basse ?

Pourquoi ne pas directement attaquer la partie chauffage ?

Sinon tu as souvent du lire que l'on conseille de placer des print dans le code pour aider à comprendre où cela peut coincer, voir le résultat d'un calcul, le contenu d'une variable, etc...
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
Phebus06
Messages : 213
Inscription : 26 janv. 2017, 09:25

Re: Script Lua : variable à afficher dans une variable température

Message par Phebus06 »

parce que le plus gros de mon programme est fait en blocky avec des plages horaires réglables dans chaque mode (semaine, week end, vacances etc...) et il ne me manque que ce petit bout de programme en lua que je dois faire pour chacune de mes pièces afin de pouvoir régler la température en fonction de l'hystérésis.

Voila, voila

je viens d'essayer de le refaire sous script_time qui me plais mieux donc sans les devicechanged mais rien de rien ...
Répondre