Thermostat connecté Honeywell Evohome
Thermostat connecté Honeywell Evohome
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
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
Re: Thermostat connecté Honeywell Evohome
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
Ils sont nativement pris en charge avec domoticz, via la plateforme https://international.mytotalconnectcomfort.com/
Pouvez vous m'aider dans mes recherches ?
Vincent
Re: Thermostat connecté Honeywell Evohome
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)
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)
Re: Thermostat connecté Honeywell Evohome
+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?
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?
Re: Thermostat connecté Honeywell Evohome
Après quelque recherche j'ai trouvé une doc sur un plugin template qui sert de squelette pour les nouveaux plugins: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)
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
Re: Thermostat connecté Honeywell Evohome
Salut,
Personnellement je compte y regarder dès que j'ai un peu de temps
Vincent
Personnellement je compte y regarder dès que j'ai un peu de temps
Vincent
Re: Thermostat connecté Honeywell Evohome
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 ?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
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>
Re: Thermostat connecté Honeywell Evohome
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 :
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)
exemple de script pour le setTemp.py #slider#, vous devez connaitre le nom de la zone, un print (device) vous le donne
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
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"])
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
Re: Thermostat connecté Honeywell Evohome
la dernière version pour aujourd'hui
Voilà comment j'ai configuré le plugin script :
J'ai maintenant un thermostat sur le dashboard
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()
Re: Thermostat connecté Honeywell Evohome
ENORME!!!!!! C'est TRES intéressant. Nous voilà avec ce qui ressemble a une première intégration evohome jeedom!! Je suis ravi. Merci!vincentl a écrit :la dernière version pour aujourd'huiVoilà comment j'ai configuré le plugin script : J'ai maintenant un thermostat sur le dashboardCode : 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()
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
Re: Thermostat connecté Honeywell Evohome
Cool ca semble en bonne voie.
Re: Thermostat connecté Honeywell Evohome
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
Re: Thermostat connecté Honeywell Evohome
Humm j'ai créé le script avec mes login/passw, mais j'ai un output bizarre :
- Pièces jointes
-
- Capture.JPG (95.67 Kio) Consulté 7472 fois
Re: Thermostat connecté Honeywell Evohome
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()
# 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()
Re: Thermostat connecté Honeywell Evohome
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)...
Par contre, il faudrait savoir où trouver les différentes actions (variables)...
Re: Thermostat connecté Honeywell Evohome
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
Envoyé de mon SM-J510FN en utilisant Tapatalk
Développeur du plugin Mystrom, Honeywell.
Re: Thermostat connecté Honeywell Evohome
Si tu as besoin de testeurcoolweb a écrit : ↑18 janv. 2018, 18:06Bonjour à 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
Re: Thermostat connecté Honeywell Evohome
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 :
contenu du combo Zones à droite issu de la lecture des zones du système (+ les températures en 1/10e)
ces 3 infos sont ajoutées automatiquement post création de l'équipement et du choix de la zone
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.
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 :
contenu du combo Zones à droite issu de la lecture des zones du système (+ les températures en 1/10e)
ces 3 infos sont ajoutées automatiquement post création de l'équipement et du choix de la zone
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.
Re: Thermostat connecté Honeywell Evohome
super ... comme je suis impatient de tester tout cela merci pour ton travail
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 20 invités