Rule for Rollershutter as Dimmer Item

Dear all,

I’ve got some Z-Wave rollershutter actors (Philio). After upgrading to oH2.4 the BinarySwitch channels is no longer available which affects my rules.

Dimmer  eg_az_r_SwitchDimmer       "Rollladen [%s]"                           <rollershutter> (Grollo,Gad,Gzwave)    {channel="zwave:device:xxxxxx:node13:switch_dimmer"}
Number  eg_az_r_SceneNumber        "Rollladen - Scene Number"                     (GrolloX)    {channel="zwave:device:xxxxxx:node13:scene_number"}
Number  eg_az_r_MeterWatts         "Rollladen - Electric meter (watts)"           (GrolloX)    {channel="zwave:device:xxxxxx:node13:meter_watts"}
Number  eg_az_r_MeterPowerfactor   "Rollladen - Electric meter (power factor)"    (GrolloX)    {channel="zwave:device:xxxxxx:node13:meter_powerfactor"}
Number  eg_az_r_MeterKwh           "Rollladen - Electric meter (kWh)"             (GrolloX)    {channel="zwave:device:xxxxxx:node13:meter_kwh"}
Number  eg_az_r_MeterCurrent       "Rollladen - Electric meter (amps)"            (GrolloX)    {channel="zwave:device:xxxxxx:node13:meter_current"}
Number  eg_az_r_MeterVoltage       "Rollladen - Electric meter (volts)"           (GrolloX)    {channel="zwave:device:xxxxxx:node13:meter_voltage"}
Switch  eg_az_r_AlarmGeneral       "Rollladen - Alarm"                            (GrolloX)    {channel="zwave:device:xxxxxx:node13:alarm_general"}

Besides automatic rules I used to control the rollershutter with a Xiaomi miniswitch, so it was possible to open and close the rollershutter and stop it (while it moves).

With oH2.4 I need to control it via the “switch_dimmer” channel - but don’t know how to implement the stop command:

rule "Rollladen manuell"
when
    Channel "mihome:sensor_switch:xxxxxxxx:button" triggered SHORT_PRESSED
then
    if (eg_az_r_SwitchDimmer.state == 0) {
        logInfo("ROLLLADEN", "--> down")
        eg_az_r_SwitchDimmer.sendCommand(ON)
    }
    if (eg_az_r_SwitchDimmer.state == 100) {
        logInfo("ROLLLADEN", "--> up")
        eg_az_r_SwitchDimmer.sendCommand(OFF)
    }
end

Any help would be appreciated
Thanks,
Selter

1 Like

Hello, could use some of the informations two. Seems that a few things changed with 2.4.

Thank you in advance.

Matthias

When the rollershutter is moving, the relay provides values for the power consumption.

eg_az_r_MeterWatts changed from 0 to 115

Maybe this could be used for another rule (when the button is pushed) - like this:

rule "Rollladen AZD manuell stop"
when
    Channel "mihome:sensor_switch:xxxxxxxxx:button" triggered SHORT_PRESSED
then
    if (eg_az_r_SwitchDimmer.state > 0 && eg_az_r_SwitchDimmer.state < 100 && eg_az_r_MeterWatts.state >= 20) {
        logInfo("ROLLLADEN", "--> AZD STOP @" + eg_az_r_SwitchDimmer.state)
        eg_az_r_SwitchDimmer.sendCommand(eg_az_r_SwitchDimmer.state as Number)
    }
    else {
        return
    }
end

The first if condition in rule from my first post needs to be amended:

    if (eg_az_r_SwitchDimmer.state >= 0 && eg_az_r_SwitchDimmer.state < 100) {
        logInfo("ROLLLADEN", "--> AZD über Minibutton runterfahren")
        eg_az_r_SwitchDimmer.sendCommand(ON)
    }

This workaround is quite dirty as there is a delay between getting the values for “eg_az_r_SwitchDimmer.state” and send the command to the relay. Furthermore the % values of it are unfortunately not accurate. A state for 50(%) doesn’t mean that the rollershutter is half way closed …

Other ideas are very welcome :slight_smile: