Hi,
ich habe meine Flowercare Sensoren per MQTT via altem MQTT_DEVICE angebunden. Diese möchte ich nun nach MQTT2_DEVICE umbauen. Leider klappt dies nicht. Es werden keine Messages erkannt und dementsprechend keine Readings erzeugt. Ich weiss nicht mehr weiter, hat jemand eine Idee?
alte MQTT_DEVICE Definition
defmod BF_VG_Beet MQTT_DEVICE
attr BF_VG_Beet DbLogExclude transmission-state
attr BF_VG_Beet IODev mqtt
attr BF_VG_Beet readingsWatcher 660,,data
attr BF_VG_Beet room Aussen
attr BF_VG_Beet stateFormat moisture% | Bat: batteryLevel% (active)
attr BF_VG_Beet subscribeReading_data flowercare/c4:7c:8d:64:42:d0
attr BF_VG_Beet userReadings moisture:data:.* {json2nameValue($eventValue)->{moisture}},\
batteryLevel:data:.* {json2nameValue($eventValue)->{battery}},\
fertility:data:.* {json2nameValue($eventValue)->{fertility}}
neue MQTT2_DEVICE Definition
defmod BF_VG_Palette MQTT2_DEVICE
attr BF_VG_Palette DbLogExclude .*
attr BF_VG_Palette DbLogInclude moisture
attr BF_VG_Palette IODev mqtt2
attr BF_VG_Palette event-on-update-reading .*
attr BF_VG_Palette readingList flowercare/c4:7c:8d:64:42:d0:.* { json2nameValue($EVENT, '', { battery => 'batteryLevel' }) }
attr BF_VG_Palette readingsWatcher 660,,DeviceStatus
attr BF_VG_Palette room Aussen
attr BF_VG_Palette stateFormat moisture% | Bat: batteryLevel% (active)
das MQTT payload
{"address":"80:ea:ca:89:61:5e","temperature":15.9,"moisture":41,"brightness":2426,"fertility":228,"host":"PumpControl_Treppe","battery":100}
Klingt so, als ob eine MQTT2_CLIENT oder MQTT2_SERVER Instanz fehlen wuerde
Vielleicht auch mal mit einfachen Punkten statt der Doppelpunkte im Topic/readingList-Eintrag versuchen
Das MQTT2_DEVICE ist definiert.
Das Problem wird wohl sein das die MAC-Adresse incl der Doppelpunkte ein Teil des topics sind.
Gibt es hier einen Trick für die ReadingList Definition?
Ein automatisch angelegtes Device:
defmod mymqtt_448305727622030 MQTT2_DEVICE mymqtt_448305727622030
attr mymqtt_448305727622030 readingList mymqtt_448305727622030:flowercare/c4_7c_8d_64_42_d0:.* { json2nameValue($EVENT) }
attr mymqtt_448305727622030 room MQTT2_DEVICE
setstate mymqtt_448305727622030 2026-04-08 15:48:32 IODev MQTT2_Server
setstate mymqtt_448305727622030 2026-04-08 15:48:33 address 80:ea:ca:89:61:5e
setstate mymqtt_448305727622030 2026-04-08 15:48:33 battery 100
setstate mymqtt_448305727622030 2026-04-08 15:48:33 brightness 2426
setstate mymqtt_448305727622030 2026-04-08 15:48:33 fertility 228
setstate mymqtt_448305727622030 2026-04-08 15:48:33 host PumpControl_Treppe
setstate mymqtt_448305727622030 2026-04-08 15:48:33 moisture 41
setstate mymqtt_448305727622030 2026-04-08 15:48:33 temperature 15.9
Ein mit jsonMap konfiguriertes Device:
defmod mymqtt_448305727622030 MQTT2_DEVICE mymqtt_448305727622030
attr mymqtt_448305727622030 jsonMap battery:batteryLevel
attr mymqtt_448305727622030 readingList mymqtt_448305727622030:flowercare/c4_7c_8d_64_42_d0:.* { json2nameValue($EVENT, '', $JSONMAP) }
attr mymqtt_448305727622030 room MQTT2_DEVICE
setstate mymqtt_448305727622030 2026-04-08 15:48:32 IODev MQTT2_Server
setstate mymqtt_448305727622030 2026-04-08 15:55:08 address 80:ea:ca:89:61:5e
setstate mymqtt_448305727622030 2026-04-08 15:55:08 batteryLevel 100
setstate mymqtt_448305727622030 2026-04-08 15:55:08 brightness 2426
setstate mymqtt_448305727622030 2026-04-08 15:55:08 fertility 228
setstate mymqtt_448305727622030 2026-04-08 15:55:08 host PumpControl_Treppe
setstate mymqtt_448305727622030 2026-04-08 15:55:08 moisture 41
setstate mymqtt_448305727622030 2026-04-08 15:55:08 temperature 15.9
@tomLee, top, danke. So funktioniert das :)
@tomLee, top, danke. So funktioniert das :)
Rein aus interesse, welchen Grund hat es das Du das Device von Hand angelegt hast?
Hast Du autocreate ausgeschaltet, das bei Dir kein Device automatisch erstellt wurde?
ich habe Automatiken generell abgeschaltet da diese i.d.R. nie so anlegen wie ich es gerne hätte ;)
Aber so funktioniert es jetzt :)