variable qui ne change pas lua

Vous avez des questions concernant les scripts dans Domoticz, posez vos questions ici, quelque soit le langage nous tenterons des réponses pertinentes ...
domoticzmax
Messages : 13
Enregistré le : 16 mai 2020, 12:24

Re: variable qui ne change pas lua

Message par domoticzmax »

Capture.PNG
Capture.PNG (13.98 Kio) Vu 270 fois
ma variable tout est bon normalement
et les logs c'est a dire ?

denis_brasseur
Messages : 505
Enregistré le : 24 déc. 2018, 17:05
Localisation : (26)

Re: variable qui ne change pas lua

Message par denis_brasseur »

vil1driver a écrit :
25 mai 2020, 22:42

Code : Tout sélectionner

commandArray['variable:compteur'] = '25'
https://www.domoticz.com/wiki/User_variables
commandArray['Variable:compteur']='25'
Et met ta variable en Chaine.
Pi3 + DD PiDrive + RFXtrx433 + AEON Labs ZW090
7 Modules fil pilote ZMNHJD1
2 détecteur fumées CHACON 34131
5 Bresser Capteur thermo/hygro
1 contacteur porte Philio PST02-1A Z
OWL Micro+ CM180
D2L LINKY
FGR-223 "Roller Shutter 3"

vil1driver
Messages : 5503
Enregistré le : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: variable qui ne change pas lua

Message par vil1driver »

Ah oui :D merci

La variable peut rester en entier, c'est juste qu'elle ne pourra contenir qu'un entier sous forme de chaîne (pas tordu domoticz hein ;))
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

denis_brasseur
Messages : 505
Enregistré le : 24 déc. 2018, 17:05
Localisation : (26)

Re: variable qui ne change pas lua

Message par denis_brasseur »

Effectivement, complètement pas tordu :D
Prochaine étape : les Logs !
Pi3 + DD PiDrive + RFXtrx433 + AEON Labs ZW090
7 Modules fil pilote ZMNHJD1
2 détecteur fumées CHACON 34131
5 Bresser Capteur thermo/hygro
1 contacteur porte Philio PST02-1A Z
OWL Micro+ CM180
D2L LINKY
FGR-223 "Roller Shutter 3"

domoticzmax
Messages : 13
Enregistré le : 16 mai 2020, 12:24

Re: variable qui ne change pas lua

Message par domoticzmax »

c'est a se tirer les cheveux :D
et j'ai fait avec le V mais pas de changement ma variable reste a 0
mon problème viendrai des logs ? (je ne vois pas du tout se que c'est)

vil1driver
Messages : 5503
Enregistré le : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: variable qui ne change pas lua

Message par vil1driver »

Là ou domoticz te parle de tout ce qu'il fait et de ses maleurs...

Image
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

domoticzmax
Messages : 13
Enregistré le : 16 mai 2020, 12:24

Re: variable qui ne change pas lua

Message par domoticzmax »

a ça pardon je comprenais pas, je croyais il fallait faire une manipulation et lorsque que je passe l'interrupteur a 25 j'ai ça.
Capture1.PNG
Capture1.PNG (6.68 Kio) Vu 231 fois
et quand je passe sur off j'ai ça
Capture2.PNG
Capture2.PNG (4.91 Kio) Vu 231 fois
et ma variable est bien passer a 25 avec le code comme on peut le voir mais uniquement quand j'ai manuellement appuyer sur off ou que je change de nombre sinon il n'affiche rien sur le log

vil1driver
Messages : 5503
Enregistré le : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: variable qui ne change pas lua

Message par vil1driver »

Bon je pense qu'il y a mal donne
D'où l'importance de bien poser le problème

Tu as un interrupteur selecteur ?
Nommé rideau gauche
C'est lui qui prends les valeurs 25 50 etc..?

Et tu veux qu'en fonction de sa valeur, le rideau réel monte ou descende ?

Dans ce cas ça change un peu les choses
Il va falloir lire sa valeur (position voulue)
De mémoire c'est

Code : Tout sélectionner

if otherdevices_svalues['rideau gauche'] = '25'
La variable peu être conservée (position réelle) pour comparaison

le début du script (type DEVICE) pourrait ressembler à cela

Code : Tout sélectionner

commandArray = {}
 
if (devicechanged['rideau gauche']) then 
	local compteur = uservariables['compteur']
	local selecteur = otherdevices_svalues['rideau gauche']
	commandArray['Variable:compteur'] = selecteur
	print ("compteur: "..compteur)
	print("selecteur: "..selecteur)
	if (selecteur == '0') then  
		if (compteur == '0') then
			commandArray ['rideau gauche'] = 'Off' 
		elseif (compteur == '25') then
			commandArray[1]={['rideau gauche up']='On'}
			commandArray[2]={['rideau gauche up']='Off AFTER 5'} 
		elseif (compteur == '50') then
			commandArray[1]={['rideau gauche up']='On'}
			commandArray[2]={['rideau gauche up']='Off AFTER 50'}  
		elseif (compteur == '75') then
			commandArray[1]={['rideau gauche up']='On'}
			commandArray[2]={['rideau gauche up']='Off AFTER 75'}  
		elseif (compteur == '100') then
			commandArray[1]={['rideau gauche up']='On'}
			commandArray[2]={['rideau gauche up']='Off AFTER 100'}   
		end
	if (selecteur == '25') then
	....
	end
end
return commandArray
il y a un if de plus, un end supplémentaire est donc ajouté à la fin (avant return commandArray)
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

domoticzmax
Messages : 13
Enregistré le : 16 mai 2020, 12:24

Re: variable qui ne change pas lua

Message par domoticzmax »

exactement j'ai un interrupteur off 0 25 50 75 100 rideau gauche
qui fait lui fonctionner gauche up ou gauche down 2 autre interrupteur

alors j'avais

Code : Tout sélectionner

(compteur == '0' )
et ça ne marchai pas mais en mettant

Code : Tout sélectionner

(compteur == 0 )
ça fonctionne après le dernier problème c'est que rideau gauche(le sélecteur) ne bascule pas sur off comme je le demande

Code : Tout sélectionner

if (devicechanged['rideau gauche'] == '0') then  
    if (compteur == 0 ) then
        commandArray ['rideau gauche'] = 'Off'
pourtant il fait plusieurs tour dans le code car dans les logs il me donne plusieurs fois le 0

vil1driver
Messages : 5503
Enregistré le : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: variable qui ne change pas lua

Message par vil1driver »

tu as peut-être répondu avant que je finisse de copier mon bout de code..

pourquoi souhaites tu qu'il repasse à Off ? ça n'a pas vraiment d’intérêt
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

Répondre