telemetry
Quoi de neuf

Fhem

  • Forum Electricité - Domotique
  • Auteur du sujet Auteur du sujet jcoenen
  • Date de début Date de début
  • #741
Ok tu as un broker mqtt ?

Oupse, pardon, bien sur que tu en as un ... je commence à perdre la boule.
 
Dernière édition:
  • #742
So sorry du délai de la réponse ... mais finalement il n'y a que 24 heures dans une journée et pour mes ados il faut toujours tout tout de suite (la civilisation du smartphone).

En fait c'est très simple via fhem, partant du principe que tu dois avoir un Device openweather qui retourne ce genre de donnée, il suffit de définir un attribut publish
Code:
attr meteoalex mqttPublish cloudCover:topic={"$base/$name"} cloudCover:qos=1 cloudCover:retain=0

J'ai remplacé $base par openweather dans mon setup ($base est une variable qui contient le topic de base)

Avec les paramètre habituel MQTT qos et retain pour le broker.

Voici le résultat sur mon openweather avec le topic openweather/cloudCover

Capture d’écran 2025-09-06 à 08.06.34.png
 
  • #743
Dis moi si c'est bien ce que tu cherchais à faire ...
 
  • #744
Dis moi si c'est bien ce que tu cherchais à faire ...
Oui, c'est nickel.

Et une fois de plus, côté FHEM, tout est facile.

Par contre, je ne vois pas le topic arriver dans HA.

Voilà ma config MQTT dans HA, c'est bon ? J'ai un doute car il y a le prefix homeassistant, et j'ai l'impression qu'il ne regarde que là-dedans (par contre il voit quand même des trucs dans les autres topics, mais c'est peut-être envoyé par d'autres intégrations dans HA. (je ne maîtrise pas MQTT à 100%, surtout avec HA, il y a encore des zones obscures).

upload_2025-9-6_17-42-27.png
 
  • #745
HA et mqtt toute une histware.

En fait ce que tu vois là c’est la config du discovery, un mécanisme qui permet à un appareil de dire à Homeassistant via un topic prédéfinit sur quel topic il va transmettre et ce qu’il va y mettre et comment lui envoyer des commandes.

Donc en zigbee2mqtt chaque nouvel appareil va (si configuré) envoyer un message de configuration à Homeassistant qui a son tour va créer le device mqtt avec les bon topics.

Comme ça c’est tout simple, mais quand on ouvre le capot :eek:o_O:mad:

FHEM ne s’encombre pas de toute cette mécanique, il faut donc créer manuellement un device mqtt sur homeassistant.

Je vais aller sur mon pc pour voir la syntaxe et je t’envoie ça.
 
  • #746
Donque donque,

dans terminal, cd config

nano mqtt.yaml et insérer ces lignes

Code:
  sensor:
    - name: "Cloud Cover Openweather"
      unique_id: "owcloud_cover"
      state_topic: "openweather/cloudCover"
      unit_of_measurement: "%"

Si tu as changé le topic, met celui que tu as configuré sur fhem.

Attention a bien respecter l'indentation, yaml ne pardonne pas !!!

Aller dans outil de développement et dans le tableau recharger les configuration YAML cliquer sur Entités MQTT configurées manuellement (un check de la config au préalable ne mange pas de pain histoire-géographie de voir si l'indentation est correcte).

Voilà, il ne reste plus qu'a forcer une mise jour sur FHEM via un "set meteoalex update" et le device mqtt devrait être disponible.

Screenshot 2025-09-06 at 18.27.18.png Screenshot 2025-09-06 at 18.27.07.png


Chez moi il y a du soleil d'où cloudcover est ... zéro.

pas mqtt.yaml doit être inclu par configuration.yaml
 
Dernière édition:
  • #747
Bon, ben ça ne fonctionne pas.

Je tourne HA dans un container, c'est un peu différent, mais j'ai rajouté un !include dans le config.yaml, qui pointe vers le nouveau mqtt.yaml, j'ai redémarré le bazar plusieurs fois, et le MQTT ne voit toujours que mes 7 devices, pas un de plus.

Pourtant MQTT explorer voit bien les publications de FHEM. Et je ne sais pas où se trouve la config de l'intégration MQTT (y a-t-il un fichier de config ?), donc je n'arrive pas à troubleshooter...
 
  • #748
Bon mqtt explorer voit les topics de fhem c’est donc HA qui berdouille et comme c’est tellement convolué (docker etc) ce n’est pas étonnant.

le fichier mqtt.yaml est dans le même directory que le configuration.yaml et ce dernier doit avoir un include du mqtt.yaml

c’est comment ton installation ? je peux peut être la reproduire pour essayer de trouver la bonne syntaxe …


Sinon non je vais regarder la syntaxe à mettre dans le fichier configuration.yaml
 
Dernière édition:
  • #749
Voiçi la configuration ajoutée au fichier configuration.yaml

Au passage j'ai mis

mqttPublish *:topic={"openweather/$name"} *:qos=1 *:retain=0

Pour avoir un peu plus de données

Code:
mqtt:
 sensor:
    - name: "Wind Speed Openweather"
      unique_id: "owwind_speed"
      state_topic: "openweather/wind_speed"
      unit_of_measurement: "km/hr"
    - name: "Cloud Cover Openweather"
      unique_id: "owcloud_cover"
      state_topic: "openweather/cloudCover"
      unit_of_measurement: "%"
    - name: "Température Openweather"
      unique_id: "owctemperature"
      state_topic: "openweather/temp_c"
      unit_of_measurement: "°C"
    - name: "Humidité  Openweather"
      unique_id: "owhumidity"
      state_topic: "openweather/humidity"
      unit_of_measurement: "%"
    - name: "Temp Low Openweather"
      unique_id: "owtlow"
      state_topic: "openweather/tempLow"
      unit_of_measurement: "°C"
    - name: "Temp High Openweather"
      unique_id: "owthigh"
      state_topic: "openweather/tempHigh"
      unit_of_measurement: "°C"
    - name: "Wind Condition Openweather"
      unique_id: "owwcond"
      state_topic: "openweather/wind_condition"

Et toute la config yaml reload.

Screenshot 2025-09-07 at 11.05.41.png
 
  • #750
Re !

Après avoir ajouter des entités mqtt dans configuration.yaml, certains on( été placé en état indisponible alors que Mosquitto reçoit et transmet bien tout les topics.

Redémarrage, rechargement des configurations et toujours rien, vérification des fichier OK, et rien dans les log. A part un warning sur le fait 'avoir deux entrées "mqtt:"

Vraiment zarbi.

Je met toutes les entités dans le fichier mqtt.yaml, rechage le mqtt manuels, et paf les entités reviennent disponibles.

Dans le configuration.yaml je n'ai gardé que la ligne mqtt: !include mqtt.yaml qui contient toutes les entités configurées manuellement.

Curieusement tout fonctionnait a merveille et après avoir ajouter des entités ça a commencé à battre le beurre. Actuellement les mêmes définitions sont dans le mqtt.yaml et tout fonctionne.

Conclusion, quelque chose doit avoir changé dans le traitement mqtt qui requiert une configuration plus stricte.
 
  • #751
Merci !

Ça marche.

Assez bizarre le HA, parfois il faut attendre, parfois rebooter 3 fois... bref, c'est pas près de remplacer mon FHEM !

Mais au moins maintenant ils peuvent communiquer, ça va être bien :cool:
 
  • #752
Tant mieux, je dois bien avouer que les messages mqtt étaient sur explorer et … sur HA rien que les truc auto configurés qui parfois disparaissent, on peut dire que fhem est moche mais d’un autre côté ça fonctionne point barre.
 
  • #753
Boitier pour mon nouveau serveur raspdomo.

Basé sur un raspberry Pi 5 équipé d'un Hat waveshare PCIe to M2 + POE, un active cooler (radiateur+ventilateur) et le USB extender Hat pour avoir 7 ports USB disponibles (adaptateurs Séries, dongle zWave, dongle ZigBee) une interface RS485 (Onduleur SMA), un bus CAN (PAC).

Pas de boitier déjà proposé sur les sites 3D, donc --> Freecad -> 3mf -> A1

C'est un peu brut de décoffrage mais les trous sont corrects (les connecteurs entrent sans forcer).

Pour un premier jet c'est pas si pire.

Reste a perfectionner la chose, bouches d'aération, trous d'accès plus "justes", mieux penser les modules pour une impression pus simple.

Au niveau du budget:

Raspberry Pi 5 4GB (Amz), 73 €
PCIe M2 POE WavSH 30 €
SSD 256 GB Wavsh 28 €
USB extender Wavsh 16 €

Soit un total de 147 € allez 150 avec le plastic du boitier.


IMG_0361.jpeg IMG_0360.jpeg IMG_0363.jpeg IMG_0362.jpeg
 
Dernière édition:
  • #754
Après discussion sur homeassistant et. les notifications, j'ai remis le bot telegram en route sur fhem, ensuite, notification quand la porte du garage s'ouvre ...
 
  • #755
Notification sur l'app Telegram ?
 
  • #756
ouiiiii et ça maerche une fois, ma femme vient de sortir en auto, et j’ai reçu la notification
 
  • #757
Notification sur l'app Telegram ?
Serais tu intéressé ?

Il faut créer un bot sur telegram et ensuite configurer le device sur fhem avec la clé d’accès du bot.

Un notify enverra un message depuis le bot vers les destinataires.
 
  • #758
J'ai vu le bot Signal qui m'intéresse plus que le Telegram.
 
  • #759
OK, je viens de jeter un oeil la dessus, c'est un peu plus long, il faut installer un script "signal-cli" qui permet de se connecter à signal, avec télégramme le module es intégré à fhem.

Je vais essayer d'installer le CLI et voir ce que cela donne.
 
  • #760
Au cas où pour les utilisateurs FHEM, je suis toujours en train de bricoler la nouvelle bécane (raspi5), en regardant les valeurs thermales, le fait d'ajouter des HAT au dessus du système de refroidissement n'aide bien entendu pas du tout, alors dans une boite fermée c'est encore moins glop. Donc je veux faire un monitoring pour évaluer la situation.

Pour afficher les mesures thermales et autres il y a SYSMON avec lequel on obtient pas mal de choses. Par contre les systèmes de ventilation (avec asservissement de la vitesse en fonction de la t°) étant nombreux, le code ne retourne pas la vitesse du ventilo, celle-ci peut suivant le HAT Waveshare utilisé être obtenue via
Code:
cat sys/class/hwmon/*/fan1_input
Bon jusque la c'est déjà pas mal.

Affichage et lecture dans un device FHEM:

Rien de plus simple
Définir le device en CustomReadings

Code:
define fanspeed CustomReadings

Ensuite définir les attributs dont le reading qui obtiendra la valeur

Code:
attr readingDefinitions speed:qx(cat /sys/class/hwmon/*/fan1_input)
attr stateFormat speed


Ceci définit un reading speed dans lequel sera écrite la valeur retournée par la commande unix "cat /sys/class/hwmon/*/fan1_input)"

On peut aussi faire plus rapide en spécifiant un StateFormat avec {`cat /sys/class/hwmon/*/fan1_input)`}, mais alors les valeurs ne peuvent être mises dans un fichier log et donc pas de graphiques possibles.

Le custom reading permet de faire de l'échantillonnage en utilisant l'attribut interval (en secondes)
10 secondes par exemple:

Code:
attr fanspeed interval 10

Screenshot 2026-03-04 at 10.58.17.png

Ensuite on définit un fileLog pour sauvegarder les valeurs lue.

Et un SVG plot sur le fileLog pour terminer (j'ai mis un intervalle de 1 seconde pour avoir un graphe).
En haut le fan speed en bas le sysmon t° et cpu load.

Screenshot 2026-03-04 at 11.06.34.png

Bien entendu on peut tout mettre sur un seul graphique moyennant l'adaptation des données:
Température [0:80]
Fan Speed ~7000
CPU Load [0-1]

En divisant la vitesse par 100 on tombe dans le range des températures et on peut les mettre sur le même axe.

Screenshot 2026-03-04 at 11.18.37.png

Le Custom reading permet donc de sortir des valeur via des commandes Unix ou script et de le mettre dans un device FHEM, après tout les mécanismes de trigger restent valables sur le customreadings.
 

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