[gelöst] Via MQTT Boolean senden

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
lenschith
Beiträge: 314
Registriert: 11. Dez 2020 22:36
Answers: 0

[gelöst] Via MQTT Boolean senden

Beitrag von lenschith »

Hallo zusammen,

ich möchte via openHAB und MQTT ein Boolean senden? Ich habe es mit einen Switch versucht und "true" gesendet aber das interessiert den Button nicht. Ich möchte einen Datensatz am ioBroker auf true setzen.

Ich habe als MQTT Mosquitto am laufen.
Leider schaffe ich es nicht wirklich ein true in den Datensatz zu schreiben. Ich habe auch schon in einer Facebookgruppe angefragt und die Info bekommen das es mit einer Rule funktionieren muss. Aber hier scheitere ich.

Kann mir hier jemand behilflich sein?

So sieht meine Rule aus. Es kommt auch im Datenfeld "true" an aber anscheinend nicht als Boolean sondern als String

Code: Alles auswählen

rule "Reset On"
when
  Item Reset changed to ON
then
  val mqttActions = getActions("mqtt","mqtt:broker:Mosquitto")
  mqttActions.publishMQTT("parameter/reset", "true", true)
end

rule "Reset Off"
when
  Item Reset changed to OFF
then
  val mqttActions = getActions("mqtt","mqtt:broker:Mosquitto")
  mqttActions.publishMQTT("parameter/reset","false", false)
end
Danke für die Unterstützung
Lenschi
Zuletzt geändert von lenschith am 3. Jan 2021 21:23, insgesamt 1-mal geändert.
openHAB4.3.3 in einem Docker Container auf RPI5-8GB, AVM: Fritz!Box 7590 - SMART301/302 - Comet, SMART200/210, SMART440, Alexa, Shelly, Tasmota, ESP Easy, WLED

Benutzeravatar
udo1toni
Beiträge: 15265
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Via MQTT Boolean senden

Beitrag von udo1toni »

Hast Du Dir mal mit einem mqtt Sniffer angeschaut, wie der Boolean Wert dargestellt wird? "true" und "false" sind erst mal Strings. Nur wenn der betreffende Client exakt diese Strings entsprechend auswertet, werden daraus Boolean Werte.

Der (optionale) dritte Parameter bei publishMQTT() ist vom Typ Boolean, bestimmt allerdings nur, ob der Wert retained wird oder nicht.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Benutzeravatar
lenschith
Beiträge: 314
Registriert: 11. Dez 2020 22:36
Answers: 0

Re: Via MQTT Boolean senden

Beitrag von lenschith »

Ich habe mit MQTT.fx geprüft und dort sehe ich auch nur true bzw. false.

im ioBroker ist das Datenfeld folgend aufgebaut.

Code: Alles auswählen

  
  "type": "state",
  "common": {
    "role": "button",
    "name": "reset",
    "type": "boolean",
    "write": true
    
Gruß Lenschi
openHAB4.3.3 in einem Docker Container auf RPI5-8GB, AVM: Fritz!Box 7590 - SMART301/302 - Comet, SMART200/210, SMART440, Alexa, Shelly, Tasmota, ESP Easy, WLED

Benutzeravatar
lenschith
Beiträge: 314
Registriert: 11. Dez 2020 22:36
Answers: 0

Re: Via MQTT Boolean senden

Beitrag von lenschith »

Das Problem konnte ich lösen siehe https://forum.iobroker.net/topic/40290/ ... %A4ndern/9
Problem war der MQTT Client auf dem ioBroker
openHAB4.3.3 in einem Docker Container auf RPI5-8GB, AVM: Fritz!Box 7590 - SMART301/302 - Comet, SMART200/210, SMART440, Alexa, Shelly, Tasmota, ESP Easy, WLED

Antworten