Ankündigung

Einklappen
Keine Ankündigung bisher.

Suspend Item selbst erstellen - string in eval-Ausdruck

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

    Suspend Item selbst erstellen - string in eval-Ausdruck

    Hallo,

    leider funktioniert bei meinem Autoblind Plugin der Suspendzustand nicht zuverlässig. Ich möchte daher selbst ein Suspend-Item anlegen. Dieses soll auf "False" gesetzt werden, wenn das Item vom Autoblind Plugin geändert wurde. Hierzu mein Vorschlag:
    Code:
                    Ausgesetzt:
                        type: bool
                        visu_acl: rw
                        knx_dpt: 1
                        autotimer: 3600 = 0
    
                    Manuelle_Bedienung:
                        type: bool
                        visu_acl: ro
                        knx_dpt: 1
                        eval: False if (sh....Hoehe.changed_by() == 'AutoBlind Plugin') else True
                        eval_trigger:
                          - ...Hoehe
                        on_update: ..Ausgesetzt = 1 if value == 1 else 0
    Leider scheint in der Zeile eval: etwas nicht zu passen. Das Item hat dauerhaft den Wert "True", obwohl die Änderung des Items "Höhe" stets durch das Autoblind Plugin erfolgt.
    Zu Testzwecken habe ich den Ausdruck 'Autoblind Plugin' schonmal durch 'KNX:1.1.14' ersetzt, der Gruppenadresse des Aktors. Hier hat alles funktioniert.

    Kann mir jemand helfen?

    Vielen Dank.
    Grüße, Thomas

    #2
    Mach doch mal ne Logik, über die du dir ausgeben lässt, wer das Item getriggert hat.. Vermutlich braucht es ein ":None" danach?
    Wo genau hapert es denn mit dem Autoblind? Suspend Item funktioniert hier einwandfrei.. nutzt du die develop Version?

    Suspend Status sieht bei mir so aus:
    Code:
                suspend:
                    type: foo
                    name: Ausgesetzt
    
                    on_enter_or_stay:
                        as_action_suspend:
                          - 'function: special'
                          - 'value: suspend:..suspend, ..manuell'
                          - 'repeat: True'
                          - 'order: 1'
                        as_action_suspend_end:
                          - 'function: set'
                          - "to: eval:autoblind_eval.insert_suspend_time('..suspend', suspend_text='%X')"
                          - 'repeat: True'
                          - 'order: 2'
                        as_action_retrigger:
                          - 'function: set'
                          - 'to: true'
                          - 'delay: var:item.suspend_remaining'
                          - 'repeat: True'
                          - 'order: 3'
    
                    on_leave:
                        as_action_suspend:
                          - 'function: set'
                          - 'to: False'
                        as_action_suspend_end:
                          - 'function: set'
                          - 'to:  '
    
                    enter_manuell:
                        type: foo
                        as_value_trigger_source: eval:autoblind_eval.get_relative_itemid('..manuell')
    
                    enter_stay:
                        type: foo
                        as_value_laststate: var:current.state_id
                        as_agemax_suspend: eval:autoblind_eval.get_relative_itemvalue('..settings.suspendduration') * 60
                        as_value_suspend: 'True'
    Dein Subject ist übrigens recht kryptisch, wenn man Autoblind nicht kennt.
    Zuletzt geändert von Onkelandy; 05.05.2018, 07:42. Grund: updated solution

    Kommentar


      #3
      Hallo,
      danke für deine Antwort.

      Das Problem war, dass die Ausführungszeitpunkte on_enter und on_leave bei mir nicht funktionierten. Somit wurde das Suspend-Item nicht auf False gesetzt.

      Hab dazu auch mal ein Thema erstellt: https://knx-user-forum.de/forum/supp...ionieren-nicht

      Ich habe den Code aus der Doku kopiert. der Hat bei mir nicht funktioniert.
      Ich könnte mal deinen probieren. Deiner ist jedoch einiges Umfangreicher. Ich schau mir das mal an.

      Kommentar

      Lädt...
      X