semanticHomeMenu Part 8 - Rollershutter [4.0.0.0;4.9.9.9]

semanticHomeMenu - Rollershutter

image

The rollershutter card is one of the sub widgets to let you control your rollershutters with a unique look and feel.
Apart from just controlling your rollershutters with sending up and down commands, you can also send predefined values like 50% to your device.

grafik

Additionaly you can setup time based opening and closing of rollershutters with the DateTime-trigger for rules.

Usage and Configuration

This widget can be installed via the marketplace. For basic operation, no configuration is needed.

To use the time based triggers, there are some additional steps needed if not already changed on the marketplace.

  • Install the timepicker widget from the marketplace.
  • change lines 49,69,123,143,187 and 218 from
 YYYY-MM-DDTHH:mm:ss.ZZ

to

  - YYYY-MM-DDTHH:mm:ss.SSSZZ
  • You will need 5 additional items in your rollershutter equipment group, here we take the rollershutters in the childroom as an example
    • A Switch item to enable/disable the automatic/time control [optional]
    • 4 DateTime items for holding the different Times, openWeekday, closeWeekday, openWeekend, closeWeekend [optional]

Example for textual item import (TBC)

Group                       RollershutterChildroom                                          "Rollershutter"                       <rollershutter>       (gChildroom, allRollers)                              ["Blinds"]                         {uiSemantics="uiSemantics"[preposition=" in the", equipment="Rollershutter", location="Childroom"]}
Rollershutter               RollershutterChildroom_control                                  "Control"                             <rollershutter>       (RollershutterChildroom, gShades)                     ["Control" ,"Opening"]             {uiSemantics="uiSemantics"[preposition=" in the", equipment="Rollershutter", location="Childroom"]}
Switch                      RollershutterChildroom_scheduleControl                          "Schedule"                            <time>                (RollershutterChildroom)                              ["Control", "Timestamp"]
DateTime                    RollershutterChildroom_openWeek                                 "Open Weekdays"                       <time>                (RollershutterChildroom)                              ["Control", "Timestamp"]           {stateDescription=" "[pattern="%1$tH:%1$tM"], widget="widget:timepicker"[timeFormat="24h"], listWidget="widget:timepicker"[timeFormat="24h"]}
DateTime                    RollershutterChildroom_closeWeek                                "Close Weekdays"                      <time>                (RollershutterChildroom)                              ["Control", "Timestamp"]           {stateDescription=" "[pattern="%1$tH:%1$tM"], widget="widget:timepicker"[timeFormat="24h"], listWidget="widget:timepicker"[timeFormat="24h"]}
DateTime                    RollershutterChildroom_openWeekend                              "Open Weekend"                        <time>                (RollershutterChildroom)                              ["Control", "Timestamp"]           {stateDescription=" "[pattern="%1$tH:%1$tM"], widget="widget:timepicker"[timeFormat="24h"], listWidget="widget:timepicker"[timeFormat="24h"]}
DateTime                    RollershutterChildroom_closeWeekend                             "Close Weekend"                       <time>                (RollershutterChildroom)                              ["Control", "Timestamp"]           {stateDescription=" "[pattern="%1$tH:%1$tM"], widget="widget:timepicker"[timeFormat="24h"], listWidget="widget:timepicker"[timeFormat="24h"]}

You will then need to add initial states to the 4 DateTime items via API-Explorer.

  • Create 4 rules for opening and closing the rollershutter [optional]
    • When : it is a date and time specified in an item → choose item “RollershutterChildroom_openWeek”
    • Then : Send command up to RollershutterChildroom_control item
    • But only if
    • Ephemeris : it is a weekday
    • If RollershutterChildroom_scheduleControl = ON
    • If RollershutterChildroom_control.state != 0

Codepage for the rule:

configuration: {}
triggers:
  - id: "1"
    configuration:
      itemName: RollershutterChildroom_openWeek
      timeOnly: true
    type: timer.DateTimeTrigger
conditions:
  - inputs: {}
    id: "3"
    configuration:
      offset: 0
    type: ephemeris.WeekdayCondition
  - inputs: {}
    id: "4"
    configuration:
      itemName: RollershutterChildroom_scheduleControl
      state: ON
      operator: =
    type: core.ItemStateCondition
  - inputs: {}
    id: "5"
    configuration:
      itemName: RollershutterChildroom_control
      state: "0"
      operator: "!="
    type: core.ItemStateCondition
actions:
  - inputs: {}
    id: "2"
    configuration:
      command: UP
      itemName: RollershutterChildroom_control
    type: core.ItemCommandAction

Repeat this for all 4 times to control.

Community

Please check openHAB community for discussions and proposals. Do not post on the marketplace topics.

Changelog

Version 1.0.1

  • ressource link corrected

Version 1.0

  • initial release for openHAB 4

Resources

https://github.com/hmerk/semanticHomeMenu/raw/main/rollershutter/semanticHomeMenu_Rollershutter.yaml

1 Like