NEWS
MQTT on/off zu boolean konvertieren
-
Ich will einige Shellys mit IoBroker via MQTT verbinden, soweit so gut.
Wenn die Shellys eine message publishen bekommt der MQTT-Adapter bei IOBroker entweder einen ON oder einen OFF String, ich hätte aber gerne das in ein Bool umkonvertiert, damit ich es später einfacher in einer Vis verarbeiten kann.
Gibt es dafür vernünftige Lösungen?Hier die Objekt yml:
{ "common": { "name": "shellies/shellyswitch25-8D18E9/relay/0/command", "write": true, "read": true, "role": "variable", "desc": "mqtt server variable", "type": "string" }, "native": { "topic": "shellies/shellyswitch25-8D18E9/relay/0/command" }, "type": "state", "from": "system.adapter.mqtt.0", "user": "system.user.admin", "ts": 1653589449412, "_id": "mqtt.0.shellies.shellyswitch25-8D18E9.relay.0.command" }
-
-
@paul53 kannst du mir ein kleines Beispiel geben, wie ich das Realisiere?
Habe das folgende ohne Erfolg ausgetestet:{ "type": "state", "common": { "name": "shellies/shelly1-7777E3/relay/0/command", "role": "variable", "type": "boolean", "read": true, "write": true, "alias": { "id": "mqtt.0.shellies.shelly1-7777E3.relay.0.command", "read": " val == on ? true :false" } }, "_id": "alias.0.MyNewAlias.command", "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1653598574630 }
Danke dir
-
@domep
Lass Zeile 11 ("read") weg, denn "OFF"/"off" (und "ON"/"on") werden automatisch beim Lesen konvertiert.
Bei Verwendung von "read" muss "on" in Hochkommata gesetzt werden."read": "val == 'on' ? true : false"
Groß- / Kleinschreibung beachten!
-
@paul53 ah okay danke dir, das funktioniert soweit, aber eine Sache fehlt noch.
Wie bekomme ich es hin, dass wenn Alias auf true oder false gesetzt wird der Shelly "on" bzw "off" geht?
Weil jetzt kriegt der Shelly ein true oder false Signal vom Alias, womit er aber nicht umgehen kann. -
@domep sagte: wenn Alias auf true oder false gesetzt wird der Shelly "on" bzw "off" geht?
Unter "alias":
"write": "val ? 'on' : 'off'"
-
@paul53 vielen dank, läuft alles