Supervision solaire avec home assistant
Les panneaux solaires c'est plutôt cool. Mais ce qui est encore plus cool c'est de pouvoir monitorer chaque panneau et pouvoir savoir, lorsqu'un on a un doute lors d'une baisse de production, si c'est lié a un pigeon de 15 kilos qui a décidé de passer ses vacances de noël à se faire chauffer le croupion sur un des panneau ou si c'est l'ensemble qui a besoin d'un bon coup de nettoyage car il faut enlever la suie qui s'est collé dessus après que ton voisin ait fait cramer son canapé dans son jardin parce qu'il avait la flemme de l'amener à la déchèterie.
On va faire fonctionner le tout sans application externe et sans que les données n'ailles vers l’extérieur. En plus de savoir ce qui est fait de tes données tu auras aussi l'avantage de ne pas être dépendant d'une entité externe qui peut à tout moment te couper le service comme Somfy avec ses systèmes d'alarmes.
Cet article portera sur la configuration d'onduleurs EZ-1 d'APSystems, mais le gros de la configuration est valide pour la plupart des marques qui permettent une interrogation des onduleurs en local via une API.
Home assistant
Home Assistant est un logiciel libre et gratuit opérant comme un serveur central dans une installation domotique qui peut s'installer sur des petites machines tel qu'un Raspberry Pi, un Odroid ou encore un minipc. Et si tu ne sais pas comment faire, ils vendent même des machines déjà installées prêtes à l'emploi.
En plus d'être très bien fichu, il embarque des tonnes de plugins et connecteurs faciles à intégrés, dont ceux des onduleurs APsystems.
Je ne parlerais pas dans cet article de son installation, seulement de l’intégration des onduleurs et de la création d'un tableau de bord dédié.
Les onduleurs
Les basculer en hors cloud
On va commencer par établir la connexion wifi et activer la fonction d'interrogation locale pour chaque onduleur.
Il va falloir passer par un téléphone ou une tablette android avec l'application AP EasyPower pour faire la configuration initiale. Comme décrit dans le manuel joint place toi à proximité d'un des onduleur et connecte toi y en bluetooth depuis ton appareil android.
Une fois la manip faite tu dois pouvoir accéder à l'onduleur depuis l'application. Active le mode local en cochant Enable local mode. Puis clique sur le menu enable level et sélectionne l'option continuous. Sans ça, les onduleurs repasseront en mode cloud à la première coupure de courant ou le soir même en s’éteignant lorsque le soleil sera couché.
Une fois l'opération faite sur le premier onduleur, il va te falloir la répéter pour chacun des autres.
Le DHCP
Home assistant a besoin des adresses IP des onduleurs pour les intégrer. Il va falloir définir des adresses IP fixes pour les onduleurs afin qu'ils n'en changent pas lors d'un redémarrage. Pour fixer ces adresses, on va donc configurer le service DHCP du routeur ou de la box internet sur lesquels ils sont raccordé en wifi.
Exemple avec une freebox. Il va tout d'abord falloir accéder à l'interface web de la box via ton navigateur, en général sur l'adresse IP 192.168.0.254 ou 192.168.0.1 (ex : http://192.168.0.254).
Puis se connecter en tant qu'administrateur à l'interface de la box :
Aller dans les périphériques réseaux :
Repérer les onduleurs :
Sélectionner l'un d'entre eux et cliquer sur "Configurer un bail DHCP"
Puis mettre IP (non déjà utilisée) qui se trouve sur le même sous-réseau que ta box. Et sauvegarder.
Il faut refaire l'opération pour chacun d'entre eu avec une IP différente (ex : 192.168.0.13, puis 192.168.0.14, etc. Mais pas 192.168.150.13[1]).
A partir de maintenant tes onduleurs auront toujours les même adresse IP et n'en changeront plus.
Lier les onduleurs à home assistant
On va procéder en deux étapes, d'abord tu vas ajouter la supervision de tes onduleur par home assistant et ensuite tu pourras faire un tableau de bord personnalisé.
Configuration
Dans l'interface web de home assistant il va falloir ajouter chacun des onduleurs.
Commence par créer une nouvelle intégration en cliquant sur "paramètre", puis "Appareils et services".
Tape dans le champs de recherche "apsystems" et tu devrais voir apparaitre la bonne option. Clique dessus.
Dans la nouvelle fenêtre, rentre l'IP d'un des onduleurs. Laisse le port par défaut.
Une fois que c'est fait, valide.
Après avoir ajouter tous tes onduleurs, tu devrais pouvoir voir dans la page d'intégrations un Objet nommé "APsystems" avec autant d'appareils que d'onduleurs configurés.
Creer le tableau de bord
Dès lors qu'une intégration d'onduleur est faite dans Home Assistant, un tableau énergie automatique est créé, mais c'est un cumul sur une période. C'est très bien mais ce qui nous intéresse c'est d'avoir une vue instantané de la production par panneau.
On va donc commencer par créer un nouveau dashboard. Va dans "paramètres", puis "Tableaux de bord".
Clique sur "Ajouter un tableau de bord", puis sélectionne "nouveau tableau de bord vide".
Donne lui un nom, sélectionne éventuellement une icône et valide.
Une fois que c'est fait clique dans le menu latéral gauche sur la nouvelle entrée que tu viens de créer. Puis clique sur le crayon pour éditer ton tableau.
Puis clique sur les trois petits point, puis sur "éditeur de configuration brute".
Tu peux coller le code de configuration suivant en adaptant les variables pour chaque onduleur (ici j'en ai mis 4 pour l'exemple). Les paramètres à adaptés sont ceux qui contiennent le nom de chaque onduleur ( ex : "heading: Onduleur E32") et les entrées ou est ecrit sensor (ex : sensor.solar_power_of_p1).
Pour trouver les bon nom, tu peux aller voir dans la partie intégration et copier les nom des différents capteur de chaque appareil.
views:
- title: Panneaux
sections:
- type: grid
cards:
- type: heading
heading_style: title
heading: Onduleur E32
- type: entities
entities:
- entity: sensor.solar_total_power
- type: gauge
entity: sensor.solar_power_of_p1
min: 0
max: 435
- type: gauge
entity: sensor.solar_power_of_p2
min: 0
max: 435
- type: grid
cards:
- type: heading
heading: Onduleur E20
heading_style: title
- type: entities
entities:
- entity: sensor.solar_total_power_4
- type: gauge
entity: sensor.solar_power_of_p1_4
min: 0
max: 435
- type: gauge
entity: sensor.solar_power_of_p2_4
min: 0
max: 435
- type: grid
cards:
- type: heading
heading: Onduleur E77
heading_style: title
- type: entities
entities:
- entity: sensor.solar_total_power_2
- type: gauge
entity: sensor.solar_power_of_p1_2
min: 0
max: 435
- type: gauge
entity: sensor.solar_power_of_p2_2
min: 0
max: 435
- type: grid
cards:
- type: heading
heading: Onduleur E63
heading_style: title
- type: entities
entities:
- entity: sensor.solar_total_power_3
- type: gauge
entity: sensor.solar_power_of_p1_3
min: 0
max: 435
- type: gauge
entity: sensor.solar_power_of_p2_3
min: 0
max: 435
type: sections
max_columns: 4
cards: []
Si tu as du mal avec la configuration textuelle, tu peux passer par l'assistant de configuration graphique en cliquant sur le + pour creer une nouvelle carte[2], puis en allant chercher les capteurs qui correspondent à la puissance de chaque panneau.
Et apres ?
Une fois le tableau de bord terminé, tu peux suivre la production instantané de chaque panneau depuis ton réseau local.
Si par la suite tu souhaites pouvoir y accorder hors de chez toi, tu peux te configurer un VPN depuis ton téléphone vers ton réseau local au travers de ta Box ou utiliser une redirection web avec un serveur web frontal. Ce type de configuration sort du périmètre de cet article. Je te laisse donc le soin de choisir ta méthode préférée.
1. Sauf si tu sais ce que tu fais. ⤴
2. Ou en éditant une de celle existant ajouté avec la config que j'ai donné. ⤴