FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: JensS am 10 Januar 2021, 17:37:41

Titel: [gelöst] MQTT_Bridge Syntaxproblem
Beitrag von: JensS am 10 Januar 2021, 17:37:41
Hallo,
beim Versuch, eine MQTT_Bridge zu erstellen habe ich so meine Probleme...
Ein Raspi sammelt Daten von MiFlora-Bodenfeuchtesensoren ein und überträgt sie an meinen MQTT2_Server.miflora/$announce {"FlowerCare2": {"name_pretty": "FlowerCare2", "mac": "C4:7C:8D:6A:AB:20", "refresh": 30, "location_clean": "", "location_pretty": "", "firmware": "3.2.1", "topic": "miflora/FlowerCare2"}}
miflora/FlowerCare2 {"light": 43, "temperature": 25.4, "moisture": 12, "conductivity": 137, "battery": 100}

Diese kommen auch an und nun möchte ich die Devices per autocreate anlegen (MQTT_MiFlora_FlowerCare2).
Also habe ich ein MQTT2_Device als Bridge angelegt und angepasst:list MiFlora_Bridge
Internals:
   CFGFN     
   DEVICETOPIC MiFlora_Bridge
   FUUID      5ffb2070-f33f-9d8f-f32d-071eb3e7177ebe1f
   IODev      MQTT2Server
   NAME       MiFlora_Bridge
   NR         16455
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
Attributes:
   IODev      MQTT2Server
   autocreate 1
   bridgeRegexp miflora/FlowerCare[0-9]:.* "MiFlora_$1"
   room       Labor

Nun dachte ich, dass durch die $1 ein Device MQTT_MiFlora_FlowerCare2 erzeugt wird. Es fehlt aber FlowerCare2 am Schluss.list MQTT2_MiFlora_
Internals:
   CFGFN     
   CID        MiFlora_
   DEF        MiFlora_
   DEVICETOPIC MQTT2_MiFlora_
   FUUID      5ffb29d9-f33f-9d8f-0e05-fd6d21ee05042185
   IODev      MQTT2Server
   LASTInputDev MQTT2Server
   MQTT2Server_MSGCNT 1
   MQTT2Server_TIME 2021-01-10 17:23:23
   MSGCNT     1
   NAME       MQTT2_MiFlora_
   NR         16782
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2021-01-10 17:22:49   associatedWith  MiFlora_Bridge
     2021-01-10 17:23:23   battery         100
     2021-01-10 17:23:23   conductivity    138
     2021-01-10 17:23:23   light           0
     2021-01-10 17:23:23   moisture        12
     2021-01-10 17:23:23   temperature     25.3
Attributes:
   IODev      MQTT2Server
   readingList miflora/FlowerCare2:.* { json2nameValue($EVENT) }
   room       neue-Geräte

Wie übernehme ich den Topic-Namen in den Devicenamen?

Gruß Jens
Titel: Antw:MQTT_Bridge Syntaxproblem
Beitrag von: Beta-User am 10 Januar 2021, 17:57:08
$1 existiert nur dann, wenn auch eine capturing group in der regex drin ist...

Vermutlich ist es so gedacht:
   bridgeRegexp miflora/FlowerCare([0-9]+):.* "MiFlora_$1"
Titel: Antw:MQTT_Bridge Syntaxproblem
Beitrag von: JensS am 10 Januar 2021, 18:05:08
Zitat von: Beta-User am 10 Januar 2021, 17:57:08
$1 existiert nur dann, wenn auch eine capturing group in der regex drin ist...

Vermutlich ist es so gedacht:
   bridgeRegexp miflora/FlowerCare([0-9]+):.* "MiFlora_$1"

Wissen ist Macht...
Danke, so einfach kann es sein. Capturing group - nun habe ich wieder was zu lesen...

Gruß Jens