Monitoring électricité avec la téléinfo + Node Red + influxDB

wouah, sympa ce post, merci encore une fois @SNoof pour ce super tuto, j’avais suivi le V1 (MQTT) avec succès, dès que j’ai un « long » moment je passera à ce V2 :slight_smile:

1 « J'aime »

En effet, aucune valeur n’est retenue dans HA et c’est bien le but ! Seul nodered et influxdb « retiennent » des informations.
C’est d’ailleurs pour cela qu’il FAUT configurer nodered pour du stockage persistant !

Hello, il y a une petite boulette pour les compteurs avec hp et hc au niveau du flow2 part1
J’ai mis « entity » = ‹ teleinfo_total › au lieu de entity" = ‹ teleinfo › pour last index et 2 min ago index.

Steph

Bien vu ! Je vais corriger

Edit : c’est corrigé, il était tout faux d’ailleurs vu que tout était dans la part 1:D

C’est possible de partager ta configuration influxdb au niveau des excludes?
Je croie que j’ai pas pigé le truc.
Je suis en tri avec hc/hp donc si tu veux un cobaye je suis dispo
Steph

Mildiou !!!
@SNoof je m’attendait pas a ce que tu nous sorte çà si vite !!! T’est un grand malade ! Quel pavé !

Bon bah du coup tu m’oblige a faire de la lecture cette aprem ! Moi qui avais presque fini de suivre les deux tuto que tu m’avais conseillé je suis servi là :drooling_face:

[EDIT]
Test effectué coté node red, pour l’instant tout semble OK coté triphasé HP-HC si ce n’est pinst qui renvoie « inconnu »
D’ailleurs je ne le trouve pas non plus dans influxDB… Faut que je regarde de plus près.

[EDIT 2]
Mea maxima culpa ! J’avais aucun tirage sur le réseaux (j’était sur panneau solaire et batterie) et donc si pas d’info a remonté alors pas d’indexe a référé…

Donc ça marche !!

[EDIT 3]

Dans " Flow 2 part 4" il manque un influxdb out >> conso hc month :wink:

1 « J'aime »

Clair pareil… j’arrive pas à suivre :grinning:

Faut que je trouve le temps de le faire…

@SNoof Bon en faite non… pinst ne fonctionne que partiellement, je m’explique : Si on a pas de tirage (donc 0w de conso) pinst continue d’affiché la dernière valeur qu’il connais, donc si on vais 375w de tirage au moment de la coupure, il continue a l’affiché.
Avec la version Mqtt du code, quand le tirage était a 0w alors 0w était bien affiché !
Une idée de comment y remédié ?

Ah oui c’est influxdd qui fait ça… Faut que je vois.
Je remonterai un setup de test.

Question noob du jour : Comment fait-on pour récupéré les infos « conso hier », « le mois dernier » etc… ?
Idem pour récupéré le total de l’heure en cour et passé ?

1 « J'aime »

yop,
@Dackara : regarde du coté des utility_meter
et surtout le super tuto sur le blog My Canaletto
@+++

Justement le but ici serait de récupéré l’index depuis influxdb et donc ne plus utiliser d’utility_meter :wink:

Tout ça ce sont des requetes influxdb à construire avec un peu de templating !
Exemple pour la conso de hier :

  - name: edf_yesterday
    unit_of_measurement: kWh
    measurement: '"Wh"'
    field: value
    value_template: '{{ value | float / 1000 }}'
    group_function: max
    where: '"entity" = ''conso_day'' AND time >= {{(as_timestamp(now()) - (now().hour * 3600) - (now().minute * 60) - (now().second) - 120) | round(0)}}s AND time < {{(as_timestamp(now()) - (now().hour * 3600) - (now().minute * 60) - (now().second)) | round(0)}}s'
    database: edf

Le point important c’est les conditions de temps (time >= et time <)

Plus de détails :

  • On va chercher les Wh = measurement: '"Wh"'
  • de l’entity conso_day = clause where entity = conso_day
  • on divise par 1000 pour avoir du kWh plus lisible = value_template
  • et la clause de temps c’est du templating :
    • time >= le template remonte le temps jusqu’à hier 23h58
    • time < le template remonte le temps jusqu’à aujourd’hui 0h00
  • on va cherche la valeur max = group_function

Donc pour résumer on aura la valeur MAX de conso entre hier 23h58 et aujourd’hui 0h00. Donc la valeur max de la conso de hier quoi :slight_smile:

1 « J'aime »

Bonjour
Nous n’avons pas déjà cette valeur grâce à Node-red?
image

Je comprends pas ce que tu demandes @Steph_Flo !
Cette valeur Conso total Wh Day, c’est la conso du jour en cours.
@Dackara demandait pour la conso de la veille.

De quels excludes veut tu parler ?
Dans ce tuto je n’exlue rien. Tu veux dire les excludes côté HA ?

Merci, c’est corrigé !

Oui mais si on prend la valeur max de d-1, d-2 etc on aura bien les condos des autres jours?

Pour les exclusions c’est par rapport à la configuration de influxdb pour ne pas reenregistrer les valeurs, j’ai mis cela mais du coup je n’enregistre plus rien


influxdb:
  host: a0d7b954-influxdb
  port: 8086
  database: Edf
  username: Xxxxxxx
  password: Xxxxxxx
  max_retries: 3
  default_measurement: state
  exclude:
    entity_globs: "*"

Hello,

Merci pour tes flow, j’étais justement en train de migrer la teleinfo de mon ancien système Jeedom qui poussait les données vers influx, vers un fonctionnement en push à travers nodered !
Je suis passé en InfluxDB v2 il y a peu, et donc les query ne sont plus en InfluxQL mais en Flux. J’essaye de convertir les 2 requêtes « 2min ago index » et « last index » mais n’y arrive pas pour le moment.

Je reviendrais donner la solution quand j’aurais trouvé, ou si jamais quelqu’un a le temps de regarder aussi, ça serait super :slight_smile:

1 « J'aime »

Le noeud que tu as mis en screenshot plus haut envoie des données dans influx, il ne récupère rien…Donc je comprends pas ta remarque

Perso je fais comme ça :

influxdb:
  host: 192.168.1.10
  port: 8086
  database: hassio
  max_retries: 3
  default_measurement: state
  include:
    entities:
      - sensor.seche_linge_power
      - sensor.machine_a_laver_power
      - sensor.database_size
    entity_globs:
      - sensor.netatmo*
      - sensor.bureau*
      - sensor.sous_sol*
      - sensor.salle_de_bain*
      - sensor.back_ups*
      - binary_sensor.*_contact
      - sensor.hp_printer*
  exclude:
    domains:
      - input_boolean
      - input_number
      - switch
      - automation
      - zone
      - device_tracker
      - script
      - media_player
      - person
      - group
      - input_select
      - input_text
      - scene

J’inclue quelques entités bien définies, j’inclue des entités via des wildcards (entity_globs) et j’exclue par domaines ou j’en ai rien à faire :slight_smile: