MQTT roller blinds - stop mapping not working?

I’ve got automated blinds from Rollertrol and am using a Wemos D1 mini I’ve programmed up and built onto a circuit board with some mosfets etc to basically take MQTT messages from OpenHAB to open/close the blinds (via their relay controller, which in turn sends messages to the blinds themselves via RF signals). Anyways, it all works and has done for sometime, although recently I decided to add the blind ‘stop’ functionality to it, so altered my items and sitemap files and changed Wemos code to trigger the ‘stop’ relay via another GPIO pin and MQTT message on the Wemos. This works perfectly fine if I send the message via the command line (eg: mosquitto_pub … etc)

But hitting ‘Stop’ in OpenHAB GUI doesn’t send the message though, what am I doing wrong? Must be something simple…

items file
Switch hallblindTrigger "Hall Blinds" <blinds> { mqtt=">[mqttbroker:openhab/blinds/trigger:command:ON:OPEN],>[mqttbroker:openhab/blinds/trigger:command:STOP:STOP],>[mqttbroker:openhab/blinds/trigger:command:OFF:CLOSE]" }

sitemap
Switch item=hallblindTrigger mappings=[ON="Open", STOP="Stop", OFF="Close"]

Did you check the logs.
Does openhab recognize the item update to STOP?
Does openhab send the STOP-message?
Does it arrive at the mqtt broker?

If I sub to the topic, eg:

mosquitto_sub -v -t openhab/blinds/#

I see no messages arrive to it when pressing STOP in OpenHAB UI - so must be configuration issue in items or sitemap (CLOSE and OPEN messages arrive perfectly fine)

Thinking about this as I type… I’m assuming its because I’m defining the item as a switch therefore its expecting either an on or off state and nothing in between. I’ll try a number and send numeric values to do on, off or stop…

Ugh, so simple… that was it, I changed the declaration of the item from ‘switch’ to ‘string’, leaving sitemap as switch. problem sorted!

Maybe this helps too…
switch has two states: ON or OFF
Rollershutter has three states: UP,DOWN and STOP

Ahhh of course, thanks!!! :blush: