Mon module de téléinformation (TIC) wifi vers MQTT pour compteur linky et autres

Oui j’attends confirmation de Nicolas. Je suis prêt à essuyer les plâtres avec son firmware maison en mode TIC standard ou prendre ESPHOME, peu importe. J’arriverai à m’en sortir sauf s’il faut flasher directement le matériel, je ne suis pas sûr d’être bien équipé.

Bonjour Manu !

Oui comme dit @Pbranly pour l’instant mon firmware natif ne fait que le mode historique (et simple phase) ce qui peut être limitant pour certains d’entre vous !
Un firmware a base ESPHome devrait être compatible, (et au passage merci pour l’alerte sur la régression en 2021.10!)

Je bosse en ce moment à rendre mon firmware complètement générique sur les données renvoyées, ça sera juste un peu plus complexe pour le dashboard web en revanche il faut que je voie comment gérer ça.

Je te contacte par MP @Manu44 et je pense que dans ton cas de l’ESPHome sera mieux adapté, car on ne peut pas passer en upgrade wifi de mon firmware à du ESPHome (il faut un adaptateur USB)

En revanche je suis à nouveau à court de composants (enfin il me reste 1 module)… J’ai une commande en cours, du coup je vais devoir vous faire patienter un peu avant d’en refaire d’autres.
Vous avez été quelques uns à en demander, et j’essaie de répondre dans l’ordre des demandes :slight_smile:
Mon « usine » ( = le coin de mon bureau à coté de l’ordi :laughing:) n’est pas très grande !

1 « J'aime »

@0hax a créé une PR qui corrige le souci : Teleinfo ptec by 0hax · Pull Request #2599 · esphome/esphome · GitHub

Croisons les doigts pour que le correctif soit ajouté avant la 2021.11 :wink:

@Nardol : Merci pour le uptime, je ne connaissais pas encore « Internal » :slight_smile:
Ah ok pour le serveur web, en fait je m’en sert uniquement pour débug, c’est inutile 99.9% du temps. D’ailleurs on peut monitoring les ressources de nos ESP ?
Et pour l’écran, à voir car j’aime aussi être au plus proche des git mais je préférais faire un PR à @NicoP4 que de devoir penser à le compiler en cli ^^
En tout cas merci pour tes retours ! Je débute totalement avec les ESP, ça m’aide beaucoup :slight_smile:

Sinon quelqu’un aurait un snapshot de l’addon ESPHome en 2021.9.3 (Ou non bug) ?
Car bien entendu pour une raison que je n’explique pas (surement la magie noire ?), je n’ai plus de sauvegarde antérieur à là 2021.10.1 :innocent:

Par ici :

Dans les deux cas, il faudrait faire une PR vu que ce que je propose n’est pas non plus dans le code actuel :slight_smile: sinon je t’invite à lire ici : Configuration Types — ESPHome
Je parle de la ligne de commande mais on peut faire la même chose avec l’addon:

substitutions:
  off_on_boot: true

<<: !include teleinfokit.yml

à adapter bien sûr.
L’avantage de ma méthode est que l’utilisateur a plus le choix : ceux qui veulent mettre à jour en laissant le comportement actuel n’ont rien d’autre à faire qu’upload le firmware à jour alors que les autre comme nous n’ont rien à changer au code d’origine, il suffit juste de s’adapter en prenant un autre fichier yaml comme fichier principal, ça me paraît le meilleur compromis.
Après, c’est @Nicop4 qui décide bien sûr :wink:

Merci @Clemalex mais peux-tu me dire ou me donner une doc pour utiliser ces releases stp ?

En attendant, j’ai créer un snapshot de l’addon puis j’ai modifié les "version": "2021.9.3" dans les fichiers backup.json, aucune idée si cela est la meilleur méthode mais cela a fonctionné…

@Nardol Encore merci je vais regarder cela de plus près mais je vois le « concept »…
Mais clairement la plupart des mes sensors/swtich ajoutés dans mon yaml sont facultatif donc l’idée que le yaml de @NicoP4 n’intègre que les sensors indispensable pour nos modules est clairement la route à suivre :slight_smile:

Vu que comme moi tu aimes garder l’original, regarde du côté des packages :slight_smile: dans la même partie de la doc c’est juste après les substitutions.
Je n’ai pas encore expérimenté mais je pense que de cette façon tu peux faire pas mal de choses, comme rajouter tous tes sensors.

Hello @Nardol @Mr_ShagoY !

Si vous avez la possibilité n’hésitez pas à me faire une PR avec vos propositions, j’arrive pas à trouver le temps d’intégrer vos améliorations ><
Je bosse sur une version générique et qui fonctionnerait aussi en mode standard du coup mon temps dispo passe un peu la dessus pour l’instant :slight_smile: (et sur la fabrication des modules aussi ^^)

Merci à vous en tout cas :slight_smile:

1 « J'aime »

Merci @NicoP4

La page Energie de mon home assistant prends forme :

1 « J'aime »

Je suis dessus :slight_smile: par contre @Mr_ShagoY en utilisant la version que j’ai posté un peu plus haut pour l’écran éteint dans teleinfokit.yml est-ce que tu peux tester, en créant par exemple teleinfokit-custom.yml avec le contenu suivant et me dire si ça te convient pour éviter la ligne de commande stp ?

substitutions:
  off_on_boot: 'true'

packages:
  teleinfokit: !include teleinfokit.yml

Avec ce principe, tu peux même du coup rajouter tes sensors.
Même si tu rajoute une section qui existe déjà dans teleinfokit.yml, ESPHome fusionnera.

Quelqu’un a réussi à faire fonctionner le teleinfokit en mode standard avec ESPHome ?

De mon côté, il fonctionnait très bien en mode historique (firm d’origine ET ESPHome) mais depuis mon passage en mode standard, je ne vois aucune trame côté port série.

J’ai essayé un firm de @Jpsy vu sur le forum https://forum.hacf.fr/t/teleinfo-via-wifi/1077/218 mais je ne vois aucune trace dans les logs.

@NicoP4 Tu as pu avancer du côté du support du mode standard ?
Je suis développeur et peut grandement aider au développement du firm, mais j’ai plus de difficulté niveau électronique d’où mon achat du teleinfokit plutôt qu’un montage maison.

Faudrait juste qu’on puisse me confirmer que ce hard est compatible du mode standard et de la vitesse à 9600 Bauds avant que je continu à creuser.

Merci

j’avais essayer le mode standard et je ne récupérais que des datas tronqués. J’ai tout essayé et je pensais à un problème hardware. Si tu trouves une solution je serais curieux pour comprendre :wink:

@KKox Tu recevais des données tronquées ? C’est déjà mieux que moi, je ne vois rien du tout.

Tu avais seulement changé la vitesse et mis historical à false ?

exactement et j’avais mis le code de @Jpsy pour voir les données reçues mais c’était tronqué

Hello,

J’ai bien réceptionné le boitier également, j’ai juste une petite question concernant l’interprétation des données dans Grafana.
J’ai bien les données qui arrivent sur mon Broker MQTT, quand je regarde avec MQTT Explorer je vois bien les infos
J’ai paramétré telegraf en ajoutant comme indiqué la partie :

[[inputs.mqtt_consumer]]
  ## Broker URLs for the MQTT server or cluster.  To connect to multiple
  ## clusters or standalone servers, use a seperate plugin instance.
  ##   example: servers = ["tcp://localhost:1883"]
  ##            servers = ["ssl://localhost:1883"]
  ##            servers = ["ws://localhost:1883"]
  servers = ["tcp://192.168.1.250:1883"]

  ## Topics that will be subscribed to.
  topics = [
    "teleinfokit/#"
  ]

  ## The message topic will be stored in a tag specified by this value.  If set
  ## to the empty string no topic tag will be created.
  # topic_tag = "topic"

  ## QoS policy for messages
  ##   0 = at most once
  ##   1 = at least once
  ##   2 = exactly once
  ##
  ## When using a QoS of 1 or 2, you should enable persistent_session to allow
  ## resuming unacknowledged messages.
  qos = 0

  ## Connection timeout for initial connection in seconds
  connection_timeout = "30s"

  ## Maximum messages to read from the broker that have not been written by an
  ## output.  For best throughput set based on the number of metrics within
  ## each message and the size of the output's metric_batch_size.
  ##
  ## For example, if each message from the queue contains 10 metrics and the
  ## output metric_batch_size is 1000, setting this to 100 will ensure that a
  ## full batch is collected and the write is triggered immediately without
  ## waiting until the next flush_interval.
  # max_undelivered_messages = 1000

  ## Persistent session disables clearing of the client session on connection.
  ## In order for this option to work you must also set client_id to identify
  ## the client.  To receive messages that arrived while the client is offline,
  ## also set the qos option to 1 or 2 and don't forget to also set the QoS when
  ## publishing.
  persistent_session = false

  ## If unset, a random client ID will be generated.
  client_id = ""

  ## Username and password to connect MQTT server.
  username = "MonUser"
  password = "MonMDP"

  ## Optional TLS Config
  # tls_ca = "/etc/telegraf/ca.pem"
  # tls_cert = "/etc/telegraf/cert.pem"
  # tls_key = "/etc/telegraf/key.pem"
  ## Use TLS but skip chain & host verification
  # insecure_skip_verify = false

  ## Data format to consume.
  ## Each data format has its own unique set of configuration options, read
  ## more about them here:
  ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
  data_format = "value"
  data_type = "float"    

Mais ce que je ne comprends pas c’est dans Grafana je n’ai aucune info qui arrive et quand je regarde la configuration des requêtes cela semble aller chercher les informations dans une table mqtt_consumer mais cette table n’existe pas dans mon InfluxDB ( en version 1), je n’ai qu’une base qui me sert et qui se nomme telegraf ( pour le monitoring de ma machine )
Quelqu’un aurait une idée d’ou provient le problème d’affichage ?

Normalement tu as les valeurs dans la base telegraf justement
Phil

oui mais quand je regarde les tables disponibles je ne vois pas de mqtt_consumer :

root@openmediavault:~# curl -sG 'http://192.168.1.250:8086/query?db=telegraf' --data-urlencode "q=SHOW MEASUREMENTS"| python -mjson.tool
{
    "results": [
        {
            "series": [
                {
                    "columns": [
                        "name"
                    ],
                    "name": "measurements",
                    "values": [
                        [
                            "cpu"
                        ],
                        [
                            "disk"
                        ],
                        [
                            "diskio"
                        ],
                        [
                            "docker"
                        ],
                        [
                            "docker_container_blkio"
                        ],
                        [
                            "docker_container_cpu"
                        ],
                        [
                            "docker_container_health"
                        ],
                        [
                            "docker_container_mem"
                        ],
                        [
                            "docker_container_net"
                        ],
                        [
                            "docker_container_status"
                        ],
                        [
                            "kernel"
                        ],
                        [
                            "mem"
                        ],
                        [
                            "net"
                        ],
                        [
                            "netstat"
                        ],
                        [
                            "processes"
                        ],
                        [
                            "swap"
                        ],
                        [
                            "system"
                        ]
                    ]
                }
            ],
            "statement_id": 0
        }
    ]
}

Ce qui voudrait dire que l’intégration dans InfluxDB via telegraf ne semble pas bien paramétré / configuré

EDIT :
J’ai relancé le container telegraf et je viens de voir des erreurs dans la partie telegraf :

2021-11-17T06:48:33Z I! [inputs.mqtt_consumer] Connected [tcp://192.168.1.250:1883]
2021-11-17T06:48:33Z E! [inputs.mqtt_consumer] Error in plugin: strconv.ParseFloat: parsing "BASE": invalid syntax
2021-11-17T06:48:33Z E! [inputs.mqtt_consumer] Error in plugin: strconv.ParseFloat: parsing "TH..": invalid syntax
2021-11-17T06:48:33Z E! [inputs.mqtt_consumer] Error in plugin: strconv.ParseFloat: parsing "A": invalid syntax

mais les valeurs sont maintenant présente dans ma requête curl, j’avais simplement oublié de relancer container…

Très belle interface, si tu es en France peux tu me dire dans quelle région tu te trouves, tu as une bonne couverture solaire pour avoir une production comme ça ?
Je prévois de mettre des panneaux solaire mais j’hésite encore a savoir si c’est vraiment rentable par rapport a mon orientation et notre consommation.

Sinon je voulais savoir si certaines personnes avaient personnalisé l’interface sous Grafana, sachant que moi je n’ai pas d’HC / HP j’ai des valeurs qui resteront vides, a t’on la possibilité de faire un graphique de calcul du coup électrique à la journée par exemple / sur une semaine / mois ?