ich hatte das "alte" Plugin (vor dem grossen Release im Dezember) erfolgreich als Beschattung am Laufen. Da das neue aber die automatische Sperre bei manueller Betätigung beinhaltete, hatte ich bereits im Januar aktualisiert.
Leider entdecke ich bei meiner Implementierung doch ein paar Unklarheiten und hoffe, dass Ihr mir helfen könnt.
Das Problem ist, dass nach einer automatischen Beschattung der Status in "Ausgesetzt bis... " geändert wird und eben nicht Beschattung bleibt"
Auszug aus dem Log:
Code:
2016-05-30 12:40:54.133570 Update state of item Automatik Raffstore EG Wohnzimmer Schiebetuer_rechts ======
2016-05-30 12:40:54.133658 Update triggered by Eval (item=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules source=Raffstore.trigger dest=None)
2016-05-30 12:40:54.133727 Eval initially triggered by Scheduler (item=Raffstore.trigger source=None)
2016-05-30 12:40:54.133877 Last state: Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Tag ('Tag')
2016-05-30 12:40:54.133941 Check if state 'Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Tag' ('Tag') can be left:
2016-05-30 12:40:54.133998 No condition sets defined -> matching
2016-05-30 12:40:54.134051 State can be left
2016-05-30 12:40:54.134141 Check if state 'Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Lock' ('Automatik manuell gesperrt') can be entered:
2016-05-30 12:40:54.134216 Check condition set 'enter':
2016-05-30 12:40:54.134288 Condition 'lock': value=True negate=False current=False
2016-05-30 12:40:54.134342 not OK -> not matching
2016-05-30 12:40:54.134395 State can not be entered
2016-05-30 12:40:54.134447 Check if state 'Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Suspend' ('Ausgesetzt') can be entered:
2016-05-30 12:40:54.134501 Check condition set 'enter_stay':
2016-05-30 12:40:54.134561 Condition 'manuell': min=None max=None negate=False current=True
2016-05-30 12:40:54.134612 no limit given -> matching
2016-05-30 12:40:54.134744 Age of 'manuell': min=None max=7200.0 negate=None current=834.146938
2016-05-30 12:40:54.134798 given age limits ok -> matching
2016-05-30 12:40:54.134862 Condition 'laststate': value=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Suspend negate=False current=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Tag
2016-05-30 12:40:54.134914 not OK -> not matching
2016-05-30 12:40:54.134966 Check condition set 'enter_manuell':
2016-05-30 12:40:54.135070 Executing method 'get_relative_itemid(..manuell)'
2016-05-30 12:40:54.135152 Condition 'trigger_source': value=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.manuell negate=False current=Raffstore.trigger
2016-05-30 12:40:54.135205 not OK -> not matching
2016-05-30 12:40:54.135255 State can not be entered
2016-05-30 12:40:54.135305 Check if state 'Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Beschattung' ('Beschattung') can be entered:
2016-05-30 12:40:54.135367 Check condition set 'enter':
2016-05-30 12:40:54.135428 Condition 'sun_azimut': min=70 max=270 negate=False current=163.664528438982
2016-05-30 12:40:54.135479 given limits ok -> matching
2016-05-30 12:40:54.135529 Age of 'sun_azimut': No limits given
2016-05-30 12:40:54.167704 Condition 'outdoortemperature': min=19.0 max=None negate=False current=24.0
2016-05-30 12:40:54.167772 given limits ok -> matching
2016-05-30 12:40:54.167833 Age of 'outdoortemperature': No limits given
2016-05-30 12:40:54.167930 Condition 'brightnessGt43k': value=True negate=False current=True
2016-05-30 12:40:54.168018 OK -> matching
2016-05-30 12:40:54.168086 Age of 'brightnessGt43k': No limits given
2016-05-30 12:40:54.168185 Condition 'indoortemperature': min=22.0 max=None negate=False current=22.0
2016-05-30 12:40:54.168272 given limits ok -> matching
2016-05-30 12:40:54.169132 Age of 'indoortemperature': No limits given
2016-05-30 12:40:54.169256 Condition 'sun_altitude': min=25 max=None negate=False current=57.74402433774275
2016-05-30 12:40:54.169351 given limits ok -> matching
2016-05-30 12:40:54.169439 Age of 'sun_altitude': No limits given
2016-05-30 12:40:54.190831 State can be entered
2016-05-30 12:40:54.190903 Changing to Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Beschattung ('Beschattung')
2016-05-30 12:40:54.200194 Executing method 'SunTracking()'
2016-05-30 12:40:54.200321 Current sun altitude is 57.74403799812109°
2016-05-30 12:40:54.200638 Blinds at right angle to the sun at 32.25596200187891°
2016-05-30 12:40:54.200719 Action 'lamelle': Set 'Raffstore.EG_wohnzimmer_schiebetuer_rechts.lamelle' to '32.25596200187891'
2016-05-30 12:40:54.215262 Action 'suspend': Set 'Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.suspend' to 'False'
2016-05-30 12:40:54.215440 Action 'hoehe': Set 'Raffstore.EG_wohnzimmer_schiebetuer_rechts.hoehe' to '100'
2016-05-30 12:40:55.229215 Update state of item Automatik Raffstore EG Wohnzimmer Schiebetuer_rechts ======
2016-05-30 12:40:55.229355 Update triggered by Eval (item=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules source=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.manuell dest=None)
2016-05-30 12:40:55.229452 Eval initially triggered by AutoBlind Plugin (item=Raffstore.EG_wohnzimmer_schiebetuer_rechts.hoehe source=None)
2016-05-30 12:40:55.229506 Ignoring changes from AutoBlind Plugin
2016-05-30 12:40:56.218309 Update state of item Automatik Raffstore EG Wohnzimmer Schiebetuer_rechts ======
2016-05-30 12:40:56.218492 Update triggered by Eval (item=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules source=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.manuell dest=None)
2016-05-30 12:40:56.218602 Eval initially triggered by AutoBlind Plugin (item=Raffstore.EG_wohnzimmer_schiebetuer_rechts.hoehe source=None)
2016-05-30 12:40:56.218663 Ignoring changes from AutoBlind Plugin
2016-05-30 12:42:01.149247 Update state of item Automatik Raffstore EG Wohnzimmer Schiebetuer_rechts ======
2016-05-30 12:42:01.149335 Update triggered by Eval (item=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules source=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.manuell dest=None)
2016-05-30 12:42:01.149436 Eval initially triggered by AutoBlind Plugin (item=Raffstore.EG_wohnzimmer_schiebetuer_rechts.hoehe source=None)
2016-05-30 12:42:01.149497 Ignoring changes from AutoBlind Plugin
2016-05-30 12:42:01.203865 Update state of item Automatik Raffstore EG Wohnzimmer Schiebetuer_rechts ======
2016-05-30 12:42:01.203991 Update triggered by Eval (item=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules source=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.manuell dest=None)
2016-05-30 12:42:01.204092 Eval initially triggered by KNX (item=Raffstore.EG_wohnzimmer_schiebetuer_rechts.lamelle source=1.1.30)
2016-05-30 12:42:01.204318 Last state: Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Beschattung ('Beschattung')
2016-05-30 12:42:01.204403 Check if state 'Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Beschattung' ('Beschattung') can be left:
2016-05-30 12:42:01.204469 No condition sets defined -> matching
2016-05-30 12:42:01.204528 State can be left
2016-05-30 12:42:01.204635 Check if state 'Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Lock' ('Automatik manuell gesperrt') can be entered:
2016-05-30 12:42:01.204698 Check condition set 'enter':
2016-05-30 12:42:01.204768 Condition 'lock': value=True negate=False current=False
2016-05-30 12:42:01.204866 not OK -> not matching
2016-05-30 12:42:01.204926 State can not be entered
2016-05-30 12:42:01.204984 Check if state 'Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Suspend' ('Ausgesetzt') can be entered:
2016-05-30 12:42:01.205072 Check condition set 'enter_stay':
2016-05-30 12:42:01.205242 Condition 'manuell': min=None max=None negate=False current=True
2016-05-30 12:42:01.205301 no limit given -> matching
2016-05-30 12:42:01.205492 Age of 'manuell': min=None max=7200.0 negate=None current=0.002827
2016-05-30 12:42:01.205557 given age limits ok -> matching
2016-05-30 12:42:01.205667 Condition 'laststate': value=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Suspend negate=False current=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Beschattung
2016-05-30 12:42:01.205727 not OK -> not matching
2016-05-30 12:42:01.205820 Check condition set 'enter_manuell':
2016-05-30 12:42:01.205931 Executing method 'get_relative_itemid(..manuell)'
2016-05-30 12:42:01.206060 Condition 'trigger_source': value=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.manuell negate=False current=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.manuell
2016-05-30 12:42:01.206124 OK -> matching
2016-05-30 12:42:01.206181 Age of 'trigger_source': No limits given
2016-05-30 12:42:01.206236 State can be entered
2016-05-30 12:42:01.206292 Changing to Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Suspend ('Ausgesetzt')
2016-05-30 12:42:01.208050 Executing method 'insert_suspend_time(..suspend, Automatik ausgesetzt bis %X)'
2016-05-30 12:42:01.208858 Action 'suspend': Set 'Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.suspend' to 'True'
2016-05-30 12:42:01.209569 Update state of item Automatik Raffstore EG Wohnzimmer Schiebetuer_rechts ======
2016-05-30 12:42:01.209641 Update triggered by Eval (item=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules source=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.suspend dest=None)
2016-05-30 12:42:01.209739 Eval initially triggered by AutoBlind Plugin (item=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.suspend source=None)
2016-05-30 12:42:01.209801 Ignoring changes from AutoBlind Plugin
2016-05-30 12:42:02.483804 Update state of item Automatik Raffstore EG Wohnzimmer Schiebetuer_rechts ======
2016-05-30 12:42:02.483940 Update triggered by Eval (item=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules source=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.manuell dest=None)
2016-05-30 12:42:02.484878 Eval initially triggered by KNX (item=Raffstore.EG_wohnzimmer_schiebetuer_rechts.hoehe source=1.1.30)
2016-05-30 12:42:02.485154 Last state: Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Suspend ('Ausgesetzt')
2016-05-30 12:42:02.485263 Check if state 'Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Suspend' ('Ausgesetzt') can be left:
2016-05-30 12:42:02.485365 No condition sets defined -> matching
2016-05-30 12:42:02.485452 State can be left
2016-05-30 12:42:02.485541 Check if state 'Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Lock' ('Automatik manuell gesperrt') can be entered:
2016-05-30 12:42:02.485631 Check condition set 'enter':
2016-05-30 12:42:02.485734 Condition 'lock': value=True negate=False current=False
2016-05-30 12:42:02.485819 not OK -> not matching
2016-05-30 12:42:02.485922 State can not be entered
2016-05-30 12:42:02.486024 Check if state 'Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Suspend' ('Ausgesetzt') can be entered:
2016-05-30 12:42:02.486113 Check condition set 'enter_stay':
2016-05-30 12:42:02.486210 Condition 'manuell': min=None max=None negate=False current=False
2016-05-30 12:42:02.486423 no limit given -> matching
2016-05-30 12:42:02.486623 Age of 'manuell': min=None max=7200.0 negate=None current=0.004439
2016-05-30 12:42:02.486700 given age limits ok -> matching
2016-05-30 12:42:02.486800 Condition 'laststate': value=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Suspend negate=False current=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Suspend
2016-05-30 12:42:02.486874 OK -> matching
2016-05-30 12:42:02.486947 Age of 'laststate': No limits given
2016-05-30 12:42:02.487024 Condition 'suspend': value=True negate=False current=True
2016-05-30 12:42:02.487110 OK -> matching
2016-05-30 12:42:02.487181 Age of 'suspend': No limits given
2016-05-30 12:42:02.487252 State can be entered
2016-05-30 12:42:02.487419 Executing method 'insert_suspend_time(..suspend, Automatik ausgesetzt bis %X)'
2016-05-30 12:42:02.488799 Staying at Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Suspend ('Ausgesetzt')
2016-05-30 12:42:02.489057 Action 'suspend': Set 'Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.suspend' to 'True'
2016-05-30 12:42:02.536469 Update state of item Automatik Raffstore EG Wohnzimmer Schiebetuer_rechts ======
2016-05-30 12:42:02.536552 Update triggered by Eval (item=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules source=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.manuell dest=None)
2016-05-30 12:42:02.536647 Eval initially triggered by KNX (item=Raffstore.EG_wohnzimmer_schiebetuer_rechts.lamelle source=1.1.30)
2016-05-30 12:42:02.536824 Last state: Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Suspend ('Ausgesetzt')
2016-05-30 12:42:02.536893 Check if state 'Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Suspend' ('Ausgesetzt') can be left:
2016-05-30 12:42:02.536955 No condition sets defined -> matching
2016-05-30 12:42:02.537010 State can be left
2016-05-30 12:42:02.537067 Check if state 'Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Lock' ('Automatik manuell gesperrt') can be entered:
2016-05-30 12:42:02.537125 Check condition set 'enter':
2016-05-30 12:42:02.537193 Condition 'lock': value=True negate=False current=False
2016-05-30 12:42:02.537249 not OK -> not matching
2016-05-30 12:42:02.537304 State can not be entered
2016-05-30 12:42:02.537359 Check if state 'Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Suspend' ('Ausgesetzt') can be entered:
2016-05-30 12:42:02.537414 Check condition set 'enter_stay':
2016-05-30 12:42:02.537477 Condition 'manuell': min=None max=None negate=False current=True
2016-05-30 12:42:02.537532 no limit given -> matching
2016-05-30 12:42:02.537671 Age of 'manuell': min=None max=7200.0 negate=None current=0.002056
2016-05-30 12:42:02.537729 given age limits ok -> matching
2016-05-30 12:42:02.537795 Condition 'laststate': value=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Suspend negate=False current=Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Suspend
2016-05-30 12:42:02.537850 OK -> matching
2016-05-30 12:42:02.537905 Age of 'laststate': No limits given
2016-05-30 12:42:02.537964 Condition 'suspend': value=True negate=False current=True
2016-05-30 12:42:02.538016 OK -> matching
2016-05-30 12:42:02.538070 Age of 'suspend': No limits given
2016-05-30 12:42:02.538123 State can be entered
2016-05-30 12:42:02.538240 Executing method 'insert_suspend_time(..suspend, Automatik ausgesetzt bis %X)'
2016-05-30 12:42:02.538508 Staying at Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Suspend ('Ausgesetzt')
2016-05-30 12:42:02.538584 Action 'suspend': Set 'Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.suspend' to 'True'
2016-05-30 12:45:54.403003 Update state of item Automatik Raffstore EG Wohnzimmer Schiebetuer_rechts ======
Code:
[Raffstore]
[[default]]
# Item fuer Helligkeit aussen
as_item_brightness = Raffstore.helligkeit
# Item fuer Temperatur aussen
as_item_outdoortemperature = Aussen.temperatur
# Item fuer Temperatur innen
as_item_indoortemperature = EG.wohnzimmer.temperatur
# Item das anzeigt, ob die Helligkeit aussen mehr als 25kLux betraegt
as_item_brightnessGt25k = Raffstore.helligkeit.gt25k
# Item das anzeigt, ob die Helligkeit aussen mehr als 43kLux betraegt
as_item_brightnessGt43k = Raffstore.helligkeit.gt43k
# Item fuer Schneealarm
as_item_schneealarm = Raffstore.schneealarm
# Item fuer Behanghoehe
as_item_hoehe = ...hoehe
# Keine Aenderung der Behanghoehe wenn Abweichung kleiner 10
as_mindelta_hoehe = 5
# Item fuer Suspend time
as_suspend_time = Raffstore.suspension
# Item fuer Lamellenwinkel
as_item_lamelle = ...lamelle
# Keine Aenderung des Lamellenwinkels wenn Abweichung kleiner 5
as_mindelta_lamelle = 5
# 'Manuell' Item
as_item_manuell = ..manuell
# 'Lock' Item
as_item_lock = ..lock
# 'Suspend' Item
as_item_suspend = ..suspend
# Zustand 'Sperre ueber Sperr-Item'
[[[Lock]]]
type = foo
name = Automatik manuell gesperrt
# Aktionen:
# - 'Suspend'-Item ggf. zuruecksetzen
as_set_suspend = False
# sonst nichts tun
[[[[enter]]]]
# Einstieg in 'Lock': Wenn
# - das 'Lock'-Item gesetzt ist
as_value_lock = True
# Zustand 'Zeitweises Deaktivieren bei manuellen Aktionen'
[[[Suspend]]]
type = foo
name = Ausgesetzt
# Namensermittlung ueber eval-Funktion
as_name = eval:autoblind_eval.insert_suspend_time('..suspend', 'Automatik ausgesetzt bis %X')
# Aktionen:
# - 'Suspend'-Item setzen
as_set_suspend = True
# sonst nichts tun
# Einstieg in 'Suspend': Wenn
[[[[enter_manuell]]]]
# - die Zustandsermittlung ueber das 'Manuell'-Item ausgeloest wurde
as_value_trigger_source = eval: autoblind_eval.get_relative_itemid('..manuell')
# Verbleib in 'Suspend': Wenn
[[[[enter_stay]]]]
# - wir bereits in 'Suspend' sind
as_value_laststate = var:current.state_id
# - die letzte Aenderung des 'Manuell'-Items hoechstens 3600 Sekunden her ist
as_agemax_manuell = item: Raffstore.suspension
# - das 'Suspend'-Item nicht von irgendwo anders auf 'False' gesetzt wurde
as_value_suspend = True
# Zustand 'Nachfuehren der Lamellen zum Sonnenstand bei grosser Helligkeit', Gebaeudeseite 1
[[[Beschattung]]]
type = foo
name = Beschattung
# Aktionen:
# - Behang ganz herunterfahren
as_set_hoehe = value:100
# - Lamellen zur Sonne ausrichten
as_set_lamelle = eval:autoblind_eval.sun_tracking()
# - 'Suspend'-Item ggf. zuruecksetzen
as_set_suspend = False
# Einstieg in 'Beschattung': Wenn
[[[[enter]]]]
# - das Flag 'Helligkeit > 43kLux' seit mindestens 60 Sekunden gesetzt ist
as_value_brightnessGt43k = true
as_minage_brightnessGt43k = 60
# - die Sonnenhoehe mindestens 25° ist
as_min_sun_altitude = 25
# - die Sonne aus Richtung 70° bis 270° kommt
as_min_sun_azimut = 70
as_max_sun_azimut = 270
# - es draussen mindestens 22° hat
as_min_outdoortemperature = item:Raffstore.min_aussentemperatur
as_min_indoortemperature = item:Raffstore.min_innentemperatur
# Hysterese fuer Helligkeit: Wenn
[[[[enter_hysterese]]]]
# ... wir bereits in 'Beschattung' sind
as_value_laststate = var:current.state_id
# .... das Flag 'Helligkeit > 25kLux' gesetzt ist
as_value_brightnessGt25k = true
# ... die Sonnenhoehe mindestens 25° ist
as_min_sun_altitude = 25
# ... die Sonne aus Richtung 70° bis 270° kommt
as_min_sun_azimut = 70
as_max_sun_azimut = 270
# Anmerkung: Hier keine erneute Pruefung der Temperatur, damit Temperaturschwankungen nicht
# zum Auf-/Abfahren der Raffstores fuehren
# Verzoegerter Ausstieg nach Unterschreitung der Mindesthelligkeit: Wenn
[[[[enter_delay]]]]
# ... wir bereits in 'Beschattung' sind
as_value_laststate = var:current.state_id
# .... das Flag 'Helligkeit > 25kLux' nicht (!) gesetzt ist, aber diese Aenderung nicht mehr als 20 Minuten her ist
as_value_brightnessGt25k = false
as_maxage_brightnessGt25k = Raffstore.delay
# ... die Sonnenhoehe mindestens 25° ist
as_min_sun_altitude = 25
# ... die Sonne aus Richtung 70° bis 270° kommt
as_min_sun_azimut = 70
as_max_sun_azimut = 270
# Anmerkung: Auch hier keine erneute Pruefung der Temperatur, damit Temperaturschwankungen nicht
# zum Auf-/Abfahren der Raffstores fuehren
# Zustand 'Nacht'
[[[Nacht]]]
type = foo
name = Nacht
# Aktionen:
# - Behang ganz herunterfahren
as_set_hoehe = item: Raffstore.max_hoehe
# - Lamellen ganz schliessen
as_set_lamelle = value:100
# - 'Suspend'-Item ggf. zuruecksetzen
as_set_suspend = False
# Einstieg in 'Nacht': Wenn
[[[[enter]]]]
# - es zwischen 16:00 und 08:00 Uhr ist
as_min_time = 07:30
as_max_time = 16:00
as_negate_time = True
# - die Helligkeit hoechstens 90 Lux betraegt
as_max_brightness = 0
# Zustand 'Morgens'
[[[Morgens]]]
type = foo
name = Daemmerung Morgens
# Aktionen:
# - Behang ganz herunterfahren
as_set_hoehe = item: Raffstore.max_hoehe
# - Lamellen ca 60° nach unten
as_set_lamelle = value:60
# - 'Suspend'-Item ggf. zuruecksetzen
as_set_suspend = False
# Einstieg in 'Morgens': Wenn
[[[[enter]]]]
# - die Helligkeit zwischen 90 und 150 Lux betraegt
as_min_brightness = 90
as_max_brightness = 180
# - es zwischen 08:00 und 12:00 Uhr ist
as_min_time = 07:30
as_max_time = 12:00
# Zustand 'Abends'
[[[Abends]]]
type = foo
name = Daemmerung Abends
# Aktionen:
# - Behang ganz herunterfahren
as_set_hoehe = item: Raffstore.max_hoehe
# - Lamellen ca 60° nach oben
as_set_lamelle = value:60
# - 'Suspend'-Item ggf. zuruecksetzen
as_set_suspend = False
# Einstieg in 'Abends': Wenn
[[[[enter]]]]
# - die Helligkeit zwischen 90 und 150 Lux betraegt
as_min_brightness = 90
as_max_brightness = 250
# - es zwischen 12:00 und 24:00 Uhr ist
as_min_time = 12:00
as_max_time = 24:00
# Anmerkung: '24:00' ist eigentlich eine ungueltige Zeit. Sie wird aber automatisch zu 23:59:59 umgewandelt
# Zustand 'Tag'
[[[Tag]]]
type = foo
name = Tag
# Aktionen:
# - Behang ganz hochfahren
as_set_hoehe = value:0
# - Lamellen auf den Standardwert bei ganz hochgefahrenem Behang
as_set_lamelle = value:0
# - 'Suspend'-Item ggf. zuruecksetzen
as_set_suspend = False
# Einstieg in 'Tag': Wenn
[[[[enter]]]]
# - es zwischen 08:00 und 22:00 Uhr ist
as_min_brightness = 90
as_min_time = 07:30
as_max_time = 22:00
[[EG_wohnzimmer_schiebetuer_rechts]]
name = Raffstore EG Wohnzimmer Schiebetuer_rechts
[[[aufab]]]
type = bool
knx_dpt = 1
knx_send = 3/1/6
knx_listen = 3/1/6
visu_acl = rw
enforce_updates = yes
[[[step]]]
type = bool
knx_dpt = 1
knx_send = 3/2/6
knx_listen = 3/2/6
visu_acl = rw
enforce_updates = yes
[[[hoehe]]]
type = num
knx_dpt = 5.001
knx_send = 3/3/6
knx_listen = 3/4/6
visu_acl = rw
enforce_updates = yes
[[[hoehe_wert]]]
type = num
knx_dpt = 5.001
knx_cache = 3/4/6
visu_acl = r
[[[hoehe_wert_visu]]]
type = num
knx_dpt = 5.001
knx_cache = 3/4/6
visu_acl = r
eval = value * 2.55
[[[lamelle]]]
type = num
knx_dpt = 5.001
knx_send = 3/5/6
knx_listen = 3/6/6
visu_acl = rw
enforce_updates = yes
[[[lamelle_wert]]]
type = num
knx_dpt = 5.001
knx_cache = 3/6/6
visu_acl = r
[[[lamelle_wert_visu]]]
type = num
knx_dpt = 5.001
knx_cache = 3/6/6
visu_acl = r
eval = value * 2.55
[[[automatik]]]
[[[[lock]]]]
type = bool
name = Sperr-Item
cache = on
eval = or
eval_trigger = Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.manual_lock | Raffstore.automatik
[[[[manual_lock]]]]
type = bool
name = Manuelles Sperr-Item
visu_acl = rw
cache = on
[[[[suspend]]]]
type = bool
name = Suspend-Item
visu_acl = rw
# Achtung: Beim 'Suspend'-Item niemals 'enforce_updates = yes' setzen! Das fuehrt dazu dass das Setzen des
# Suspend-Items bei der Initialisierung zu einem endlosen sofortigen Wiederaufruf der Statusermittlung fuehrt!
[[[[state_id]]]]
type = str
name = Id des aktuellen Zustands
visu_acl = r
cache = on
[[[[state_name]]]]
type = str
name = Name des aktuellen Zustands
visu_acl = r
cache = on
[[[[manuell]]]]
type = bool
name = Manuelle Bedienung
cache = on
as_manual_invert = true
# Aenderungen dieser Items sollen als manuelle Bedienung gewertet werden,
eval_trigger = Raffstore.EG_wohnzimmer_schiebetuer_rechts.aufab | Raffstore.EG_wohnzimmer_schiebetuer_rechts.step | Raffstore.EG_wohnzimmer_schiebetuer_rechts.hoehe | Raffstore.EG_wohnzimmer_schiebetuer_rechts.lamelle | Raffstore.EG_wohnzimmer_all.aufab | Raffstore.EG_wohnzimmer_all.step | Raffstore.EG_zentral_all.aufab | Raffstore.EG_zentral_all.step |Â Raffstore.EG_zentral_all.hoehe |Â Raffstore.EG_zentral_all.lamelle | Raffstore.EG_wohnzimmerkueche_all.aufab | Raffstore.EG_wohnzimmerkueche_all.step | Raffstore.Zentral_all_suedseite.aufab | Raffstore.Zentral_all_suedseite.step
# Aenderungen, die urspruenglich von diesen Triggern (:) ausgeloest wurden, sollen als manuelle Bedienung gewertet werden
#as_manual_include = Visu:*
# Aenderungen, die urspruenglich von diesen Triggern (:) ausgeloest wurden, sollen als manuelle Bedienung gewertet werden
# as_manual_exclude = KNX:0.0.0
[[[[rules]]]]
type = bool
name = Automatik Raffstore EG Wohnzimmer Schiebetuer_rechts
as_plugin = active
# Erste Zustandsermittlung nach 30 Sekunden
as_startup_delay = 15
# Ueber diese Items soll die Statusermittlung ausgeloest werden
eval_trigger = Raffstore.trigger | Raffstore.automatik | Raffstore.schneealarm | Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.manuell | Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.lock | Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.suspend
# In dieses Item soll die Id des aktuellen Zustands geschrieben werden
as_laststate_item_id = ..state_id
# In dieses Item soll der Name des aktuellen Zustands geschrieben werden
as_laststate_item_name = ..state_name
[[[[[Lock]]]]]
# Zustand 'Lock': Nur die Vorgabeeinstellungen uebernehmen
as_use = Raffstore.default.Lock
[[[[[Suspend]]]]]
# Zustand 'Suspend': Nur die Vorgabeeinstellungen uebernehmen
as_use = Raffstore.default.Suspend
[[[[[Beschattung]]]]]
# Zustand 'Nacht': Nur die Vorgabeeinstellungen uebernehmen
as_use = Raffstore.default.Beschattung
[[[[[Nacht]]]]]
# Zustand 'Nacht': Nur die Vorgabeeinstellungen uebernehmen
as_use = Raffstore.default.Nacht
[[[[[Tag]]]]]
# Zustand 'Tag': Vorgabeeinstellungen uebernehmen
as_use = Raffstore.default.Tag
Code:
Items: ====== Raffstore.EG_wohnzimmer_schiebetuer_rechts Raffstore.EG_wohnzimmer_schiebetuer_rechts.aufab = False Raffstore.EG_wohnzimmer_schiebetuer_rechts.step = False Raffstore.EG_wohnzimmer_schiebetuer_rechts.hoehe = 98.8 Raffstore.EG_wohnzimmer_schiebetuer_rechts.hoehe_wert = 98.8 Raffstore.EG_wohnzimmer_schiebetuer_rechts.hoehe_wert_visu = 251.93999999999997 Raffstore.EG_wohnzimmer_schiebetuer_rechts.lamelle = 31.8 Raffstore.EG_wohnzimmer_schiebetuer_rechts.lamelle_wert = 31.8 Raffstore.EG_wohnzimmer_schiebetuer_rechts.lamelle_wert_visu = 81.08999999999999 Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.lock = False Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.manual_lock = False Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.suspend = True Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.state_id = Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Suspend Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.state_name = Automatik ausgesetzt bis 02:42:01 PM Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.manuell = True Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules = True Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Lock Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Suspend Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Beschattung Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Nacht Raffstore.EG_wohnzimmer_schiebetuer_rechts.automatik.rules.Tag



Einen Kommentar schreiben: