Roller Shutter: Inversion and Homekit

Using

  • Z-Wave binding (Razberry and Aeotec Nano Shutter)
  • Homekit Add-On
  • Item
Rollershutter	WZ_Rolllade_links	"Rolllade Terrassentür [%d %%]"		<blinds>	(gRollladen) ["WindowCovering"] {channel="zwave:device:ctrl1:node10:blinds_control"}
  • Sitemap
Switch item=WZ_Rolllade_links	label="Terrassentür [%d%%]" icon="blinds" mappings=[DOWN="Runter", STOP="X     ", UP="Hoch"]

2 Problems here (which are probably depending from each other)

  1. I am 100% sure about cabling. Output #2 of Aeotec Nano shutter is connected to correct motor’s wire so that blinds are moving up (tested with switch - without openHAB)
    Percentage value is ok, at least for Basic UI (0%, blinds are fully up (open), classic icon is matching with the current status).
    Problem: command “UP” moves the blinds down
    Frustrating that now I have to compensate a correct wiring with an inversion workaround.

  2. After control inversion Homekit App however still shows the inverted percentage compared to openHAB Basic UI.
    OK - could be compensated again with percentage inversion.
    But then openHAB would display the wrong icons.

Any ideas?

Thanks in advance

Have you checked some of the other post regarding rollershutter inversion?

https://community.openhab.org/search?q=Rollershutter%20inversion

Thanks for helping but did you read my question completely?
I already said that I already inverted control (which in fact can only be a workaround as the cabling is correct).
Furthermore I already said that I could invert the percentage for Homekit, but then Basic UI would show wrong values/icons.

Do you understand? Homekit and Basic UI are interpreting the values differently i.e. invertedly.

I wonder if using a profile follow for the item would help? Sorry I don’t have rollershutters so can’t test much.

If that doesn’t work then use a rule to post the correct value to OH.

Here’s an example rule for inverting a dimmer command to Alexa example:

rule "Buero_Colortemp_Alexa Commands"
when
  Item Buero_Colortemp_Alexa received command
then
  Buero_Colortemp_Test.sendCommand(100 - receivedCommand as PercentType)
end

rule "Buero_Colortemp_Test Changes"
when
  Item Buero_Colortemp_Test changed
then
  Buero_Colortemp_Alexa.postUpdate(100 - Buero_Colortemp_Test.state as PercentType)
end

You may can tweak the example to do something similar for the info OH is receiving?

One more information which makes me think, that something is not correct with the binding:

  • Blinds are up, openHAB shows 0% - fine
  • When sending “Down” command, percentage switches to 100% and then back to a smaller percentage e.g. 3% and continues to count up to 100% until the blinds have reached their final position (100%)

Why Dou you think that this is not ok?

messaging is as follows:

  1. Item is commanded to lower the Shutter.
  2. openHAB sends the command DOWN to the binding.
  3. openHAB does an autoupdate for the Item. As the command was DOWN, the calculated state is 100
  4. the actuator starts the motor
  5. while closing the shutter, the actuator updates the position frequently.
  6. openHAB receives state updates
  7. the Item is updated to the current position.

So, there is no wrong behavior. If you don’t want the jump from 0 to 100, add an autoupdate=“false” to the Item definiton:

Rollershutter WZ_Rolllade_links "Rolllade Terrassentür [%d %%]" <blinds> (gRollladen) ["WindowCovering"] {channel="zwave:device:ctrl1:node10:blinds_control", autoupdate="false"}

Hi Udo,
many thanks for your explanations - got it. Makes sense now to me.
Do you have an explanation why up and down commands are inverted? Not a big problem anymore, but I’d like to understand.

Thanks a lot