Hi, i bought myself a IKEA Fyrtur blind. Connected to openHAB via zigbee2MQTT. So far so good.
The Fyrtur blind supports 2 inputs in zigbee2mqtt: “position” and “state”.
With “state” i can control if the blind go up, down or stop. With “position” i can control the exact position with a value between 0 and 100.
When connecting the “state” channel to a rollershutter item, i can control up (fully open), close (fully closed) or stop. But it does not accept a value between 0 and 100. So i added a second channel to the item. The “position” channel. Now i can control up, down and a value between 0 and 100. But whenever i send “STOP” via the item, both channels react. But the position channel receives the command “STOP” and decides to fully open the blind, instead of stopping the current action. Now my question is: Is there a way to exlude the “STOP” command from the position channel. So only the “state”-channel reacts to the “STOP” command?
I tried it with a MAP Transformation in the .things file. But it still uses the command to open the blinds fully. I dont want to use multiple items and a rule as workarounds.
I hope you guys understand what i am trying to explain.
.things
Thing mqtt:topic:Rollladen_links_Wohnzimmer "Z2M: Rollladen links Wohnzimmer" (mqtt:broker:823098e4c9) {
Channels:
Type rollershutter : position "Position" [stateTopic="zigbee2mqtt/Rollladen_links_Wohnzimmer", commandTopic="zigbee2mqtt/Rollladen_links_Wohnzimmer/set/position", transformationPattern="JSONPATH:$.position"]
Type rollershutter : state "Zustand" [commandTopic="zigbee2mqtt/Rollladen_links_Wohnzimmer/set/state", stateTopic="zigbee2mqtt/Rollladen_links_Wohnzimmer/state", transformationPattern="JSONPATH:$.state", transformationPatternOut="MAP:ikeafyrtur.map"]
}
.ikeafyrtur.map
100=close
0=open
STOP=stop
.items
Rollershutter Z2M_Rollladen_links_Wohnzimmer "Rollladen links Wohnzimmer [%s%%]" {
channel="mqtt:topic:Rollladen_links_Wohnzimmer:state",
channel="mqtt:topic:Rollladen_links_Wohnzimmer:position"
}