MQTT2_DEVICE: Ersetzungen in der readingList

Begonnen von klaus.schauer, 27 März 2026, 11:06:24

Vorheriges Thema - Nächstes Thema

klaus.schauer

Ersetzungen für z. B.
wb4136601/lmo:.* lmo
mit
wb4136601/lmo:.* {$EVENT =~ s/3/default/g; $EVENT =~ s/4/awattar/g; $EVENT =~ s/5/automaticStop/g; readingsSingleUpdate($defs{"wb4136601"}, 'lmo', $EVENT, '-')}
funktioniert. Gibt es das dennoch was einfaches "von der Stange"?


rudolfkoenig

Fuer JSON Payload gibts jsonMap, alternativ gibts noch eventMap.

Wenn beides nicht hilft, dann bleibt die obige Methode, obwohl ich den anders bauen wuerde:
wb4136601/lmo:.* {my %map=(3=>"default",4=>"awattar",5=>"automaticStop");; { lmo=>$map{$EVENT}||$EVENT } }
Das ist wie im Wiki, zusaetzlich wird ein WARNING bei unbekannten Werten vermieden.

klaus.schauer

Danke an euch beide. Das ist um Welten besser, als die erste Variante und vermutlich erheblich performanter. Rudi Du hast - wie meist - die eleganteste Variante.