Ankündigung

Einklappen
Keine Ankündigung bisher.

Sommer/Winterzeit sh.now, now.hour, Debug

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

    Sommer/Winterzeit sh.now, now.hour, Debug

    Hallo,

    ich habe in einer Logik folgendes angegeben:

    Code:
    now = sh.now()
    Ladezeit = now.hour >= 16 and now.hour <= 18
    Im Sommer fängt die damit gesteuerte Pumpe relativ pünktlich an zu laufen gegen 16 Uhr. Getriggert wird die Logik alle 300 Sekunden, daher meine Wortwahl "relativ pünktlich".

    Seit der Zeitumstellung fängt die Pumpe aber erst gegen 17 Uhr an.

    Der Raspi zeigt mir die richtige Uhrzeit an.

    Woran kann das liegen?
    Wie kann ich den Wert von "now.hour" abfragen um sicher zu gehen, dass es daran liegt?

    Danke schonmal

    Gruß
    Wolfgang

    #2
    Wie kann ich den Wert von "now.hour" abfragen um sicher zu gehen, dass es daran liegt?

    Probier mal

    Code:
    now = sh.now()
    Ladezeit = now.hour >= 16 and now.hour <= 18
    logger.debug("Es ist jetzt: {} und now.hour is {} daher ist Ladezeit = {}".format(now, now.hour, Ladezeit))
    um Dich ranzutasten.

    Wobei ich mich frage, warum Du das alle 300 Sekunden triggerst? Du kannst doch die Logik mit einem crontab genau um 16 Uhr triggern?
    Zuletzt geändert von bmx; 30.10.2017, 20:40. Grund: Klammer hatte im logger.debug(...) gefehlt

    Kommentar


      #3
      Hallo,

      danke für deine schnelle Antwort.

      Das ist die Logik Datei:
      now = sh.now()
      Ladezeit = now.hour >= 16 and now.hour <= 18 #1 Endstunde weniger einstellen als gewünscht
      logger.debug("Es ist jetzt: {} und now.hour is {} daher ist Ladezeit = {}".format(now, now.hour, Ladezeit))

      So sieht im Debug die Ausgabe aus:
      Code:
       Exception: unexpected EOF while parsing (Differenzregelung_Hackschnitzel_Uebergang.py, line 3) -- logic.py:generate_bytecode:133
      Traceback (most recent call last):
        File "/usr/local/smarthome/lib/logic.py", line 131, in generate_bytecode
          self.bytecode = compile(code, self.filename, 'exec')
        File "/usr/local/smarthome/logics/Differenzregelung_Hackschnitzel_Uebergang.py", line 3
          logger.debug("Es ist jetzt: {} und now.hour is {} daher ist Ladezeit = {}".format(now, now.hour, Ladezeit)
      
      SyntaxError: unexpected EOF while parsing
      Da hat ne Klammer gefehlt... Jetzt gibt er was aus. Das scheint aber zu passen so wie ich das sehe. Ich schaue es mir mal an.

      Danke fürs drüber schauen.

      Gruß
      Zuletzt geändert von Bit-te; 30.10.2017, 20:28.

      Kommentar


        #4
        Hallo,

        die Werte die er als Log ausgibt die passen.
        Dann habe ich gerade keine Idee warum die Logik um 1 Stunde zu spät ausgeführt wird. Dann muß ich morgen wohl um 16 Uhr anwesend sein.

        Wird die Debug-Ausgabe irgendwo mitgeschrieben im Hintergrund? Dann könnte ich mir das morgen Abend in Ruhe anschauen?

        Ich wünsche schöne Feiertage.

        Gruß
        Wolfgang

        Kommentar


          #5

          Um erstmal zu sehen, ob was zu sehen ist, kannst Du SmartHomeNG mit Parameter -d starten. Dann gibt er Logging Informationen auf dem Bildschirm aus.

          Noch besser für Langzeitbeobachtungen ist es sicher sich das Backend in den Plugins zu aktivieren und dann unter Logging sich mal das Log anschauen. Dort kann man auch nach Level filtern und nach Begriffen durchsuchen.

          Schau Dir dazu mal den Artikel zu Logging best practices im Wiki an. Dort hat Msinn dokumentiert, wie man sich mehrere Logger erstellt. So kannst Du z.B. alle Sachen, die Dich interessieren speziell loggen lassen.

          Gruß,
          Bernd

          Kommentar


            #6
            Bit-te stell halt testweise auf eine andere Uhrzeit, dann musst Du nicht um 16:00 anwesend sein ;-) Der Fehler wird ja sicher nicht von exakt 16:00 abhängen..

            Kommentar

            Lädt...
            X