Bonjour à tous,
Nouvel utilisateur de Jeedom que je découvre, j’ai tout de suite voulu piloter mon système de contrôle de chauffage Wiser de Schneider.
Ce système sorti il y a quelques années est basé sur du très bon matériel en zigbee et avec des actionneurs de chauffage électrique et des thermostats avec affichage et boutons de réglage de la température.
On peut régler et programmer depuis une application ou directement dans la pièce.
Tout cela est très bien sauf que Schneider dans un élan de délire destructeur a décidé de saboter son produit en publiant une mise à jour qui a rendu le système instable et sujet à des ralentissements incessants. Il faut parfois de longues minutes pour changer une température.
Bref pas la joie pour ceux qui ont investi dans ce matériel certes de grande qualité mais tout de même cher.
Problème, le système est fermé et non documenté …
J’ai été grandement aidé par une personne ayant publié des scripts DomoticZ
https://easydomoticz.com/forum/viewtopic.php?f=21&t=6929&sid=62797a2cfa2c9baef0c98208a4659daf
Je ne sais pas où il a eu les informations pour baser son script mais sans cela, c’était peine perdue. Merci à lui.
Voici donc un petit guide tiré de mes recherches pour piloter l’ensemble depuis Jeedom.
Je débute et je ne connais rien en script, Json et autres, donc c’est un système un peu rustique mais il fonctionne. Je suis preneur de toute idée d’amélioration.
La box de wiser peut communiquer en local en JSON avec le compte administrateur : Login admin et mot de passe : admin
On peut lui envoyer des commandes en http pour récupérer des infos JSON et on peut lui pousser des ordres JSON
Il y a les requêtes en http qui renvoient des infos en JSON :
Remplacer l’adresse ip par celle de la box wiser
http://admin:admin@192.168.1.XX/rpc/hvac/get_all_loc_temp → Liste des équipements de température
http://admin:admin@192.168.1.XX /rpc/homedevice/device_list → Lecture des de tous les équipements
http://admin:admin@192.168.1.XX /rpc/loadmanagement/get_appliances → Liste des équipements Interrupteur
http://admin:admin@192.168.1.XX /rpc/mode/get_home_mode ->Lecture du mode de chauffe en cours
En lançant la première requête /rpc/hvac/get_all_loc_temp sous Firefox (qui lit le json) on obtient une liste des équipements de chauffage et leur statut.
On a donc une arborescence par pièce avec pour chacune :
- Son numéro
- Son id et son nom
- La température en cours
- La température de consigne
Ceci nous permet de connaître les numéros et identifiants de pièce et nous permettra de récupérer l’info sur la température de chaque pièce et la consigne de chauffage en cours
Et ensuite on peut envoyer en JSON des commandes pour changer la température de consigne :
La syntaxe est celle-ci avec une commande Curl:
/usr/bin/curl -H « Content-Type: application/json » -X POST -d ‹ {« targetTemp »:[{« locationId »:« Salon »,« targetValue »:21.00}]} › http://admin:admin@192.168.1.17/rpc/hvac/set_loc_temp
Les valeurs à ajuster sont la location Id qui indique la pièce et targetValue qui est la température que l’on souhaite.
Ensuite j’ai implémenté cela dans Jeedom à l’aide du plugin SCRIPT pour lire les infos de la box et SSH COMMANDER pour donner des ordres de température.
J’ai donc créé deux objets Script :
Le premier lit et affiche les températures
Il faut créer une commande par pièce avec Script configuré en JSON / Info / numérique
Dans la zone option on indique la requete http : http://192.168.1.17/rpc/hvac/get_all_loc_temp
On indique également le mot de passe
Dans la zone Requete on précise le numéro de la pièce et l’info que l’on veut curentValue: locationTempDetails>1>currentValue
Le numéro changera pour chaque pièce
Le second lit et affiche les consignes en cours :
On crée à nouveau une commande par pièce avec Script configuré en JSON / Info / numérique
Dans la zone option on indique la requete http : http://192.168.1.17/rpc/hvac/get_all_loc_temp
On indique également le mot de passe
Dans la zone Requete on précise le numéro de la pièce et l’info que l’on veut targetValue: locationTempDetails>2>targetValue
Le numéro changera pour chaque pièce
Pour l’écriture consigne de la température que l’on souhaite, ne sachant pas comment passer des paramètres en JSON, je suis parti sur le lancement direct de requêtes CURL en utilisant le plugin SSH Commander
C’est un peu basique mais je suis preneur de suggestions.
Il y a donc un objet par pièce et pour chaque pièce une commande par niveau de température.
Syntaxe de la commande :
/usr/bin/curl -H “Content-Type: application/json” -X POST -d ‘{“targetTemp”:[{“locationId”:“Salon”,“targetValue”:21.00}]}’ http://admin:admin@192.168.1.17/rpc/hvac/set_loc_temp
Dans chaque commande curl il faut juste modifier le nom de la pièce et la température souhaitée et on donne a chaque commande le nom de la température souhaitée
Voila, on peut ensuite sur son dashboard voir :
- Les températures en cours
- Les consignes en cours
- Pour chaque pièce on dispose de la possibilité de changer la température de consigne.
On peut ensuite aisément programmer le chauffage avec le plugin agenda et des scénarios.
Voila si vous avez des questions ou des suggestions d’amélioration, n’hésitez pas.