telemetry
Quoi de neuf

Fhem

  • Forum Electricité - Domotique
  • Auteur du sujet Auteur du sujet jcoenen
  • Date de début Date de début
  • #721
Mise à jour du module motionblinds

Routine set_state mise à jour pour transférer les valeurs du blind dans les readings fhem du device.
 
  • #722
Petite mise à jour de mon setup pour le compteur avec port P1:

Comme j'ai maintenant HA en parallèle à FHEM, j'ai voulu récupérer les données du P1 là-bas aussi.

Bien sûr, le setup n'est pas multi-stream, puisque le socket 3333 est déjà occupé par FHEM.

Après un peu de tâtonnements, mon nouveau collègue m'a sorti une solution qui fonctionne:
Sur le Pi connecté au P1, qui tourne ser2net, on récupère les données directement sur le 3333 et on les transfère vers le 3334, où un broker ncat tourne et permet de multiples connexions.

C'est un peu trop complexe, mais je voulais un fallback facile vers FHEM, pour éviter de tout casser.

Il m'a même fait un petit schéma:

upload_2025-8-23_23-22-28.png
 
  • #723
Interessant, je ne savais pas que netcat pouvait envoyer une input vers plusieurs stream (si j’ai bien compris).

Ici aussi j’ai HA en parallèle avec FHEM, pour avoir les données des divers brolekes de l’installation, j’utilise la fonctionnalité de fhem qui permet d’envoyer des readings de devices sur un broker mqtt (et aussi de recevoir des commandes par la même occasion).

C’est plus lourd (il faut le broker mqtt), mais après on peut connecter n’importe quoi dessus.

Dans les devices il y a un attribut mqttpublish et un mqttsubscribe

par exemple une prise zwave (device name wallplug) qui est sur un dongle attaché à fhem

Le device donne les readings suivants

IMG_0310.jpeg



mqttPublish
reportedState|power|powerlvl|energy:topic={"wallplug/$name"}

va envoyer les readings sélectionnés sur mqtt
avec le topic wallplug avec le nom fhem du reading, par exemple wallplug/energy

et les messages sur wallplug/switch seront interprétés comme set wallplug xxx yyy


mqttSubscribe
state:stopic={"wallplug/switch"} on-for-timer:stopic={"wallplug/on-for-timer"} on-till:stopic={"wallplug/on-till"}


C’est assez pratique.
 
Dernière édition:
  • #724
Ah oui et pour le port P1 j’ai mis dessus un esp (8266 ou 32 je ne sais plus) qui envoit les données directement sur le boker mqtt. L’esp étant alimenté par le port p1.
 
  • #725
Je n'ai jamais réussi à faire fonctionner MQTT sur FHEM. Ca marche à moitié, je vois les télégrammes arriver, mais je n'arrive pas à les parser et je ne suis jamais arrivé à publier quelque chose.

J'ai essayé avec le MQTT2 client.

Car j'ai déjà un broker pour recevoir les données de ma PAC, et vers HA ça marche nickel (aussi vers FHEM, mais je ne sais rien en faire car je ne comprends pas comment les parser). Mes screens Somfy passent aussi par le broker via un ESP32.

Pour le Pi du compteur, tant que ça marche, je ne change pas :grinning:
 
  • #726
C’est juste la config n’est pas des plus évidente, mais une fois compris la manière de définir, c’est assez efficace.

Je vais voir de faire un petit vade mecum
 
Dernière édition:
  • #727
Je n'ai jamais réussi à faire fonctionner MQTT sur FHEM. Ca marche à moitié, je vois les télégrammes arriver, mais je n'arrive pas à les parser et je ne suis jamais arrivé à publier quelque chose.

J'ai essayé avec le MQTT2 client.

Car j'ai déjà un broker pour recevoir les données de ma PAC, et vers HA ça marche nickel (aussi vers FHEM, mais je ne sais rien en faire car je ne comprends pas comment les parser). Mes screens Somfy passent aussi par le broker via un ESP32.

Pour le Pi du compteur, tant que ça marche, je ne change pas :grinning:


Peux tu me donner un exemple de device mqtt et mqtt2 que tu as configuré, à mon avis il doit manquer un attribut pour configurer les readings.

La config fhem des device ainsi que les paramètres mqtt (essentiellement les topics pour subscribe et ceux pour les publish).
 
  • #728
J'ai un client, qui se loggue sur le broker et voit des trucs de la PAC arriver:
upload_2025-8-24_19-23-56.png
 
  • #729
IL m'a fait créer un bridge, pas sûr que ce soit utile:

defmod mqttBridge MQTT_GENERIC_BRIDGE
attr mqttBridge IODev mqttClient
attr mqttBridge globalDefaults base={"fhem/$device"}
attr mqttBridge globalPublish *.topic={"$base/$reading"}

setstate mqttBridge 2025-08-23 18:36:21 IODev mqttClient
setstate mqttBridge 2025-08-23 18:38:50 device-count 1
setstate mqttBridge 2025-08-23 18:21:57 incoming-count 0
setstate mqttBridge 2025-08-23 18:21:57 outgoing-count 0
setstate mqttBridge 2025-08-23 18:36:21 transmission-state IO device initialized (mqtt2)
setstate mqttBridge 2025-08-23 18:21:57 updated-reading-count 0
setstate mqttBridge 2025-08-23 18:21:57 updated-set-count 0
 
  • #730
J'ai créé un device pour interagir avec mes screens:

defmod 1_HallD_Screen MQTT2_DEVICE
attr 1_HallD_Screen IODev mqttClient

setstate 1_HallD_Screen 2025-07-07 18:08:50 IODev mqttClient
 
  • #731
Ce device est dans somfy/shades/1 dans mon broker:

upload_2025-8-24_19-27-43.png
 
  • #732
C'est un exemple d'interaction que j’aimerais avoir via MQTT, pour au final pouvoir passer des infos entre FHEM et HA (ce qui serait l'idéal).
 
  • #733
dans le device mqtt2 le iodev est mqttClient

Attribut readinglist
mqttClient:somfy/shades/1:.* { json2nameValue($EVENT) }

Et des qu’il va recevoir un message sur eg le topic

somfy/shades/1/position

Il va créer un reading “position” automatiquement, qui peut alors être utilisé par les notify et autres
 
Dernière édition:
  • #734
Pour le sbus, je dois voir car il retourne un json, donc faut décoder le truc.o_O (mais le décodeur est prévu :cool:)
 
Dernière édition:
  • #735
Pour les commandes il faut définir l’attribut
setlist

Attention :cool:
l’attribut DEVICETOPIC contient le topic de commande


on:noArg $DEVICETOPIC/set {"state":"ON"}
off:noArg $DEVICETOPIC/set {"state":"OFF"}
toggle:noArg $DEVICETOPIC/set {"state":"TOGGLE"}

si on fait set device “on” alors un mqtt publish est envoyé sur $DEVICETOPIC/set avec le json {"state":"ON"}
 
Dernière édition:
  • #736
plus fort

Un slider pour ouvrants

position:slider,0,1,100 {$EVTPART1 =~ s/\./,/g;;$NAME =~ /zigbee_(.*)/;;return qq(zigbee2mqtt/$1/set {"position":$EVTPART1}) }
 
  • #737
En tout cas HEM fonctionne alors que mon home assistant n'arrive plus a afficher les valeurs de mes capteurs ...
En graphique j'ai les valeurs mais pas dans les cartes, et HA est très opaque.

Ha ils viennent de réapparaitre, sans aucune raison apparente. Très zarbi comme truc.
 
Dernière édition:
  • #738
Merci pour le quick tuto, ça marche maintenant depuis FHEM, je contrôle mes screens (via ESPSomfy-RTS)

Merci !

Etape suivante: envoyer des données entre FHEM et HA, via MQTT.
 
  • #739
Ah ben voilà, c’est vrai qu’il faut décoder la doc et aller faire des tours sur les forum allemands pour en extraire la substantifique moelle comme disait mon prof de français.

Un des avantageS de fhem est que l’on peut transformer un protocole en un autre. Par exemple recevoir du KNX et sortir du mqtt (facile) et l’inverse recevoir du mqtt et sortir du KNX (moins évident).

Donnes moi un exemple de device knx que tu voudrais envoyer à HA via mqtt et je vais essayer de sortir les attributs
 
Dernière édition:
  • #740
Disons que je veux envoyer cette valeur de FHEM vers HA:

(ReadingsVal("meteoalex","hfc2_cloudCover",0))
 

Sujet semblables

Réponses
5
Affichages
3K
@lex
Réponses
21
Affichages
3K
RobBZ
Réponses
2K
Affichages
208K
jcoenen
Réponses
3
Affichages
7K
pidgin

Nos articles

On a aimé dans le forum

Retour
Haut