[Plugin] Cozytouch Thermor

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: Cozytouch Thermor

Message 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
sg2
Messages : 63
Inscription : 24 déc. 2015, 13:30

Re: Cozytouch Thermor

Message 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
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: Cozytouch Thermor

Message par vr6man »

j'ai fait des copier coller
sg2
Messages : 63
Inscription : 24 déc. 2015, 13:30

Re: Cozytouch Thermor

Message par sg2 »

Alors reprends le script original, et n'y remplace que les 3 chiffres qui changent
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: Cozytouch Thermor

Message 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
sg2
Messages : 63
Inscription : 24 déc. 2015, 13:30

Re: Cozytouch Thermor

Message par sg2 »

Tu as bien remplacé les numéros de paramètres 4 et 3 par respectivement 3 et 2 ?
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: Cozytouch Thermor

Message par vr6man »

oui c'est bien ca
sg2
Messages : 63
Inscription : 24 déc. 2015, 13:30

Re: Cozytouch Thermor

Message 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
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: Cozytouch Thermor

Message 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 ?
sg2
Messages : 63
Inscription : 24 déc. 2015, 13:30

Re: Cozytouch Thermor

Message 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...
Répondre