YAMRI (Yet another MQTT retained issue)

I need retained messages in only one channel of a thing. My thing file looks like

Bridge mqtt:broker:localMqttSmart88 [ host="10.0.2.5", secure=false, username="xxx", password="xxx"] {
 Thing topic Torsteuerung "Torsteuerung" @ "Vorhof" {
    Channels:
      Type switch : open  [ stateTopic="smart88/tor/open/state" , commandTopic="smart88/tor/open/set", on="ON", off="OFF"]
      Type switch : close [ stateTopic="smart88/tor/close/state" , commandTopic="smart88/tor/close/set", on="ON", off="OFF"]
      Type switch : lock  [ stateTopic="smart88/tor/lock/state" , commandTopic="smart88/tor/lock/set", on="ON", off="OFF", retained=true]
      Type switch : flash [ stateTopic="smart88/tor/flash/state" , commandTopic="smart88/tor/flash/set", on="ON", off="OFF"]
      Type string : log   [ stateTopic="smart88/tor/log/state"]
      }
}

Everything works smooth as expected but the “smart88/tor/lock/set” command is not published as a retained message. MQTT-Log looks like

<timestamp> Received PUBLISH from <openhab> (d0, q1, r0, m1, 'smart88/tor/lock/set' ... (2 Bytes)

I expected the r-Bit set but I wonder also, why the q-Bit is set.

Is there anybody out there who can show me where I am wrong or help me to understand that? And no, I don’t want to use the Paper UI to define my configuration, I’m an old fashioned text guy who loves openHAB for it’s config files…

1 Like