Ankündigung

Einklappen
Keine Ankündigung bisher.

'Crontab' object has no attribute 'wday'

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

    'Crontab' object has no attribute 'wday'

    Hallo,

    Ich bin auf SmartHomeNG Version:1.9.0.master seit einigen Wochen.
    Habe heute entdeckt das mein Scheduler nicht mehr funktioniert, daraufhin SHNG neu gestartet und im Log folgenden Eintrag gefunden:

    Code:
    2022-01-29 17:25:45 ERROR lib.smarthome Unhandled exception: 'Crontab' object has no attribute 'wday'
    <class 'AttributeError'>
    File "/usr/local/smarthome/bin/smarthome.py", line 276, in <module>
    sh.start()
    File "/usr/local/smarthome/lib/smarthome.py", line 605, in start
    self.logics = lib.logic.Logics(self, self._logic_conf_basename, self._env_logic_conf_basename)
    File "/usr/local/smarthome/lib/logic.py", line 124, in __init__
    self._load_logic(name, _config)
    File "/usr/local/smarthome/lib/logic.py", line 160, in _load_logic
    self.scheduler.add(self._logicname_prefix+name, logic, logic.prio, logic.crontab, logic.cycle)
    File "/usr/local/smarthome/lib/scheduler.py", line 472, in add
    self._next_time(name, offset)
    File "/usr/local/smarthome/lib/scheduler.py", line 572, in _next_time
    ct = self.crontabs.get_next(entry, now)
    File "/usr/local/smarthome/lib/triggertimes.py", line 134, in get_next
    tt = Crontab(triggertime)
    File "/usr/local/smarthome/lib/triggertimes.py", line 345, in __init__
    self.parse_triggertime()
    File "/usr/local/smarthome/lib/triggertimes.py", line 385, in parse_triggertime
    self.wday = self.wday.lower()
    Seitdem ist SHNG nicht mehr lauffähig. Bleibt nach der Fehlermeldung stehen.

    Was ich schon versucht habe:
    - Service neu starten
    - Reboot
    - Alle Logiken in der logic.yaml auf 'enabled: false' gestellt

    Irgendeine Idee woran es liegt?

    Gruß
    Marcus




    #2
    versuche mal die Datei lib/triggertimes.py auszutauschen mit der gleichnamigen aus dem develop branch

    Kommentar


      #3
      Hallo bmx,

      Mit der lib/triggertimes.py aus dem Develop kommt zwar die Fehlermeldung von oben nicht mehr, aber ich habe Seitenweise

      Code:
      2022-01-29 17:59:17 ERROR lib.triggertimes crontab entry '180' has fewer than 4 parts and is invalid
      2022-01-29 17:59:17 ERROR lib.triggertimes eventtime 2022-01-29 17:46:31.067357+01:00 is earlier than starttime 2022-01-29 17:59:17+01:00 maybe ephem>4.1 with errors
      2022-01-29 17:59:17 ERROR lib.triggertimes eventtime 2022-01-29 17:46:31.067357+01:00 is earlier than starttime 2022-01-29 17:59:17+01:00 maybe ephem>4.1 with errors
      2022-01-29 17:59:17 ERROR lib.triggertimes eventtime 2022-01-29 17:46:31.067357+01:00 is earlier than starttime 2022-01-29 17:59:17+01:00 maybe ephem>4.1 with errors
      2022-01-29 17:59:17 ERROR lib.triggertimes eventtime 2022-01-29 17:46:31.067357+01:00 is earlier than starttime 2022-01-29 17:59:17+01:00 maybe ephem>4.1 with errors
      2022-01-29 17:59:17 ERROR lib.triggertimes eventtime 2022-01-29 17:46:31.067357+01:00 is earlier than starttime 2022-01-29 17:59:17+01:00 maybe ephem>4.1 with errors
      ........
      Nach 72 Seiten Log habe ich den Start beendet......

      Noch Ideen?

      Kommentar


        #4
        OK, ich habs gefixt - aber kann leider nicht mehr genau sagen was genau der Fehler war.

        Ausgehend von der neuen Fehlermeldung mit der lib/triggertimes.py aus dem Develop:
        Code:
        2022-01-29 17:59:17 ERROR lib.triggertimes crontab entry '180' has fewer than 4 parts and is invalid
        hab ich in der etc/logic.yaml nach dem crontab entry '180' gesucht. Den Eintrag und die dazugehörige .py dann gelöscht.

        Jetzt läuft wieder alles, aber ich habe natürlich mit dem Löschen der Logik-Datei auch alle forensischen Beweise für die genauer Ursachenforschung ins Jenseits befördert.

        However - die Fehlermeldung mit der lib/triggertimes.py aus dem Develop hat den Hinweis gebracht. Habe jetzt die Datei aus dem Master wieder installiert.

        Läuft wieder! Thanks.

        Marcus
        Zuletzt geändert von SMarcus; 29.01.2022, 18:34.

        Kommentar


          #5
          Du kannst die fehlerbereinigte Datei aus dem develop ruhig drinlassen, beim nächsten master ist die dann sowieso dabei.

          Kommentar


            #6
            Hi Marcus,

            könntest du das git Kommando posten mit dem die lib/triggertimes.py ausgetauscht wurde?

            Danke vorab & Grüße,
            jes

            Kommentar


              #7
              Hi jes,

              Ähhh, sorry, ich mach das immer ohne git. Ich ziehe mir das komplette Paket (als zip) in Windows und schiebe dann die auszutauschende Datei über Samba in das entsprechende Linux-Verzeichnis meines SHNG Mini-PC.

              Solange die Samba-Anmeldung auf Linux mit dem gleichen Usernamen wie der Smarthome Username erfolgt, müssen anschließend keine Namensrechte geändert werden.

              Gruß
              Marcus

              Kommentar


                #8
                jes siehe Howto-Docker-Synology

                Kommentar

                Lädt...
                X