[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.
jojomul1983
Messages : 74
Inscription : 23 févr. 2019, 18:22

Re: Cozytouch Thermor

Message par jojomul1983 »

**********************************************************
Fonction de comparaison de consigne pour maj Domoticz
**********************************************************
'''

def comparaison_consigne (texte,url_device,nom_device, idx_cons_domoticz, cons_device,cde_name):
''' Compare les consignes de domoticz ancienne / actuelle / ainsi que celle du device
pour déterminer qui demande un changement de consigne
envoi le changement de consigne au device ou à Domoticz et inscrit un log
'''
cons_domoticz_prec = restore ('save_consigne_'+str(nom_device)+str(idx_cons_domoticz))

# Calcul de l'écart de consigne
# limitation consigne : la consigne n'accepte que des pas de 0,5°C
# si la partie décimale est égale à 0,5 on accepte, sinon on arrondi
cons_domoticz = read_device_data (idx_cons_domoticz)

e = int(cons_domoticz)
e = cons_domoticz - e

# si la partie décimale est différente de 0,5°C on arrondi
if e <> 0.5:
cons_domoticz = round(cons_domoticz)

# comparaison avec la consigne en cours du radiateur
if cons_device <> cons_domoticz and cons_domoticz <> cons_domoticz_prec and cons_domoticz_prec > 0:
# si un écart est détecté
# et si le changement de consigne vient de domoticz, on envoie le changement au device
# et si la consigne précédente est différente de 0 (cas au démarrage)
requete_POST (url_device,cde_name,cons_domoticz)
write_log('Cozytouch - '+nom_device+' : nouvelle consigne '+str(texte)+' transmise: '+str(cons_domoticz)+'°C')
save (cons_domoticz, ('save_consigne_'+str(nom_device)+str(idx_cons_domoticz)))

elif cons_device <> cons_domoticz and cons_domoticz == cons_domoticz_prec and cons_domoticz_prec > 0:
# sinon, le changement vient du device
# mise à jour de domoticz
write_log('Cozytouch - '+nom_device+' : détection changement consigne ' +str(texte)+' : '+str(cons_device)+'°C')
write_device(cons_device,idx_cons_domoticz)
save (cons_device, ('save_consigne_'+str(nom_device)+str(idx_cons_domoticz)))

else :
# ou simple rafraichissement si aucun changement
# mise à jour de domoticz
write_device(cons_device,idx_cons_domoticz)
save (cons_device, ('save_consigne_'+str(nom_device)+str(idx_cons_domoticz)))


def maj_device (data,name,p,x):
''' Fonction de mise à jour du device dans Domoticz
'''

print ("Mise a jour device :"+str(p))
print (json.dumps(data, indent=4))

def value (data,device, item):
value=(data['setup']['devices'][device]['states'][item]['value'])
return value



Je pense voir bien fait.
sg2
Messages : 63
Inscription : 24 déc. 2015, 13:30

Re: Cozytouch Thermor

Message par sg2 »

Ok, tes matériels ne sont pas supportés par le script.

Le script ne supporte actuellement que deux types de matériels :
  • les radiateurs connectés Atlantic / Thermor / Sauter et autres compatibles io-Homecontrol selon Atlantic
  • les chauffe-eau électriques connectés idem
Si tu es codeur, alors tu peux ajouter le support de tes matériels...
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: Cozytouch Thermor

Message par vr6man »

sg2 as tu vu mon message pour ameliorer l'affichage ?
sg2
Messages : 63
Inscription : 24 déc. 2015, 13:30

Re: Cozytouch Thermor

Message par sg2 »

vr6man a écrit : 06 mars 2019, 20:16 sg2 as tu vu mon message pour ameliorer l'affichage ?
Oui, je t'ai demandé de vérifier si la ré-exécution du script ne changeait rien à la valeur aberrante ; si c'est le cas alors annule la modification, en attendant une meilleure suggestion.
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: Cozytouch Thermor

Message par vr6man »

j'avais pas vu

non ca ne change rien a la valeur
sg2
Messages : 63
Inscription : 24 déc. 2015, 13:30

Re: Cozytouch Thermor

Message par sg2 »

Je vous propose ma version 3 du script

Elle corrige tous les soucis que j'ai eus pour l'exécuter chez moi avec une version différente de python et des classes importées, je l'espère de façon tolérante aux différentes versions dans la nature (on verra bien :)

Elle récupère les paramètres par nom dans la trame cozytouch et non par numéro

Elle permet aussi de piloter le mode de fonctionnement des radiateurs (confort / eco / hors-gel / off etc.) depuis les sélecteurs de l'onglet "switches" de Domoticz.

Elle propose 3 niveaux de debug :
  • 0 : traces de base comme le script d'origine
  • 1 : idem 0 + traces de protocole HTTP et autres traces d'exécution)
  • 2 : idem 1 + dump complet de la structure json récupérée du serveur cozytouch, pour permettre l'analyse et l'ajout de matériels non encore supportés (regard en direction de jojomul1983 :D )
En principe elle capture et affiche beaucoup plus de cas d'erreur.

Elle marche chez moi :) Mais je m'attends à un tas d'anomalies chez les autres

Ne pas oublier d'ajuster les paramètres au début du script : login, mot de pase cozytouch + adresse IP et port Domoticz

Attention : si vous utilisez les modes debug 1 et 2, n'oubliez pas d'enlever vos login et mot de passe cozytouch avant de coller le résultat ici !

Bon test aux courageux !

PS vr6man : cette version ne modifie pas le souci d'affichage d'énergie, on verra ça dans la prochaine s'il y en a une :)
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: Cozytouch Thermor

Message par vr6man »

ok merci sg2 donc pas intéeret pour moi implementer ce nouveau script ?
sg2
Messages : 63
Inscription : 24 déc. 2015, 13:30

Re: Cozytouch Thermor

Message par sg2 »

Ben si, de mémoire il intègre des modifs que je t'ai fait faire sur le script V2 sans lesquelles ça ne marchait pas
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: Cozytouch Thermor

Message par vr6man »

ok donc je laisse le mien pas la peine de mettre le V3
jojomul1983
Messages : 74
Inscription : 23 févr. 2019, 18:22

Re: Cozytouch Thermor

Message par jojomul1983 »

sg2 a écrit : 06 mars 2019, 20:11 Ok, tes matériels ne sont pas supportés par le script.

Le script ne supporte actuellement que deux types de matériels :
  • les radiateurs connectés Atlantic / Thermor / Sauter et autres compatibles io-Homecontrol selon Atlantic
  • les chauffe-eau électriques connectés idem
Si tu es codeur, alors tu peux ajouter le support de tes matériels...
Merci, au moins, je sais à quoi m'en tenir.

Je ne suis pas codeur, mais je voudrais bien essayer de rentrer mes matériels dans ton script.
Comment pourrais-je faire?

PS: Le lien du script V3 =>erreur 404
Répondre