Modifier la temperature thermostat Nest par script?

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 <\>.
dartflag
Messages : 218
Inscription : 27 nov. 2015, 20:43

Re: Modifier la temperature thermostat Nest par script?

Message par dartflag »

ça fonctionne beacoup mieux avec cette nouvelle commande. :D

c'est vraiment super!!! quand ça fonctionne. merci!!!

encore une petite question: existe t il un variable spécifique au thermostat Nest pour recouperez la température de consigne?

c'est a dire si je mets la température en manuel a 23 sur le thermostat, j'ouvre la fenêtre, ça baisse a 15 et si je ferme ça remet a cette température? celle qui existait avant?
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Modifier la temperature thermostat Nest par script?

Message par vil1driver »

Via le script oui on peut lire la valeur (la sauver dans une variable utilisateur) avant de la modifier pour y revenir après coups..

Non pas spécifique à Nest

Lua c'est full power :D
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
dartflag
Messages : 218
Inscription : 27 nov. 2015, 20:43

Re: Modifier la temperature thermostat Nest par script?

Message par dartflag »

voila le script que j'ai fait avec ton aide ;)
bon je ne suis pas trop expert en script, mais bon! j'ai mis une variable mais ça la modifie a chaque fois grrrrr :oops:

Code : Tout sélectionner

-- script_device_blabla.lua

commandArray = {}
val_tempOrg = otherdevices_svalues['Domicile Living Room Setpoint']
val_contactbureau=otherdevices_svalues['Contacteur Bureau']
print(val_tempOrg)
print(val_contactbureau)
if (devicechanged['Contacteur Bureau'] == 'Open') 
	then
			commandArray['OpenURL']='192.168.150.27:8080/json.htm?type=command&param=udevice&idx=191&nvalue=0&svalue=15'
			
		elseif (devicechanged['Contacteur Bureau'] == 'Closed') 
			
	then
				commandArray['OpenURL']='192.168.150.27:8080/json.htm?type=command&param=udevice&idx=191&nvalue=0&svalue=' == 'val_tempOrg'
end
return commandArray
ganq
Messages : 385
Inscription : 01 avr. 2015, 14:20

Re: Modifier la temperature thermostat Nest par script?

Message par ganq »

Il faut que tu utilises les variables de domoticz !

Code : Tout sélectionner

  commandArray['Variable:MyOtherVar']=val_tempOrg  
pour l'enregistrer

et

Code : Tout sélectionner

 uservariables["MyVar"] 
pour l'appeler
domoticien amateur option bidouille
dartflag
Messages : 218
Inscription : 27 nov. 2015, 20:43

Re: Modifier la temperature thermostat Nest par script?

Message par dartflag »

je n'ai jamais fait de script! j'ai tenté d'adapter les infos que tu donnes mais je galère.

commandArray['Variable:MyOtherVar']=val_tempOrg

si je comprends bien cette commande va donner a MyOtherVar la température du mon thermostat avant d'ouvrir la fenêtre ?

uservariables["MyVar"]
dans cette commande a quoi correspond MyVar?
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Modifier la temperature thermostat Nest par script?

Message par vil1driver »

C'est MyOtherVar, pour aller relire la valeur sauvée et la renvoyer à ton thermostat après avoir refermé la fenêtre.

La variable est à créer manuellement avant dans paramètres > plus d'options > variables utilisateur
De type chaîne c'est good
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
dartflag
Messages : 218
Inscription : 27 nov. 2015, 20:43

Re: Modifier la temperature thermostat Nest par script?

Message par dartflag »

bonsoir,

je fais des tests dans tout les sens, comme c'est la premier fois que je fais un script, c'est pas mal nébuleux :?

avec des tut sur internet j'ai un peu compris les variables locales et globales, mais je ne vois pas comment faire avec la commande

commandArray['OpenURL']='192.168.150.27:8080/json.htm?type=command&param=udevice&idx=191&nvalue=0&svalue=15'

a t on le droit de faire

val_tempOrg=20
commandArray['OpenURL']='192.168.150.27:8080/json.htm?type=command&param=udevice&idx=191&nvalue=0&svalue='=val_tempOrg

???
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Modifier la temperature thermostat Nest par script?

Message par vil1driver »

Remplace =val_tempOrg par ..val_tempOrg

Pour cacatener des chaînes de caractères c'est double point
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
dartflag
Messages : 218
Inscription : 27 nov. 2015, 20:43

Re: Modifier la temperature thermostat Nest par script?

Message par dartflag »

1- je n'ai pas bien compris la commande

commandArray['Variable:MyOtherVar']=val_tempOrg

a quoi sert cette commande?
quelle est la différence avec tout simplement?
MyOtherVar=val_tempOrg

2 avec la commande
commandArray['Variable:MyOtherVar']="10"
est ce que j'ai MyOtherVar=10 ?
comment je peux faire pour faire afficher cette valeur pour contrôler?
print(MyOtherVar) ?
ganq
Messages : 385
Inscription : 01 avr. 2015, 14:20

Re: Modifier la temperature thermostat Nest par script?

Message par ganq »

dartflag a écrit :1- je n'ai pas bien compris la commande

commandArray['Variable:MyOtherVar']=val_tempOrg

a quoi sert cette commande?
quelle est la différence avec tout simplement?
MyOtherVar=val_tempOrg
la 1ere commande donne la valeur val_tempOrg à la variable domoticz (stockées dans la BDD) et que tu pourras réutiliser dans un autre script ou dans celui ci en le rappelant.
et la 2nde commande donne la valeur à MyOtherVar stocké dans le script Lua et qui disparaitrait dès la fin du script
dartflag a écrit : 2 avec la commande
commandArray['Variable:MyOtherVar']="10"
est ce que j'ai MyOtherVar=10 ?
comment je peux faire pour faire afficher cette valeur pour contrôler?
print(MyOtherVar) ?
oui. Normallement. Pour l'afficher, il doit falloir faire un truc du genre :
Print (uservariables["MyOtherVar"] )
domoticien amateur option bidouille
Répondre