telemetry
Quoi de neuf

Home Assistant

  • Forum Electricité - Domotique
  • Auteur du sujet Auteur du sujet v1d53e2
  • Date de début Date de début
  • #1 561
y'a juste une coquille dans l'API je pense concernant la puissance L3 qui reste toujours sur 0 mais elle est bien remontée sur leur site Openwatt

j'ai envoyé l'info au dévelopeur

upload_2026-2-19_14-29-48.png
 
  • #1 562
quoique, elle vie quand même .... étrange

upload_2026-2-19_14-32-48.png
 
  • #1 563
Oui quand on multiplie la tension par le courant pour obtenir la puissance L1 et L2 sont bon, mais sur L3: P = V x I / 2 (plus ou moins), c'est la valeur 1-0:61.7.0 retournée par le compteur, en faisant la lecture websocket sur le dongle, cette valeur est à 0

Je ne sais pas si le dongle retourne la valeur lue au compteur ou change les valeurs (ce qui n'a pas beaucoup de sens mais bon on ne sait jamais).

Si le dongle ne change pas le message du compteur alors c'est le compteur qui envoie une mauvaise valeur.

En tout cas l'API lui renvoie une valeur non nulle, donc c'est que quelque part il fait le calcul.

Etrange.
 
  • #1 564
je pense comprendre ...

Les L1 L2 L3 Import sont les puissances "Import" , à 0 lorsque ça injecte ...

Les valeurs de Current (A) ne sont jamais négatives que ce soit import ou export ...

total import ne se met pas à 0 lorsqu'on exporte ...

.... donc voilà voilà
upload_2026-2-19_15-58-38.png
 
  • #1 565
du coup bein je les crée sur base de ce que j'ai , puissance phase par phase qui passe en négatif lorsque puissance import respective est à 0 et puis j'additionne les 3

Code:
template:
  - sensor:
      - name: P1 Net Power L1 Signed
        unique_id: p1_net_power_l1_signed
        unit_of_measurement: "W"
        device_class: power
        state_class: measurement
        state: >
          {% set p = states('sensor.p1_power_l1') | float(0) %}
          {% set v = states('sensor.p1_voltage_l1') | float(0) %}
          {% set i = states('sensor.p1_current_l1') | float(0) %}
          {% if p > 0 %}
            {{ p }}
          {% else %}
            {{ -1 * (v * i) | round(1) }}
          {% endif %}

      - name: P1 Net Power L2 Signed
        unique_id: p1_net_power_l2_signed
        unit_of_measurement: "W"
        device_class: power
        state_class: measurement
        state: >
          {% set p = states('sensor.p1_power_l2') | float(0) %}
          {% set v = states('sensor.p1_voltage_l2') | float(0) %}
          {% set i = states('sensor.p1_current_l2') | float(0) %}
          {% if p > 0 %}
            {{ p }}
          {% else %}
            {{ -1 * (v * i) | round(1) }}
          {% endif %}

      - name: P1 Net Power L3 Signed
        unique_id: p1_net_power_l3_signed
        unit_of_measurement: "W"
        device_class: power
        state_class: measurement
        state: >
          {% set p = states('sensor.p1_power_l3') | float(0) %}
          {% set v = states('sensor.p1_voltage_l3') | float(0) %}
          {% set i = states('sensor.p1_current_l3') | float(0) %}
          {% if p > 0 %}
            {{ p }}
          {% else %}
            {{ -1 * (v * i) | round(1) }}
          {% endif %}

      - name: P1 Net Power Total Signed
        unique_id: p1_net_power_total_signed
        unit_of_measurement: "W"
        device_class: power
        state_class: measurement
        state: >
          {{
            states('sensor.p1_net_power_l1_signed') | float(0) +
            states('sensor.p1_net_power_l2_signed') | float(0) +
            states('sensor.p1_net_power_l3_signed') | float(0)
          }}
 
  • #1 566
Oui, au final on peut manipuler les données en fonction du format qu'on désire obtenir.
 
  • Like
Réactions: Ulr
  • #1 567
@Ulr , j'ai réessayé de connecter l'app homeassistant sur le dongle openwatt et toujours pas de réponse. Comm l'info donnée était que l'api du dongle est "compatible" avec homewiezard, j'ai creusé un petit peu plus loin.

Sur les documents de l'api homewizard il est indiqué que l'URL doit être pour la version 1
http://<IP ADDRESS>/api/v1/data pour obtenir une frame de donnée

La version 2 elle semble bien accéder <IP ADDRESS>/api mais en https

# v2 api is https only and returns a 401 Unauthorized when no key provided,
# no connection can be made if the device is not v2

En tout cas le dongle n'est pas compatible avec l'app homewizard.
 
  • Like
Réactions: Ulr
  • #1 568
Après relecture des différents document disponibles, il semble que le dongle donne une API compatible avec homewizzard V1 (sur api/v1/data), et c'est bien sur cette api que nous allons récupérer les données, mais l'intégration homewizard de HA n'arrive pas a se connecter, j'ai donc installé la version HA de développement avec l'espoir d'obtenir plus de messages lors de la connexion, mais malheureusement rien de plus, alors il me faut disséquer le module homewizard pour essayer de mettre en évidence l'endroit où il coince lors de la connexion initiale. Un avantage à la chose est l'apprentissage de la mécanique des intégrations HA, pas plus mal mais vu la documentation et les différentes versions disponibles ce n'est pas des plus facile.
 
  • #1 569
Hello

je continue dans mes développement et je suis un peu bloqué pour gérer les dimmer. Mon installation est pilotée par des logo siemens. Pour gérer les dimmers, j'ai dans le programme crée une entrée qui va de 0 a 100 et une sortie qui m'affiche la valeur actuelle (car elle peut aussi être modifiée via les boutons poussoirs)

J'ai réussi à récupérer ces informations dans HA. Juste que la tout va bien. A priori, je module "Light" ne fonctionne pas chez moi. Une slide bar peut me convenir

Voir la pièce jointe 172828


Seulement je voudrais faire 2 chose mais je n'y arrive pas

1) que la valeur du slidebar soit adaptée sur base de la valeur de sortie lors d'un évènement (typiquement, lorsque j'arrive sur la page). Ainsi, je n'ai pas besoin d'afficher la valeur de sortie en tant que tel, je sais que la valeur actuelle est la valeur affichée par le slide bar.

2) quand la valeur de la slidebar est adaptée, que la valeur soit automatiquement envoyée. Je dois avoir une action "clic button" pour que la valeur soit envoyée.

J'ai essayer avec Chat GPT mais les codes qu'il me donne, je n'y arrive aps

Merci


J'ai avancé hier soir sur l'établissement de scénario pour l'éclairage (fait en Logo siemens) afin de créer des ambiances (dimmer)

Je n'y étais pas arrivé il y a 6 mois/1 an avec chat GPT.

J'ai travaillé avec Gemini. Je suis bluffé par la qualité du code et des explications. J'ai cherché pendant 2h pour faire fonctionner la balise "numbers:" pour écrire une valeur dans une entrée analogique. Ca n'a jamais fonctionné (pas d'erreur mais HA ne crée pas l'entité) alors il m'a proposé une alternative, via un script et ça fonctionne parfaitement.

C'est vraiment efficace

upload_2026-2-22_9-54-41.jpeg



Il m'a aussi permis de comprendre comment était organisé la mémoire dans un logo car quand je faisais varier certains dimmers via HA, j'avais mes lampes extérieures qui s'allumaient ou d'autres dans la maison

Pour définir l'intensité, j'utilise des entrées réseau analogique de type "VW". Or, et cela je n'avais pas capté, chaque VW stocke 16 octets qui sont en fait les VM. Et chaque VM, stocke 8 octet qui sont appellable individuellement

Donc VW0, c'est VM0 et VM1. Et pour chaque VM, j'ai 8 possibilité VM0.1, ... VM0.8.

Or, pour les lampes tout ou rien, j'utilise les VM comme bouton virtuel... et dont l'octet me servant de bouton dans HA étaient compris dans les VW. J'ai donc décallé les VW utilisé dans une plage ou je n'ai aucun VM utilisé.

Sans l'IA, je pense que j'aurais cherché longtemps....
 
Dernière édition:
  • #1 570
Juste pour info, voici la vue finale :) (pour l'instant)

upload_2026-2-23_13-33-11.jpeg
 
  • #1 571
manque le bouton : Kid : give me my drink !
 
  • #1 572
J'ai 5 logo pour mes éclairages. Je centralisais toute une série de commande via 1 logo unique et c'est au travers de celui-ci que travaillait avec HA. Avec l'ajout des variateurs, j'ai très vite atteint la limite de ce que logo permet.

J'ai ajouté a HA un second logo. C'est très facile en fait avec la commande "Hub :". Je vais donc ajouter les 5 logo a terme

Je vais devoir néamoins faire pas mal de reworks pour supprimer certains renvoi entre logo pour passer en direct vers HA et ne garder au niveau des logo que ce que je veux qui fonctionne indépendamment de HA. Typiquement les all_ON/OFF seront via les logo mais par exemple la commande de screen avec les états, je vais pouvoir la supprimer et passer en direct ver HA

J'ai rajouté plusieurs centaines de lignes pour les variateurs. j'ai l'impression que HA se traine un peu. C'est possible ou c'est juste une impression ? Il est sur un I5 (mini PC fixe Lenovo)
 
  • #1 575
Petit bidule sympa ESP32-S3 Port P1

  • P1 to USB dongle
  • P1 to Wi-Fi dongle
  • Wireless P1 connection (for example, between the smart meter and a (smart) electric vehicle charger further away)
  • Wireless P1 splitter (if multiple smart devices need to use the P1 data)
universal-p1-port-dongle-esp32-s3-1500x1500h.jpg
 
  • #1 576
Petit bidule sympa ESP32-S3 Port P1

  • P1 to USB dongle
  • P1 to Wi-Fi dongle
  • Wireless P1 connection (for example, between the smart meter and a (smart) electric vehicle charger further away)
  • Wireless P1 splitter (if multiple smart devices need to use the P1 data)
Voir la pièce jointe 189153
Question bête, le P1, vu que c'est du "Série", on peut pas mettre plusieurs récepteurs sur le port du compteur?
Imaginons que je veux l'intégrer à ma domotique via esphome et que je veux mettre en plus une borne de charge autonome sur le P1?
Il faut d'office ce genre de gadget?
 
  • #1 577
Question bête, le P1, vu que c'est du "Série", on peut pas mettre plusieurs récepteurs sur le port du compteur?
Imaginons que je veux l'intégrer à ma domotique via esphome et que je veux mettre en plus une borne de charge autonome sur le P1?
Il faut d'office ce genre de gadget?

Etant donné que le port P1 est seulement en sortie tu peux brancher plusieurs "récepteurs" en parallèle, le truc étant que la sortie est prévue pour alimenter une entrée du coup si on en met deux il y a un risque, et cela peut soit cramer la sortie P1 (mais je suppose qu'elle est protégée pour les surcharges) ou les entrées en parallèle, sans les caractéristiques, difficile à dire.

Dans son schéma le concepteur a bien fait les choses, d'une part la sortie P1 (pin 5) est raccordée a l'entrée esp via un transistor et il utilise une sortie esp pour retransmettre le signal au deuxième RJ11 via un autre transistor..

Dans le code il a définit son myserial (port série) avec le RX sur la sortie (pin 5) du P1 compteur et le TX sur la sortie (pin 5) du deuxième RJ11.

Code:
    while (mySerial.available() && length < sizeof(buffer)) {
      int byteRead = mySerial.read();
      if (byteRead == -1) {
        Serial.println("[UART ERROR] Could not read a byte from mySerial!");
        break;
      }
      if (length < sizeof(buffer)) {
        buffer[length++] = (uint8_t)byteRead;
      } else {
        Serial.println("[BUFFER WARNING] Buffer limit reached, data is being ignored!");
        break;
      }
    }

    // Print full packet to Serial Monitor
    for (uint16_t i = 0; i < length; i++) {
      Serial.print((char)buffer[i]); // Print als text
    }
    Serial.println();

    // Relay packet to Module B
    for (uint16_t i = 0; i < length; i++) {
      mySerial.write(buffer[i]);
    }

    lastSendTime = millis();
  }

lecture du RX dans une boucle via int byteRead = mySerial.read();
et il met les bytes dans un buffer

Lorsque le message a la bonne longueur il sort de la boucle,

imprime le message

et le remballe le cas échéant sur le TX

Code:
for (uint16_t i = 0; i < length; i++) {
      mySerial.write(buffer[i]);
    }

Simple et effcicace

L'avantage étant qu'on peut simplement implémenter la dissémination des données vers un Homeassistant, vers un broker mqtt, une page web locale au module (à la openwatt), une connexion websocket ou dans un idiome informatique personnalisé tout en gardant la possibilité de brancher autre chose derrière (gestion chargeur auto, homewizard, percolateur, pastamatic ...)

Screenshot 2026-02-28 at 14.27.06.png
 
  • #1 578
Ha oui j'oubliais, le schéma est disponible, n'est pas vraiment super sioux, on peut le construire, mais vu le prix et la taille autant passer son temps a le programmer (comme disait une de mes connaissance, je suis un software piuk).
 
  • #1 579
Bonjour, pour etre sur de bien comprendre ce module esp32, on le connecte directement au port P1 et on peut récupérer les infos via wifi sur HA sans aucune programmation? Ou bien il faut programmer le firmware?
 
  • #1 580
Bonsoir, c’est à peu près ça.

le port P1 délivre un message lu par l’esp. Après l’esp est en mesure d’envoyer le message sous une forme ou une autre vers ce qu’on veut en wifi ou Bluetooth.

les firmwares sur GitHub sont des exemples d’utilisation, pas vraiment compatible directement avec homeassistant, mais j’ai bien envie d’en commander un et d’ecrire un firmware homeassistant compatible à mettre dessus.

J’ai déjà fait ça avec un 8266 et ça fonctionne bien, donc c’est à ma portée, reste à voir si ça intéresse quelqu’un …


Il faut bien entendu que le port P1 aie été autorisé sur le compteur.
 

Sujet semblables

Réponses
4
Affichages
354
Phothom
Réponses
9
Affichages
2K
jcoenen
Réponses
40
Affichages
2K
Fgalette
Réponses
9
Affichages
1K
Michadt

Nos articles

On a aimé dans le forum

Retour
Haut