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
$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"
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