How can I make sure that a command is actually sent?

  • Platform information:
    • Hardware: RP3
    • OS: Openhabian
    • openHAB version: 2.1

My problem is that commands are only sent to the devices when openhab thinks the device state (ON/OFF or OPEN/CLOSE) differs from the desired state.

Here extracts of the config files
default.sitemap
Frame label=“Shutters” {
Switch item=RolloWZ label=“Rollo Wohnzimmer” icon=“rollershutter” mappings=[ “ON”=“Ab”, “OFF”=“Hoch” ]
Switch item=RolloSZ label=“Rollo Schlafzimmer” icon=“rollershutter” mappings=[ “ON”=“Ab”, “OFF”=“Hoch” ]
Switch item=RolloSaNord label=“Rollo Samira Nord” icon=“rollershutter” mappings=[ “ON”=“Ab”, “OFF”=“Hoch” ]
Switch item=RolloSaSued label=“Rollo Samira Süd” icon=“rollershutter” mappings=[ “ON”=“Ab”, “OFF”=“Hoch” ]
}

exec.items:
String RolloWZ “Rollo” [“Switchable”] { channel=“exec:command:RolloT_control:input”, autoupdate=“false” }
String RolloSZ “Rollo Schlafzimmer” [“Switchable”] { channel=“exec:command:RolloSZ_control:input”, autoupdate=“false” }
String RolloSaNord “Rollo Samira Nord” [“Switchable”] { channel=“exec:command:RolloSaNord_control:input” }
String RolloSaSued “Rollo Samira Süd” [“Switchable”] { channel=“exec:command:RolloSaSued_control:input” }

exec.things:
Thing exec:command:RolloT_control [ command="/usr/bin/RolloT_control.sh %2$s", interval=0, autorun=true ]
Thing exec:command:RolloSZ_control [ command="/usr/bin/RolloSchlafz_control.sh %2$s", interval=0, autorun=true ]
Thing exec:command:RolloSaNord_control [ command="/usr/bin/RolloSamiraNord_control.sh %2$s", interval=0, autorun=true ]
Thing exec:command:RolloSaSued_control [ command="/usr/bin/RolloSamiraSued_control.sh %2$s", interval=0, autorun=true ]

Now if I only use openhab to control the shutters there is no problem, but when someone uses the manual switch of the shutter i.e. to open the shutter. openhab still thinks the shutter is closed.
When I now try to close the shutter via openhab again, openhab recognizes that I want to close “Log: Item ‘RolloSaNord’ received command ON” (ON=Close in this case) but doesn’t send the corresponding command to the shutter.
As there are different commands to close and to open the shutter it would be no problem if an “open” command is send even if the shutter is still open.
But now I have to open an still open shutter before I can close it.

I’m sure there’s an easy way to tell openhab that it should always send the command, no matter what status the device is in, but I haven’t found anything like it in spite of a long search.

Regards
Erich

Hi,

maybe you can add a rule to send the command out, i never needed this so i don’t know if it is working :thinking: but you could give it a try with something like:

rule "test"
when
    Item RolloSaNord received update ON
then
    RolloSaNord.sendCommand(ON)
end

Regards
Matthias

Thank you Matthias,

In the meanwhile I have create two rules for each item. One for power on one for power off.
But I find it strange that the developers didn’t provide a flag to control it.

Regards
Erich

Please use code fences

```
code goes here
```

Does it work if you remove the autoupdate or change the autoupdate to true in your Items definition?

I have tried autoupdate=false and autoupdate=true but the problem didn’t change.