Journal Home Energy Management System (Domotique)

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
21
23
juil.
2024

Sommaire

Cher lecteur, peut-être qu'en tant que Geek accompli tu t'es intéressé à la domotique. Mais pour autant il y a peu de chance que le HEMS (Home Energy Management System) te dise quelques chose. Pourtant c'est sans doute un des intérêts majeur de la domotique selon moi.

Home Energy Management System

Qu'est-ce?

Il s'agit de piloter les appareils électriques pour optimiser la consommation en fonction de la production. Concrètement il y a 2 grandes catégories d'installation qui peuvent en bénéficier:

  • Ceux qui utilisent le réseau public d'électricité avec un contrat a heures creuses. Principalement, en France, c'est un contrat à heures creuses fixes. Mais bientôt elles seront variables au court de l'année (En journée l'été et la nuit l’hiver). On a alors intérêt à consommer en heures creuses évidemment.

  • Ceux qui ont des panneaux solaires qui produisent une électricité de manière variable. Il y a alors toujours une solution bis en cas d'absence de soleil : Soit le stockage sur batterie, soit l'achat/revente à EDF. Dans tous les cas, on a intérêt à consommer au moment ou les panneaux produisent.

Dans tous les cas, un système HEMS, doit permettre d'économiser de l'argent en consommant au meilleur moment tout en évitant de devoir le faire manuellement. Ne pas mettre un réveil la nuit pour allumer ses machines ni même devoir regarder au bureau si les panneaux solaires produisent assez pour lancer le lave-vaisselle depuis son smartphone.

Qu'existe t'il?

Il existe quelques solutions commerciales :

  1. GridX
  2. Huawei
  3. Bosh
  4. Ergon
  5. MyLight
  6. ComWatt

Mais ces solutions sont encore peu connu et relativement peu développées. Elles ont généralement comme principales défauts d'être pilotées par internet, ce qui pose des problèmes de vie privée. Mais apparemment leur plus gros défaut est la consommation d'énergie intrinsèque ce qui est un gros problème surtout pour une petites installation basée uniquement sur des panneaux solaires et batteries.

Et en Open-Source?

En Open-Source, il y a plein de projets mais aucun "clé en main". Je dirais plutôt qu'il existe des choses très intéressantes.

  1. F1ATB : Très performant mais complexe mettre en place et surtout que pour le chauffe-eau.
  2. Home-Assistant avec Energy Management. Mais en fait c'est plutôt pour monitorer que pour piloter. Pour piloter on peut mettre en place une certaine automatisation mais c'est manuel et pas vraiment "intelligent".
  3. Domoticz C'est un peu comparable à Home-Assistant en sans doute un peu moins au point.

OpenHEMS-sample

Voyant l'absence de solution locale Open-Source complète j'ai décidé de développer une solution: OpenHEMS-sample. OpenHEMS-sample est codé en Python, ce n'est pas vraiment l'idéal pour la consommation d'énergie mais c'était ce qu'il y avait de plus simple et rapide à faire.

Concrètement, c'est un serveur qui tourne en parallèle d'Home-Assistant : Il récupère auprès d'Home-Assistant l'état de la maison et se charge d'alumer/éteindre les appareils toujours via Home-Assistant.
Il lance aussi un micro-serveur web qui permet de lui dire ce que l'on veut lancer (On ne va pas lancer le lave-linge s'il n'y a pas de linge à laver)

J'ai inclus un script pour installer Home-Assistant avec OpenHEMS-sample sous forme Docker de façon efficace et rapide à partir d'une installation Debian de standard. De base le plus simple est d'installer Home-AssistantOS (cela fournit aussi tout les add-on qui sinon sont complexes à installer) mais il demande quasi-obligatoirement un Raspberry PI or, à la maison j'ai choisi une solution Open-Harware : Olimex A20-OLinuXino-LIME2. Il a peu de RAM et un faible processeur (Plutôt en dessous des recommandation Home-Assistant) mais cela me suffit

On peut installer l'application Home-Assistant sur son smartphone et ainsi l'utiliser. J'installe HTTPS pour, en ouvrant le port 443 sur sa box, consulter Home-Assistant en toute sécurité depuis internet. Il faut manuellement ajouter un menu "url" dans Home-Assistant sur le port 8000 pour accéder simplement à la page "OpenHEMS".

Utilisabilité

Pour tester, il faut tout d'abord disposer d'appareils pilotable et d'un contrat d'électricité à heures creuses intéressantes. Dans tous les cas, il vous faudra au minimum un appareil pilotable et une lecture de votre consommation électrique. Personnellement j'ai acheté et installé :

  • Une clé USB ZigBee pour connecter les appareil sans tirer des câbles en consommant le moins possible.

  • Un lecteur de données TIC Linky

  • Des prises connectées ZigBee car ma voiture électrique se recharge dès que le courant arrive.

  • Une carte Olimex A20-OLinuXino-LIME2

En pratique, cela fonctionne très bien pour un contrat Tempo comme ce que j'ai seulement il faut savoir:

  1. J'ai tout installé sur une carte SD, or la carte SD est une mémoire qui supporte mal les cycles de lecture/écriture. Ce serait mieux d'installer les logs et toutes la partie variable sur un mini-disque externe. J'ai déjà eu des plantages profond de l'OS et je pense que s'en est la cause.

  2. La page "OpenHEMS" de configuration de "programmation des appareils" n'est pas en HTTPS et donc n'est pas accessible en HTTPS (depuis internet) mais que depuis le port par défaut Home-Assistant 8123. Pour corrigé ce problème je pense créer un composant "Home-Assistant" qui consulterait en API le port 8000.

Les perspectives

Clairement, il y a encore beaucoup à faire bien entendu.

J'ai séparé la partie "interaction avec la maison" de la partie intelligente dans le but à termes de pouvoir avoir une interaction avec la maison via autre chose qu'Home-Assistant. L'idéal serait peut-être de se passer de Home-Assistant pour certains projet dont la consommation d'énergie est critique et de traiter directement avec le protocole Matter (Cela fait parti des promesses du protocole je crois : une standardisation et simplification). Aujourd'hui je préfère le ZigBee (Mais c'est Home-Assistant, donc on s'en fiche quelque part).

Aujourd'hui je n'ai implémenté qu'une "intelligence" ultra simplifié qui fonctionne en heure creuse (22h-6h) car je n'ai pas de panneaux solaires. Je souhaite bientôt ajouter une gestion plus intelligente basé sur des panneaux solaires. Mais pour ça j'ai un défis a surmonter: gérer au mieux les prévisions de production/consommation pour pouvoir réagir le plus intelligemment possible. Et pour le cas, ou la revente serait interdite, j'aimerai bien piloter un système F1ATB (cf plus haut).

Je souhaiterai réécrire en Rust l'application. Cela la rendrait bien moins énergivore, surtout si l'on se passe de Home-Assistant…

Et autrement

Si vous disposez d'appareils électroménager pilotables (Type lave-linge connecté), je serais heureux d'avoir des retours si ça marche ou pas… sinon de développer ce qu'il faut pour les faire marcher.

Bien entendu n'hésitez pas à faire vos retours ou mieux à contribuer…

J'envisage de commercialiser un service d'installation/maintenance de ce système pour entre autre financer son développement. J'aimerai donc l'améliorer, je verrai si j'y arrive mais s'il y a des personnes intéressé, surtout si elles habitent en Bretagne ou pas trop loin, je serais prêt à les installer ou les aider.

  • # Différence avec emhass?

    Posté par  (site web personnel) . Évalué à 4 (+3/-0).

    Merci pour le journal! J'ai une installation homme assistant à la maison et ça m'a donné l'envie d'aller plus loin dans la gestion active de la consommation.
    OpenHEMS-sample utilise emhass, alors que suivant leur description, les deux projets ont l'air d'avoir le même but final. Où est la différence ou la complémentarité ?

    • [^] # Re: Différence avec emhass?

      Posté par  (site web personnel, Mastodon) . Évalué à 4 (+4/-1).

      Non, j'ai pensé utilisé emhass (Il reste du code pour l'installer, a virer), je trouve leur projet top mais il faut des librairies payantes… alors j'ai laissé. Pour le moment je n'ai pas fait de panneaux solaires, j'aimerai m'y atteler.

      Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.

      • [^] # Re: Différence avec emhass?

        Posté par  (site web personnel, Mastodon) . Évalué à 4 (+4/-1).

        En fait emhass est totalement différent, il ne pilote rien, il donne juste les prévisions de quelle est la prévision de production photovoltaïque en fonction de la latitude (heure) et de la météo. Il donne aussi des prévision de ce que tu peux gagner si tu fait tel stratégie…

        Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.

      • [^] # Re: Différence avec emhass?

        Posté par  (site web personnel) . Évalué à 1 (+0/-0). Dernière modification le 24 juillet 2024 à 17:10.

        mais il faut des librairies payantes

        Lesquelles, je n'en ai pas vu dans la liste de librairies python utilisées?

    • [^] # Re: Différence avec emhass?

      Posté par  . Évalué à 9 (+10/-3). Dernière modification le 24 juillet 2024 à 00:43.

      C’est fou les coïncidences. Moi aussi y’a un homme assistant à la maison : moi. Ça marche comme ça : maintenant que je fais énormément de télétravail, je me charge de toutes les machines et je les étends/détends dehors dès que le temps le permet pour éviter d’utiliser le sèche linge. C’est plein de kw/H économisés chaque année.

      Pas de logiciel qui fasse tourner un script python sur un serveur ouaibe et pourtant le résultat est très bon.

  • # Attention

    Posté par  . Évalué à 6 (+5/-0).

    Des prises connectées ZigBee car ma voiture électrique se recharge dès que le courant arrive.

    Je ne suis pas sûr qu'une prise connectée ZigBee soit prévue pour faire passer pendant des heures des courants de l'ordre de 10 A. Tu n'as pas un moyen de piloter plutôt le chargeur ou la voiture ?

    • [^] # Re: Attention

      Posté par  (site web personnel, Mastodon) . Évalué à 2 (+2/-1). Dernière modification le 23 juillet 2024 à 22:38.

      Ma voiture est branchée sur une prise 220V standard (Du 16A) et ça passe sans problème (Enfin je l'ai déjà mis une dizaine de nuit dont 3 piloté par mon système). C'est conçu pour.

      C'est sur que pour une wallbox, il faudrait autre chose mais je ne me suis pas penché sur le problème.

      J'ai une Dacia Spring et j'ai un peu regardé et non, je ne peux pas la piloter… J'aurais rêvé de pouvoir le faire depuis la voiture, de la programmer pour se lancer a telle heure pour tant de temps. Ou mieux j'aurais rêvé de pouvoir récupérer le %age de batterie, si elle pouvait le donner par ZigBee…

      Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.

      • [^] # Re: Attention

        Posté par  (site web personnel, Mastodon) . Évalué à 2 (+2/-1).

        Ce que je ne veux pas c'est installer une application propriétaire Dacia sur mon smartphone

        Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.

      • [^] # Re: Attention

        Posté par  . Évalué à 7 (+6/-0).

        A priori, pour charger pendant des heures à 16 A, il faut une prise spécifique dite "renforcée". Je ne pense pas que les prises pilotées sont conçues pour fonctionner dans ce mode opératoire. Tu as deux risques : surchauffe dans le temps liée à une mauvaise connexion ou un mauvais dimensionnement ; arc électrique lors de la coupure en charge. Dans les deux cas, c'est un risque de départ de feu. Internet est plein d'exemples de ce genre de prises qui ont tendance à brûler lorsque des courants importants sont en jeu.

        Je n'ai pas les détails de ton installation électrique ni de la prise que tu utilises. Tu es peut être dans le régime normal de fonctionnement mais je pense qu'il faut faire attention lorsqu'on doit gérer de forts courants avec ce genre de prises pilotées souvent provenant de fournisseurs à bas coût.

        • [^] # Re: Attention

          Posté par  (site web personnel, Mastodon) . Évalué à 1 (+0/-0). Dernière modification le 24 juillet 2024 à 13:22.

          Ok, je vais surveiller

          Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.

          • [^] # Re: Attention

            Posté par  . Évalué à 7 (+6/-0).

            J'ai aussi un peu d'expérience domotique (suis passé par domoticz puis tout migré en HA depuis quelques années).

            J'utilise beaucoup de périphériques basés sur des microcontroleurs ESP (avec tasmota puis maintenant esphome) pour piloter des actions ou pour relever des capteurs. Pour piloter de la puissance (jacuzzi, charge de la voiture, …), je n'utilise pas les relais de ces périphériques low cost.
            J'utilise des contacteurs jour/nuit intégrables dans le tableau électrique (souvent utilisé pour les ballons d'eau chaude). ça existe en plusieurs puissances (20a, 25a, 32a, 40a …). Le relai low-cost piloté par HA n'alimente que la ligne de contrôle de ces contacteurs : quelques milliamperes.

            Avec ça, plus de craintes.

        • [^] # Re: Attention

          Posté par  . Évalué à 2 (+0/-0).

          Ici la charge se fait à 13A (plutôt que 16) par défaut, et ça passe avec une prise normale.

  • # HomeAssistant le fait déjà...

    Posté par  (Mastodon) . Évalué à 6 (+3/-0).

    … ou presque, puisque tu peux faire tes propres scripts.

    Tu aurais une idée d'un scénario impossible à implémenter via des scripts par exemple ?

    Et sinon merci pour F1ATB, je ne connaissais pas, c'est une mine ce site !

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

    • [^] # Re: HomeAssistant le fait déjà...

      Posté par  (site web personnel, Mastodon) . Évalué à 2 (+1/-0).

      Tu peux tout faire via des scripts et rien faire.

      Tu peux faire un script pour allumer les appareils à 22h et un autre pour les éteindre à 6h. Mais il te faut des scripts différents si tu a des panneaux solaires et non juste un configuration. Avec des scripts tu ne peux pas vérifier toutes les 30 secondes que tu ne va pas faire sauter les plombs. En fait il faudrait une centaines de scripts pour faire une centaine de choses… ça devient plus complexe qu'une application indépendante.

      Mais aussi dans openhems-sample, tu as un serveur web pour lui dire que tu veux lancer tel machine "dès que possible pendant X heures", cela me parait impossible a faire en pur Home-Assistant.

      Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.

      • [^] # Re: HomeAssistant le fait déjà...

        Posté par  (Mastodon) . Évalué à 5 (+2/-0).

        Mmmm… je ne suis pas encore assez calé en HA, mais sauf erreur tu peux faire un script qui est lancé sur chaque modification d'une valeur (par exemple ta prod photovoltaïque en temps réel donc, ou au contraire ta conso EDF).

        Idem tu peux faire tes règles de déclenchement (le "dès que possible") et ensuite lancer un timer pour arrêter ("pendant X heures").

        Non vraiment HA c'est très puissant, ça vaut la peine de s'y pencher. En tous cas vu que c'est une dépendance de ta solution, autant tout faire dans HA je pense.

        En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

        • [^] # Re: HomeAssistant le fait déjà...

          Posté par  (site web personnel, Mastodon) . Évalué à 3 (+2/-0).

          Oui mais c'est toujours le même problème, tu n peux pas faire un serveur qui surveilles tes paramètres et s'adapte. L'idée de openhems-sample, c'est tu lance une install tu édite ta configuration et tu choisi ta stratégie d'optimisation et ça marche. Pas besoin d'écrire, de maîtriser et configurer HA.

          En fait c'est comme dire HA ça sert à rien, tu peux tout faire en scripts python, c'est très puissant Python… Oui c'est même plus puissant que HA, mais tu peux pas demander à chacun de faire son programme Python.

          Ce que fait openhems-sample c'est juste un script HA… sauf qu'il tourne en serveur indépendant. Mais HA reste le moyen de récupérer les données de domotiques et de piloter ta domotique. En fait, dis autrement, openhems-sample ira très bien dans HACS ou le store HA… mais pour ça il reste du travail d'intégration.

          Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.

        • [^] # Re: HomeAssistant le fait déjà...

          Posté par  (site web personnel) . Évalué à 5 (+4/-0). Dernière modification le 24 juillet 2024 à 17:08.

          Oui, HA c'est puissant. Pour y avoir déjà regardé, la complexité d'une implémentation 100% à base de scripts/automatisations home assistant n'est pas impossible, mais grandit très vite en terme de conditions à prendre en compte. Quelques exemples:
          - gérér la priorité à l'activation/au délestage de l'appareil A par rapport à l'appareil B.
          - éviter les arrêt/redémarrage en ping-pong. Une automatisation simple du type: si mon excédent solaire non consommé instanatanée est > X kW alors allumer l'appareil Y, qui consomme X kW (avec un peu de réserve) et l'éteindre si excédent < X kW va vite poser problème: entretemps quid si un autre appareil est mis en route manuellement et que l'excédent repasse < X, l'appareil s'éteind, excédent > X, l'appareil s'allume, …
          - on veut que certaines choses soit faites passé un délai quelque soit la source/coût de l'énergie, typiquement la production d'eau chaude sanitaire.
          - …

  • # Solar Divert et solution Open source

    Posté par  (site web personnel) . Évalué à 4 (+4/-0).

    Je vous invite à jeter un coup d'œil sur :

    https://docs.openenergymonitor.org/emonevse/overview.html

    Ils proposent en fait deux produits :

    • une sonde qui mesure la consommation instantanée de la maison et la production solaire. Ça tourne sur un rapberry pi et on dispose d'un accès complet.
    • un boitier evse pour la voiture électrique, qui va pouvoir envoyer à la voiture le surplus de consommation solaire (à partir de 6A)

    J'ai pour ma part complété le système avec un script qui lance le chauffage du cumulus quand la voiture n'est pas dispo et qu'il y a de la production solaire (avec des interrupteurs Shelly, que je recommande également).

  • # Routeur solaire

    Posté par  . Évalué à 1 (+0/-0).

    Pour le routeur solaire je recommande vivement le MSunPV de chez ard-tek. Ca fait bientôt 2 ans qu'il tourne sans aucun soucis.

    C'est du quasi plug&play, avec plusieurs sorties, le tout connecté avec un tarif très raisonnable.

    Perso je l'ai couplé avec Home Assistant afin d'avoir toutes les informations sur l'importation et production d'électricité. Cela me permet de pouvoir piloter les appareils que je veux en plus du chauffe-eau qui lui est en direct sur le routeur (mais reste pilotable par HA si besoin).

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.