Hi @yfre
sorry for my late reply. My little boy was sick over the week, followed by me. Sorry for that.
I catched several more information: If i close the rollershutter in openHAB (i.e. 100%) Homekit shows the shutter being open 1%. Weird. Why 1%? If i move this down to 0%, the rollershutter opens completely.
But answering your question: Everything else besides 0 or 100% is fine. Moving to 85% in the homekit app moves the shutters to 85% closed. BUT: 85% looks just like being nearly fully opened. And instantly HomeKit shows the shutter being fully closed (i had to make the picture during moving the slider, on release of the slider, it directly went to fully closed).
Here a short picture story, starting at fully closed:
Now going to 85% in HomeKit App (which is shown as nearly open) (don’t mind that this is now shutter2, just realized that i was missing a picture of my test today):
Conclusion => Percentage works perfectly, but homekit is really weird. Has anybody an idea?
Here is my *.items file
Rollershutter MQTT_Rolll7Pos "Rollladen 7 [%.0f %%]" <rollershutter> (gRolll7, gRolllPos) {channel="mqtt:topic:mqttbroker:Rolll:Rolll7Pos"}
Number MQTT_Rolll7Target "Rollladen 7 [%.0f %%]" <rollershutter> (gRolll7) {homekit="WindowCovering" [inverted="false"]}
Rollershutter MQTT_Rolll7Cmd "Rollladen 7 [%.0f %%]" <rollershutter> (gRoll7) {channel="mqtt:topic:mqttbroker:Rolll:Rolll7"}
A rule pushes the “Pos” channel to the Target and Cmd channel as status, so that they also reflect the current state. ( I think i have to do this for HomeKit also, but haven’t done yet).
rule "Rollershutter - postUpdate positions to target and command channels"
when
Item MQTT_Rolll7Pos changed
then
// Rule to push the Position Channel to the Target and Command Channel
// This helps, that target and command channel also show the position
// to keep it simple just update ALL positions
postUpdate(MQTT_Rolll7Target , MQTT_Rolll7Pos.state)
postUpdate(MQTT_Rolll7Cmd, MQTT_Rolll7Pos.state)
end
Another very hugh rule calculates the drive time from the current and the target position, determines the drive direction sendCommand to the Cmd channel, triggers a timer and sendCommand a STOP. That works perfectly fine.
Thereby Roll7Pos is only a state MQTT item ranging from 0 to 15000, reflecting the milliseconds my shutter drives where 0 is fully open and 15000 is fully closed.
My rollershutter react on rollershutter commands “OPEN”, “CLOSED”, “STOP”. Therefore i need the Rolll7Cmd channel.
The Rolll7Target channel is the interaction menu, specifying how much open i want to have the shutter.
Finally, my status channel is configured like this
Any help would highly highly be appreciated. Thanks a lot!
Patrick