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 541
Simulteur de message json en websocket "bricolé" sur un esp32-S3 avec display oui je sais, je sais, mais on prend ce qu'on a sous la main.

Le fichier obtenu par curl sur le dongle openwatt est mis sur une carte SD (I/F MMC) et est lu en boucle par l'ESP. Lors d'une connexion websocket (WiFi) sur ws://adresse_IP/api le bidule envoie les messages toute les secondes.

Sur la console du firmware

Screenshot 2026-01-16 at 17.59.48.png

Un message par seconde, du coup j'envoie un json correct.
Vérification:

Page html avec javascript elle aussi mise sur la carte SD, mais ce n'est pas nécessaire elle peut être appelée en direct par un navigateur.

Toute les secondes le message entre (premier cadre) et est mis en forme.

Après on peut faire ce qu'on veut avec le json, mais là c'est de la mise en page et je n'ai pas le temps pour des fioritures.


Screenshot 2026-01-16 at 18.01.54.png


Est-ce utilisable par homeassistant ?

J'ai recherché une intégration à la rest pour pouvoir me connecter, mais c'est le grand desert, on parle beaucoup de l'API websocket, mais c'est de client vers Homeassistant est pas homeassistant vers serveur websocket.

Une idée brillante quelqu'un car j'ai beau chercher et chercher encore on ne parle que de l'API HAkit, postman ...

Il va peut être falloir inventer la roue et écrire une nouvelle intégration, mais c'est quant même zarbi.
 
  • #1 542
Page Web terminée mais trop longue pour poster içi en code.

Il y a deux boutons sur la page pour visualiser les messages websocket entrant en format compact et long.

Safari - Firefox - Chrome (je n'utilise pas les casseroles windproute):

Screenshot 2026-01-17 at 15.29.24.png


Marrant, à partir de là on peut faire un peu ce qu'on veut, de plus l'app est contenu dans la page web, pas besoin de serveur un navigateur suffit.

M'étonne pas que les AI donnent des réponses avec nodejs, mais je ne sais pas si elle ont prévue que le message est très long et se retrouve dans un blob en javascript d'où le besoin de manipuler le blob et là c'est moins simple.

Maintenant Homeassistant.
 
  • #1 543
Et avec un graphique dynamique ...

Screenshot 2026-01-17 at 15.56.34.png
 
  • Like
Réactions: Ulr
  • #1 544
Mise à jour, après avoir été mis en contact avec le dongle openwatt, le javascript a été tuné et est maintenant fonctionnel.

Le dongle envoie bien ses données en websocket et ce sans caractères supplémentaires (c'est de là que venaient mes problèmes, mon simulateur était alimenté par un fichier qui contenait ces caractères ...).

Il ne reste plus qu'a connecter homeassistant au dongle, toujours à la recherche d'une intégration qui pourrait faire ça.

L'alternative étant d'en écrire une, j'ai posé la question à chat GPT, et sa solution ne fonctionne bien évidemment pas.
 
Dernière édition:
  • Like
Réactions: Ulr
  • #1 545
Bon, début du projet salle de bain.

Comme je vais faire sauter un radiateur à eau pour placer un sèche serviette électrique et mettre une Vmc Sf, je m'interroge sur la meilleure manière d'intégrer ça à mon home assistant.

J'imaginais des modules Shelly, l'objectif étant le suivi conso et pas forcément la programmation ou le pilotage à distance. Un 2pm pour le sèche serviettes (partie chauffage et partie soufflerie) et un simple pour la vmc.

La connexion à la vmc pouvant être hasardeuse (combles non aménagés), est-ce que le Shelly 2pm peut servir de relais ? Ai-je besoin de prévoir d'autres choses ?

Des avis / conseils ?
 
  • #1 546
Bon, début du projet salle de bain.

Comme je vais faire sauter un radiateur à eau pour placer un sèche serviette électrique et mettre une Vmc Sf, je m'interroge sur la meilleure manière d'intégrer ça à mon home assistant.

J'imaginais des modules Shelly, l'objectif étant le suivi conso et pas forcément la programmation ou le pilotage à distance. Un 2pm pour le sèche serviettes (partie chauffage et partie soufflerie) et un simple pour la vmc.

La connexion à la vmc pouvant être hasardeuse (combles non aménagés), est-ce que le Shelly 2pm peut servir de relais ? Ai-je besoin de prévoir d'autres choses ?

Des avis / conseils ?

Shelly pospose des Minis qui font seulement la mesure (1 circuit de 16 ampères fonctionne avec HA).

Le 2PM à 2 relais et la mesure (donc commande de deux circuits).
 
  • #1 547
Parfois Home Assistant est une usine à gaz et la simplicité c'est mieux.

Je vous explique "mon dernier addon" sur la domotisation de ma maison.

Je ne m'étais pas encore penché sur la création d'une automatisation d'un mode cinéma.
Je dispose d'un écran Kimex géré par une télécommande RF, des HP encastrés, un projecteur Epson piloté par une télécommande IR, un ampli pioneer piloté en IR et un lift piloté en RF.

Je suis devenu très ami avec ChatGPT et je lui ai donc posé la question: "comment piloter tout ça notamment.en utilisant mon Google Assistant" et en l'intégration à HA".
C'est là que j'ai découvert le Broadlink RM4 pro qui récupère les signaux IR et RF et ce pour 40€. Trop top !
J'ai donc suivi le tuto qu'il me propose en commençant par l'écran Kimex. Et là j'ai passé au moins 2h, l'intégration HA ne marchait pas et j'étais sensé me passer de l'app fournie par Broadlink.
ChatGPT me faisait tourné en rond.

Bref je me suis pas laissé abattre et j'ai décidé une autre approche sans HA, en intégrant les appareils dans l'app Broalink et en associant Broadlink à Google Home.
Pour l'écran nickel.
Pour mon projecteur, ça s'est corsé. Ce n'est pas un récent: un Epson EH-TW5900 mais qui fonctionne très bien et que j'ai acquis pour rien avec une lampe qui avait 200h.
Google Home ne le reconnaissait pas mais ChatGPT m'a bien aidé. J'ai du créer des scènes ON et OFF dans l'app Broadlink. Dans Google Home, j'ai créé une automatisation "demander à Google" qui appelle la scène.

Pour l'ampli, il se lance via l'HDMI, nickel car il est dans le garage dans ma baie réseau et donc le signal ne passe pas.

On ajoute la box TV et hop me voilà avec le mode cinéma que je peux lancer via mon Google Assistant.
Il me restera le lift à ajouter mais j'ai un souci de butée haute à régler.

Bref pour le coup HA m'a un peu saoulé et finalement j'ai pu m'en passer. Je ne vois pas l'intérêt d'intégrer ces éléments à mon dashboard, à moins que vous avez un avis contraire ?

Je dois dire qu'à la maison, j'utilise surtout Google Assistant pour commander les lumières, TV, etc... à part quelques automatisations créer dans HA.

Je vais pouvoir ajouter désormais le contrôle des lampes de ma hotte Bosch qui utilise un télécommande également, top !
 
  • #1 548
Parfois Home Assistant est une usine à gaz et la simplicité c'est mieux.
En réalité il est vraiment utile de tout remonter dans Home Assistant pour le principe. Mais si tu peux faire quelque chose d'autonome qui fonctionne, c'est mieux comme base.
Le jour où tu as besoin d'un état de ton projecteur (Par exemple mettre une notif si la lampe a trop d'heures), HA sera là pour ce genre de tâche spécifique.
 
  • #1 549
My 2 cents, en parallèle.

J'ai acheté le RM4 Pro il y a longtemps, pour commander un très grand store électrifié (4m) depuis Google Assistant sans devoir mettre la main sur la télécommande.

Et plus tard lors de mon arrivée sur HA j'ai voulu rentabiliser ce RM4.

Et bien, pour faire un "learning" de la commande dans HA, c'est quasi impossible.
Il accepte d'apprendre la commande de descente mais pas celle de montée.
Je voulais m'en servir pour déclencher les petits convecteurs des salles de bains (surtout quand tension réseau dans les sommets) et d'autres commandes pratiques.
Mais je ne sais rien lui faire apprendre via HA.
Et malheureusement ce que je souhaiterais lui faire faire nécessite le lancement des commandes via HA....

EDIT : et c'est assez frustrant parce que cet appareil pourrait être un relai clé avec un paquet d'autres appareils non connectés...
 
Dernière édition:
  • #1 550
En réalité il est vraiment utile de tout remonter dans Home Assistant pour le principe. Mais si tu peux faire quelque chose d'autonome qui fonctionne, c'est mieux comme base.
Le jour où tu as besoin d'un état de ton projecteur (Par exemple mettre une notif si la lampe a trop d'heures), HA sera là pour ce genre de tâche spécifique.

Dans le cadre de la domotisation de mon ensemble cinéma, je ne suis pas 100% convaincu de l'intégration dans HA. A part peut être dans un onglet spécifique sinon cela polluerait mon dashboard de base.
Pour la lampe j'ai pu d'ailleurs constater avec joie qu'elle a 1000 heures donc j'ai encore de la marge.
 
  • #1 551
perso j'ai automatisé le home cinema sur home assistant, c'est tres pratique. J'avais deja une telecomande logitech harmony ce qui a simplifié la programmation :

Quand l'Apple tv passe sur on - > HA le detecte -> demande a harmony d'allumer l'ampli, le projecteur et enfin descend l'écran.

Quand appel Tv passe en veille -> HA eteint tout.

du coup tout se passe via la télécommande Apple TV

C'est probablement la seule automatisation validée par ma femme :joy: elle trouve ca beaucoup plus simple que via la telecommande harmony
 
Dernière édition:
  • #1 552
Hello,

J’aimerais ajouter à mon Home Assistant un écran e ink afin d’afficher le menu de la semaine via Mealie (qui affiche le menu comme un calendrier). Je veux un truc sur batterie parce que l’endroit où je compte le placer ne permet pas d’avoir une prise.

J’ai repéré cet écran.
https://www.seeedstudio.com/reTerminal-E1001-p-6534.html

Un avis des experts ?

merci
 
  • #1 553
En français …

ESP32 et écran e-ink waveshare
Firmware ESPhome

Alimentation USB, après il faudrait voir ce que ça va consommer (connexion WiFi !)

Donc le seedstudio pourrait fonctionner, une analyse technique est nécessaire pour être absolument certain.
 
  • #1 554
Techniquement le seeedstudio semble être similaire. C’est aussi un esp32 qui le fait tourner et l’écran semble similaire au waveshare.

ils annoncent jusqu’à 3 mois de batterie, en mode deepsleep et le rafraîchissement le moins fréquent possible, ce qui pourrait convenir pour ce que je veux afficher.
 
  • #1 555
Ce n’est pas tellement ça le problème, c’est plutôt d’avoir les bonnes références pour configurer ESPHome c-a-d les pins gpio spi, i2c …

Cela étant dit ESPhome reconnaît le S3 et les seedstudio semblent assez bien supportés.
 
  • #1 556
J'ai acheté un 3 couleurs et je n'arrive pas encore à le faire fonctionner... :laughing:
Après je n'ai pas essayé longtemps et j'ai quand même réussi à tout effacer dessus.
Ça m'a coûté 6€ et 1,5€ d'ESP32 C3.
Soit moins de 10€...

12€ aujourd'hui... Le 2.9 en 3 couleurs
https://fr.aliexpress.com/item/1005005183232092.html

A savoir qu'un 3couleurs est extrêmement long à rafraîchir et ce n'est pas conseillé de le faire souvent car il s'use plus rapidement.
=> Il vaut mieux un noir et blanc simple ;)
 
  • #1 557
Bonjour,

Je me permets de revenir sur le sujet dongle P1... j'ai reçu un dongle P1 Wifi Openwatt il y a environ 1 mois, il n'existe pas d'intégration HA pour celui-ci. Je galère avec Chat GPT afin d'extraire les données du flux vers des entités... bref, tout ce qu'il me sort ne donne rien ( je passe les nombreuses solutions et approches pour ne pas poluer ) et je ne suis pas expert en programmation non plus...

Homeassistant et dongle openwatt on avance mais doucement.

Via restful et configuration.yaml

Définir un capteur dans configuration.yaml

En gros ca fonctionne (une lecture toutes les 30 secondes par défaut)

Code:
sensor:
  - platform: rest
    name: "openwdongle"
    unique_id: "openwdongle"
    resource: "http://10.0.0.208/api/meter"
    value_template: "{{ value_json.demand.current_kw }}"
    json_attributes:
       - power
       - consumption
       - production
       - demand
       - timestamp

Ensuite dans une page faire un display des valeurs lues (edition du yaml)

Code:
type: entities
entities:
- entity: sensor.openwdongle
- type: attribute
entity: sensor.openwdongle
attribute: power
name: power
- type: attribute
entity: sensor.openwdongle
attribute: consumption
name: consumption
- type: attribute
entity: sensor.openwdongle
attribute: production
name: production
- type: attribute
entity: sensor.openwdongle
attribute: demand
name: demand
- type: attribute
entity: sensor.openwdongle
attribute: timestamp
name: timestamp


Ce qui nous donne avec une jauge sur la valeur template == current_kw en demande.

Maintenant que les valeurs peuvent être lues du dongle, on peut les mettre dans un autre format (float/int ...) en fonction des besoins. Les valeurs peuvent aussi être caractérisées pour l'usage "power" de HA.

Screenshot 2026-02-18 at 23.05.20.png
 
  • #1 558
Top ça! Merci !

La mise à jour de ce dongle a permis l'accès à ses données.

Je m'en vais tester ça aujourd'hui !
 
  • #1 559
yes, ça marche !
j'ai pris une des autres API dispo

Code:
rest:
  - resource: http://10.0.0.208/api/v1/data
    scan_interval: 2
    sensor:

      # ====== ENERGIE IMPORT ======
      - name: P1 Energy Import T1
        unique_id: p1_energy_import_t1
        value_template: "{{ value_json.total_power_import_t1_kwh }}"
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: total_increasing

      - name: P1 Energy Import T2
        unique_id: p1_energy_import_t2
        value_template: "{{ value_json.total_power_import_t2_kwh }}"
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: total_increasing

      - name: P1 Energy Export T1
        unique_id: p1_energy_export_t1
        value_template: "{{ value_json.total_power_export_t1_kwh }}"
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: total_increasing

      - name: P1 Energy Export T2
        unique_id: p1_energy_export_t2
        value_template: "{{ value_json.total_power_export_t2_kwh }}"
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: total_increasing

      # ====== PUISSANCE TOTALE ======
      - name: P1 Active Power
        unique_id: p1_active_power
        value_template: "{{ value_json.active_power_w }}"
        unit_of_measurement: "W"
        device_class: power
        state_class: measurement

      - name: P1 Active Power Average
        unique_id: p1_active_power_average
        value_template: "{{ value_json.active_power_average_w }}"
        unit_of_measurement: "W"
        device_class: power
        state_class: measurement

      # ====== PUISSANCE PAR PHASE ======
      - name: P1 Power L1
        unique_id: p1_power_l1
        value_template: "{{ value_json.active_power_l1_w }}"
        unit_of_measurement: "W"
        device_class: power
        state_class: measurement

      - name: P1 Power L2
        unique_id: p1_power_l2
        value_template: "{{ value_json.active_power_l2_w }}"
        unit_of_measurement: "W"
        device_class: power
        state_class: measurement

      - name: P1 Power L3
        unique_id: p1_power_l3
        value_template: "{{ value_json.active_power_l3_w }}"
        unit_of_measurement: "W"
        device_class: power
        state_class: measurement

      # ====== TENSION ======
      - name: P1 Voltage L1
        unique_id: p1_voltage_l1
        value_template: "{{ value_json.active_voltage_l1_v }}"
        unit_of_measurement: "V"
        device_class: voltage
        state_class: measurement

      - name: P1 Voltage L2
        unique_id: p1_voltage_l2
        value_template: "{{ value_json.active_voltage_l2_v }}"
        unit_of_measurement: "V"
        device_class: voltage
        state_class: measurement

      - name: P1 Voltage L3
        unique_id: p1_voltage_l3
        value_template: "{{ value_json.active_voltage_l3_v }}"
        unit_of_measurement: "V"
        device_class: voltage
        state_class: measurement

      # ====== COURANT ======
      - name: P1 Current L1
        unique_id: p1_current_l1
        value_template: "{{ value_json.active_current_l1_a }}"
        unit_of_measurement: "A"
        device_class: current
        state_class: measurement

      - name: P1 Current L2
        unique_id: p1_current_l2
        value_template: "{{ value_json.active_current_l2_a }}"
        unit_of_measurement: "A"
        device_class: current
        state_class: measurement

      - name: P1 Current L3
        unique_id: p1_current_l3
        value_template: "{{ value_json.active_current_l3_a }}"
        unit_of_measurement: "A"
        device_class: current
        state_class: measurement

      - name: P1 Current Total
        unique_id: p1_current_total
        value_template: "{{ value_json.active_current_a }}"
        unit_of_measurement: "A"
        device_class: current
        state_class: measurement

upload_2026-2-19_14-10-55.png

je ne sais pas comment vous remercier !
 
  • #1 560
Ahaaaa, juste après dîner, je m'y suis remis et j'ai regardé les autres API, le v1/data a tout ce qu'il faut avec un json plus direct c'est exact, j'étais justement en train de programmer la chose avec quelques graphiques.

Attention que le scan_interval n'est pris en compte que lorsqu'on redémarre homeassistant, une mise à jour via outils de développement/entité rest n'est pas suffisante.

Screenshot 2026-02-19 at 14.22.15.png


Il a fallu le temps, mais on y est arrivé finalement, et il n'y a que cela qui compte, content d'avoir pu rendre service.
 
  • Like
Réactions: Ulr

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