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

Minuten ab 0:00:00 in einem Item mit shtime

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

    Minuten ab 0:00:00 in einem Item mit shtime

    Hallo zusammen,
    seit ich shng 1.8.1 nutze, funktioniert folgender eval-Aufruf in einem Item scheinbar nicht mehr:

    Code:
    env:
        custom:
            mdt:
                type: num
                name: Minuten ab 0:00
                cycle: 60
                eval: sh.shtime.time_since(sh.shtime.today(),'im')
                enforce_updates: 'true'
    Ich würde erwarten, dass der Wert des Items minütlich aktualisiert wird auf die vergangenen Minuten seit 0:00.

    Mach ich irgendetwas falsch? Ich steh grad auf dem Schlauch.... Danke!

    #2
    Cycle ohne Wertzuweisung geht nicht mehr.. du müsstest cycle = 1 machen. Das Eval sollte dafür sorgen, dass die 1 nie geschrieben wird.
    Statt sh.shtime.time_since kannst du shtime.time_since nutzen.

    Kommentar


      #3
      Danke! Das war echt die Nadel im Heuhaufen.

      Ich hab dann jetzt mal
      Code:
      cycle: 60 = None
      gesetzt. Damit funktioniert es jetzt.

      Vielleicht sollte dann in der Doku (https://www.smarthomeng.de/user/refe...ute/cycle.html) das erste Beispiel für Cycle entfernt und explizit darauf hingewiesen werden, dass eine Wertzuweisung (oder "None" um den Wert nicht zu ändern), zwingend erforderlich ist.
      Zuletzt geändert von Bear80; 18.02.2021, 21:30.

      Kommentar


        #4
        Das ist so nicht ganz korrekt.

        Bei eval: gilt die Konvention, dass die Zuweisung von None den Wert nicht verändert. Bei cycle: versucht shng, None zuzuweisen. Bei num und bool wirft das einen Fehler, weil es None nicht in num oder bool konvertieren kann (siehe im Log); bei str wird "None" zugewiesen.

        "Nicht zuweisen" geht nur bei eval.

        Kommentar


          #5
          Morg : Danke für den Hinweis. Den Fehler im Log sehe ich zwar nicht (Loglevel warning), aber habs jetzt mal auf 0 geändert.

          Kommentar

          Lädt...
          X