Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

Thermostat connecté Honeywell Evohome

Pour échanger sur les plugins classés en catégorie "Bien-être/Confort"
vincentl
Timide
Messages : 13
Inscription : 19 nov. 2017, 16:39

Thermostat connecté Honeywell Evohome

Message par vincentl » 19 nov. 2017, 16:59

Bonjour,

Quel plugin faut il utiliser pour gérer les thermostats connectés Honeywell ? (si il y en a un :?:)
Excusez la question débutant

Vincent

vincentl
Timide
Messages : 13
Inscription : 19 nov. 2017, 16:39

Re: Thermostat connecté Honeywell Evohome

Message par vincentl » 20 nov. 2017, 10:32

je ne trouve pas beaucoup d'informations avec jeedom et les thermostats evohome.
Ils sont nativement pris en charge avec domoticz, via la plateforme https://international.mytotalconnectcomfort.com/

Pouvez vous m'aider dans mes recherches ?

Vincent

ctwins95
Timide
Messages : 107
Inscription : 25 nov. 2017, 14:25

Re: Thermostat connecté Honeywell Evohome

Message par ctwins95 » 25 nov. 2017, 14:43

Bonjour,
Comme toi, j'avoue que je suis également déçu de ne pas avoir trouvé d'info à ce sujet.
Ce qui m'intéresse avant tout, serait de sauvegarder toute la programmation afin de disposer de pré-réglages selon les périodes (normal/travail, absence/vacances, présence qq'un à la maison, ...), vu que la programmation elle-même, je la trouve plutôt confortable sur le satellite, voire sur l'appli smartphone.
Je réfléchis à créer un plugin, ayant récupéré les composants Python evohomeclient, et mis en oeuvre sur le PC du backup/restore (ci-dessous), mais aussi d'afficher les températures et partant, sortir des graphes par zone (ceux-ci étant intéressants en phase d'ajustement).
Je ne connais pas Python, ça n'aide pas, mais on trouve toutes les infos sur le net.
Par contre, créer un plugin, je n'ai toujours pas trouvé un point d'entrée guidé, un template.
Il faut comprendre l'évosystème de Jeedom à priori en étudiant des plugins existants, bref pas une mince affaire quand on n'y passe pas ses journées.
Doc développeur, on arrive là : https://jeedom.github.io/documentation/ ... fault.html
et après ?
Si quelqu'un savait me montrer la voie, ce serait fort sympathique !

Les GIT de evohomeclient :
https://github.com/watchforstock/evohome-client
https://github.com/watchforstock/java-evohome-client
DOC :
http://evohome-client.readthedocs.io/en ... index.html

et du fork :
https://github.com/reines/evohome-client (java, host paramétrable)
https://github.com/gordonb3/evohomeclient (C++)

Un blog de discussion qui commence à cumuler pas mal de pages : http://www.automatedhome.co.uk/vbulleti ... l-remotely
De mémoire, il me semble que c'est à partir de ce forum qu'est né evohomeclient

Pour terminer, la DOC officielle de Honeywell, mais à priori non aboutie :
https://mytotalconnectcomfort.com/WebApi/Help
en ouvrant une session avec le code appli : 91db1612-73fd-4500-91b2-e63b069b185c


Script pour le backup des zones :
(après install de https://github.com/watchforstock/evohome-client)
from evohomeclient2 import EvohomeClient
client = EvohomeClient('USERNAME', 'PASSWORD', debug=False)
client.zone_schedules_backup('backup.json')

et le restore :
client.zone_schedules_restore('backup.json')

disons que c'est un petit début... (avec un grand merci à https://github.com/watchforstock)

underscan
Timide
Messages : 29
Inscription : 23 févr. 2015, 20:54

Re: Thermostat connecté Honeywell Evohome

Message par underscan » 11 déc. 2017, 22:58

+1
meme situation, j'ai un evohome wifi, et je cherche a l'integrer a jeedom, seul probleme, pas de plugin et je ne suis pas developpeur..
@sarakha63, peut etre que tu peux guider ctwins95?

underscan
Timide
Messages : 29
Inscription : 23 févr. 2015, 20:54

Re: Thermostat connecté Honeywell Evohome

Message par underscan » 14 déc. 2017, 22:19

ctwins95 a écrit :Bonjour,
Comme toi, j'avoue que je suis également déçu de ne pas avoir trouvé d'info à ce sujet.
Ce qui m'intéresse avant tout, serait de sauvegarder toute la programmation afin de disposer de pré-réglages selon les périodes (normal/travail, absence/vacances, présence qq'un à la maison, ...), vu que la programmation elle-même, je la trouve plutôt confortable sur le satellite, voire sur l'appli smartphone.
Je réfléchis à créer un plugin, ayant récupéré les composants Python evohomeclient, et mis en oeuvre sur le PC du backup/restore (ci-dessous), mais aussi d'afficher les températures et partant, sortir des graphes par zone (ceux-ci étant intéressants en phase d'ajustement).
Je ne connais pas Python, ça n'aide pas, mais on trouve toutes les infos sur le net.
Par contre, créer un plugin, je n'ai toujours pas trouvé un point d'entrée guidé, un template.
Il faut comprendre l'évosystème de Jeedom à priori en étudiant des plugins existants, bref pas une mince affaire quand on n'y passe pas ses journées.
Doc développeur, on arrive là : https://jeedom.github.io/documentation/ ... fault.html
et après ?
Si quelqu'un savait me montrer la voie, ce serait fort sympathique !

Les GIT de evohomeclient :
https://github.com/watchforstock/evohome-client
https://github.com/watchforstock/java-evohome-client
DOC :
http://evohome-client.readthedocs.io/en ... index.html

et du fork :
https://github.com/reines/evohome-client (java, host paramétrable)
https://github.com/gordonb3/evohomeclient (C++)

Un blog de discussion qui commence à cumuler pas mal de pages : http://www.automatedhome.co.uk/vbulleti ... l-remotely
De mémoire, il me semble que c'est à partir de ce forum qu'est né evohomeclient

Pour terminer, la DOC officielle de Honeywell, mais à priori non aboutie :
https://mytotalconnectcomfort.com/WebApi/Help
en ouvrant une session avec le code appli : 91db1612-73fd-4500-91b2-e63b069b185c


Script pour le backup des zones :
(après install de https://github.com/watchforstock/evohome-client)
from evohomeclient2 import EvohomeClient
client = EvohomeClient('USERNAME', 'PASSWORD', debug=False)
client.zone_schedules_backup('backup.json')

et le restore :
client.zone_schedules_restore('backup.json')

disons que c'est un petit début... (avec un grand merci à https://github.com/watchforstock)
Après quelque recherche j'ai trouvé une doc sur un plugin template qui sert de squelette pour les nouveaux plugins:
https://jeedom.com/doc_old/documentatio ... #_template

Tu penses realiste de démarrer quelque chose ?
Perso je ne suis pas développeur donc je ne peux malheureusement pas faire grand chose..

Envoyé de mon SM-T805 en utilisant Tapatalk


vincentl
Timide
Messages : 13
Inscription : 19 nov. 2017, 16:39

Re: Thermostat connecté Honeywell Evohome

Message par vincentl » 14 déc. 2017, 23:50

Salut,

Personnellement je compte y regarder dès que j'ai un peu de temps :-D

Vincent

ctwins95
Timide
Messages : 107
Inscription : 25 nov. 2017, 14:25

Re: Thermostat connecté Honeywell Evohome

Message par ctwins95 » 17 déc. 2017, 13:13

Après quelque recherche j'ai trouvé une doc sur un plugin template qui sert de squelette pour les nouveaux plugins:
https://jeedom.com/doc_old/documentatio ... #_template
J'avais vu cela aussi, mais cela reste un peu trop théorique pour savoir comment démarrer, comment faire apparaître le plugin ou simuler une installation ? Comprendre l'écosystème et comment s'y intégrer ?
Egalement, le plugin installé, la page de création reste vierge de tout bouton :(
S'inspirer de plugins existants, je ne trouve pas que cela soit une bonne approche, car x développeurs, x façon de faire, et pas forcément de la meilleure façon, j'imagine donc une bonne prise de tête pour identifier les bonnes pratiques, et les bouts de code utilisables pour le besoin.

<edit 23.52>Enfin, il me/nous faut traduire le code python en php, ce qui ajoute en complexité/temps, vu que je connais peu le premier, et trèèès peu le second.
Je viens de voir que les plugin, basés donc sur php, peuvent lancer des scripts python... à voir comment remonter vers php les data collectées via python, le sens descendant étant relativement plus évident.</edit>

vincentl
Timide
Messages : 13
Inscription : 19 nov. 2017, 16:39

Re: Thermostat connecté Honeywell Evohome

Message par vincentl » 18 déc. 2017, 13:22

Salut,

Avant d'avoir un vrai plugin, voici un début de solution avec le plugin script

1) installer la librairie python sur la debian :

Code : Tout sélectionner

sudo apt-get clean
sudo apt-get update
sudo apt-get install -y wget python-pip
if [ $(pip list | grep evohomeclient | wc -l) -eq 0 ]; then
    echo "Installation du module evohomeclient pour python"
    sudo pip install evohomeclient
fi
2) installer le plugin script
3) exemple de script getTemp.py pour récupérer la température (remplacer login/pass avec votre compte https://international.mytotalconnectcomfort.com)

Code : Tout sélectionner

# -*- coding: utf8 -*-
from evohomeclient2 import EvohomeClient
ec = EvohomeClient('login', 'mdp', debug=False)
for device in ec.temperatures():
      print(device["temp"])
 
exemple de script pour le setTemp.py #slider#, vous devez connaitre le nom de la zone, un print (device) vous le donne

Code : Tout sélectionner

# -*- coding: utf8 -*-
import sys
tempe = sys.argv[1]
from evohomeclient2 import EvohomeClient
ec = EvohomeClient('login', 'mdp', debug=False)
zone = ec.locations[0]._gateways[0]._control_systems[0].zones["Salon"]
zone.set_temperature(tempe)
print tempe
 

vincentl
Timide
Messages : 13
Inscription : 19 nov. 2017, 16:39

Re: Thermostat connecté Honeywell Evohome

Message par vincentl » 18 déc. 2017, 21:38

la dernière version pour aujourd'hui

Code : Tout sélectionner

# -*- coding: utf8 -*-
# Author: VLV
import argparse

login="xxx"
passw="xxx"
zonename="Salon"

parser = argparse.ArgumentParser(description='dialogue avec EvohomeClient')
parser.add_argument('--set','-s', type=float, nargs=1)
parser.add_argument('--gettemp', dest='gettemp', action='store_true')
parser.add_argument('--getpoint', dest='getpoint', action='store_true')
args = parser.parse_args()

from evohomeclient2 import EvohomeClient
ec = EvohomeClient(login, passw, debug=False)
def showTemp(): # Ajouter le device
   for device in ec.temperatures():
      print(device["temp"])
   return

def showPoint(): # Ajouter le device
   for device in ec.temperatures():
      print(device["setpoint"])
   return

def setTemp(zonename,tempe):
   zone = ec.locations[0]._gateways[0]._control_systems[0].zones[zonename]
   zone.set_temperature(tempe)
   return

#Main
if args.gettemp:
    showTemp()
elif args.set:
    setTemp(zonename,args.set[0])
elif args.getpoint:
    showPoint()
Voilà comment j'ai configuré le plugin script :
script.png
script.png (89.33 Kio) Consulté 7408 fois
J'ai maintenant un thermostat sur le dashboard :-)

underscan
Timide
Messages : 29
Inscription : 23 févr. 2015, 20:54

Re: Thermostat connecté Honeywell Evohome

Message par underscan » 28 déc. 2017, 22:24

vincentl a écrit :la dernière version pour aujourd'hui

Code : Tout sélectionner

# -*- coding: utf8 -*-
# Author: VLV
import argparse

login="xxx"
passw="xxx"
zonename="Salon"

parser = argparse.ArgumentParser(description='dialogue avec EvohomeClient')
parser.add_argument('--set','-s', type=float, nargs=1)
parser.add_argument('--gettemp', dest='gettemp', action='store_true')
parser.add_argument('--getpoint', dest='getpoint', action='store_true')
args = parser.parse_args()

from evohomeclient2 import EvohomeClient
ec = EvohomeClient(login, passw, debug=False)
def showTemp(): # Ajouter le device
   for device in ec.temperatures():
      print(device["temp"])
   return

def showPoint(): # Ajouter le device
   for device in ec.temperatures():
      print(device["setpoint"])
   return

def setTemp(zonename,tempe):
   zone = ec.locations[0]._gateways[0]._control_systems[0].zones[zonename]
   zone.set_temperature(tempe)
   return

#Main
if args.gettemp:
    showTemp()
elif args.set:
    setTemp(zonename,args.set[0])
elif args.getpoint:
    showPoint()
Voilà comment j'ai configuré le plugin script :
script.png
J'ai maintenant un thermostat sur le dashboard :-)
ENORME!!!!!! C'est TRES intéressant. Nous voilà avec ce qui ressemble a une première intégration evohome jeedom!! Je suis ravi. Merci!
Il reste a emballer tous cela dans un beau plugin, et jeedom l'aura sa compatibilité evohome pour tous!!

Envoyé de mon SM-T805 en utilisant Tapatalk


leval
Timide
Messages : 15
Inscription : 26 juin 2015, 15:55
Localisation : Belgique

Re: Thermostat connecté Honeywell Evohome

Message par leval » 10 janv. 2018, 13:58

Cool ca semble en bonne voie.

cham79
Timide
Messages : 103
Inscription : 23 sept. 2017, 17:15

Re: Thermostat connecté Honeywell Evohome

Message par cham79 » 10 janv. 2018, 14:25

je viens de faire l'acquisition d'un Thermostat connecté sans fil Y87RF savez vous si c'est compatible avec la solution évoqué ci dessus

leval
Timide
Messages : 15
Inscription : 26 juin 2015, 15:55
Localisation : Belgique

Re: Thermostat connecté Honeywell Evohome

Message par leval » 10 janv. 2018, 15:49

Humm j'ai créé le script avec mes login/passw, mais j'ai un output bizarre :
Pièces jointes
Capture.JPG
Capture.JPG (95.67 Kio) Consulté 7321 fois

leval
Timide
Messages : 15
Inscription : 26 juin 2015, 15:55
Localisation : Belgique

Re: Thermostat connecté Honeywell Evohome

Message par leval » 10 janv. 2018, 16:33

Bon ca marche maintenant, mais zonename, ne semble pas pris en compte, il me donne toutes les zones :

# python evohome.py --gettemp
23.0
11.0
19.0
20.5
15.0
19.0
12.5

voici le script édité :

# -*- coding: utf8 -*-
# Author: VLV
import argparse
import logging

logging.getLogger('urllib3.connectionpool').setLevel(logging.ERROR)

login="valentin@******.**"
passw="**********"
zonename="SALON"

parser = argparse.ArgumentParser(description='dialogue avec EvohomeClient')
parser.add_argument('--set','-s', type=float, nargs=1)
parser.add_argument('--gettemp', dest='gettemp', action='store_true')
parser.add_argument('--getpoint', dest='getpoint', action='store_true')
args = parser.parse_args()

from evohomeclient2 import EvohomeClient
ec = EvohomeClient(login, passw, debug=False)
def showTemp(): # Ajouter le device
for device in ec.temperatures():
print(device["temp"])
return

def showPoint(): # Ajouter le device
for device in ec.temperatures():
print(device["setpoint"])
return

def setTemp(zonename,tempe):
zone = ec.locations[0]._gateways[0]._control_systems[0].zones[zonename]
zone.set_temperature(tempe)
return

#Main
if args.gettemp:
showTemp()
elif args.set:
setTemp(zonename,args.set[0])
elif args.getpoint:
showPoint()

PeP
Timide
Messages : 15
Inscription : 24 déc. 2017, 17:31

Re: Thermostat connecté Honeywell Evohome

Message par PeP » 12 janv. 2018, 18:19

Super intéressant !! Perso j'ai leur alarme... ça devrait donc fonctionner de la même façon ?
Par contre, il faudrait savoir où trouver les différentes actions (variables)...

coolweb
Timide
Messages : 86
Inscription : 15 nov. 2016, 06:40

Re: Thermostat connecté Honeywell Evohome

Message par coolweb » 18 janv. 2018, 18:06

Bonjour à tous, je suis développeur et developpe le plugin mystrom. J'ai fait l'acquisition en août du système evohome et j'ai déjà travaillé sur un plugin depuis plus de 2 mois pour evohome. Je ne l'ai pas encore publié car encore un ou 2 soucis et je suis occupé sur le plugin mystrom. Donc un peu de patience cela va arriver

Envoyé de mon SM-J510FN en utilisant Tapatalk

Développeur du plugin Mystrom, Honeywell.

leval
Timide
Messages : 15
Inscription : 26 juin 2015, 15:55
Localisation : Belgique

Re: Thermostat connecté Honeywell Evohome

Message par leval » 19 janv. 2018, 09:43

coolweb a écrit :
18 janv. 2018, 18:06
Bonjour à tous, je suis développeur et developpe le plugin mystrom. J'ai fait l'acquisition en août du système evohome et j'ai déjà travaillé sur un plugin depuis plus de 2 mois pour evohome. Je ne l'ai pas encore publié car encore un ou 2 soucis et je suis occupé sur le plugin mystrom. Donc un peu de patience cela va arriver

Envoyé de mon SM-J510FN en utilisant Tapatalk
Si tu as besoin de testeur ;)

ctwins95
Timide
Messages : 107
Inscription : 25 nov. 2017, 14:25

Re: Thermostat connecté Honeywell Evohome

Message par ctwins95 » 09 févr. 2018, 00:24

Bonjour à tous,
Dans l'attente d'un retour MP de coolweb, j'ai fini par m'y mettre et dispose d'un premier prototype dont voici les copies écran :

Capture1.JPG
Capture1.JPG (27.23 Kio) Consulté 7152 fois
contenu du combo Zones à droite issu de la lecture des zones du système (+ les températures en 1/10e)


Capture3.JPG
Capture3.JPG (30.47 Kio) Consulté 7152 fois
ces 3 infos sont ajoutées automatiquement post création de l'équipement et du choix de la zone


Capture2.JPG
Capture2.JPG (47.89 Kio) Consulté 7152 fois
Ici, l'ensemble de mes composants via une Vue dédiée (il se fait tard, et ça ne chauffe plus très fort à cette heure :))
- couleurs des consignes reprises du site Honeywell histoire de rester en terrain connu
- une petite symbolique avec une flamme animée lorsque la température < consigne, et un check vert dans le cas contraire.
- si un forçage de consigne est actif, affichage du symbole et éventuellement de l'heure de fin (infos contenues dans Type Consigne). Cela fonctionne aussi si vous avez forcé directement via le thermostat (l'heure de fin étant le début du prochain schedule).
[new 10/02] - en cas de rupture de communication, typiquement piles HS, un symbole apparaît, et les mesures de température ne sont alors plus reportées (en réalité, valeur = null ; la consigne - qui est en mémoire dans le satellite - reste tracée)

Les captures toutes zones sont effectuées toutes les 10mn via le cron de 1mn.
Curieusement, l'historique montre des trous de parfois 40mn sur certaines zones, ce qui n'a pas de sens, car l'historique de toutes les zones est réglée sans lissage, sans purge et en gestion de répétition = "toujours répéter" (et il n'y a pas d'erreur dans la récupération des valeurs).


Sur le panneau de configuration générale, sont à saisir : username, password, choix du système (ces 3 infos selon votre compte Honeywell, la dernière étant récupérée après saisie username/password et sauvegarde/réouverture), choix du système d'arrondi (les valeurs lues étant au 1/10e), sachant que l'arrondi Honeywell procède au 0.5 inférieur ! (exemple : 16.89 => 16.50)

Egalement une zone virtuelle que j'ai appelée Console (l'image affichée est alors l'Evohome couleurs ;)), et qui va permettre de sauvegarder/restaurer les programmes hebdo.
[maj 10/02] le pilotage des programmes hebdo est (heureusement) possible via scénario, par la mise en place d'un bloc de code de 2 lignes
Apparaît également sur ce composant le mode actuel du système (Auto, Absence, etc) via le logo officiel, ainsi que sa durée le cas échéant.

Comme je l'ai annoncé, je ne m'attacherai pas à vouloir piloter les consignes, encore moins les programmes hebdo.
Dernière édition par ctwins95 le 10 févr. 2018, 13:10, édité 1 fois.

ecc
Timide
Messages : 65
Inscription : 09 juil. 2017, 11:59

Re: Thermostat connecté Honeywell Evohome

Message par ecc » 09 févr. 2018, 07:40

super ... comme je suis impatient de tester tout cela :) merci pour ton travail

leval
Timide
Messages : 15
Inscription : 26 juin 2015, 15:55
Localisation : Belgique

Re: Thermostat connecté Honeywell Evohome

Message par leval » 09 févr. 2018, 14:14

:shock: :shock: :shock: Trop cool :!: :!: :!:

Répondre

Revenir vers « [Catégorie] Confort / Bien-être »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités