Deutsche Beschreibung: https://github.com/ivan73/roto_plugin/wiki/roto_plugin.Doku.de
(sorry für mein Englisch: die Englische Version der Beschreibung wurde größtenteils mit Google-Translate übersetzt..)
The plugin calculates the current position of the skylight (alternatively, the blinds / shutters) over the runtime. The position is continuously updated in to the position Item. For this, the plugin will trigger itself (by scheduler) About the (external) setting the position Item also positions can be approached.
referencing: When you first start the plugin, the position is assumed to be 50%. (Item is set with value = 50 to initial value 50%) If the skylight / the blind completely opened or closed, the position corrected roto_time_up or roto_time_down.
Two items for the shutter push-button or buttons in the visualization for up_down and Stop_Step. Two actuators channels on a Roto roof windows (up and down).
(Alternatively, a shutter actuator (which no position determination has))
Please provide a plugin.conf snippet for your plugin with ever option your plugin supports. Optional attributes should be commented out.
[roto] class_name = Roto class_path = plugins.roto
*roto_plugin(mandatory) = active Identifies the item as an object of the Roto-plugin. The value of this attribute must necessarily be "active" roto_plugin = active
*type (mandatory): Data type of the object item. Must use "bool". type = bool
*eval_trigger (mandatory) The property items must be triggered when a key (or button) is pressed, or when a position to be approached.
*eval (mandatory) In each triggers the state of the object is to change items. eval = not sh.Dg.Flur.Dachfenster.Roto
*roto_up_down (mandatory) The button item that is to be monitored must be specified at the level of object items. With a 0-signal, the actuator moves up. With a 1-signal, the actuator moves down.
*roto_stop (mandatory) The button item that is to be monitored must be specified at the level of object items. If the item changed during the journey: With a 0 or 1 signal, the drive is stopped. otherwise: With a 0 signal, the actuator moves one step up. (Increment adjustable via roto_time_step) With a 1-signal, the actuator moves one step down. (Increment adjustable via roto_time_step)
*roto_position (0-100)(mandatory) The position item that is to be monitored or set must be specified at the level of object items. About this item, the calculated position is updated. If this item is set to a value, this position is approached.
*roto_actor_open (mandatory) Actuator Item to open the roto skylight *roto_actor_close (mandatory) Actuator Item to close the roto skylight
*roto_actor_up_down Actuator Item to open the shutter *roto_actor_stop Actuator Item to close the shutter
*roto_time_up (seconds)(optional, default 60 seconds) mx. Runtime when opening (necessary for the calculation of the position)
*roto_time_down (seconds)(optional, default 60 seconds) Max. Runtime when closing (necessary for the calculation of the position)
*roto_time_step (seconds)(optional, default 10 seconds) the step time
*roto_cycle_time (seconds)(optional, default 5 seconds) time interval the Position - item updated while running
# items/example.conf [Dg] [[Flur]] [[[Dachfenster]]] [[[[Auf_ab]]]] # Gruppenadresse des KNX- Taster oder Button in Visu type = bool visu = yes visu_acl = rw knx_dpt = 1 knx_listen = 3/2/114 enforce_updates = True [[[[Lamellenverstellung_stop]]]] # Gruppenadresse des KNX- Taster oder Button in Visu type = bool visu = yes visu_acl = rw knx_dpt = 1 knx_listen = 3/2/115 enforce_updates = True [[[[Position]]]] # errechnete Position; beim Setzen dieses Items wird diese Position angefahren 0-100 type = num value = 50 # Initialer Wert 50% cache = True visu = yes visu_acl = rw enforce_updates = True [[[[Aktor_Zu]]]] # Schaltaktor für ZuFahren - für Roto Dachfenster!! type = bool knx_dpt = 1 knx_send = 4/2/114 enforce_updates = True [[[[Aktor_Auf]]]] # Schaltaktor für Auffahren - für Roto Dachfenster!! type = bool enforce_updates = True knx_dpt = 1 knx_send = 4/2/115 #[[[[Aktor_Auf_ab]]]] # Gruppenadresse des Jalousieaktors # type = bool # enforce_updates = True # knx_dpt = 1 # knx_send = 4/2/114 #[[[[Aktor_stop]]]] # Gruppenadresse des Jalousieaktors # type = bool # enforce_updates = True # knx_dpt = 1 # knx_send = 4/2/115 [[[[Roto]]]] # Objekt Item / wird für das Plugin benötigt!! roto_plugin = active # Kennzeichen für das Plugin type = bool # muss bool sein eval_trigger = Dg.Flur.Dachfenster.Auf_ab | Dg.Flur.Dachfenster.Lamellenverstellung_stop | Dg.Flur.Dachfenster.Position # Triggern des Items wenn Taster gedrückt wird eval = not sh.Dg.Flur.Dachfenster.Roto # wird für das Plugin benötigt roto_up_down = Dg.Flur.Dachfenster.Auf_ab # Taster 0 ab ; 1 auf roto_stop = Dg.Flur.Dachfenster.Lamellenverstellung_stop # Stop oder 0 Schritt ab ; 1 Schritt auf roto_position = Dg.Flur.Dachfenster.Position # aktuelle Position oder Position anfahren 0-100 #roto_actor_up_down = Dg.Flur.Dachfenster.Aktor_Auf_ab # Item GA des Jalousiekators #roto_actor_stop = Dg.Flur.Dachfenster.Aktor_stop # Item GA des Jalousiekators roto_actor_open = Dg.Flur.Dachfenster.Aktor_Auf # Item Schaltaktor für Roto Dachfenster!! roto_actor_close = Dg.Flur.Dachfenster.Aktor_Zu # Item Schaltaktor für Roto Dachfenster!! roto_time_up = 60 # [Sekunden] max. Fahrzeit beim Auffahren roto_time_down = 58 # [Sekunden] max. Fahrzeit beim Ab(Zu)fahren roto_time_step = 6 # [Sekunden] Zeit beim Schrittweise fahren roto_cycle_time = 5 # [Sekunden] Aktualisierungsintervall des Positionsitems
To use the plugin whith shutter actuators the Items "Aktor_Zu" and "Aktor_Auf" are disabled, and the two items "Aktor_Auf_ab" and "Aktor_stop" are activated. Disable "roto_actor_open" the items and "roto_actor_close" and enable the two items "roto_actor_up_down" and "roto_actor_stop" in the Objekt-Item "[[[[Roto]]]]" (the Item addresses has to be adjusted)
# items/example.conf #[[[[Aktor_Zu]]]] # Schaltaktor für ZuFahren - für Roto Dachfenster!! # type = bool # knx_dpt = 1 # knx_send = 4/2/114 # enforce_updates = True #[[[[Aktor_Auf]]]] # Schaltaktor für Auffahren - für Roto Dachfenster!! # type = bool # enforce_updates = True # knx_dpt = 1 # knx_send = 4/2/115 [[[[Aktor_Auf_ab]]]] # Gruppenadresse des Jalousieaktors type = bool enforce_updates = True knx_dpt = 1 knx_send = 4/2/114 [[[[Aktor_stop]]]] # Gruppenadresse des Jalousieaktors type = bool enforce_updates = True knx_dpt = 1 knx_send = 4/2/115 [[[[Roto]]]] # Objekt Item / wird für das Plugin benötigt!! roto_plugin = active # Kennzeichen für das Plugin type = bool # muss bool sein eval_trigger = Dg.Flur.Dachfenster.Auf_ab | Dg.Flur.Dachfenster.Lamellenverstellung_stop | Dg.Flur.Dachfenster.Position # Triggern des Items wenn Taster gedrückt wird eval = not sh.Dg.Flur.Dachfenster.Roto # wird für das Plugin benötigt roto_up_down = Dg.Flur.Dachfenster.Auf_ab # Taster 0 ab ; 1 auf #roto_stop = Dg.Flur.Dachfenster.Lamellenverstellung_stop # Stop oder 0 Schritt ab ; 1 Schritt auf #roto_position = Dg.Flur.Dachfenster.Position # aktuelle Position oder Position anfahren 0-100 roto_actor_up_down = Dg.Flur.Dachfenster.Aktor_Auf_ab # Item GA des Jalousiekators roto_actor_stop = Dg.Flur.Dachfenster.Aktor_stop # Item GA des Jalousiekators roto_actor_open = Dg.Flur.Dachfenster.Aktor_Auf # Item Schaltaktor für Roto Dachfenster!! roto_actor_close = Dg.Flur.Dachfenster.Aktor_Zu # Item Schaltaktor für Roto Dachfenster!! roto_time_up = 60 # [Sekunden] max. Fahrzeit beim Auffahren roto_time_down = 58 # [Sekunden] max. Fahrzeit beim Ab(Zu)fahren roto_time_step = 6 # [Sekunden] Zeit beim Schrittweise fahren roto_cycle_time = 5 # [Sekunden] Aktualisierungsintervall des Positionsitems