Ankündigung

Einklappen
Keine Ankündigung bisher.

ascii-Fehler in der smarthome.yaml

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

    ascii-Fehler in der smarthome.yaml

    Hallo zusammen,
    ich habe ein Problem beim erstmaligen Starten von SmartHomeNG. Ich bin der Anleitung bis zum Punkt "erstmaliges Starten" gefolgt. Ich verwende dabei einen Odroid XU 4 mit Ubuntu 18
    Beim Starten bekommen ich folgende Fehlermeldung zur smarthome.yaml
    Code:
    smarthome@odroid:/usr/local/smarthome$ python3 bin/smarthome.py
    YAML-file load error in /usr/local/smarthome/etc/smarthome.yaml:
    'ascii' codec can't decode byte 0xc3 in position 844: ordinal not in range(128)
    No file '/usr/local/smarthome/etc/smarthome.*' found with SmartHomeNG configuration
    Daemon PID 3004
    Ich habe da dann reigenschaut und bemerkt, dass an der entsprechenden Stelle ein Zeichen nicht interpretiert werden kann -> abgek ndigte Funktionen - habe das dann in -> falls abgekuendigte Funktionen - geändert.

    Jetzt läuft der Startbefehl durch
    Code:
    smarthome@odroid:/usr/local/smarthome$ python3 bin/smarthome.py
    Daemon PID 3035
    allerdings zeigt die Kontrolle nichts an
    Code:
    smarthome@odroid:/usr/local/smarthome$ ps -ef|grep smarthome|grep bin
    smarthome@odroid:/usr/local/smarthome$
    Die Debug-Funktion spuckt mir folgendes aus
    Code:
    smarthome@odroid:/usr/local/smarthome/bin$ python3 smarthome.py -d
    Traceback (most recent call last):
    File "smarthome.py", line 1318, in <module>
    sh = SmartHome(extern_conf_dir=extern_conf_dir)
    File "smarthome.py", line 339, in __init__
    plugin_reqs = self.shpypi.test_conf_plugins_requirements(self._p lugin_conf_basename, self._plugins_dir)
    File "/usr/local/smarthome/lib/shpypi.py", line 273, in test_conf_plugins_requirements
    for plugin_instance in plugin_conf:
    TypeError: 'NoneType' object is not iterable
    Leider reichen hier jetzt meine Kenntnisse nicht mehr aus, um weiterzumachen. Kann das jemand interpretieren?

    Vielen Dank vorab für die Rückmeldung!
    BG
    Zuletzt geändert von Msinn; 24.05.2020, 09:18.

    #2
    Das klingt als hättest Du die LOCALE für das Betriebssystem nicht gesetzt.

    Zitat von MSz Beitrag anzeigen
    Ich habe da dann reigenschaut und bemerkt, dass an der entsprechenden Stelle ein Zeichen nicht interpretiert werden kann -> abgek ndigte Funktionen - habe das dann in -> falls abgekuendigte Funktionen - geändert.
    Das ist der falsche Ansatz. Die Konfigurationsdatei ist ok, Deine Linux Umgebung ist nicht richtig konfiguriert.

    SmartHomeNG arbeitet nicht mit dem ascii Zeichensatz, sondern mit UTF-8.
    Zuletzt geändert von Msinn; 17.05.2020, 12:29.
    Viele Grüße
    Martin

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

    Kommentar


      #3
      Den letzten Fehler habe ich auch immer wieder beim Testen - der tritt auf, wenn keine PLugins konfiguriert sind. Eigentlich sollte shng sowas doch abfangen können und ohne Plugins laufen, oder?

      Und der Fehler mit dem ps kommt daher, dass shng als Daemon startet und aufgrund des Fehlers darunter (Plugins) gleich wieder endet.

      Auch auf die Gefahr hin, dass ich nerve: für solche Fälle ist ein konfigurationsfreier Debugmodus mit vollem Log auf der Konsole hilfreich. Sobald shng dann startet, kann man schön im Admintool arbeiten. Bis dahin...

      Kommentar


        #4
        Zitat von Morg Beitrag anzeigen
        Auch auf die Gefahr hin, dass ich nerve: für solche Fälle ist ein konfigurationsfreier Debugmodus mit vollem Log auf der Konsole hilfreich. Sobald shng dann startet, kann man schön im Admintool arbeiten. Bis dahin...
        Damit überforderst Du die meisten Anwender. In diesem Fall reicht zur Analyse auch der normale Output ohne jeglichen Debug Modus.
        Viele Grüße
        Martin

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

        Kommentar


          #5
          Morg
          Den Fehler
          TypeError: 'NoneType' object is not iterable
          hatte übrigens bisher noch niemand gemeldet, da er im Ablauf folgenfrei ist (ist also eher kosmetischer Natur). Er wird nur sichtbar, wenn man ohne konfigurierte Plugins im Debug Moduls startet.
          Viele Grüße
          Martin

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

          Kommentar


            #6
            Was mich dabei zwickt: wenn die logging-Konfiguration nicht stimmt oder aus irgendeinem Grund unsauber ist, habe ich keine Möglichkeit, shng zum Reden zu bekommen, ohne mich in das - ggf. sehr fremde - Thema der Log-Konfiguration einzuarbeiten.

            Meine Erwartung nach Lektüre der Hilfeseite (-h) wäre, auch aus sonstigen *ix-Umgebungen:

            -f : shng bleibt im Vordergrund und konfiguriert die Augabe von *.WARNING oder höher auf der Konsole
            -d: shng bleibt im Vordergrund und konfiguriert die Ausgabe von *.DEBUG oder höher auf der Konsole

            Wie man dabei mit - konfigurierten - Logs umgeht, und damit, ob auch in diesen Fällen ein "default"-Log (Mitschrift der Konsole) erfolgt, könnte man diskutieren.

            Ich habe mich mittlerweile mit dem Logging-System angefreundet und nutze es auch so, dass ich im Betrieb und teilweise zum Testen die Logs so bekomme, wie ich sie brauche. Ich weiß aber nicht, ob ich "damals" shng überhaupt weiter betrachtet hätte, wenn ich mangels (damals vorhandener) Debug-Option erst das Logging so hätte konfigurieren müssen, wie es heute ist. Vielleicht könnte man ja auch das Logging aus "best practices" als default mitliefern...

            Aber das führt hier zu weit Warten wir mal, ob er das zum Laufen bekommt.

            Kommentar


              #7
              Zitat von Msinn Beitrag anzeigen
              MorgDen Fehler hatte übrigens bisher noch niemand gemeldet, da er im Ablauf folgenfrei ist (ist also eher kosmetischer Natur). Er wird nur sichtbar, wenn man ohne konfigurierte Plugins im Debug Moduls startet.
              Er wird nur dann sichtbar, aber shng startet nicht, auch nicht im "daemon"-Modus... jedenfalls bei mir. Habe ich nie als "Fehler" gemeldet, weil ich davon ausgegangen bin, dass das Absicht war. Meist hatte ich - für mich - Wichtigeres im Kopf, als mich um diesen Fehler zu kümmern.

              Kommentar


                #8
                Zitat von Morg Beitrag anzeigen
                Was mich dabei zwickt: wenn die logging-Konfiguration nicht stimmt oder aus irgendeinem Grund unsauber ist, habe ich keine Möglichkeit, shng zum Reden zu bekommen, ohne mich in das - ggf. sehr fremde - Thema der Log-Konfiguration einzuarbeiten.
                Genau deshalb gibt es eine logging.yaml.default, die als Vorlage verwendet wird, wenn im ../etc Verzeichnis keine logging.yaml gefunden wird.

                Zitat von Morg Beitrag anzeigen
                Wie man dabei mit - konfigurierten - Logs umgeht, und damit, ob auch in diesen Fällen ein "default"-Log (Mitschrift der Konsole) erfolgt, könnte man diskutieren.
                Eher nicht. Es gibt entweder deb -d Modus und Du ertrinkst in Log Ausgaben oder das konfigurierte Log.

                Zitat von Morg Beitrag anzeigen
                Vielleicht könnte man ja auch das Logging aus "best practices" als default mitliefern...
                Wird doch. Siehe meine erste Anmerkung.

                Zu dem Fehler bei nicht konfigurierten Plugins (den ein normaler Anwender auch nicht bekommt, da eine plugin.yaml.default umkopiert wird, wenn es keine plugin.yaml in ../etc gibt): Habe ich gefixt.
                Viele Grüße
                Martin

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

                Kommentar


                  #9
                  Dann haben wir andeinander vorbei geredet - plugin.yaml ist vorhanden, aber keine Plugins konfiguriert

                  Danke fürs fixen.

                  Kommentar


                    #10
                    Zitat von Morg Beitrag anzeigen
                    aber keine Plugins konfiguriert
                    klar, aber dann hast Du die selber angelegt. Wenn Du die nicht anlegst, wird die plugin.yaml.default auf plugin.yaml kopiert (und da sind bereits Plugins konfiguriert)
                    Viele Grüße
                    Martin

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

                    Kommentar


                      #11
                      @Msinn: Dein Beitrag (#2) war die Lösung.
                      Danke!

                      Kommentar

                      Lädt...
                      X