Ankündigung

Einklappen
Keine Ankündigung bisher.

Item verzögerung

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

    Item verzögerung

    Hallo zusammen.

    Ich will eine art alarmanlage realisieren. Dazu wird, während ich abwesend bin, auf alle reedkontakte und pm events gehorcht. Der Reedkontakt bei der Haustüre und Garge soll aber nicht sofort einen Event schicken, sonder ein paar Minuten verzögert, damit man auch die Möglichkeit hat die Alarmanlage deaktivieren zu können. Ist es Möglich in der Item-Config via eval etwas verzögert zu schicken? Oder ein 2tes mal zu schicken, damit ich wenigsten in der Logik 2 Events bekomme und den 2ten auf last_change abzufragen kann?

    Wie habt ihr das gelöst?

    Gruss buffi

    #2
    Für diejenigen die was ähnliches machen wollen:

    item.conf
    Code:
    [reedkontakt]
         [[haustuer]]
             type = bool
             enforce_updates = True
             knx_dpt = 1
             knx_listen = 5/0/12
             knx_init = 5/0/12
             delay_time = 120
             [[[delay]]]
                 type = bool
    in der verwendeten Logik, wo man ein Item verzögert setzen möchte:

    Code:
    if 'delay_time' in item.conf:
            sh.trigger(name= 'ManDelayTrigger', source= item.id(), dest= item.id()+'.delay', value=item(),  dt=sh.now() + datetime.timedelta(seconds= int(item.conf['delay_time'])))
    In der AUfgerufenen Logik wird dann nun einfach das Item gesetzt. Diese Logik wird verzögert aufgerufen...
    ManDelayTrigger.py
    Code:
    #!/usr/bin/env python
    
    item = sh.return_item(trigger['dest'])
    if None == item:
        logger.error("Item: " +trigger['dest']+" ist nicht vorhanden!")
    else:
        item(sh.string2bool(trigger['value']))
    viel Spass
    Buffi

    Kommentar

    Lädt...
    X