Rfxcom2Mqtt avec Mqtt discovery

Bonjour à tous,

j’ai ré-écrit le projet rfxcom2mqtt en typescript avec l’intégration du MQTT discovery (sur la base du projet GitHub - Legobas/rfxcom2mqtt: RFXCOM to MQTT bridge).

vous pouvez retrouver la documentation et les sources :

Les entités suivantes sont automatiquement ajouter à Home-assistant:

  • La version du firmware
    sensor.bridge_rfxcom2mqtt_coordinator_version
    
  • L’état de connexion du composant rfxcom2mqtt
    binary_sensor.bridge_rfxcom2mqtt_connection_state
    
  • La version du composant rfxcom2mqtt
    sensor.bridge_rfxcom2mqtt_version
    
  • Modification du niveau de log du composant rfxcom2mqtt
    select.bridge_rfxcom2mqtt_log_level
    

Pour l’instant seul les devices et entités du protocole rfxcom « lightingX » permettent l’ajout d’une entité homeassistant de type « switch » pour mermettre de changer l’état. ( ce qui correspond a mon besoin)

Pour les autres type de devices, les entitées homeassistant de type « sensor » sont automatiquement ajoutées en fonction des événements reçus par rfxcom.
par exemples (device_class):

  • signal_strength
  • battery
  • voltage
  • humidity
  • temperature
  • carbon_dioxide
  • power
  • energy
  • pressure
  • weight
  • (uv)

Si vous avez besoin d’utiliser d’autres protocoles rfxcom, je vous laisse contribuer au projet.

En espérant que ça puisse servir a d’autre personne.

1 « J'aime »

Super intéressant !!! Je vais tester ca !!!
Juste une petite question, comment tu fait le lien entre un id et un type de sensor et son nom ?
Par exemple ici MQTT Topics and Messages | Rfxcom2Mqtt Documentation, comment sont defini/choisi le title, type, subtype en fonction de l’id ?

J’ai pas trouvé dans la doc comment faire cette association, et je ne vois pas comment ca peut-être automatique :wink:

Merci !

depuis l’évènement rfxcom on recoit les informations « type »,« subtype »
voici un exemple :

{"seqnbr":1,"subtype":0,"id":"0x01A4F9BE","unitCode":1,"commandNumber":1,"command":"On","level":15,"rssi":4,"type":"lighting2"}

a partir de ces informations il faut déterminé les entités homeassistant a ajouter sur les topics de discovery

par exemple:
pour le type=« lighting2 », on ajoute une entrée sur le topic

homeassistant/switch/AC_01A4F9BE_1/config
homeassistant/switch/{subtypeName}_{deviceId}_{unitCode}/config

et lorsqu’il y a la présence de l’attribut « rssi », on ajoute une entrée sur le topic

homeassistant/sensor/AC_01A4F9BE/linkquality/config
homeassistant/sensor/{subtypeName}_{deviceId}/linkquality/config

pour le moment, il y a un mapping que pour les types « lightingX ».

pour les autres type il faut faire l’implémentation ici rfxcom2mqtt/src/libs/Discovery.ts at 8dba0b3d75314ee1d163eac05135b15729e7d7c3 · sguernion/rfxcom2mqtt · GitHub

Les projets ont été déplacé.
Les liens ont été mis à jours dans le premier post.
Une grandes partie des sensors sont maintenant automatiquement ajoutées.

Une ihm est en cours de developmement :

  • affichage des informations du bridge rfxcom
  • affichage et modification de la configuration
  • affichage de la liste des devices