Ankündigung

Einklappen
Keine Ankündigung bisher.

Abbruch in smarthome.py

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

    Abbruch in smarthome.py

    Hallo an alle die nicht vor dem Fernseher sitzen und dem Ball nachschauen!

    Ich bin in eine Falle getapst, die ich selbst nicht lösen kann!

    Trotz einiger Versuche schaffe ich nicht den "delimiter" erfolgreich zu setzen.
    Weiter unten nach den ######

    Für jeden Hinweis schon jetzt meinen Dank!

    Wolfgang

    Code:
    2024-06-20  17:57:03 NOTICE   lib.smarthome       --------------------   Init SmartHomeNG v1.10.0-master (4b25822a0)   --------------------
    2024-06-20  17:57:03 NOTICE   lib.smarthome       Running in Python interpreter 'v3.9.2 final', from directory /usr/local/smarthome
    2024-06-20  17:57:03 NOTICE   lib.smarthome        - operating system 'Debian GNU/Linux 11 (bullseye)' (pid=3472)
    2024-06-20  17:57:03 NOTICE   lib.smarthome        - on 'Raspberry Pi 4 v1.4, 8GB (Sony, UK)'
    2024-06-20  17:57:04 ERROR    lib.smarthome       Unhandled exception: Expecting ',' delimiter: line 1 column 10 (char 9)
    <class 'json.decoder.JSONDecodeError'>
    running SmartHomeNG v1.10.0-master (4b25822a0)
    Exception:   File "/usr/local/smarthome/bin/smarthome.py", line 295, in <module>
        sh =SmartHome(MODE=MODE, extern_conf_dir=extern_conf_dir)
      File "/usr/local/smarthome/lib/smarthome.py", line 418, in __init__
        self.shtime._initialize_holidays()
      File "/usr/local/smarthome/lib/shtime.py", line 1171, in _initialize_holidays
        count = self._add_custom_holidays()
      File "/usr/local/smarthome/lib/shtime.py", line 1056, in _add_custom_holidays
        cust_date = json.loads(entry)
      File "/usr/lib/python3.9/json/__init__.py", line 346, in loads
        return _default_decoder.decode(s)
      File "/usr/lib/python3.9/json/decoder.py", line 337, in decode
        obj, end = self.raw_decode(s, idx=_w(s, 0).end())
      File "/usr/lib/python3.9/json/decoder.py", line 353, in raw_decode
        obj, end = self.scan_once(s, idx)
    
    ​
    
    ###################### Ausschnitt smarthome.py ##########################################
    /usr/local/smarthome/bin/smarthome.py", line 287 bis 296
    287 # check for pid file
        if lib.daemon.check_sh_is_running(PIDFILE):
            print("SmartHomeNG already running with pid {}".format(lib.daemon.read_pidfile(PIDFILE)))
            print("Run 'smarthome.py -s' to stop it or 'smarthome.py -r' to restart it.")
            exit()
        if MODE == 'debug':
            lib.daemon.write_pidfile(psutil.Process().pid, PIDFILE)
        # Starting SmartHomeNG
        sh =SmartHome(MODE=MODE, extern_conf_dir=extern_conf_dir)
        sh.start()
    
    ​

    #2
    Der Fehler weist auf ein fehlendes Komma in den JSON-Daten für eigene Feiertage hin. Diese kannst Du in der /usr/local/smarthome/etc/holidays.yaml editieren.

    Gruß
    Wolfram

    Kommentar


      #3
      Danke Wolfram für die schelle Antwort!

      Leider habe ich noch keinen Erfolg- Ich füge einmal meine yaml-daten hinzu. Ich habe jeweils ein ' vor und hinter der Zeile

      Auszug der holidays.yaml

      [QUOTE[
      location:
      country: DE
      province: BY # for DE
      #state: FL # state is only used for United States and Brazil
      state: ' '
      custom:
      - '{"day": 01, "month": 1, "name": "Tobi Geburtstag 72"}'
      - '{"day": 28, "month": 5, "name": "Wolfgang Geburtstag 42"}'
      - '{"day": 15, "month": 1, "name": "Hanni Geburtstag 44"}'
      - '{"day": 23, "month": 4, "name": "Toni Geburtstag 08"}'
      - '{"day": 24, "month": 6, "name": "Simon MarN Geburtstag 07"}'

      ##### Wo liegt der Unterschied???
      # - '{"dow": 5, "dow_week": "last", "month": 7, "name": "Sysadmin day"}' # last friday in July
      # - {"day": 2, "month": 8, "name": "Jon Doe's birthday"}
      # - {"day": 22, "month": 11, "name: "Jane Doe's birthday"}
      # - {"day": 2, "month": 8, "year": 2020, "name": "Jon Doe's 100th birthday"}

      ############### Hier hat die erste Zeile jeweils ein ' . alle weiteren nicht???
      /QUOTE]
      Sind die ' ' mein Problem?,

      LG Wolfgang

      Kommentar


        #4
        Guten Morgen Wolfgang

        Editiere deine letzte Nachricht bitte nochmal, da sind die Quote Tags daneben gegangen (eckige Klammer am Ende der ersten Zeile verkehrt rum und die in der letzten Zeile am Anfang fehlt ganz. Dann bitte den Inhalt zwischen den Quote Tags neu einfügen und zwar im RAW Mode. Das ist das erste Icon in der Iconbar des Editors links oben (Hilfstext nennt es "Quelle"). Nach dem Einfügen den RAW Mode wieder ausschalten. Warum das Ganze? Wir sprechen hier von YAML und das ist wie Python sehr abhängig von den richtigen Einrückungen. So wie es jetzt da steht kann man nicht sehen, ob da was nicht stimmt.

        Ansonsten:
        Bei mir steht country: Germany , nicht DE.
        province: BY passt.
        Das state kannst und solltest du komplett auskommentieren.

        Weiter sehen wir, wenn die Formatierung hier im Thread passt, wegen den Einrückungen.

        Der untere Teil deines Logausschnitts sagt, dass Smarthome NG schon läuft.

        Gruß, Martin
        Zuletzt geändert von Sipple; 21.06.2024, 07:19.

        Kommentar


          #5
          Moin Wolfgang,

          die einfachen Anführungszeichen sind richtig. Auch sonst erkenne ich auf Anhieb keinen Fehler und war schon dabei, den gleichen Hinweis wie Martin zu schreiben. Ich hab dann mal in der ersten Zeile die angegebene Spalte ausgezählt und bin auf die „1“ gestoßen. Komisch, dass dort ein Komma erwartet wird...

          Dann ein kurzer Blick in Google: im JSON-Format sind führende Nullen unzulässig. Probiere es mal ohne die Null vor der 1.

          Gruß
          Wolfram
          Zuletzt geändert von wvhn; 21.06.2024, 07:40.

          Kommentar


            #6
            Recht hat er, die 01 dürfte das Problem sein.
            Die 07 und 08 weiter unten sollten davon nicht betroffen sein, weil die Teil eines Strings sind.

            Kommentar


              #7
              Danke an alle !!

              Genau der Tag 01 in der ersten Zeile war das Problem, die Null gelöscht und schon das Problem gelöst.
              Nochmals Danke!!

              Wolfgang

              Kommentar

              Lädt...
              X