Ankündigung

Einklappen
Keine Ankündigung bisher.

Automatische Beschattung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • KF55W
    antwortet
    Hallo zusammen,

    mit nachfolgender Einstellung funktioniert alles, außer wenn ich direkt am Raffstore mit dem manuellen Taster triggere.
    Nachfolgend das Log, das Debug und die conf.

    Wie gesagt, keine Reaktion des Suspend auf den Taster 1.1.8

    as_manual_logitem
    Code:
    2017-01-15 08:56:31.315537 manual_item_update_eval ========================================================
    2017-01-15 08:56:31.316199 running for item 'verschattung.raffstore3.automatik.manuell' source 'Eval' caller 'verschattung.raffstore3.hoehe'
    2017-01-15 08:56:31.316603 Current value of item verschattung.raffstore3.automatik.manuell is False
    2017-01-15 08:56:31.317333 get_original_caller(Eval, verschattung.raffstore3.hoehe): changed by KNX, 1.1.26 at 2017-01-15 08:56:31.309974+01:00
    2017-01-15 08:56:31.317705 get_original_caller: returning KNX, 1.1.26
    2017-01-15 08:56:31.318080 original trigger by caller 'KNX' source '1.1.26'
    2017-01-15 08:56:31.318490 checking exclude values: ['KNX:1.1.26']
    2017-01-15 08:56:31.318884     KNX:1.1.26: matching. Writing value False
    debug
    Code:
    2017-01-15 09:00:22 DEBUG    __init__     Main         KNX[default]: 1.1.8 set 2/2/9 to 01 -- __init__.py:parse_telegram:198
    2017-01-15 09:00:24 DEBUG    __init__     Main         KNX[default]: 1.1.8 set 2/2/3 to 01 -- __init__.py:parse_telegram:198
    2017-01-15 09:00:24 DEBUG    __init__     Main         KNX[default]: 1.1.26 set 2/2/25 to 1.6 -- __init__.py:parse_telegram:207
    2017-01-15 09:00:24 DEBUG    item         Main         Item verschattung.raffstore3.hoehe = 1.6 via KNX 1.1.26 2/2/25 -- item.py:__update:470
    2017-01-15 09:00:24 DEBUG    scheduler    Main         Triggering verschattung.raffstore3.automatik.manuell - by: KNX source: 1.1.26 dest: 2/2/25 value: {'source': 'verschattung.raffstore3.hoeh -- scheduler.py:trigger:165
    2017-01-15 09:00:24 DEBUG    __init__     Main         KNX[default]: 1.1.26 set 2/2/27 to 88.6 -- __init__.py:parse_telegram:207
    2017-01-15 09:00:24 DEBUG    item         Main         Item verschattung.raffstore3.lamelle = 88.6 via KNX 1.1.26 2/2/27 -- item.py:__update:470
    2017-01-15 09:00:24 DEBUG    scheduler    Main         Triggering verschattung.raffstore3.automatik.manuell - by: KNX source: 1.1.26 dest: 2/2/27 value: {'source': 'verschattung.raffstore3.lame -- scheduler.py:trigger:165
    conf
    Code:
            [[[[manuell]]]]
            type = bool
            name = Manuelle Bedienung
            eval_trigger = verschattung.raffstore3.aufab | verschattung.raffstore3.step | verschattung.raffstore3.lamelle | verschattung.raffstore3.hoehe | alle.fahren | alle.stopp | eg.raff.fahren | eg.raff.stopp | eg_s.raff.fahren | eg_s.raff.stopp
           as_manual_invert = True
           as_manual_include = KNX:1.1.10 | KNX:1.1.8
           as_manual_exclude = KNX:1.1.26
           as_manual_logitem = verschattung.raffstore3.automatik.manuell
    Zuletzt geändert von KF55W; 15.01.2017, 12:07.

    Einen Kommentar schreiben:


  • offline
    antwortet
    Zitat von KF55W Beitrag anzeigen

    2/2/9 GA auf ab
    2/2/3 GA Lamelle
    2/2/25 GA akt Position
    2/2/27 GA Pos. Lamelle

    den Aktor 1.1.26 hab ich excludiert
    den Taster 1.1.8 includiert
    Mit dem Includieren der phys Adresse 1.1.8 hast du eine Whitelist eingerichtet. Nur dieser Aktor kann dein Suspend dann triggern. Daher würde ich diese Zeile rausnehmen. Ein Exclude für 1.1.26 sollte ausreichend sein, um die Statusrückmeldungen auszufiltern.

    Zitat von KF55W Beitrag anzeigen
    Code:
    [[[[manuell]]]]
    type = bool
    name = Manuelle Bedienung
    eval_trigger = verschattung.raffstore3.aufab | verschattung.raffstore3.step | verschattung.raffstore3.hoehe | alle.fahren | alle.stopp | eg.raff.fahren | eg.raff.stopp | eg_s.raff.fahren | eg_s.raff.stopp
    as_manual_invert = True
    as_manual_include = KNX:1.1.8
    as_manual_exclude = scheduler:verschattung.trigger.raffstore | KNX:1.1.26
    das as_manual_invert kannst du der Übersicht wegen ebenfalls rausnehmen. Es wird nur benötigt, wenn weder as_manual_include noch as_manual_exclude verwendet werden.

    Warum excludierst du scheduler:verschattung.trigger.raffstore?

    Da dein Problem im Bereich der Auswertung des Manuell-Items liegt, solltest du in der Tat wie von onkelandy beschrieben, das erweiterte Logging für das Manuell-Item aktivieren. Dort siehst du dann genau, was "Ankommt" und wie es verarbeitet wird. (Siehe: https://github.com/i-am-offline/smar...s-manuell-item)

    Grüße
    offline
    Zuletzt geändert von offline; 15.01.2017, 07:21.

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Ich seh auf die schnelle keinen wirklichen Fehler.. würde mal analytisch vorgehen, alle Items in einen Ordner stecken, ein einziges Item anlegen mit der Jalousie und allem drum und dran inkl. Autoblind-Konfiguration. Vorerst mal ohne exclude und include. Dann nur mit exclude KNX:1.1.26, etc.
    Was du auch machen kannst, wäre das manuell-Item Logging zu aktivieren. Dazu trägst du im Manuell-Item ein:
    as_manual_logitem = jalousie.manuell

    Das Logfile wird dann dort abgelegt, wo die anderen autoblind Logs liegen.

    Einen Kommentar schreiben:


  • KF55W
    antwortet
    Zitat von Onkelandy Beitrag anzeigen
    Suspend Time -> in der Rules Sektion des entsprechenden Items.
    Ich habe dort folgende Definiton
    as_suspend_time = eval:autoblind_eval.get_relative_itemvalue('..sett ings.suspendduration') * 60

    Sprich, das Item XYZ.automatik.setting.suspendduration lässt sich über die Visu/CLI ändern, somit ist die Suspendzeit anpassbar, kannst vielleicht auch mal probieren.
    das scheint auf den ersten Blick zu funktionieren


    Zitat von Onkelandy Beitrag anzeigen

    Was zeigt denn das Debug Log des KNX Plugins an, wenn du die Taster betätigst?
    Code:
    2017-01-14 07:29:33 DEBUG    __init__     Main         KNX[default]: 1.1.8 set 2/2/9 to 00 -- __init__.py:parse_telegram:198
    2017-01-14 07:29:35 DEBUG    __init__     Main         KNX[default]: 1.1.8 set 2/2/3 to 00 -- __init__.py:parse_telegram:198
    2017-01-14 07:29:35 DEBUG    __init__     Main         KNX[default]: 1.1.26 set 2/2/25 to 92.5 -- __init__.py:parse_telegram:207
    2017-01-14 07:29:35 DEBUG    item         Main         Item verschattung.raffstore3.hoehe = 92.5 via KNX 1.1.26 2/2/25 -- item.py:__update:470
    2017-01-14 07:29:35 DEBUG    scheduler    Main         Triggering verschattung.raffstore3.automatik.manuell - by: KNX source: 1.1.26 dest: 2/2/25 value: {'source': 'verschattung.raffstore3.hoeh -- scheduler.py:trigger:165
    2017-01-14 07:29:35 DEBUG    __init__     Main         KNX[default]: 1.1.26 set 2/2/27 to 0.0 -- __init__.py:parse_telegram:207
    2017-01-14 07:29:35 DEBUG    item         Main         Item verschattung.raffstore3.lamelle = 0.0 via KNX 1.1.26 2/2/27 -- item.py:__update:470
    2/2/9 GA auf ab
    2/2/3 GA Lamelle
    2/2/25 GA akt Position
    2/2/27 GA Pos. Lamelle

    den Aktor 1.1.26 hab ich excludiert
    den Taster 1.1.8 includiert

    Code:
            [[[[manuell]]]]
            type = bool
            name = Manuelle Bedienung
            eval_trigger = verschattung.raffstore3.aufab | verschattung.raffstore3.step | verschattung.raffstore3.hoehe | alle.fahren | alle.stopp | eg.raff.fahren | eg.raff.stopp | eg_s.raff.fahren | eg_s.raff.stopp
            as_manual_invert = True
            as_manual_include = KNX:1.1.8
            as_manual_exclude = scheduler:verschattung.trigger.raffstore | KNX:1.1.26
    Zuletzt geändert von KF55W; 14.01.2017, 08:13.

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Suspend Time -> in der Rules Sektion des entsprechenden Items.
    Ich habe dort folgende Definiton
    as_suspend_time = eval:autoblind_eval.get_relative_itemvalue('..sett ings.suspendduration') * 60

    Sprich, das Item XYZ.automatik.setting.suspendduration lässt sich über die Visu/CLI ändern, somit ist die Suspendzeit anpassbar, kannst vielleicht auch mal probieren.

    Was zeigt denn das Debug Log des KNX Plugins an, wenn du die Taster betätigst?

    Einen Kommentar schreiben:


  • KF55W
    antwortet
    Änderung zu Post #611,
    ohne# as_set_suspend = True
    Code:
     
         [[[[Suspend]]]]         type = foo         name = Ausgesetzt         as_name = eval:autoblind_eval.insert_suspend_time("..suspend", "Automatik ausgesetzt bis %X")      #  as_set_suspend = True
    kommt kein Fehler, jedoch wird die Automatik nur ausgesetzt, wenn über die Visu angesteuert, nicht per Taster, nach wie vor das Problem.
    Zudem: meine Suspend Zeit ist per item (as_item_suspendzeit = vorgabe.suspendzeit) auf 600s gesetzt.
    Das funktioniert auch, per [enter_stay] allerdings im Log-File bezieht sich die angesetzte Zeit immer auf die 3600s.
    Wo muss das Item suspendzeit untergrebracht werden, dass der Bezug korrekt ist?



    log: Manuelle aktion via Visu -> Suspend für 600s -> zurück in Automatik
    Code:
    2017-01-13 08:32:00.421370 Update state of item Automatik Raffstore 3 =====================================
    2017-01-13 08:32:00.421759 Update triggered by Eval (item=verschattung.raffstore3.automatik.rules source=verschattung.raffstore3.automatik.manuell dest=None)
    2017-01-13 08:32:00.422084 Eval initially triggered by Visu (item=verschattung.raffstore3.step source=192.168.100.68:55979)
    2017-01-13 08:32:00.422905 Last state: verschattung.raffstore3.automatik.rules.Suspend ('Ausgesetzt')
    2017-01-13 08:32:00.423136 Check if state 'verschattung.raffstore3.automatik.rules.Suspend' ('Ausgesetzt') can be left:
    2017-01-13 08:32:00.423353     No condition sets defined -> matching
    2017-01-13 08:32:00.423548 State can be left
    2017-01-13 08:32:00.423753 Check if state 'verschattung.raffstore3.automatik.rules.Lock' ('Automatik manuell gesperrt') can be entered:
    2017-01-13 08:32:00.423964     Check condition set 'enter_zentral':
    2017-01-13 08:32:00.424216         Condition 'lockzentral': value=True negate=False current=False
    2017-01-13 08:32:00.424406             not OK -> not matching
    2017-01-13 08:32:00.424615     Check condition set 'enter_eg':
    2017-01-13 08:32:00.424993         Condition 'lock': value=False negate=False current=False
    2017-01-13 08:32:00.425205             OK -> matching
    2017-01-13 08:32:00.425414         Age of 'lock': No limits given
    2017-01-13 08:32:00.425631         Condition 'lockeg': value=True negate=False current=False
    2017-01-13 08:32:00.425819             not OK -> not matching
    2017-01-13 08:32:00.426024     Check condition set 'enter':
    2017-01-13 08:32:00.426246         Condition 'lock': value=True negate=False current=False
    2017-01-13 08:32:00.426437             not OK -> not matching
    2017-01-13 08:32:00.426643 State can not be entered
    2017-01-13 08:32:00.426848 Check if state 'verschattung.raffstore3.automatik.rules.Suspend' ('Ausgesetzt') can be entered:
    2017-01-13 08:32:00.427053     Check condition set 'enter_manuell':
    2017-01-13 08:32:00.427495         Executing method 'get_relative_itemid(..manuell)'
    2017-01-13 08:32:00.427883         Condition 'trigger_source': value=verschattung.raffstore3.automatik.manuell negate=False current=verschattung.raffstore3.automatik.manuell
    2017-01-13 08:32:00.428087             OK -> matching
    2017-01-13 08:32:00.428296         Age of 'trigger_source': No limits given
    2017-01-13 08:32:00.428548 State can be entered
    2017-01-13 08:32:00.428751 Staying at verschattung.raffstore3.automatik.rules.Suspend ('Ausgesetzt')
    2017-01-13 08:32:00.429083     Action 'suspend': Executing special action 'suspend' using value '[Item: verschattung.raffstore3.automatik.suspend, 'verschattung.raffstore3.automatik.manuell']'. Repeat allowed by item configuration.
    2017-01-13 08:32:00.429304         Set 'verschattung.raffstore3.automatik.suspend' to 'False' (Force)
    2017-01-13 08:32:00.431710         Set 'verschattung.raffstore3.automatik.suspend' to 'True'.
    2017-01-13 08:32:00.435365         Updated variable 'item.suspend_remaining' to 3600
    2017-01-13 08:32:00.436470     Action 'retrigger': No item defined. Ignoring.
    2017-01-13 08:32:00.437155 Executing method 'insert_suspend_time(..suspend, Automatik ausgesetzt bis %X)'
    2017-01-13 08:32:00.437418     Suspend time is 3600
    2017-01-13 08:32:00.437733     Suspend item is verschattung.raffstore3.automatik.suspend
    2017-01-13 08:32:00.438247     Current suspend age: 0.005073
    2017-01-13 08:32:00.438495     Remaining suspend time: 3599.994927
    2017-01-13 08:32:00.439082     Suspend finished at 2017-01-13 09:32:00.433603+01:00
    2017-01-13 08:34:55.297094 Update state of item Automatik Raffstore 3 =====================================
    2017-01-13 08:34:55.299864 Update triggered by Eval (item=verschattung.raffstore3.automatik.rules source=verschattung.trigger.raffstore dest=None)
    2017-01-13 08:34:55.319756 Eval initially triggered by Scheduler (item=verschattung.trigger.raffstore source=None)
    2017-01-13 08:34:55.329483 Last state: verschattung.raffstore3.automatik.rules.Suspend ('Ausgesetzt')
    2017-01-13 08:34:55.333948 Check if state 'verschattung.raffstore3.automatik.rules.Suspend' ('Ausgesetzt') can be left:
    2017-01-13 08:34:55.340375     No condition sets defined -> matching
    2017-01-13 08:34:55.362585 State can be left
    2017-01-13 08:34:55.364645 Check if state 'verschattung.raffstore3.automatik.rules.Lock' ('Automatik manuell gesperrt') can be entered:
    2017-01-13 08:34:55.367209     Check condition set 'enter_zentral':
    2017-01-13 08:34:55.369184         Condition 'lockzentral': value=True negate=False current=False
    2017-01-13 08:34:55.371662             not OK -> not matching
    2017-01-13 08:34:55.373606     Check condition set 'enter_eg':
    2017-01-13 08:34:55.383726         Condition 'lock': value=False negate=False current=False
    2017-01-13 08:34:55.385561             OK -> matching
    2017-01-13 08:34:55.393351         Age of 'lock': No limits given
    2017-01-13 08:34:55.396848         Condition 'lockeg': value=True negate=False current=False
    2017-01-13 08:34:55.397458             not OK -> not matching
    2017-01-13 08:34:55.400678     Check condition set 'enter':
    2017-01-13 08:34:55.404247         Condition 'lock': value=True negate=False current=False
    2017-01-13 08:34:55.409096             not OK -> not matching
    2017-01-13 08:34:55.415619 State can not be entered
    2017-01-13 08:34:55.416997 Check if state 'verschattung.raffstore3.automatik.rules.Suspend' ('Ausgesetzt') can be entered:
    2017-01-13 08:34:55.423212     Check condition set 'enter_manuell':
    2017-01-13 08:34:55.433009         Executing method 'get_relative_itemid(..manuell)'
    2017-01-13 08:34:55.442552         Condition 'trigger_source': value=verschattung.raffstore3.automatik.manuell negate=False current=verschattung.trigger.raffstore
    2017-01-13 08:34:55.443697             not OK -> not matching
    2017-01-13 08:34:55.445890     Check condition set 'enter_stay':
    2017-01-13 08:34:55.452294         Condition 'suspend': value=True negate=False current=True
    2017-01-13 08:34:55.457057             OK -> matching
    2017-01-13 08:34:55.463956         Age of 'suspend': min=None max=600 negate=None current=175.030357
    2017-01-13 08:34:55.470210             given age limits ok -> matching
    2017-01-13 08:34:55.471397         Condition 'laststate': value=verschattung.raffstore3.automatik.rules.Suspend negate=False current=verschattung.raffstore3.automatik.rules.Suspend
    2017-01-13 08:34:55.473147             OK -> matching
    2017-01-13 08:34:55.480496         Age of 'laststate': No limits given
    2017-01-13 08:34:55.484585 State can be entered
    2017-01-13 08:34:55.485788 Staying at verschattung.raffstore3.automatik.rules.Suspend ('Ausgesetzt')
    2017-01-13 08:34:55.487568     Action 'suspend': Executing special action 'suspend' using value '[Item: verschattung.raffstore3.automatik.suspend, 'verschattung.raffstore3.automatik.manuell']'. Repeat allowed by item configuration.
    2017-01-13 08:34:55.490267         Leaving 'verschattung.raffstore3.automatik.suspend' untouched.
    2017-01-13 08:34:55.498940         Updated variable 'item.suspend_remaining' to 3425
    2017-01-13 08:34:55.506480     Action 'retrigger': No item defined. Ignoring.
    2017-01-13 08:34:55.512903 Executing method 'insert_suspend_time(..suspend, Automatik ausgesetzt bis %X)'
    2017-01-13 08:34:55.519358     Suspend time is 3600
    2017-01-13 08:34:55.523504     Suspend item is verschattung.raffstore3.automatik.suspend
    2017-01-13 08:34:55.528343     Current suspend age: 175.095148
    2017-01-13 08:34:55.532507     Remaining suspend time: 3424.904852
    2017-01-13 08:34:55.534514     Suspend finished at 2017-01-13 09:32:00.438915+01:00
    2017-01-13 08:39:55.079382 Update state of item Automatik Raffstore 3 =====================================
    2017-01-13 08:39:55.081187 Update triggered by Eval (item=verschattung.raffstore3.automatik.rules source=verschattung.trigger.raffstore dest=None)
    2017-01-13 08:39:55.082932 Eval initially triggered by Scheduler (item=verschattung.trigger.raffstore source=None)
    2017-01-13 08:39:55.089950 Last state: verschattung.raffstore3.automatik.rules.Suspend ('Ausgesetzt')
    2017-01-13 08:39:55.092659 Check if state 'verschattung.raffstore3.automatik.rules.Suspend' ('Ausgesetzt') can be left:
    2017-01-13 08:39:55.095595     No condition sets defined -> matching
    2017-01-13 08:39:55.097393 State can be left
    2017-01-13 08:39:55.097697 Check if state 'verschattung.raffstore3.automatik.rules.Lock' ('Automatik manuell gesperrt') can be entered:
    2017-01-13 08:39:55.102074     Check condition set 'enter_zentral':
    2017-01-13 08:39:55.103391         Condition 'lockzentral': value=True negate=False current=False
    2017-01-13 08:39:55.104968             not OK -> not matching
    2017-01-13 08:39:55.106622     Check condition set 'enter_eg':
    2017-01-13 08:39:55.110908         Condition 'lock': value=False negate=False current=False
    2017-01-13 08:39:55.114147             OK -> matching
    2017-01-13 08:39:55.116897         Age of 'lock': No limits given
    2017-01-13 08:39:55.118877         Condition 'lockeg': value=True negate=False current=False
    2017-01-13 08:39:55.120189             not OK -> not matching
    2017-01-13 08:39:55.120946     Check condition set 'enter':
    2017-01-13 08:39:55.126009         Condition 'lock': value=True negate=False current=False
    2017-01-13 08:39:55.132717             not OK -> not matching
    2017-01-13 08:39:55.137713 State can not be entered
    2017-01-13 08:39:55.138956 Check if state 'verschattung.raffstore3.automatik.rules.Suspend' ('Ausgesetzt') can be entered:
    2017-01-13 08:39:55.145730     Check condition set 'enter_manuell':
    2017-01-13 08:39:55.147138         Executing method 'get_relative_itemid(..manuell)'
    2017-01-13 08:39:55.153878         Condition 'trigger_source': value=verschattung.raffstore3.automatik.manuell negate=False current=verschattung.trigger.raffstore
    2017-01-13 08:39:55.157647             not OK -> not matching
    2017-01-13 08:39:55.160149     Check condition set 'enter_stay':
    2017-01-13 08:39:55.162756         Condition 'suspend': value=True negate=False current=True
    2017-01-13 08:39:55.165375             OK -> matching
    2017-01-13 08:39:55.169948         Age of 'suspend': min=None max=600 negate=None current=474.736358
    2017-01-13 08:39:55.174435             given age limits ok -> matching
    2017-01-13 08:39:55.177368         Condition 'laststate': value=verschattung.raffstore3.automatik.rules.Suspend negate=False current=verschattung.raffstore3.automatik.rules.Suspend
    2017-01-13 08:39:55.178565             OK -> matching
    2017-01-13 08:39:55.179125         Age of 'laststate': No limits given
    2017-01-13 08:39:55.181036 State can be entered
    2017-01-13 08:39:55.186869 Staying at verschattung.raffstore3.automatik.rules.Suspend ('Ausgesetzt')
    2017-01-13 08:39:55.193779     Action 'suspend': Executing special action 'suspend' using value '[Item: verschattung.raffstore3.automatik.suspend, 'verschattung.raffstore3.automatik.manuell']'. Repeat allowed by item configuration.
    2017-01-13 08:39:55.199973         Leaving 'verschattung.raffstore3.automatik.suspend' untouched.
    2017-01-13 08:39:55.208970         Updated variable 'item.suspend_remaining' to 3125
    2017-01-13 08:39:55.210723     Action 'retrigger': No item defined. Ignoring.
    2017-01-13 08:39:55.214267 Executing method 'insert_suspend_time(..suspend, Automatik ausgesetzt bis %X)'
    2017-01-13 08:39:55.221374     Suspend time is 3600
    2017-01-13 08:39:55.223162     Suspend item is verschattung.raffstore3.automatik.suspend
    2017-01-13 08:39:55.226956     Current suspend age: 474.79376
    2017-01-13 08:39:55.233057     Remaining suspend time: 3125.20624
    2017-01-13 08:39:55.237391     Suspend finished at 2017-01-13 09:32:00.443178+01:00
    2017-01-13 08:44:55.377414 Update state of item Automatik Raffstore 3 =====================================
    2017-01-13 08:44:55.379158 Update triggered by Eval (item=verschattung.raffstore3.automatik.rules source=verschattung.trigger.raffstore dest=None)
    2017-01-13 08:44:55.389852 Eval initially triggered by Scheduler (item=verschattung.trigger.raffstore source=None)
    2017-01-13 08:44:55.395132 Last state: verschattung.raffstore3.automatik.rules.Suspend ('Ausgesetzt')
    2017-01-13 08:44:55.403450 Check if state 'verschattung.raffstore3.automatik.rules.Suspend' ('Ausgesetzt') can be left:
    2017-01-13 08:44:55.410696     No condition sets defined -> matching
    2017-01-13 08:44:55.416685 State can be left
    2017-01-13 08:44:55.425376 Check if state 'verschattung.raffstore3.automatik.rules.Lock' ('Automatik manuell gesperrt') can be entered:
    2017-01-13 08:44:55.429418     Check condition set 'enter_zentral':
    2017-01-13 08:44:55.435698         Condition 'lockzentral': value=True negate=False current=False
    2017-01-13 08:44:55.438238             not OK -> not matching
    2017-01-13 08:44:55.438761     Check condition set 'enter_eg':
    2017-01-13 08:44:55.440859         Condition 'lock': value=False negate=False current=False
    2017-01-13 08:44:55.444086             OK -> matching
    2017-01-13 08:44:55.445380         Age of 'lock': No limits given
    2017-01-13 08:44:55.447732         Condition 'lockeg': value=True negate=False current=False
    2017-01-13 08:44:55.449534             not OK -> not matching
    2017-01-13 08:44:55.451569     Check condition set 'enter':
    2017-01-13 08:44:55.453220         Condition 'lock': value=True negate=False current=False
    2017-01-13 08:44:55.454446             not OK -> not matching
    2017-01-13 08:44:55.455516 State can not be entered
    2017-01-13 08:44:55.460927 Check if state 'verschattung.raffstore3.automatik.rules.Suspend' ('Ausgesetzt') can be entered:
    2017-01-13 08:44:55.462682     Check condition set 'enter_manuell':
    2017-01-13 08:44:55.466621         Executing method 'get_relative_itemid(..manuell)'
    2017-01-13 08:44:55.468981         Condition 'trigger_source': value=verschattung.raffstore3.automatik.manuell negate=False current=verschattung.trigger.raffstore
    2017-01-13 08:44:55.471365             not OK -> not matching
    2017-01-13 08:44:55.473618     Check condition set 'enter_stay':
    2017-01-13 08:44:55.475696         Condition 'suspend': value=True negate=False current=True
    2017-01-13 08:44:55.479816             OK -> matching
    2017-01-13 08:44:55.485045         Age of 'suspend': min=None max=600 negate=None current=775.051728
    2017-01-13 08:44:55.488260             to old -> not matching
    2017-01-13 08:44:55.490444 State can not be entered
    2017-01-13 08:44:55.492553 Check if state 'verschattung.raffstore3.automatik.rules.Nachfuehren' ('Lamellenautomatik') can be entered:
    2017-01-13 08:44:55.494646     Check condition set 'enter':
    2017-01-13 08:44:55.498614         Condition 'sun_altitude': min=18 max=None negate=False current=4.0423420192267345
    2017-01-13 08:44:55.504507             to low -> not matching
    2017-01-13 08:44:55.506189     Check condition set 'enter_delay':
    2017-01-13 08:44:55.510074         Condition 'sun_altitude': min=18 max=None negate=False current=4.0423420192267345
    2017-01-13 08:44:55.511629             to low -> not matching
    2017-01-13 08:44:55.512122     Check condition set 'enter_hysterese':
    2017-01-13 08:44:55.513502         Condition 'sun_altitude': min=18 max=None negate=False current=4.0423420192267345
    2017-01-13 08:44:55.517258             to low -> not matching
    2017-01-13 08:44:55.518227 State can not be entered
    2017-01-13 08:44:55.519466 Check if state 'verschattung.raffstore3.automatik.rules.Nacht' ('Nacht') can be entered:
    2017-01-13 08:44:55.521955     Check condition set 'enter':
    2017-01-13 08:44:55.524269         Condition 'brightness2': min=None max=90 negate=False current=320.0
    2017-01-13 08:44:55.525577             to high -> not matching
    2017-01-13 08:44:55.527535 State can not be entered
    2017-01-13 08:44:55.529514 Check if state 'verschattung.raffstore3.automatik.rules.Nacht_W' ('Winternacht') can be entered:
    2017-01-13 08:44:55.531849     Check condition set 'enter':
    2017-01-13 08:44:55.532702         Condition 'brightness2': min=None max=90 negate=False current=320.0
    2017-01-13 08:44:55.534649             to high -> not matching
    2017-01-13 08:44:55.535809 State can not be entered
    2017-01-13 08:44:55.536987 Check if state 'verschattung.raffstore3.automatik.rules.Morgens' ('Daemmerung Morgens') can be entered:
    2017-01-13 08:44:55.538199     Check condition set 'enter':
    2017-01-13 08:44:55.542514         Condition 'brightness2': min=55 max=255 negate=False current=320.0
    2017-01-13 08:44:55.543639             to high -> not matching
    2017-01-13 08:44:55.548839 State can not be entered
    2017-01-13 08:44:55.552131 Check if state 'verschattung.raffstore3.automatik.rules.Morgens_W' ('Wintermorgen') can be entered:
    2017-01-13 08:44:55.557055     Check condition set 'enter':
    2017-01-13 08:44:55.562184         Condition 'brightness2': min=55 max=255 negate=False current=320.0
    2017-01-13 08:44:55.563035             to high -> not matching
    2017-01-13 08:44:55.563459 State can not be entered
    2017-01-13 08:44:55.564058 Check if state 'verschattung.raffstore3.automatik.rules.Abends' ('Daemmerung Abends') can be entered:
    2017-01-13 08:44:55.564738     Check condition set 'enter':
    2017-01-13 08:44:55.566784         Condition 'brightness2': min=90 max=120 negate=False current=320.0
    2017-01-13 08:44:55.568796             to high -> not matching
    2017-01-13 08:44:55.569734 State can not be entered
    2017-01-13 08:44:55.574565 Check if state 'verschattung.raffstore3.automatik.rules.Abends_W' ('Winterabend') can be entered:
    2017-01-13 08:44:55.576014     Check condition set 'enter':
    2017-01-13 08:44:55.578878         Condition 'brightness2': min=90 max=120 negate=False current=320.0
    2017-01-13 08:44:55.581125             to high -> not matching
    2017-01-13 08:44:55.582722 State can not be entered
    2017-01-13 08:44:55.587817 Check if state 'verschattung.raffstore3.automatik.rules.Tag' ('Tag (statisch)') can be entered:
    2017-01-13 08:44:55.588887     Check condition set 'enter':
    2017-01-13 08:44:55.590589         Condition 'brightness2': min=256 max=None negate=False current=320.0
    2017-01-13 08:44:55.593629             given limits ok -> matching
    2017-01-13 08:44:55.595709         Age of 'brightness2': No limits given
    2017-01-13 08:44:55.601054         Condition 'sommer': value=False negate=False current=False
    2017-01-13 08:44:55.602964             OK -> matching
    2017-01-13 08:44:55.605222         Age of 'sommer': No limits given
    2017-01-13 08:44:55.605817         Condition 'winter': value=False negate=False current=False
    2017-01-13 08:44:55.612086             OK -> matching
    2017-01-13 08:44:55.612891         Age of 'winter': No limits given
    2017-01-13 08:44:55.615803         Condition 'nachtmodus': value=False negate=False current=False
    2017-01-13 08:44:55.616444             OK -> matching
    2017-01-13 08:44:55.617674         Age of 'nachtmodus': No limits given
    2017-01-13 08:44:55.620064         Condition 'urlaub': value=False negate=False current=False
    2017-01-13 08:44:55.621371             OK -> matching
    2017-01-13 08:44:55.622991         Age of 'urlaub': No limits given
    2017-01-13 08:44:55.625673         Condition 'time': min=08:00:00 max=21:30:00 negate=False current=08:44:55.437579
    2017-01-13 08:44:55.627772             given limits ok -> matching
    2017-01-13 08:44:55.628593         Age of 'time': No limits given
    2017-01-13 08:44:55.629694 State can be entered
    2017-01-13 08:44:55.630770 Leaving verschattung.raffstore3.automatik.rules.Suspend ('Ausgesetzt')
    2017-01-13 08:44:55.631598     Action 'suspend': Set 'verschattung.raffstore3.automatik.suspend' to 'False'.
    2017-01-13 08:44:55.634915 Entering verschattung.raffstore3.automatik.rules.Tag ('Tag (statisch)')
    2017-01-13 08:44:55.636621     Action 'suspend': Set 'verschattung.raffstore3.automatik.suspend' to 'False'.
    2017-01-13 08:44:55.637312     Action 'lamelle': Set 'verschattung.raffstore3.lamelle' to '0'.
    2017-01-13 08:44:55.640390     Action 'hoehe': Set 'verschattung.raffstore3.hoehe' to '0'.
    2017-01-13 08:44:56.627384 Update state of item Automatik Raffstore 3 =====================================
    2017-01-13 08:44:56.628456 Update triggered by Eval (item=verschattung.raffstore3.automatik.rules source=verschattung.raffstore3.automatik.suspend dest=None)
    2017-01-13 08:44:56.633041 Eval initially triggered by AutoBlind Plugin (item=verschattung.raffstore3.automatik.suspend source=None)
    2017-01-13 08:44:56.635344 Ignoring changes from AutoBlind Plugin

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Was passiert, wenn du beim suspend das "as_set_suspend = True" raus wirfst?

    Einen Kommentar schreiben:


  • KF55W
    antwortet
    hi,
    jetzt hab ich das neuste aus dem dev gezogen, deine Suspend-features integriert, s.u.
    und habe folgenden Fehler:

    2017-01-12 13:14:44.601888 ERROR: Ignoring state verschattung.raffstore3.automatik.rules.Suspend because: Action as_set_suspend: Action suspend: Unknown special value 'True'!



    default

    Code:
    [verschattung]
        [[default]]    
            [[[raffstore]]]
            as_item_temperature = aussen.temp.bwm
            as_item_brightness1 = aussen.wetterstation.helligkeit_s
            as_item_brightnessGt25k1 = aussen.wetterstation.helligkeit_s.gt25k
            as_item_brightnessGt35k1 = aussen.wetterstation.helligkeit_s.gt35k
            as_item_brightnessGt43k1 = aussen.wetterstation.helligkeit_s.gt43k
            as_item_brightness2 = aussen.wetterstation.helligkeit_w
            as_item_brightnessGt25k2 = aussen.wetterstation.helligkeit_w.gt25k
            as_item_brightnessGt35k2 = aussen.wetterstation.helligkeit_w.gt35k
            as_item_brightnessGt43k2 = aussen.wetterstation.helligkeit_w.gt43k
            as_item_hoehe = ...hoehe
            as_mindelta_hoehe = 3         
            as_item_lamelle = ...lamelle
            as_mindelta_lamelle = 2
            as_item_manuell = ..manuell
            as_item_lock = ..lock
            as_item_lockzentral = sperren.alle
            as_item_lockeg = sperren.eg
            as_item_suspend = ..suspend
            as_item_sommer = modus.sommer
            as_item_urlaub = modus.urlaub
            as_item_winter = modus.winter
            as_item_mindesttemperatur = vorgabe.mindesttemperatur
            as_item_mindestzeit = vorgabe.mindestzeit    
            as_item_nachtmodus = sperren.daemmerung    
            as_item_suspendzeit = vorgabe.suspendzeit    
    
        [[[[Lock]]]]
            type = foo
            name = Automatik manuell gesperrt       
            as_set_suspend = False
    
            [[[[[enter]]]]]
                as_value_lock = True
    
            [[[[[enter_zentral]]]]]
                as_value_lockzentral = True
                as_value_lock = False
    
    
            [[[[[enter_eg]]]]]
                as_value_lockeg = True
                as_value_lock = False
    
    
        [[[[Suspend]]]]
            type = foo
            name = Ausgesetzt
            as_name = eval:autoblind_eval.insert_suspend_time("..suspend", "Automatik ausgesetzt bis %X")
            as_set_suspend = True
    
            [[[[[on_enter_or_stay]]]]]
                as_action_suspend = function: special | value: suspend:..suspend,..manuell | order: 1
                # possible Functions: "set", "force" (wird auch bei gleich gebliebenem Itemwert ausgeführt), "byattr", "trigger", "run" and "special"      
                as_action_retrigger = function: set | value: True | delay: var:item.suspend_remaining | order: 2
    
            [[[[[on_leave]]]]]
                as_action_suspend = function: set | value: False
    
            [[[[[enter_manuell]]]]]                        
                as_value_trigger_source = eval: autoblind_eval.get_relative_itemid("..manuell")
    
            [[[[[enter_stay]]]]]
                as_value_laststate = var:current.state_id
                as_agemax_suspend = item:vorgabe.suspendzeit
                as_value_suspend = True
    
        [[[[Nachfuehren_Seite_Eins]]]]
            type = foo
            name = Lamellenautomatik
            as_set_hoehe = value:100
            as_set_lamelle = eval:autoblind_eval.sun_tracking()        
            as_set_suspend = False
    
            [[[[[enter]]]]]
                as_value_brightnessGt43k1 = true
                as_minage_brightnessGt43k1 = 60
                as_min_sun_altitude = 18
                as_min_sun_azimut = 130
                as_max_sun_azimut = 270
                as_min_temperature = 22
    
            [[[[[enter_hysterese]]]]]
                as_value_laststate = var:current.state_id
                as_value_brightnessGt25k1 = true
                as_min_sun_altitude = 18
                as_min_sun_azimut = 130
                as_max_sun_azimut = 270
    
            [[[[[enter_delay]]]]]
                as_value_laststate = var:current.state_id
                as_value_brightnessGt25k1 = false
                as_maxage_brightnessGt25k1 = 1200
                as_min_sun_altitude = 18
                as_min_sun_azimut = 130
                as_max_sun_azimut = 270
    
        [[[[Nachfuehren_Seite_Zwei]]]]                      
            type = foo
            as_use = verschattung.default.raffstore.Nachfuehren_Seite_Eins
    
            [[[[[enter]]]]]
                as_value_brightnessGt43k2 = true
                as_minage_brightnessGt43k2 = 60
                as_min_sun_altitude = 18
                as_min_temperature = 22                    
                as_min_sun_azimut = 220
                as_max_sun_azimut = 340
    
            [[[[[enter_hysterese]]]]]
                as_value_laststate = var:current.state_id
                as_value_brightnessGt25k2 = true
                as_min_sun_altitude = 18
                as_min_sun_azimut = 220
                as_max_sun_azimut = 340
    
            [[[[[enter_delay]]]]]
                as_value_laststate = var:current.state_id
                as_value_brightnessGt25k2 = false
                as_maxage_brightnessGt25k2 = 1200
                as_min_sun_altitude = 18 
                as_min_sun_azimut = 220
                as_max_sun_azimut = 340                
    
        [[[[Nacht]]]]
            type = foo
            name = Nacht
            as_set_hoehe = value:100
            as_set_lamelle = value:100
            as_set_suspend = False
    
            [[[[[enter]]]]]
                eval_trigger = modus.winter | modus.sommer
                as_min_time = 09:00
                as_max_time = 16:00
                as_negate_time = True
                as_max_brightness2 = 90
                as_value_winter = False
    
        [[[[Nacht_W]]]]
            type = foo
            name = Winternacht
            as_set_hoehe = value:95
            as_set_lamelle = value:100
            as_set_suspend = False
    
            [[[[[enter]]]]]
                eval_trigger = modus.winter | modus.sommer
                as_min_time = 09:00
                as_max_time = 16:00
                as_negate_time = True
                as_max_brightness2 = 90
                as_value_winter = True
                as_value_sommer = False
                as_value_urlaub = False
    
        [[[[Morgens]]]]
            type = foo
            name = Daemmerung Morgens
            as_set_hoehe = value:100
            as_set_lamelle = value:75
            as_set_suspend = False
    
            [[[[[enter]]]]]
                as_min_brightness2 = 55
                as_max_brightness2 = 255
                as_min_time = item:vorgabe.mindestzeit
                as_max_time = 11:00
                as_value_winter = False
                as_value_nachtmodus = False
    
        [[[[Morgens_W]]]]
            type = foo
            name = Wintermorgen
            as_set_hoehe = value:95
            as_set_lamelle = value:75
            as_set_suspend = False
    
            [[[[[enter]]]]]
                as_min_brightness2 = 55
                as_max_brightness2 = 255
                as_min_time = item:vorgabe.mindestzeit
                as_max_time = 11:00
                as_min_temperature = item:vorgabe.mindesttemperatur
                as_value_winter = True
                as_value_sommer = False
                as_value_urlaub = False
                as_value_nachtmodus = False
    
        [[[[Abends]]]]
            type = foo
            name = Daemmerung Abends
            as_set_hoehe = value:100
            as_set_lamelle = value:25
            as_set_suspend = False
    
            [[[[[enter]]]]]
                as_min_brightness2 = 90
                as_max_brightness2 = 120
                as_min_time = 17:00
                as_max_time = 24:00
                as_value_winter = False
    
    
        [[[[Abends_W]]]]
            type = foo
            name = Winterabend
            as_set_hoehe = value:95
            as_set_lamelle = value:25
            as_set_suspend = False
    
            [[[[[enter]]]]]
                as_min_brightness2 = 90
                as_max_brightness2 = 120
                as_min_time = 15:00
                as_max_time = 24:00
                as_value_winter = True
                as_value_sommer = False
                as_value_urlaub = False
    
        [[[[Tag]]]]
            type = foo
            name = Tag (statisch)
            as_set_hoehe = value:0
            as_set_lamelle = value:0
            as_set_suspend = False
    
            [[[[[enter]]]]]
                as_min_brightness2 = 256
                as_min_time = item:vorgabe.mindestzeit
                as_max_time = 21:30
                as_value_winter = False
                as_value_sommer = False
                as_value_urlaub = False
                as_value_nachtmodus = False
    
        [[[[Tag_W]]]]
            type = foo
            name = Wintertag
            as_set_hoehe = value:0
            as_set_lamelle = value:0
            as_set_suspend = False
    
            [[[[[enter]]]]]
                as_min_brightness2 = 256
                as_min_time = item:vorgabe.mindestzeit
                as_max_time = 21:30
                as_min_temperature = item:vorgabe.mindesttemperatur
                as_value_winter = True
                as_value_sommer = False
                as_value_urlaub = False
                as_value_nachtmodus = False    
    
        [[[[Tag_S]]]]
            type = foo
            name = Tag (statisch)
            as_set_hoehe = value:100
            as_set_lamelle = value:60
            as_set_suspend = False
    
            [[[[[enter]]]]]
                as_min_brightness2 = 120
                as_min_time = item:vorgabe.mindestzeit
                as_max_time = 21:30
                as_value_winter = False
                as_value_sommer = True
                as_value_urlaub = False
                as_value_nachtmodus = False
    
        [[[[Tag_U]]]]
            type = foo
            name = Tag (statisch)
            as_set_hoehe = value:100
            as_set_lamelle = value:70
            as_set_suspend = False
    
            [[[[[enter]]]]]
                as_min_brightness2 = 256
                as_min_time = 07:30
                as_max_time = 21:30
                as_value_winter = False
                as_value_sommer = False
                as_value_urlaub = True
    conf
    Code:
    [verschattung]
        [[raffstore3]]
            name = Raffstore 3 EZ West
    
            [[[aufab]]]
            type = bool
            name = Raffstore auf/ab fahren
            enforce_updates = yes
            visu_acl = rw
            knx_dpt = 1
            knx_send = 2/2/9
    
            [[[step]]]
            type = bool
            name = Raffstore Schritt fahren/stoppen
            enforce_updates = yes
            visu_acl = rw
            knx_dpt = 1
            knx_send = 2/2/3
    
            [[[hoehe]]]
            type = num
            name = Raffstore Schritt fahren/stoppen
            visu_acl = rw
            knx_dpt = 5.001
            knx_send = 2/2/24
            knx_cache = 2/2/25
    
            [[[lamelle]]]
            type = num
            name = Lamellenwinkel des Raffstores
            visu_acl = rw
            knx_dpt = 5.001
            knx_send = 2/2/26
            knx_cache = 2/2/27
    
            [[[blade_shift]]]
            type = num
            enforce_updates = yes
            visu_acl = rw
            knx_dpt = 1
            knx_send = 2/2/3
    
    [verschattung]
        [[raffstore3]]
            [[[automatik]]]
    
            [[[[lock]]]]
            type = bool
            name = Sperr-Item
            visu_acl = rw
            cache = True
    
            [[[[suspend]]]]
            type = bool
            name = Suspend-Item
            visu_acl = rw
    
            [[[[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
            eval_trigger = verschattung.raffstore3.aufab | verschattung.raffstore3.step | verschattung.raffstore3.hoehe | alle.fahren | alle.stopp | eg.raff.fahren | eg.raff.stopp | eg_s.raff.fahren | eg_s.raff.stopp
            as_manual_invert = True
            as_manual_exclude = scheduler:verschattung.trigger.raffstore | KNX:1.1.26
    
            [[[[rules]]]]
            type = bool
            name = Automatik Raffstore 3
            as_plugin = active
            as_startup_delay = 40
            eval_trigger = verschattung.trigger.raffstore | verschattung.raffstore3.automatik.anwesenheit | verschattung.raffstore3.automatik.manuell | verschattung.raffstore3.automatik.lock | verschattung.raffstore3.automatik.suspend | modus.urlaub | modus.sommer | modus.winter | sperren.daemmerung | sperren.eg | sperren.alle | vorgabe.mindesttemperatur | vorgabe.mindestzeit
            as_laststate_item_id = ..state_id
             as_laststate_item_name = ..state_name

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Sorry, physikal. Adresse meinte ich natürlich.. Poste doch nochmals alles sauber hier. Sprich Item, default und Log. Und bei Letzterem alles von einem "Durchgang" also von einem "Update state of item ..." bis zum nächsten.

    Einen Kommentar schreiben:


  • KF55W
    antwortet
    Zitat von Onkelandy Beitrag anzeigen
    Deine Taster haben aber eine andere Gruppenadresse als deine Aktoren! Du must also nur die Aktoren excluden. Im ärgsten Notfall includest du noch deine Taster-GA, aber das sollte eigtl. nicht nötig sein.
    Stellst du beim Taster wirklich direkt eine Höhe ein? Normal wäre ja auf/ab und das sind dann ja wieder andere Items, die das manuell-Item auslösen.
    Physikalische Adresse oder GA?
    KNX:1.1.26 ist die physikalische adresse des Aktors.
    Ich hatte die Taster schon inkludiert, hat aber kein Erfolg.
    Der Taster sendet nur auf/ab. hat mich auch stark gewundert dass die Höhe in dem Debug steckt, das wird wohl irgendwo im skript verankert sein.
    Daher ja das ganze dilemma
    alle tasteraktionen sind ja schon explizit im Manuell drin, aber sie werden eben nicht angesprochen...

    Eine Lösung wäre wenn man die Physikalische adresse mit dem GA angeben könnte, wie es auch im Debug ausgewiesen ist

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Deine Taster haben aber eine andere Gruppenadresse als deine Aktoren! Du must also nur die Aktoren excluden. Im ärgsten Notfall includest du noch deine Taster-Adresse, aber das sollte eigtl. nicht nötig sein.
    Stellst du beim Taster wirklich direkt eine Höhe ein? Normal wäre ja auf/ab und das sind dann ja wieder andere Items, die das manuell-Item auslösen.

    Offline hat übrigens große Arbeit geleistet, die man hier vielleicht zusammenfassen könnte. Voraussetzung ist, man zieht sich die aktuellsten Updates aus dem develop Zweig von https://github.com/i-am-offline/smar....autoblind.git


    Die Änderungen sind alle in diesem Beispiel drin. Es gibt jetzt für das Suspend eine Spezial-Funktion, die nun auch richtig zu funktionieren scheint.

    Code:
    [[[[Suspend]]]]
        type = foo
        name = Ausgesetzt
        as_name = eval:autoblind_eval.insert_suspend_time("..suspend")
    
        [[[[[on_enter_or_stay]]]]]
            as_action_suspend = function: special | value: suspend:..suspend,..manuell | order: 1
            # possible Functions: "set", "force" (wird auch bei gleich gebliebenem Itemwert ausgeführt), "byattr", "trigger", "run" and "special"      
            as_action_retrigger = function: set | value: True | delay: var:item.suspend_remaining | order: 2
    
        [[[[[on_leave]]]]]
            as_action_suspend = function: set | value: False
    
        [[[[[enter_manuell]]]]]
            type = foo
            as_value_trigger_source = test.suspend.manuell
    
        [[[[[enter_stay]]]]]
            type = foo
            as_value_laststate = var:current.state_id
            as_agemax_manuell = var:item.suspend_time
            as_value_suspend = True
    Zuletzt geändert von Onkelandy; 12.01.2017, 12:16. Grund: Versehentlich GA statt phys. Adresse

    Einen Kommentar schreiben:


  • KF55W
    antwortet
    hallo zusammen
    wenn ich exclude so einsetze, dann nimmt es mir auch die Taster raus, so dass die Manuelle Betätigung nicht vom Taster erkannt wird,
    unabhängig vom enforce_updates. Ich hab es dennoch rausgeschmissen.

    Also bei mir schaut es jetzt so aus, dass ich mich entscheiden kann ob nach jeder Automatikaktion gleich eine Sperre gesetzt wird, oder aber dass ich bei manuellen eingriff nicht sperren kann.

    Code:
    2017-01-12 09:29:12 DEBUG    __init__     Main         KNX[default]: 1.1.26 set 2/2/21 to 94.5 -- __init__.py:parse_telegram:207
    2017-01-12 09:29:12 DEBUG    item         Main         Item verschattung.raffstore2.hoehe = 94.5 via KNX 1.1.26 2/2/21 -- item.py:__update:470
    2017-01-12 09:29:12 DEBUG    scheduler    Main         Triggering verschattung.raffstore2.automatik.manuell - by: KNX source: 1.1.26 dest: 2/2/21 value: {'source': 'verschattung.raffstore2.hoeh -- scheduler.py:trigger:165
    2017-01-12 09:29:12 DEBUG    __init__     Main         KNX[default]: 1.1.26 set 2/2/23 to 0.0 -- __init__.py:parse_telegram:207
    2017-01-12 09:29:12 DEBUG    item         Main         Item verschattung.raffstore2.lamelle = 0.0 via KNX 1.1.26 2/2/23 -- item.py:__update:470

    Einen Kommentar schreiben:


  • offline
    antwortet
    Hi KF55W

    was da triggert ist vermutlich die Statusrückmeldung deines Aktors. Du musst in Manuell-Item über das as_manual_exclude "KNX:1.1.26" ausschließen.
    Code:
    2017-01-11 08:15:43.397380 Eval initially triggered by [B]KNX[/B] (item=verschattung.raffstore3.hoehe source=[B]1.1.26[/B])
    Grüße
    offline

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Das enforce_updates bei der Höhe scheint mir suspekt! Das macht auch generell nicht wirklich Sinn.

    Schau dir außerdem mal die neuesten Änderungen aus dem dev Branch auf Github an, da hat sich gerade bezüglich Suspend Item einiges getan. Wär auch generell nicht schlecht, wenn das noch wer anderer testet

    Einen Kommentar schreiben:


  • KF55W
    antwortet
    Hallo Zusammen,

    ich habe noch ein "Feature" entdeckt und versucht die letzte Woche es auszumerzen, aber es funktioniert nicht:
    Immer wenn ein Ereignis per Automatik gesteuert wird, wird direkt im Anschluss per Manuell das Suspend getriggert, ausgelöst von der "Höhe" des Raffstores
    Witzigerweise nur bei den Raffstores, bei den Rollos funktioniert es.
    komisc finde ich auch, dass nur über die Höhe das Suspend getriggert wird, nicht über auf [aufab] oder [Step].
    Hängt vermutlich dann mit dem cache zusammen. aber ich benötige ja die information, auf welcher Höhe/ welche Stellung ich gerade bin, oder habt ihr das da heraus genommen?

    Hat sonst noch jemand das Problem?
    Müsste ja eigentlich, und wie habt ihr es umschifft?
    Danke und Grüße
    ANDI


    Weiter unten noch die conf

    Ich habe mit diversen exclude und include gearbeitet, aber das hat noch nicht zum Erfolg geführt.
    (debug zwecks übersicht etwas gekürzt)
    Code:
    2017-01-11 08:15:42.691088 State can be entered
    2017-01-11 08:15:42.691823 Changing to verschattung.raffstore3.automatik.rules.Morgens_W ('Wintermorgen')
    2017-01-11 08:15:42.702449     Action 'hoehe': Not setting 'verschattung.raffstore3.hoehe' to '95' because delta '1.9' is lower than mindelta '3'
    2017-01-11 08:15:42.703371     Action 'suspend': Set 'verschattung.raffstore3.automatik.suspend' to 'False'
    2017-01-11 08:15:42.703896     Action 'lamelle': Set 'verschattung.raffstore3.lamelle' to '75'
    2017-01-11 08:15:43.395598 Update state of item Automatik Raffstore 3 =====================================
    2017-01-11 08:15:43.396136 Update triggered by Eval (item=verschattung.raffstore3.automatik.rules source=verschattung.raffstore3.automatik.manuell dest=None)
    2017-01-11 08:15:43.397380 Eval initially triggered by KNX (item=verschattung.raffstore3.hoehe source=1.1.26)
    2017-01-11 08:15:43.398450 Last state: verschattung.raffstore3.automatik.rules.Morgens_W ('Wintermorgen')
    2017-01-11 08:15:43.399286 Check if state 'verschattung.raffstore3.automatik.rules.Morgens_W' ('Wintermorgen') can be left:
    2017-01-11 08:15:43.400270     No condition sets defined -> matching
    2017-01-11 08:15:43.401141 State can be left
    
    2017-01-11 08:15:43.421713 Check if state 'verschattung.raffstore3.automatik.rules.Suspend' ('Ausgesetzt') can be entered:
    2017-01-11 08:15:43.422175     Check condition set 'enter_manuell':
    2017-01-11 08:15:43.422857         Executing method 'get_relative_itemid(..manuell)'
    2017-01-11 08:15:43.423513         Condition 'trigger_source': value=verschattung.raffstore3.automatik.manuell negate=False current=verschattung.raffstore3.automatik.manuell
    2017-01-11 08:15:43.424068             OK -> matching
    2017-01-11 08:15:43.424626         Age of 'trigger_source': No limits given
    2017-01-11 08:15:43.425033 State can be entered
    2017-01-11 08:15:43.425468 Changing to verschattung.raffstore3.automatik.rules.Suspend ('Ausgesetzt')
    2017-01-11 08:15:43.427597 Executing method 'insert_suspend_time(..suspend, Automatik ausgesetzt bis %X)'
    2017-01-11 08:15:43.428129     Suspend time is 3600
    2017-01-11 08:15:43.428706     Suspend item is verschattung.raffstore3.automatik.suspend
    2017-01-11 08:15:43.429502     Current suspend age: 47419.654148
    2017-01-11 08:15:43.430251     Remaining suspend time: -43819.654148
    2017-01-11 08:15:43.431006 Problem evaluating 'autoblind_eval.insert_suspend_time("..suspend", "Automatik ausgesetzt bis %X")': Can't convert 'ValueError' object to str implicitly.
    2017-01-11 08:15:43.431576     Action 'suspend': Set 'verschattung.raffstore3.automatik.suspend' to 'True'
    2017-01-11 08:15:44.394534 Update state of item Automatik Raffstore 3 =====================================
    conf: Raffstore (gekürzt dargestellt)

    Code:
    [verschattung]
        [[raffstore3]]
            name = Raffstore 3 EZ West
    
            [[[aufab]]]
            type = bool
            name = Raffstore auf/ab fahren
            enforce_updates = yes
            visu_acl = rw
            knx_dpt = 1
            knx_send = 2/2/9
    
            [[[step]]]
            type = bool
            name = Raffstore Schritt fahren/stoppen
            enforce_updates = yes
            visu_acl = rw
            knx_dpt = 1
            knx_send = 2/2/3
    
            [[[hoehe]]]
            type = num
            name = Raffstore Schritt fahren/stoppen
            enforce_updates = yes
            visu_acl = rw
            knx_dpt = 5.001
            knx_send = 2/2/24
            knx_cache = 2/2/25
    
            [[[lamelle]]]
            type = num
                name = Lamellenwinkel des Raffstores
            visu_acl = rw
            knx_dpt = 5.001
            knx_send = 2/2/26
            knx_cache = 2/2/27
    
            [[[blade_shift]]]
            type = num
            enforce_updates = yes
            visu_acl = rw
            knx_dpt = 1
            knx_send = 2/2/3
    
    [verschattung]
        [[raffstore3]]
            [[[automatik]]]
    
            [[[[lock]]]]
            type = bool
            name = Sperr-Item
            visu_acl = rw
            cache = True
    
            [[[[suspend]]]]
            type = bool
            name = Suspend-Item
            visu_acl = rw
    
            [[[[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
            eval_trigger = verschattung.raffstore3.aufab | verschattung.raffstore3.step | verschattung.raffstore3.hoehe | alle.fahren | alle.stopp | eg.raff.fahren | eg.raff.stopp | eg_s.raff.fahren | eg_s.raff.stopp
            as_manual_invert = True
            as_manual_exclude = scheduler:verschattung.trigger.raffstore
    
            [[[[rules]]]]
            type = bool
            name = Automatik Raffstore 3
            as_plugin = active
            as_startup_delay = 40
            eval_trigger = verschattung.trigger.raffstore | verschattung.raffstore3.automatik.anwesenheit | verschattung.raffstore3.automatik.manuell | verschattung.raffstore3.automatik.lock | verschattung.raffstore3.automatik.suspend | modus.urlaub | modus.sommer | modus.winter | sperren.daemmerung | sperren.eg | sperren.alle | vorgabe.mindesttemperatur | vorgabe.mindestzeit
            as_laststate_item_id = ..state_id
             as_laststate_item_name = ..state_name
    Default Conf (gekürzt)

    Code:
    [verschattung]
        [[default]]    
            [[[raffstore]]]
    
                as_item_ ... = hier weggelassen zwecks übersicht
    
    
                [[[[Suspend]]]]
                    type = foo
                    name = Ausgesetzt
                    as_name = eval:autoblind_eval.insert_suspend_time("..suspend", "Automatik ausgesetzt bis %X")
                    as_set_suspend = True
    
                         [[[[[enter_manuell]]]]]                        
                        as_value_trigger_source = eval: autoblind_eval.get_relative_itemid("..manuell")
    
                        [[[[[enter_stay]]]]]
                        as_value_laststate = var:current.state_id
                        as_agemax_suspend = item:vorgabe.suspendzeit
                        as_value_suspend = True
    
                 [[[[Nacht_W]]]]
                    type = foo
                    name = Winternacht
                    as_set_hoehe = value:95
                    as_set_lamelle = value:100
                    as_set_suspend = False
    
                        [[[[[enter]]]]]
                        as_min_time = 09:00
                        as_max_time = 16:00
                        as_negate_time = True
                        as_max_brightness2 = 90
                        as_value_winter = True
                        as_value_sommer = False
                        as_value_urlaub = False
    
                [[[[Morgens_W]]]]
                    type = foo
                    name = Wintermorgen
                    as_set_hoehe = value:95
                    as_set_lamelle = value:75
                    as_set_suspend = False
    
                        [[[[[enter]]]]]
                        as_min_brightness2 = 55
                        as_max_brightness2 = 255
                        as_min_time = item:vorgabe.mindestzeit
                        as_max_time = 11:00
                        as_min_temperature = item:vorgabe.mindesttemperatur
                        as_value_winter = True
                        as_value_sommer = False
                        as_value_urlaub = False
                        as_value_nachtmodus = False
    
                [[[[Tag_W]]]]
                    type = foo
                    name = Wintertag
                    as_set_hoehe = value:0
                    as_set_lamelle = value:0
                    as_set_suspend = False
    
                        [[[[[enter]]]]]
                        as_min_brightness2 = 256
                        as_min_time = item:vorgabe.mindestzeit
                        as_max_time = 21:30
                        as_min_temperature = item:vorgabe.mindesttemperatur
                        as_value_winter = True
                        as_value_sommer = False
                        as_value_urlaub = False
                        as_value_nachtmodus = False

    Einen Kommentar schreiben:

Lädt...
X