Ankündigung

Einklappen
Keine Ankündigung bisher.

Timestamp (Unix-Zeit) per eval erzeugen

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

    Timestamp (Unix-Zeit) per eval erzeugen

    Moin

    Ich habe folgende, noch nicht fertige Item-Struktur:

    Code:
        Spuelpumpe:
            Schalten:
                type: bool
                knx_dpt: 1
                knx_send: 8/2/2
                knx_cache: 8/2/3
            Timestamp:
                type: num
    Wenn das Schalten-Item auf 1 geht, soll das Timestamp-Item mit der aktuellen Unix-Zeit belegt werden.

    1. Geht das mit eval in der Item-Definition und wenn ja, wie?
    2. Ist der type: num dann korrekt?
    3. Braucht es einen enforce_updates o.ä. im Timestamp item, damit beim nächsten Schaltvorgang wieder die aktuelle Zeit in das Item geschrieben wird?

    Gruß, Martin

    #2
    zu 1: Ja
    Den timestamp kannst Du so ermitteln:
    Code:
    datetime.datetime.timestamp(shtime.now())
    zu 2: Ja

    zu 3: Wenn der Timestamp nicht nur bei einem Change von 0 auf 1 gesetzt werden soll sondern auch bei einem Update, brauchst Du in Timestamp ausser einem eval auch ein enforce_updates.

    Alternativ kannst Du im Schalten Item auch on_change verwenden. Dann musst Du in Timestamp auch enforce_updates. setzen.

    Der sinnvollste Weg, wenn Du Timestamp bei einnem Update von Schalten setzen willst, ist die Verwendung von on_update im Schalten Item:

    Code:
        Spuelpumpe:
            Schalten:
                type: bool
                knx_dpt: 1
                knx_send: 8/2/2
                knx_cache: 8/2/3
                on_update: Spuelpumpe.Timestamp = datetime.datetime.timestamp(shtime.now())
            Timestamp:
                type: num
    Eventuell wäre im Timestamp Item noch ein cache: True sinnvoll, damit der Timestamp einen Neustart von SmartHomeNG überlebt.
    Viele Grüße
    Martin

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

    Kommentar


      #3
      Danke dir, das klappt.
      Nur das clock.countdown Widget in der SmartVISU mag immer noch nicht -> anderes Thema.

      Kommentar

      Lädt...
      X