Ankündigung

Einklappen

Serverwartung 21.2.



Am 21.2. im Laufe des späten Abends wird eine Serverwartung durchgeführt. Das Forum ist dadurch für gut zwei Stunden nicht erreichbar.
Es wird eine Wartungsseite geschaltet.

Mehr anzeigen
Weniger anzeigen

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