Ankündigung

Einklappen

ETS5 Sammelbestellung Vollversion

Infos unter: Link
Mehr anzeigen
Weniger anzeigen

Abfrage eines Items während eines bestimmten Zeitraums

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

    Abfrage eines Items während eines bestimmten Zeitraums

    Hallo,

    ich möchte eine Logik programmieren, die ein Ausgangsobjekt auf wahr setzt, wenn während einer bestimmten Zeitspanne, z.B. 4 Stunden, kein Präsenzmelder eine Anwesenheit meldet. Gibt es in Python die Möglichkeit, das einfach umzusetzen? Ich nutze übrigens das database-Plugin und könnte die Werte dort speichern und abfragen. Ist das der beste Weg? Ich bin Einsteiger und lese mich gern weiter ein, brauche nur einen Wink in die richtige Richtung. Danke!
    Cheers
    Art Mooney

    #2
    autotimer ist dein Freund.

    Kommentar


      #3
      Danke für den Hinweis. Nach der Doku sendet Autotimer den angegebenen Wert, wenn nach einer angegebenen Zeitspanne nach Empfang eines Wertes kein weiterer Wert für das Item gesetzt wird. Ich würde also ein Item anlegen, das wie folgt aussieht:

      HTML-Code:
              type: bool
              knx_dpt: 1
              autotimer: 240m = 0
              knx_send: 8/4/219
              database@mysqldb: init
              visu_acl: rw
              enforce_updates: true
      Wenn ich nun möchte, dass abgefragt wird, ob innerhalb von 4 Stunden keine Anwesenheit im Gebäude war, erstelle ich eine Logik, die bei Anwesenheit eine 1 auf das Item sendet. Im Fall von Abwesenheit wird eine 0 gesendet. Nach meinem Verständnis wird die 0 aber erst dann an den KNX-Bus gesendet, wenn die 4 Stunden abgelaufen sind und innerhalb der 4 Stunden nicht noch ein Wert (0 oder 1) auf das Item gesendet wurde.

      Bedeutet das, dass ich "enforce_updates" rausnehmen muss?
      Cheers
      Art Mooney

      Kommentar


        #4
        Dur könntest das age Property eines Items nutzen. In etwa so: Wenn anwesend() == False und anwesend.property.last_change_age > gewünschter Zeitraum, dann ...

        Infos zu Propertys: https://www.smarthomeng.de/developer...light=property
        Viele Grüße
        Martin

        There is no cloud. It's only someone else's computer.

        Kommentar


          #5
          Es gibt verschiedene Möglichkeiten.

          Deine Logik funktioniert annähernd. Du solltest aber nur beim Einschalten eines PM eine 1 setzen und beim Ausschalten nichts.

          enforce_updates hat keinen Einfluss auf diese Funktionalität. Das bewirk in diesem Fall nur, dass bei jedem einschaltenden PM erneut eine 1 an KNX gesendet wird.

          Kommentar


            #6
            Die Funktion mit den Properties ist gut. Es wird wirklich Zeit, dass ich mein smarthomeNG auf die aktuelle Version bringe... aber dafür muss ich mir etwas mehr Zeit reservieren.

            Ich werde es daher erstmal mit autotimer probieren.
            Cheers
            Art Mooney

            Kommentar

            Lädt...
            X