Ankündigung

Einklappen
Keine Ankündigung bisher.

shtime - Fehler bei der time_since Berechnung nach Jahreswechsel

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

    shtime - Fehler bei der time_since Berechnung nach Jahreswechsel

    Hallo,

    erst einmal alles ein gesundes neues Jahr!

    Seit dem Jahreswechsel werfen diverse evals mit shtime und time_since Fehler aus.
    Code:
    2021-01-01 14:53:41 ERROR lib.shtime time_since: Aufgerufen mit Zeitpunkt in der Zukunft
    2021-01-01 14:53:41 WARNING lib.item Item stromzaehler.bezug.energie.woche: problem evaluating round((sh.stromzaehler.bezug.energie() - sh.stromzaehler.bezug.energie.db('max', str(shtime.time_since(shtime.beginning_of_week(), 'im')) + 'i', str(shtime.time_since(shtime.beginning_of_week(), 'im')) + 'i')), 2): unsupported operand type(s) for +=: 'int' and 'str'
    Über den eval-Syntax-Prüfer konnte ich es soweit einschränken, dass die Berechnung der time_since wohl Probleme mit dem Jahreswechsel hat. Die Abfragen ergeben alle 0.

    Hat jemand dies auch beobachtet?

    #2
    Das Problem liegt in der Funktion beginning_of_week(). In lin.shtime im develop ist das bereits gefixt.

    Du hast nun zwei Möglichkeiten: Auf das kommende Release zu warten oder die shtime.py aus dem develop bei Dir zu installieren.
    Viele Grüße
    Martin

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

    Kommentar


      #3
      Zitat von Msinn Beitrag anzeigen
      Du hast nun zwei Möglichkeiten: Auf das kommende Release zu warten oder die shtime.py aus dem develop bei Dir zu installieren.
      Danke! Erledigt.

      Wäre es denkbar, die shtime zu erweiteren, so dass auch mit relativedelta von dateutil der Berechnung für Vormonat ermöglicht wird?
      Da für yesterday verwendete timedelta funktioniert nur bis "day", nicht aber für "month".

      Kommentar


        #4
        Lustig wird's bei der Berechnung von Vormonat und va. Vorwoche. Ich denke, es bräuchte einen Offsetparameter, sonst wird das gruselig um die Jahreswechsel rum..
        Ich hab mal einen PR dazu gemacht.. es gibt nun für alle Funktionen einen offset Parameter. Also auch gestern wäre einfach mit shtime.today(-1) abzufragen. Vorgestern dann -2, etc.

        Zu den korrekten Vorwochen und -monaten kommst du nun via
        Code:
        str(shtime.beginning_of_week(shtime.calendar_week(None, -1))) ODER str(shtime.beginning_of_week(shtime.calendar_week(), None, -1))
        str(shtime.beginning_of_month(None, None, -1))
        Hier der PR, bitte um Testung.. und freue mich dann natürlich über aktualisierte evals für die Wertehistorie. https://github.com/smarthomeNG/smarthome/pull/375

        Kommentar


          #5
          Zitat von Onkelandy Beitrag anzeigen
          Hier der PR, bitte um Testung.. und freue mich dann natürlich über aktualisierte evals für die Wertehistorie.
          Danke für die Umsetzung. Ich teste gerade.

          Die evals stelle ich dann hier wieder ein.
          Kein Thema.

          Kommentar


            #6
            Zitat von Onkelandy Beitrag anzeigen
            über aktualisierte evals für die Wertehistorie.
            Sind Online. Siehe hier

            Kommentar

            Lädt...
            X