Page 13 sur 42

Re: Cozytouch Thermor

Publié : 26 févr. 2019, 20:43
par vr6man
je viens de faire

- remplacer :
# Switch selecteur : définition des levels du switch
on_off = value(data,x,4)
mode = value(data,x,3)

par :
# Switch selecteur : définition des levels du switch
on_off = value(data,x,3)
mode = value(data,x,2)

- remplacer :
# Lecture et comparaison de la consigne de température actuelle :
comparaison_consigne ('confort',classe.get('url'),classe.get('nom'),classe.get('idx_cons_temp_confort'),value(data,x,10),("setComfortTemperature"))

par
# Lecture et comparaison de la consigne de température actuelle :
comparaison_consigne ('confort',classe.get('url'),classe.get('nom'),classe.get('idx_cons_temp_confort'),value(data,x,9),("setComfortTemperature"))


et j'ai cette erreur :

File "/home/pi/domoticz/scripts/python/cozytouch2.py", line 740
if on_off == 'off':
^
IndentationError: unexpected indent

Re: Cozytouch Thermor

Publié : 26 févr. 2019, 20:59
par sg2
Tu dois respecter l'indentation (l'alignement des premiers caractères de chaque ligne), en insérant des espaces par paquets de 4

Re: Cozytouch Thermor

Publié : 26 févr. 2019, 21:02
par vr6man
j'ai fait des copier coller

Re: Cozytouch Thermor

Publié : 26 févr. 2019, 21:05
par sg2
Alors reprends le script original, et n'y remplace que les 3 chiffres qui changent

Re: Cozytouch Thermor

Publié : 26 févr. 2019, 21:10
par vr6man
fait

j'ai cette erreur

¤¤¤¤ DEMARRAGE SCRIPT ¤¤¤¤
**** Fonction test ****
repertoire actuel : /home/pi/domoticz/scripts/python/cozytouch_save
idx materiel dans cozytouch_save -> n°10
idx cozytouch trouve dans domoticz -> n°10
**** Fin fonction test ****
**** Tentative interrogation serveur Cozytouch ****
Requete GET : refreshAllStates
Erreur HTTP : 401 Unauthorized
**** Procedure connexion Cozytouch ****
Authentification OK
**** Fonction decouverte devices ****
Requete GET : getSetup
**** Demarrage mise a jour devices ****
Mise a jour device :0
Traceback (most recent call last):
File "/home/pi/domoticz/scripts/python/cozytouch2.py", line 853, in <module>
decouverte_devices ()
File "/home/pi/domoticz/scripts/python/cozytouch2.py", line 507, in decouverte_devices
maj_device (data,name,p,x) # mise à jour du device
File "/home/pi/domoticz/scripts/python/cozytouch2.py", line 790, in maj_device
save (switch, ('save_onoff_'+str(classe.get('idx_on_off'))))
UnboundLocalError: local variable 'switch' referenced before assignment

Re: Cozytouch Thermor

Publié : 26 févr. 2019, 21:16
par sg2
Tu as bien remplacé les numéros de paramètres 4 et 3 par respectivement 3 et 2 ?

Re: Cozytouch Thermor

Publié : 26 févr. 2019, 21:22
par vr6man
oui c'est bien ca

Re: Cozytouch Thermor

Publié : 27 févr. 2019, 09:27
par sg2
Alors il faut voir la trame fournie par le serveur Atlantic pour voir pourquoi ça ne marche pas.
Peux-tu ouvrir le script dans un éditeur de texte, et ajouter la ligne (note les 4 espaces au début) :

Code : Tout sélectionner

    print(json.dumps(data, indent=4))
dans la fonction

Code : Tout sélectionner

maj_device()
, juste après la ligne

Code : Tout sélectionner

    print("Mise a jour device :"+str(p))
Ensuite capture l'exécution du script :

python cozytouch_V2.py >couzytouch.out

et poste le contenu de cozytouch.out ici

Re: Cozytouch Thermor

Publié : 27 févr. 2019, 09:39
par vr6man
je trouve pas la ligne print("Mise a jour device :"+str(p))

Sinon as tu pu avancer sur le nouveau script ca serait peu etre plus simple que de faire fonctionner celui la ?

Re: Cozytouch Thermor

Publié : 27 févr. 2019, 10:50
par sg2
Ma version du script ne marchera pas chez toi au vu de tes traces, visiblement le serveur Atlantic ne renvoie pas la même chose à tout le monde, ça doit dépendre des appareils installés.

Tu utilises la fonction de recherche de ton nétiteur de texte pour trouver print("Mise a jour

Et tu ajoutes la ligne que je t'ai demandé d'ajouter juste en dessous, en respectant l'indentation (4 esapces avant le début)

Je suis désolé que mes manips aient l'air de te poser des difficultés, mais sans les traces dont j'ai besoin, on n'avancera pas...