HA-Compteur de service (utility meter)

Intro

Le comptage d’énergie est souvent évoqué sur les réseaux sociaux, qu’il s’agisse de kWh ou autres grandeurs physiques et semble être l’objet d’interrogations récurrentes.

Récemment HA, dans sa version 2022-04 a ajouté des intégrations directement configurables depuis l’interface utilisateur, simplifiant de fait leur déclaration, c’est ce que je vous invite à découvrir dans cet article. J’ai déjà abordé le sujet avec l’intégration « entrées threshold » dans cet article .

Un des avantages est qu’il n’est besoin de rebooter le système pour leur prise en compte.

Un des inconvénients, est qu’une fois créé et c’est regrettable, tous les paramètres ne sont pas modifiables et à ma connaissance la seul solution est de les supprimer puis de recréer une entité avec le même nom, de fait vous ne perdrez pas l’historique.

Déclaration des entités à comptabiliser.

Comme pré requis il faut commencer par déclarer l’entité que vous souhaitez comptabiliser. En général nous nous intéressons au kWh mais c’est également valable pour des m3 d’eau ou de gaz.

Rappelons qu’un kilo watt heure correspond à une consommation de 1000 W ou 1 kW pendant 1 heure, il s’agit d’une énergie et non d’une puissance. Si votre capteur fournit uniquement une puissance en W ou kW, vous devez convertir la convertir en Wh ou kWh avec l’une des deux méthodes suivantes:

Methode de Riemann

HA dispose d’une intégration « intégration par le méthode de Riemann » configurable depuis une interface utilisateur.

Pour cela vous allez dans « paramètres/appareils et service/entrées » puis « Ajouter un capteur d’intégrale de Riemann ».

Vous saisissez:

  • le nom que vous souhaitez donner à l’entité
  • le capteur qui vous délivre des W ou kW
  • la méthode de calcul de l’intégrale:
    • Trapézoïdal si la grandeur physique mesurée évolue régulièrement dans le temps, cas du compteur Linky par exemple.
    • Left ou right si votre grandeur évolue avec des alternance de pics de puissance et de valeurs plus faibles voir nulles, une machine à laver par exemple.
  • la précision
  • le préfixe métrique (k en général)
  • l’unité de temps (h en général).

HA définit automatiquement les attributs de l’entité indispensable à sa classification (state_class, device_class,..)

Autre méthode de calcul

Vous trouverez dans ce lien, un script python, qui d’après l’auteur calcule plus précisément les kWh,. J’ai testé, il fonctionne, mais plus compliquer à mettre en oeuvre, perso je ne cours pas après le kWh au 100 eme pret.

Configuration des compteurs de service.

Votre entité en kWh (ou Wh) est maintenant créée, vous pouvez configurer votre compteur de service via une interface utilisateur.

Pour ce faire, allez dans « paramètres/appareils et service/entrées », puis ajouter « un compteur de services publics (eau, gaz, électricité…) ».

Vous saisissez:

  • le nom que vous souhaitez donner à l’entité
  • le capteur que vous souhaitez comptabiliser (celui calculé avec l’intégrale de rieuman par ex)
  • le cycle de remise à zéro (15 mn, heure, semaine,mois,..)
  • le décalage de remise à zéro (laisser zéro par défaut sauf cas particulier)
  • les tarifs pris en charge, laisser vide si un seul tarif, sinon saisissez « hc » et hp » par exemple, ceux sont ces tarifs que vous utiliserez dans l’automatisme.
  • cocher « consommation nette » si la valeur évolue en positif/négatif
  • cocher « valeur delta » si les valeurs de la source sont des valeurs delta depuis la dernière lecture au lieu de valeurs absolues, Lorsque cette option est activée, chaque nouvelle valeur reçue sera ajoutée telle quelle au compteur au lieu d’ajouter la différence entre la nouvelle valeur et la valeur précédente. Par exemple, vous devez l’activer lorsque le capteur source renvoie des lectures telles que « 1 », « 0,5 », « 0,75 » contre « 1 », « 1,5 », « 2,25 »

Vous obtiendrez des informations complémentaires sur « utility meter » dans ce lien.

HA définit automatiquement les attributs de l’entité indispensable à sa classification (state_class, device_class,..)

A noter que vous devez déclarer autant de compteur que de cycles de remise à zéro (jour, semaine, mois année, ..) nécessaires.

Exploitation des compteurs

Une fois créé, HA ajoute une entité par compteur, par ex « linky » et, si vous les avez déclaré, une entité supplémentaire par tarif , « linky_hc » et « linky_hp ».

Si vous avez un seul tarif, vous n’avez rien à faire de plus, votre compteur sera remis à zéro en fonction de votre unité de temps (jour, semaine,..).

Si vous avez un double tarif, vous devez indiquer au compteur quel tarif est en cours, pour ce faire vous pouvez utiliser un automatisme.

Les déclencheurs peuvent être des plages horaires ou encore mieux le tarif en cours dans votre linky par exemple.

Selon une plage horaire fixe

Il faut créer un automatisme:

Les options « hc » et « hp » correspondent à celles que vous avez déclarées dans le compteur de service.

alias: 6_1_0 Energie Changement HP<->HC (Dupliquer)
description: ''
trigger:
  - platform: time
    id: tarif_hc
    at: '01:00:00'
  - platform: time
    id: tarif_hp
    at: '02:00:00'
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: tarif_hc
        sequence:
          - service: select.select_option
            data:
              option: hc
            target:
              entity_id:
                - select.linky_energie_jour
      - conditions:
          - condition: trigger
            id: tarif_hp
        sequence:
          - service: select.select_option
            data:
              option: hp
            target:
              entity_id:
                - select.linky_energie_jour
    default: []
mode: single

Si vous avez déclaré plusieurs compteurs avec les mêmes tarifs, vous les ajoutez les entités dans les « target: entity_id ».

Selon plusieurs plages horaires fixes

alias: 6_1_0 Energie Changement HP<->HC (Dupliquer)
description: ''
trigger:
  - platform: time
    id: tarif_hc1
    at: '01:00:00'
  - platform: time
    id: tarif_hp2
    at: '02:00:00'
  - platform: time
    at: '05:00:00'
    id: tarif_hc2
  - platform: time
    at: '06:00:00'
    id: tarif_hp2
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: tarif_hc1
          - condition: trigger
            id: tarif_hc2

        sequence:
          - service: select.select_option
            data:
              option: hc
            target:
              entity_id:
                - select.linky_energie_jour
                - select.linky_energie_mois
      - conditions:
          - condition: trigger
            id: tarif_hp1
          - condition: trigger
            id: tarif_hp2
        sequence:
          - service: select.select_option
            data:
              option: hp
            target:
              entity_id:
                - select.linky_energie_jour
                - select.linky_energie_mois
    default: []
mode: single

Selon une plage horaire paramétrable

Commencer par créer le deux « input_datetime » qui vont définir le début et la fin de la plage horaire des heures creuses.

Pour ce faire, allez dans « paramètres/appareils et service/entrées », puis ajouter « une date et/ou heure »:

Saisir

  • Le nom de l’entité que vous souhaitez
  • Cocher « heure »

J’ai ainsi créé deux entités:

  • input_datetime.debut_heure_creuse
  • input_datetime.fin_heure_creuse

que l’on va pouvoir exploiter dans un automatisme:

Les options « hc » et « hp » correspondent à celles que vous avez déclarées dans le compteur de service.

Si vous avez déclaré plusieurs compteurs avec les mêmes tarifs, vous ajoutez les entités dans les « target: entity_id ».

alias: 6_1_0 Energie Changement HP<->HC
description: ''
trigger:
  - platform: time
    id: tarif_hc
    at: input_datetime.debut_heure_creuse
  - platform: time
    id: tarif_hp
    at: input_datetime.fin_heure_creuse
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: tarif_hc
        sequence:
          - service: select.select_option
            data:
              option: hc
            target:
              entity_id:
                - select.linky_energie_jour
      - conditions:
          - condition: trigger
            id: tarif_hp
        sequence:
          - service: select.select_option
            data:
              option: hp
            target:
              entity_id:
                - select.linky_energie_jour
    default: []
mode: single

Avec l’information HP/HC du Linky

L’automatisme est déclenché par une information délivrée par le Linky, qui, rappelons le, peux fonctionner sous 2 modes:

Les options « hc » et « hp » correspondent à celles que vous avez déclarées dans le compteur de service

Si vous avez déclaré plusieurs compteurs avec les mêmes tarifs, vous ajoutez les entités dans les « target: entity_id ».

alias: 6_1_0 Energie Changement HP<->HC
description: ''
trigger:
  - platform: state
    entity_id: sensor.linky_n_tarif
    id: tarif_hc
    from: '2'
    to: '1'
  - platform: state
    entity_id: sensor.linky_n_tarif
    from: '1'
    id: tarif_hp
    to: '2'
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: tarif_hc
        sequence:
          - service: select.select_option
            data:
              option: hc
            target:
              entity_id:
                - select.linky_energie_jour
                  
      - conditions:
          - condition: trigger
            id: tarif_hp
        sequence:
          - service: select.select_option
            data:
              option: hp
            target:
              entity_id:
                - select.linky_energie_jour
                 
    default: []
mode: single

Tableau de bord

Exemple avec l’excellente intégration « mini-graph-card » disponible dans HACS.

type: custom:mini-graph-card
entities:
  - entity: sensor.linky_energie_jour_hp
    name: HP
    show_state: true
  - entity: sensor.linky_energie_jour_hc
    name: HC
    show_state: true
name: Conso Linky 7j
hours_to_show: 168
aggregate_func: max
group_by: date
show:
  graph: bar
icon: mdi:flash

Vous trouverez d’autres exemples dans mon article https://domo.rem81.com/2022/01/12/ha-teleinformation-linky-mode-standard/ .

Conclusion

Tuto tout simple qui, je l’espère, vous aidera à définir vos compteurs.

2 Comments on “HA-Compteur de service (utility meter)”

  1. Approche intéressant (sympa l’application de l’intégrale de Riemann, ça montre comment HA est complet).
    Dans mon cas, j’ai tenté ma chance avec la clé Linky_TIC et les panneaux ‘énergie’ de HA, mais pas de bol : ça ne marche pas bien avec ZHA.

    1. Bonjour, merci pour ton retour. J’utilise aussi ZHA avec quelques capteurs SONOF, ça marche pas trop mal, ça dépend beaucoup de la stabilité du WIFI c’est pourquoi quand je peux je mets du fil, c’est moins pratique à mettre en oeuvre souvent plus chère mais une fois en fonctionnement on y revient pas.

Répondre à rem81 Annuler la réponse

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.