Ankündigung

Einklappen
Keine Ankündigung bisher.

Daten loggen - bekomme immer 0

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

    Daten loggen - bekomme immer 0

    Hallo zusammen,

    ich möchte die physikalischen Daten vom KNX Bus mit einem gewissen Zeitabstand auslesen und in eine Datei speichern, z. B. im Format:


    Date Time Temp[°C] CO2[ppm] Feuchte[%] FensterStatus[-]
    --------------------------------------------------------------------------------------------------------------

    2017-11-20 08:11:12 21.8 670.56 56 0
    2017-11-20 08:16:12 21.9 688.11 56 0
    2017-11-20 08:21:12 22.9 697.08 57 0
    2017-11-20 08:26:12 22.0 705.42 58 1
    2017-11-20 08:31:12 22.1 710.50 58 1
    ....

    Folgende Einstellungen verwende ich:

    plugin.yaml: https://pastebin.com/vBE31SeV
    logging.yaml: https://pastebin.com/FWq0ECK3
    logic.yaml: https://pastebin.com/Fay1Z04p
    items/EG.yaml: https://pastebin.com/85Es83H6
    logics/test.py: https://pastebin.com/01ZNMKFd

    Im test.log bekomme ich aber nur 0 und False Werte:

    Temp:0 RH:0 CO2:0 WinOpen:False
    Temp:0 RH:0 CO2:0 WinOpen:False
    Temp:0 RH:0 CO2:0 WinOpen:False
    Temp:0 RH:0 CO2:0 WinOpen:False

    Könnte mich jemand in die richtige Richtung ankicken ?
    Danke

    #2
    was steht drin, wenn du vor deiner file.write zeile rausloggst?
    sind die items befüllt? (bspw via backend plugin zu sehen)

    Kommentar


      #3
      Hi psilo,

      wenn Du den smarthome.log meinst, steht im Pastebin. Ansonsten bitte beschreiben, welchen Log und wie ich das machen kann, bin noch ein newbie.
      Bzgl. Items habe ich nur die EG.yaml Datei im items Folder befüllt(siehe Posting oben). Reicht das oder habe ich noch was vergessen ?

      https://pastebin.com/UHNZq4Sj

      Danke

      Kommentar


        #4
        kecso zu den items: welche Werte zeigt das Backend-Plugin für die Items an. Also haben die überhaupt was anderes als 0 im value?!
        Vielleicht ist "0" bzw. False als bool ja schlichtweg der korrekte Item-Wert, weil etwas anderes die Items nicht befüllt..

        Zum Logger: logge bitte wie folgt in Deiner Logik und schau, was im smarthome.log landet - anstatt error kannst du auch ein anderes level nehmen, ich kenne Deine logger-Konfiguration aber nicht, daher lieber error, dann landet es sicher im log :

        Code:
        #temp = sh.knx.encode(temp, 9)
        
        logger.error('Temp:' + str(temp) +'  RH:'+str(hum)+'  CO2:'+str(co2)+'  WinOpen:' + str(win))
        
        file.write('Temp:' + str(temp) +'  RH:'+str(hum)+'  CO2:'+str(co2)+'  WinOpen:' + str(win)+ '\r\n')
        file.close()

        Kommentar


          #5
          Backend-Plugin wirft ERROR, "cherrypi" Modul scheint zu fehlen.

          Das Logging meldet ebenfalls ERROR, sehe aber keine Beschreibung.

          Hast Du eine Idee woran es liegt ?

          https://pastebin.com/p1q99ZmK

          Kommentar


            #6
            Hi,

            es hilft dem Helfer schon mal viel, wenn man nur die relevanten Zeilen des Logfiles postet ;-)

            Nach einigem Suchen sehe ich, dass der logger auch 0er loggt. Ich vermute die Items sind schlichtweg ohne Werte..
            Code:
            2017-11-22 15:06:15 ERROR    test         logging      Temp:0  RH:0  CO2:0  WinOpen:False -- test.py:<module>:12
            Installiere halt die Requirements aus der requirements.txt im Backend Plugin Ordner und schau da nochmal... Ich denke aber, dass die Bedatung schlichtweg nicht geht, Du also an ganz anderer Stelle die Probleme hast.

            Update: korrekt, du nutzt das KNX Plugin falsch, Du hast nur knx_dpt, knx_send und knx_reply. Da wirst Du nie Werte vom Bus bekommen.

            Installiere erstmal das Backendplugin (das wird Dir viel helfen!) und danach setze noch ein knx_cache auf die GAD wo der Wert liegt.
            Zuletzt geändert von psilo; 22.11.2017, 15:37.

            Kommentar


              #7
              oki doki, habe die Requirements installiert, samt cherrypy mit 'sudo pip install cherrypy'.
              Aber in smarthome.log steht weiterhin: Plugin BackendServer exception: No module named 'cherrypy'

              Liegt es vielleicht an der python Version ? Mit python scheint OK, mit python3 kommt Fehlermeldung:

              Code:
              pi@raspberrypi:/usr/local/smarthome/bin $ python -m cherrypy.tutorial.tut01_helloworld
              [22/Nov/2017:16:16:36] ENGINE Listening for SIGHUP.
              [22/Nov/2017:16:16:36] ENGINE Listening for SIGTERM.
              [22/Nov/2017:16:16:36] ENGINE Listening for SIGUSR1.
              [22/Nov/2017:16:16:36] ENGINE Bus STARTING
              [22/Nov/2017:16:16:36] ENGINE Started monitor thread 'Autoreloader'.
              [22/Nov/2017:16:16:36] ENGINE Serving on [URL]http://127.0.0.1:8080[/URL]
              [22/Nov/2017:16:16:36] ENGINE Bus STARTED
              ^C[22/Nov/2017:16:16:44] ENGINE Keyboard Interrupt: shutting down bus
              [22/Nov/2017:16:16:44] ENGINE Bus STOPPING
              [22/Nov/2017:16:16:44] ENGINE HTTP Server cherrypy._cpwsgi_server.CPWSGIServer(('127.0.0.1', 8080)) shut down
              [22/Nov/2017:16:16:44] ENGINE Stopped thread 'Autoreloader'.
              [22/Nov/2017:16:16:44] ENGINE Bus STOPPED
              [22/Nov/2017:16:16:44] ENGINE Bus EXITING
              [22/Nov/2017:16:16:44] ENGINE Bus EXITED
              [22/Nov/2017:16:16:44] ENGINE Waiting for child threads to terminate...
              pi@raspberrypi:/usr/local/smarthome/bin $ python3 -m cherrypy.tutorial.tut01_helloworld
              /usr/bin/python3: Error while finding module specification for 'cherrypy.tutorial.tut01_helloworld' (ImportError: No module named 'cherrypy')
              pi@raspberrypi:/usr/local/smarthome/bin $


              Update:

              juhuu, passt, knx_cache hat geholfen, jetzt werden die physikalischen Werte richtig im smarthome.log abgebildet

              Code:
              2017-11-22  16:36:56 DEBUG    Scheduler    KNX[default] time_default next time: 2017-11-22 16:37:56+01:00
              2017-11-22  16:36:57 INFO     Main         KNX[default]: 1.1.12 set 1/0/1 to 7a
              2017-11-22  16:36:57 INFO     Main         KNX[default]: 1.1.53 set 1/0/30 to 00
              2017-11-22  16:36:58 ERROR    logging      Temp:19.73  RH:48.6  CO2:664.96  WinOpen:True
              2017-11-22  16:36:58 DEBUG    Scheduler    logging next time: 2017-11-22 16:37:28+01:00
              2017-11-22  16:37:02 DEBUG    Main         KNX[default]: 1.1.2 read 1/2/2
              2017-11-22  16:37:02 INFO     Main         KNX[default]: 1.1.10 set 1/2/2 to 19.73
              2017-11-22  16:37:02 DEBUG    Main         KNX[default]: response request from 1.1.10 to 1/2/2 with '07b5' and DPT 9
              2017-11-22  16:37:02 INFO     Main         KNX[default]: 1.1.53 set 1/2/30 to 01
              Zuletzt geändert von kecso; 22.11.2017, 16:44.

              Kommentar


                #8
                nicht pip, das ist meist das von python 2.x, nimm pip3
                jinja2 brauchst du auch, schau halt ins requirements file

                https://github.com/smarthomeNG/plugi...quirements.txt

                Kommentar


                  #9
                  Super, danke für die Unterstützung und Kompliment an das Entwicklerteam

                  Kommentar


                    #10
                    Hi Psilo,

                    ich habe noch ein Startup Problem. Bis jetzt habe ich smarthome immer manuell gestartet mit:
                    Code:
                     cd /usr/local/smarthome/bin sudo python3 ./smarthome.py -d
                    Im smarthome.log stehen keine Fehlermeldungen, und das Logging funktioniert auch tadellos. Aber die Abfrage des smarthome service meldet Fehler:
                    Code:
                     pi@raspberrypi:~ $ sudo systemctl status smarthome.service
                    ● smarthome.service - SmartHomeNG daemon    
                       Loaded: loaded (/lib/systemd/system/smarthome.service; enabled; vendor preset: enabled)    
                       Active: failed (Result: exit-code) since Sat 2017-11-25 21:25:19 CET; 1 day 12h ago  
                     Main PID: 573 (code=exited, status=1/FAILURE)  
                    
                    Nov 25 21:25:06 raspberrypi systemd[1]: Starting SmartHomeNG daemon...
                    Nov 25 21:25:18 raspberrypi python3[455]: Daemon PID 573
                    Nov 25 21:25:18 raspberrypi systemd[1]: smarthome.service: Supervising process 573 which is not our child. We'll most likely not notice when it exits.
                    Nov 25 21:25:18 raspberrypi systemd[1]: Started SmartHomeNG daemon.
                    Nov 25 21:25:19 raspberrypi systemd[1]: smarthome.service: Main process exited, code=exited, status=1/FAILURE
                    Nov 25 21:25:19 raspberrypi systemd[1]: smarthome.service: Unit entered failed state.
                    Nov 25 21:25:19 raspberrypi systemd[1]: smarthome.service: Failed with result 'exit-code'.
                    pi@raspberrypi:~ $
                    und nach Erstellen des Startup-Dienstes
                    Code:
                    [Unit] Description=SmartHomeNG daemon
                    After=network.target
                    After=knxd.service
                    After=knxd.socket
                    
                     [Service]
                    Type=forking
                    ExecStart=/usr/bin/python3 /usr/local/smarthome/bin/smarthome.py
                    User=smarthome
                    PIDFile=/usr/local/smarthome/var/run/smarthome.pid
                    Restart=on-abort  
                    
                    [Install]
                    WantedBy=default.target
                    im
                    Code:
                     /lib/systemd/system/smarthome.service
                    startet smarthome nicht automatisch beim Startup. Hast Du ne Idee warum die Fehlermeldung und wieso kein Autostart ? Danke
                    Zuletzt geändert von kecso; 27.11.2017, 10:20.

                    Kommentar


                      #11
                      ich verwende selber kein systemd und kein image. daher nein. ich wuerde nen neuen thread aufmachen. mit dem hier hat das nichts zu tun

                      Kommentar


                        #12
                        yep, mach ich

                        Kommentar

                        Lädt...
                        X