Ankündigung

Einklappen
Keine Ankündigung bisher.

Umstieg auf 1.3: AttributeError: 'Item' object has no attribute 'system'

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

    Umstieg auf 1.3: AttributeError: 'Item' object has no attribute 'system'

    Moin,

    da ich ja mal auf yaml für die Konfigurationsdateien umsteigen möchte, habe ich gerade auf v1.3Hotfix2 aktualisiert.
    Dabei fällt mir im Log auf:
    Code:
    2017-08-27 18:15:58 ERROR    scheduler    env_stat     Logic: env_stat, File: /usr/local/smarthome/lib/env/stat.py, Line: 5, Method: <module>, Exception: 'Item' object has no attribute 'system' -- scheduler.py:_task:394
    Traceback (most recent call last):
      File "/usr/local/smarthome/lib/scheduler.py", line 382, in _task
        exec(obj.bytecode)
      File "/usr/local/smarthome/lib/env/stat.py", line 5, in <module>
        if sh.env.system.libs.ephem_version is not None:
    AttributeError: 'Item' object has no attribute 'system'

    oder:
    Code:
    2017-08-27 18:15:52 ERROR    scheduler    env_init     Logic: env_init, File: /usr/local/smarthome/lib/env/init.py, Line: 10, Method: <module>, Exception: 'Item' object has no attribute 'sy
    stem' -- scheduler.py:_task:394
    Traceback (most recent call last):
      File "/usr/local/smarthome/lib/scheduler.py", line 382, in _task
        exec(obj.bytecode)
      File "/usr/local/smarthome/lib/env/init.py", line 10, in <module>
        sh.env.system.name(hostname)
    AttributeError: 'Item' object has no attribute 'system'
    Woran kann das liegen?

    Gruß,
    Hendrik

    #2
    Abend,

    Habe das selbe Problem, leider auch noch keine Lösung.

    LG Thomas

    Kommentar


      #3
      henfri Zwei Fragen:
      -Welche Version von ephem hast Du installiert?
      - Wie ist der Inhalt der Datei /lib/env/system.conf?

      Viele Grüße
      Martin

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

      Kommentar


        #4
        Moin,

        ephem (3.7.6.0). Die lib/env/system.conf ist leer.
        Es handelt sich um einen Docker-Container.

        Gruß,
        Hendrik

        Kommentar


          #5
          die sollte aber doch nicht leer sein?!
          https://github.com/smarthomeNG/smart...nv/system.yaml

          Kommentar


            #6
            Zitat von psilo Beitrag anzeigen
            die sollte aber doch nicht leer sein?!
            https://github.com/smarthomeNG/smart...nv/system.yaml
            Oder präziser: Die system.yaml sollte nicht leer sein, die system.conf gar nicht existieren.
            Ist deren Existenz evtl. das Problem?
            Zuletzt geändert von bmx; 29.08.2017, 08:04.

            Kommentar


              #7
              Moin,

              Vielen Dank euch!

              bezüglich der system.conf war ich nicht präzise genug:
              Code:
              root@homeserver:/# cat /lib/env/system.conf
              cat: /lib/env/system.conf: No such file or directory
              Zur system.yaml:
              Code:
              root@homeserver:/# cat /usr/local/smarthome/lib/env/system.yaml
              env:
              
                  system:
              
                      start:
                          type: foo
              
                      load:
                          type: num
                          sqlite: init
              
                      name:
                          type: str
              
                      diskfree:
                          name: Freier Speicher des Laufwerks auf dem Smarthome.py derzeit läuft
                          type: num
              
                      disksize:
                          name: Größe des Laufwerks auf dem Smarthome.py derzeit läuft
                          type: num
              
                      diskusage:
                          name: Genutzte Größe des Laufwerks auf dem Smarthome.py derzeit läuft
                          type: num
              
                      diskusagepercent:
                          name: Genutzte Größe des Laufwerks auf dem Smarthome.py derzeit läuft in Prozent der Gesamtgröße
                          type: num
              
                      libs:
              
                          ephem_version:
                              name: Installierte Version ephem
                              type: str
              Das sieht doch gut aus, oder?

              Gruß,
              Hendrik

              Kommentar


                #8
                ja, sieht bei mir ähnlich aus.. hmmm

                irgendwie glaube ich trotzdem, dass irgendwo in den config files ein fehler sein könnte.

                ersagt ja dass unter env kein "system" hängt, da der fehler hier auftritt:
                sh.env.system.name(hostname)

                Kommentar


                  #9
                  henfri Wie hast Du denn aktualisiert? Per git pull? Ich vermute das es dabei Fehler gegeben haben könnte und habe Zugriffsrechte in Verdacht. Im 1.3 egal ob hotfix oder nicht muß eine system.yaml sein und es darf keine system.conf vorhanden sein.
                  Im Normalfall löscht das pull vom git die ganzen *.conf Dateien und schreibt die aktuellen yaml Dateien rein.
                  Du kannst also nochmal die Residuen vom *.conf löschen aus dem Verzeichnis.

                  Leider kenne ich mich mit Docker nicht aus insofern kann ich Dir da nicht weiterhelfen was die Rechte & Co. angeht und wo Du was evtl. einstellen mußt.

                  Kommentar


                    #10
                    henfri

                    Du kannst ja mal mein docker Image für SmartHome NG 1.3 basierend auf v1.3Hotfix2 testen wenn du magst.

                    https://hub.docker.com/r/hebe2k/smarthome-ng/tags/

                    Bei mir läuft das ohne Probleme.

                    Stell doch mal dein Dockerfile hier ein, bzw. check es im github ein, evtl. sieht man ja einen Fehler.
                    Ich muss meins mal noch auf dockerhub einchecken, kann es dir aber gerne vorher schon mal zur Verfügung stellen wenn du willst.

                    Gruß,
                    Henning
                    Zuletzt geändert von ratzi82; 31.08.2017, 19:50.

                    Kommentar


                      #11
                      Moin,

                      danke.
                      Warum hast du ein neues gebaut?
                      Meins ist doch auf dem Hub.
                      Code:
                      # smarthome.py  -NG
                      #
                      #
                      FROM debian:jessie
                      MAINTAINER Hendrik Friedel hendrik@friedels.name
                      
                      ENV DEBIAN_FRONTEND noninteractive
                      ADD ./files/run.sh /usr/local/bin/run.sh
                      RUN chmod 0755 /usr/local/bin/run.sh
                      
                      
                      ## Change Language
                      RUN apt-get update -qq && apt-get install -y locales apt-utils ;\
                          echo "Europe/Berlin" > /etc/timezone && \
                          dpkg-reconfigure -f noninteractive tzdata && \
                          sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
                          sed -i -e 's/# de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/' /etc/locale.gen && \
                          echo 'LANG="de_DE.UTF-8"'>/etc/default/locale && \
                          dpkg-reconfigure --frontend=noninteractive locales && \
                          update-locale LANG=de_DE.UTF-8
                      
                      
                      RUN apt-get -y install -y build-essential git dialog openntpd python3 python3-dev python3-setuptools unzip && \
                          easy_install3 pip && \
                          pip3 install ephem pyyaml cherrypy jinja2 pyserial python-forecastio colorama influxdb && \
                          adduser smarthome --disabled-password --gecos "First Last,RoomNumber,WorkPhone,HomePhone" && usermod -aG www-data  smarthome
                      
                      
                      
                      RUN cd /usr/local && \
                          git clone git://github.com/smarthomeNG/smarthome.git -b v1.3_Hotfix_2 --single-branch --recursive && \
                          chown -R smarthome:smarthome /usr/local/smarthome && chmod +x /usr/local/smarthome/bin/smarthome.py && \
                          mkdir -p /usr/local/smarthome/var/run/ && \
                          cd /usr/local/smarthome/ && pip3 install -r ./requirements/all.txt
                      
                      
                      #CMD ["/usr/local/smarthome/bin/smarthome.py -d"]
                      CMD ["/usr/local/bin/run.sh"]
                      
                      ## CLI, Network, Speechparser
                      EXPOSE 2323 2424 2788
                      henfri Wie hast Du denn aktualisiert? Per git pull?
                      Frisch neu gestartet. Oben siehst du alle Kommandos, die ich ausgeführt habe.
                      Ich vermute das es dabei Fehler gegeben haben könnte und habe Zugriffsrechte in Verdacht. Im 1.3 egal ob hotfix oder nicht muß eine system.yaml sein und es darf keine system.conf vorhanden sein.
                      Code:
                      root@homeserver:/# ls -l  /usr/local/smarthome/lib/env/
                      total 32
                      -rw-r--r-- 1 smarthome smarthome  287 Aug 27 18:14 core.yaml
                      -rwxr-xr-x 1 smarthome smarthome  197 Aug 27 18:14 daily.py
                      -rwxr-xr-x 1 smarthome smarthome  407 Aug 27 18:14 init.py
                      -rwxr-xr-x 1 smarthome smarthome 2002 Aug 27 18:14 location.py
                      -rw-r--r-- 1 smarthome smarthome 1170 Aug 27 18:14 location.yaml
                      -rw-r--r-- 1 smarthome smarthome  311 Aug 27 18:14 logic.yaml
                      -rwxr-xr-x 1 smarthome smarthome 1298 Aug 27 18:14 stat.py
                      -rw-r--r-- 1 smarthome smarthome  805 Aug 27 18:14 system.yaml
                      Die Dateien sind alle 1:1 vom git.

                      Leider kenne ich mich mit Docker nicht aus insofern kann ich Dir da nicht weiterhelfen was die Rechte & Co. angeht und wo Du was evtl. einstellen mußt.
                      Ich sehe bei Docker jetzt nix besonderes, was die Rechte angeht. Die Dateien gehoren smarthome:smarthome.
                      Ich meine, smarthome selbst läuft als root (überrascht mich jetzt selbst, sollte ich ändern).
                      Docker kapselt die Installation ja nur. Ist im Prinzip wie eine VM, aber ohne den Overhead.

                      Gruß,
                      Hendrik
                      Zuletzt geändert von henfri; 31.08.2017, 21:00.

                      Kommentar


                        #12
                        Mach doch mal einen Gist mit Debuglog so das wir sehen was beim Start passiert.

                        Kommentar


                          #13
                          Moin Bernd,

                          wie mache ich das? Hast du einen Link für mich?

                          Gruß,
                          Hendrik

                          Kommentar


                            #14
                            Hi Hendrik,

                            Bernd meint das hier:

                            https://gist.github.com/

                            Zu deiner anderen Frage. Ich habe mir ein eigenes Image gebaut weil ich mich zum einen tiefer in docker einarbeiten wollte und zum
                            anderen weil ich noch weitere Sachen brauchte, wie z.B. pymodbus für mein Pluggit plugin.

                            Dein aktuelles Dockerfile schaue ich mir noch mal an.

                            Gruß,
                            Henning

                            Kommentar


                              #15
                              Halte es halt für zielführend ein gutes statt mehrerer halb gepflegter Images zu haben.

                              Gemeinsam an einem zu arbeiten wäre zielführender, oder?

                              Gruß,
                              Hendrik

                              Kommentar

                              Lädt...
                              X