Tags : Mylight Jeedom HA
0. Contexte
Propriétaire de panneau solaire connecté à my light avec routeur solaire, il était important pour moi de pouvoir récupérer l’état de ceux-ci et piloter un peu plus leur api via Jeedom
Tout d’abord, je souhaiterais remercier vivement le travail de Pierre-Emmanuel Mercier sur HA, Cyrille Courvoisier , Aurelien Rouzaud et Jexou qui m’ont été d’une aide indispensable !
Attention, si votre mot de passe contient %, il faudra le changer !
1. Jeedom
1.0 Récupération du token
L’api Myl light fonction en Oauth2 donc le token change régulierment, il vous est conseillé de récupérer celui ci de manière régulière et automatisé
la commande est celle-ci : https://myhome.mylight-systems.com/api/auth?email=mail&password=mdpmylight
Il faudra mettre vos identifiants de connexion à la place de mail et de mdpmylight
ouvrir script
Ajouter un nouvel équipement
Le nommer
Activer l’équipement, régler le cron (via Mylight vu que c’est mis à jour à cette fréquence, aucun intérêt de mettre un cron plus bas !) et sauvegarder
ajouter une commande script
- Nommer la commande
- JSON
- INFO AUTRE
- Copier l’url complété avec votre mdp et votre mail
- Sauvegarder
- Voilà votre token est enregistré dans cet item, il faudra le copier à la place de chaque token dans chaque lien :
exemple : https://myhome.mylight-systems.com/api/device/switch?authToken=6d45fdg4fdg4df3g41dg53hjjkll&id=F8DFE301399C&on=false devient https://myhome.mylight-systems.com/api/device/switch?authToken=#[cellier][Chauffe eau my light][TOKEN]#&id=F8DFE301399C&on=false
1.1 Récupération d’information sur Mylight
1.1.1 Partie web
Tout d’abord connectée vous sur Mylight via google chrome
Dirigez-vous vers l’onglet production
puis faite F12 et F5 sur votre clavier
Chercher dans la liste total? puis cliquer sur Header et copier le lien
ouvrez ce lien sur Firefox
Nous allons maintenant récupérer l’info qui nous intéresse
Grâce à la page Firefox, on peut trouver le chemin de notre info dans le cas de :
produced_energy le chemin serait donc : measure > values > 1 > value et j’obtiendrais : 32760767268.007076
Si je fais measure > values > 2 > value j’obtiens la valeur de electricity_meter_energy
Si je fais measure > values > 0 > type j’obtiens le texte energy
1.1.2 Utilisation de Script
Nous allons installer script
Ouvrir script
aller dans l’équipement créer précédemment pour le token
Sélectionnons l’information voulue
- Ajouter une commande Script
- Nommer là
- Choisir JSON
- Info Autre
- Mettre le chemin pour atteindre le JSON (dans la page firefox)
- Mettre le lien trouvé plus haut (dans le header de chrome)
- sauvegarder
et voilà l’info remonte immédiatement et sera mise à jour au cinq minutes.
1.1.3 Autres infos
Des infos sont aussi récupérables sur states? et devices?
1.2 Piloter device sur Mylight
1.2.1 Partie web action
Cette fois-ci, nous allons aller sur la page paramétrage
choisir le device dont on veut remonter l’info dans mon cas chauffe-eau
On fait comme pour les infos avec un F12 et cette fois-ci, on vient chercher Switch. Il y aura un message Switch pour on et un message Switch pour off.
Copier le lien
1.2.2 Script
Ouvrir script
Ouvrir l’équipement créé précédemment
et créer 2 nouvelles commandes script pour on et pour off
- Nommer l’action
- Type :Html
- Action défauts
- Url copier précédemment [Switch on pour on (on=true)] [Switch off pour off (on=false)]
- Sauvegarder
Voilà, vous pouvez déclencher votre chauffe-eau en marche forcé !
1.2.3 Pour récupérer l’état du device
il faut aller dans l’item states ? sur chrome et refaire la même procédure qu’en 1.1 cette fois-ci avec le chemin deviceStates >0 > state et l’url de la page states?
1.3 Piloter une page sur Mylight
1.3.1 Partie Web
Dans my light, on peut aussi avoir envie d’activer ou non une fonction, par exemple, je gère mon chauffe-eau via la programmation.
Aller donc dans paramètres, relai, roue crantés et là, vous avez plusieurs types de programmation dont par exemple green play ou horaire. Faire F12
Pour avoir une modification d’état et donc le page qui apparait cette fois, il faudra non seulement actionner le on ou off et sauvegarder !
On cherche la commande update et on copie le lien
1.3.2 Script
Nous avons obtenu un lien de ce type précédemment
https://myhome.mylight-systems.com/api/schedule/update?authToken=[APIPERSONNEL]&deviceId=F8DFE301399C&enabled=false&ranges=mon+00:00+on;mon+04:00+off;tue+00:00+on;tue+04:00+off;wed+00:00+on;wed+04:00+off;thu+00:00+on;thu+04:00+off;fri+00:00+on;fri+04:00+off;sat+00:00+on;sat+04:00+off;sun+00:00+on;sun+04:00+off;&scheduleType=basic
On peut donc modifier :
- On et le Off via respectivement enabled=true et enabled=false
- Choisir l’heure et le jour de début d’action par mon+00:00+on
- Choisir l’heure et le jour de fin d’action par mon+04:00+off
On reprend la logique de 1.2., en créent une commande action et en copiant le lien récupéré précédemment
1.3.3 Modification de la commande
Imaginons que ma famille vienne à la maison et donc augmentation du nombre de douches donc besoin de forcer le chauffe-eau sur les heures de la journée lundi je rajoute donc la ligne ;mon+14:00+on;mon+15:00+off; pour chauffer de 14h à 15h lundi !
https://myhome.mylight-systems.com/api/schedule/update?authToken=APIPERSONNEL&deviceId=F8DFE301399C&enabled=true&ranges=mon+00:00+on;mon+04:00+off;mon+14:00+on;mon+15:00+off;tue+00:00+on;tue+04:00+off;wed+00:00+on;wed+04:00+off;thu+00:00+on;thu+04:00+off;fri+00:00+on;fri+04:00+off;sat+00:00+on;sat+04:00+off;sun+00:00+on;sun+04:00+off;&scheduleType=basic
Avec un widget et hop !
1.4 Exemples
1.4.1 Exemples de modes
On l’intègre au mode qui gère la présence d’invité et plus besoin d’y penser
Du coup quand ma maison entre en mode famille ma programmation augmente de 2h et repasse en normal à la sortie du mode Famille
Pour le mode vacance
J’arrête la programmation du chauffe-eau quand le mode vacances est activé et je le reprends quand le mode vacances passe en mode absent et me permet donc de reprendre chauffage et eau chaude pour mon retour.
1.4.2 Exemple de la marche forcé
Je crée un virtuel chauffe-eau
Nommer le nom de votre action la liée à une info sauvegarder puis roue crantée pour créer une action définie
et voila ce qu’on peut faire
2. Home Assistant
il est possible de faire ces memes étapes en script via home assistant il faut simplement s’appueyer sur les parties web
Vous avez aussi les possibilités d’installer via HACS le plugin de Pierre-Emmanuel Mercier
Il permet de récupérer les infos suivantes
Platform | Description | Unit | Implemented |
---|---|---|---|
sensor.total_solar_production | Total solar power production. | W/h | ✅ |
sensor.total_grid_with_battery_consumption | Total power consumption from the grid with virtual battery. | W/h | ✅ |
sensor.total_grid_without_battery_consumption | Total power consumption from the grid without virtual battery. | W/h | ✅ |
sensor.total_autonomy_rate | Autonomy rate. | % | ✅ |
sensor.total_self_conso | Self consumption. | % | ✅ |
sensor.total_msb_charge | My Smart Battery Charge. | W/h | ✅ |
sensor.total_msb_discharge | My Smart Battery Discharge. | W/h | ✅ |
sensor.battery_state | Current battery state. | kW | ✅ |
sensor.total_green_energy | Total power consumned (from the production) by you home. | W/h | ✅ |
sensor.grid_returned_energy | Total power returned to the grid. | W/h | ✅ |
a l’installation un pop up s’ouvre
On arrive sur cette page ou il faudra télécharger le plugin
puis redémarrage de HA
puis on va integrer
Identification de connexion
et hop ça remonte
J’espère que ce format mixte HA/ JEEDOM ne vous aura pas perdu et vous aura plus
N’oubliez pas que la vie est une fête
Loïc