[gelöst] MQTT_Bridge Syntaxproblem

Begonnen von JensS, 10 Januar 2021, 17:37:41

Vorheriges Thema - Nächstes Thema

JensS

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
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

Beta-User

$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"
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

JensS

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
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.