FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: betateilchen am 18 April 2022, 14:32:26

Titel: [gelöst] [bug?] MQTT2_DEVICE legt keine readings mit Ziffern am Anfang an
Beitrag von: betateilchen am 18 April 2022, 14:32:26
Folgendes Attribut ist im MQTT2_DEVICE angelegt:


t1/t2/14_t3:.*  { { t3_14=>$EVTPART0 } }
t1/t2/14_t3:.*  { { 14_t3=>$EVTPART0 } }


Folgende message geht ein:

MQTT_GENERIC_BRIDGE:DEBUG:> [mqttGeneric] publish: t1/t2/14_t3 => 505.47

Das reading t3_14 wird korrekt angelegt,
das reading 14_t3 wird einfach ignoriert.

Ist das ein Bug oder habe ich irgendwo in der Doku überlesen, dass ein readingName nicht mit Ziffern beginnen darf?
Titel: Antw:[bug?] MQTT2_DEVICE legt keine readings mit Ziffern am Anfang an
Beitrag von: rudolfkoenig am 18 April 2022, 14:42:57
Ich gehe davon aus, dass das Problem anderswo liegt:
fhem> { { 14_t3=>"BLA" } }
syntax error at (eval 30) line 1, near "14_t3"
syntax error at (eval 30) line 1, near "} }"

fhem> { { "14_t3"=>"BLA" } }
HASH(0x55867f7647d8)
fhem>


Nachtrag: das wird normalerweise auch abgefangen und gemeldet:
fhem> attr m2d readingList t1/t2/14_t3:.* { { 14_t3=>"BLA" } }
syntax error at (eval 29) line 1, near "14_t3"
syntax error at (eval 29) line 1, near "}}"

fhem> attr m2d readingList t1/t2/14_t3:.* { { "14_t3"=>"BLA" } }
fhem>
Titel: Antw:[bug?] MQTT2_DEVICE legt keine readings mit Ziffern am Anfang an
Beitrag von: betateilchen am 18 April 2022, 14:46:12
?



Edit:
Ah ok.
Du meinst, wenn man die readingName in Anführungszeichen setzt, funktioniert es. Danke.
Titel: Antw:[gelöst] [bug?] MQTT2_DEVICE legt keine readings mit Ziffern am Anfang an
Beitrag von: rudolfkoenig am 18 April 2022, 14:50:26
Ist in diesem Fall nichts FHEM-spezifisches, sondern eine gewoehnliche Initialisierung eines Perl-Hashes.
Titel: Antw:[gelöst] [bug?] MQTT2_DEVICE legt keine readings mit Ziffern am Anfang an
Beitrag von: betateilchen am 18 April 2022, 14:54:05
ok, ich hatte mich an der commandref orientiert:

Zitat

Example:
  attr dev readingList\
    myDev/temp:.* temperature\
    myDev/hum:.* { { humidity=>$EVTPART0 } }


... und da waren halt auch keine Anführungszeichen  ;)