Ankündigung

Einklappen
Keine Ankündigung bisher.

ebusd

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

    #16
    Ein automatisches Neustarten ist nur eine Kaschierung von Problemen. Ein Bugreport ist die bessere Lösung.

    Kommentar


      #17
      Da bin ich ganz Deiner Meinung! Wenn man das Problem allerdings nicht reproduzieren kann und daher auch nicht an vernünftige Debug-Logs herankommt, wird es natürlich schwierig.
      Typischerweise tritt das Problem bei mir erst nach 2-3 Monaten auf (von daher nicht das größte Problem!). Das alte ebusd wirst Du sicherlich sowieso nicht mehr weiter pflegen wollen. Insofern wäre ein Update auf die neueste Version sicherlich die beste Lösung.

      Kommentar


        #18
        Zitat von yuhu Beitrag anzeigen
        Ein automatisches Neustarten ist nur eine Kaschierung von Problemen. Ein Bugreport ist die bessere Lösung.
        Ist natürlich vollständig richtig. Problem damals: keine Zeit, Unkenntnis des Systems und ich habe es nicht hinbekommen das Problem zu reproduzieren...

        Kommentar


          #19
          Völlige Zustimmung.

          Kommentar


            #20
            Zitat von XueSheng Beitrag anzeigen
            Monit habe ich eigentlich am Laufen (hatte JuMi ja alles ordentlich zusammengeschnürt!).
            Offensichtlich habe ich ebusd wohl doch nicht im monit mit drin (habe da wohl irgendwas durcheinander gebracht).

            @mivola: Wie sieht denn Dein monit Eintrag aus?

            Kommentar


              #21
              Zitat von XueSheng Beitrag anzeigen
              @mivola: Wie sieht denn Dein monit Eintrag aus?
              Büdde schön:

              Code:
              check process ebusd with pidfile /var/run/ebusd.pid
                  start program = "/etc/init.d/ebusd start"
                  stop program  = "/etc/init.d/ebusd stop"
                  if cpu > 90% for 2 cycles then restart
                  if totalmem > 10.0 MB for 5 cycles then restart
                  check file ebusd.log with path /var/log/ebusd.log
                      if timestamp > 2 hour then restart

              Kommentar


                #22
                Danke! Werde ich mal testen, bis ich zum Update auf das aktuelle ebusd komme!

                Kommentar


                  #23
                  Zitat von yuhu Beitrag anzeigen
                  Der Rückgabe Werte ohne Einheit, dass sollte sich machen lassen.
                  Das klingt gut.

                  Zitat von yuhu Beitrag anzeigen
                  Du kannst einfach das pollen ebusd überlassen, dann bekommst du die Antwort ohne Verzögerung.
                  Das hätte ich gerne für jeden Wert separat konfiguriert. Die Speicher- und Vorlauftemperatur hätte ich z.B. gern öfter aktualisiert als Rücklauf oder Soletemperatur. Ebenso natürlich der Wechsel der Stati ob geheizt wird oder WW-Bereitung läuft.

                  Einiges lässt sich vielleicht noch aus zyklischen Telegrammen herausholen (Habt ihr da neues/alles entschlüsselt?), anderes muss eben entsprechend oft gepollt werden. Von 20 Werten die ich momentan abrufe betrifft das aber vielleicht nur ein Viertel.

                  Kannst Du Dir vorstellen für Befehle Nummern zu vergeben?

                  Beispiel einer Abfrage:
                  Code:
                  >>>145:?
                  <<<145:23.5
                  >>>12:?
                  <<<12:31.25
                  >>>ALL:?
                  <<<1/12.5;2/4.75;12/31.5;145/23.5
                  Ich hänge nicht zwangsläufig an UDP, vielleicht findet sich auch etwas das man mit html-requests bedienen kann. Als Antwort evtl. auch json oder xml ? Auf UDP könnte man aber relativ simpel lauschen.

                  Grüße
                  Umgezogen? Ja! ... Fertig? Nein!
                  Baustelle 2.0 !

                  Kommentar


                    #24
                    Ich hab auf einem Raspi jetzt mal fix den ebusd 0.5.0 inkl. der vorhandenen CSV-File installiert. Das klappt soweit auch ganz prima. Nun ein paar Anmerkungen/Probleme

                    - ich habe mittels "sudo install" etc gebaut, nun lässt sich der ebusd nur als root starten; als nicht-root kommt bei "/usr/local/bin/ebusd" aber auch keine Fehlermeldung
                    -- wie kann ich es umbiegen, dass der ebusd auch als normaler Nutzer gestartet werden kann?
                    -- wie hätte ich die Installation durchführen sollen damit es erst gar nicht zu dem Problem kommt? Irgendwas ging ohne sudo nicht...

                    - wenn der ebusd erstmal läuft kann ich mittel ebusctl Werte abfragen - allerdings nicht sehr lang, nach einer Abfrage läuft der daemon einfach nicht mehr; hier ein Ausschnitt aus dem Log:
                    Code:
                    2014-12-22 12:41:23.478 [bas event] ebusd started
                    2014-12-22 12:41:23.479 [bas trace] path to ebus configuration files: /etc/ebusd
                    2014-12-22 12:41:23.491 [bas trace] read templates
                    2014-12-22 12:41:23.690 [bas trace] read config files
                    2014-12-22 12:41:23.691 [bas event] message DB: 557
                    2014-12-22 12:41:23.692 [bas event] updates DB: 26
                    2014-12-22 12:41:23.692 [bas event] polling DB: 25
                    2014-12-22 12:41:24.124 [bus trace] poll cmd: ff53b509030d0300e4
                    2014-12-22 12:41:24.127 [bus error] poll mc3 mc2FlowTempSensor failed: SYN received
                    2014-12-22 12:41:40.297 [bas event] ebusd started
                    2014-12-22 12:41:40.298 [bas trace] path to ebus configuration files: /etc/ebusd
                    2014-12-22 12:41:40.310 [bas trace] read templates
                    2014-12-22 12:41:40.505 [bas trace] read config files
                    2014-12-22 12:41:40.506 [bas event] message DB: 557
                    2014-12-22 12:41:40.506 [bas event] updates DB: 26
                    2014-12-22 12:41:40.507 [bas event] polling DB: 25
                    2014-12-22 12:41:40.554 [upd trace] update MM cmd: 000000000000
                    2014-12-22 12:41:40.681 [bus trace] poll cmd: ff53b509030d0300e4
                    2014-12-22 12:41:40.762 [bus error] poll mc3 mc2FlowTempSensor failed: ERR: read timeout
                    2014-12-22 12:41:42.097 [upd trace] update MS cmd: 1050b505072b00010000000024 / 0000
                    2014-12-22 12:41:42.286 [upd trace] update MS cmd: 1008b5110203001e / 0ae3014c08c3030328000077
                    2014-12-22 12:41:42.447 [upd trace] update MS cmd: 1008b51101028a / 050000c800c8ca
                    2014-12-22 12:41:46.016 [bus trace] poll cmd: ff0ab509030d02005b
                    2014-12-22 12:41:46.019 [bus error] ERR: arbitration lost, retry
                    2014-12-22 12:41:46.191 [upd trace] update MS cmd: 1008b5100900023a000000000002d1 / 0000
                    2014-12-22 12:41:46.366 [bus error] poll pmw00 Ntc3 failed: ERR: read timeout
                    2014-12-22 12:41:46.763 [upd trace] update MS cmd: 1008b509040ed1000128 / 0000
                    2014-12-22 12:41:48.129 [upd trace] update MS cmd: 1025b5040101d2 / 092903000000030000008f
                    2014-12-22 12:41:48.296 [upd trace] update MS cmd: 1025b504020d00be / 050000ae02006c
                    2014-12-22 12:41:48.487 [upd trace] update MS cmd: 1025b5040132e1 / 0a0000000000001006000051
                    2014-12-22 12:41:48.632 [upd trace] update MS cmd: 1025b5040131e2 / 0200002c
                    2014-12-22 12:41:52.025 [bus trace] poll cmd: ff08b509030d090015
                    2014-12-22 12:41:52.123 [bus event] poll ehp00 FlowTempIntern: 29.94;ok
                    2014-12-22 12:41:52.178 [upd trace] update BC cmd: 10feb5050427001e00d4
                    2014-12-22 12:41:52.311 [upd trace] update BC cmd: 10feb505034a0100f4
                    2014-12-22 12:41:52.607 [upd trace] update MS cmd: 1008b5090329b801fd / 03b8010070
                    2014-12-22 12:41:52.768 [upd trace] update MS cmd: 1008b5090329b90166 / 03b9010066
                    2014-12-22 12:41:52.940 [upd trace] update MS cmd: 1008b50903290f0056 / 050f007e0000ed
                    2014-12-22 12:41:52.941 [upd event] update ehp00 BrineTempInput: 7.88;ok
                    2014-12-22 12:41:53.103 [upd trace] update MS cmd: 1008b5090329bb00ca / 03bb0000d1
                    2014-12-22 12:41:53.104 [upd event] update ehp00 ActualEnvironmentPowerPercentage: 0
                    2014-12-22 12:41:53.750 [upd trace] update MS cmd: 1008b5090329ba0051 / 03ba0000c7
                    2014-12-22 12:41:53.751 [upd event] update ehp00 ActualEnvironmentPower: 0
                    2014-12-22 12:41:53.913 [upd trace] update MS cmd: 1008b5090329e201b3 / 03e201569b
                    2014-12-22 12:41:54.085 [upd trace] update MS cmd: 1008b509032903008e / 050300ef01009c
                    2014-12-22 12:41:54.086 [upd event] update ehp00 FlowTemp: 30.94;ok
                    2014-12-22 12:41:54.256 [upd trace] update MS cmd: 1008b5090329d3007f / 05d300636363fd
                    2014-12-22 12:41:54.257 [upd event] update ehp00 NextPredictedPowerCutOff: -:-:-
                    2014-12-22 12:41:54.425 [upd trace] update MS cmd: 1025b505072b00010000000085 / 0000
                    2014-12-22 12:41:54.698 [net trace] [00001] connection opened 127.0.0.1
                    2014-12-22 12:41:54.700 [bas event] >>> read -v ehp00 BrineTempInput
                    2014-12-22 12:41:54.700 [bas trace] read cmd: ff08b509030d0f0079
                    2014-12-22 12:41:54.832 [bus event] read res: 037e00006a
                    2014-12-22 12:41:54.834 [bas event] <<< temp=7.88 °C [Temperatur];sensor=ok [Fühlerstatus]
                    2014-12-22 12:41:54.844 [net trace] [00001] connection closed
                    VG
                    Micha

                    Kommentar


                      #25
                      Nachtrag: auch als root startet der ebusd nicht immer. Dann steht folgendes im Log:
                      Code:
                      2014-12-22 13:01:06.847 [bas event] ebusd started
                      2014-12-22 13:01:06.848 [bas trace] path to ebus configuration files: /etc/ebusd
                      2014-12-22 13:01:06.861 [bas trace] read templates
                      2014-12-22 13:01:07.061 [bas trace] read config files
                      2014-12-22 13:01:07.062 [bas event] message DB: 557
                      2014-12-22 13:01:07.063 [bas event] updates DB: 26
                      2014-12-22 13:01:07.063 [bas event] polling DB: 25
                      2014-12-22 13:01:07.416 [bus trace] poll cmd: ff53b509030d0300e4
                      2014-12-22 13:01:07.418 [bus error] poll mc3 mc2FlowTempSensor failed: SYN received
                      Kann das etwas mit dem Einstellen des ebus-Adapters von eservice zu tun haben? Ich kann mich erinnern, dass man da ein einer Schraube drehen kann/muss bis man im richtigen "Rythmus" mitspielt. Mit dem alten ebusd gab es dazu ein Tool mit welchem man dies auf der Kommandozeile "sehen" konnte. Gibt es sowas jetzt auch? Der Adapter lief bis zuletzt am WG problemlos - kann das Umhängen an den Pi eine erneute Synchronisierung benötigen?

                      Danke,
                      Micha

                      Kommentar


                        #26
                        Falls Du das reproduzieren kannst, lassen ebusd bitte mit gdb laufen.

                        Code:
                        gdb path_to_ebusd
                        im gdb dann:
                        set args -f
                        run
                        wenn der Fehler wieder auftritt:
                        bt
                        und die Ausgaben posten oder auf github einen bug eintrag aufmachen.

                        Kommentar


                          #27
                          OK, was auch immer gdb ist/macht, hier das Resultat:

                          Code:
                          pi@mediaserver ~/ebusd-configuration.git/ebusd-0.5.x/vaillant $ sudo gdb /usr/local/bin/ebusd
                          GNU gdb (GDB) 7.4.1-debian
                          Copyright (C) 2012 Free Software Foundation, Inc.
                          License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
                          This is free software: you are free to change and redistribute it.
                          There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
                          and "show warranty" for details.
                          This GDB was configured as "arm-linux-gnueabihf".
                          For bug reporting instructions, please see:
                          <http://www.gnu.org/software/gdb/bugs/>...
                          Reading symbols from /usr/local/bin/ebusd...done.
                          (gdb) set args -f
                          (gdb) run
                          Starting program: /usr/local/bin/ebusd -f
                          [Thread debugging using libthread_db enabled]
                          Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
                          [New Thread 0xb6cf7460 (LWP 11030)]
                          [New Thread 0xb64f7460 (LWP 11031)]
                          2014-12-22 13:43:09.446 [bas event] ebusd started
                          2014-12-22 13:43:09.447 [bas trace] path to ebus configuration files: /etc/ebusd
                          2014-12-22 13:43:09.458 [bas trace] read templates
                          2014-12-22 13:43:09.638 [bas trace] read config files
                          2014-12-22 13:43:09.639 [bas event] message DB: 557
                          2014-12-22 13:43:09.640 [bas event] updates DB: 26
                          2014-12-22 13:43:09.641 [bas event] polling DB: 25
                          [New Thread 0xb5cf7460 (LWP 11032)]
                          [New Thread 0xb54f7460 (LWP 11033)]
                          2014-12-22 13:43:09.823 [bus trace] poll cmd: ff53b509030d0300e4
                          2014-12-22 13:43:09.903 [bus error] poll mc3 mc2FlowTempSensor failed: ERR: read timeout
                          2014-12-22 13:43:10.499 [upd trace] update MS cmd: 1008b510090002360000000000020c / 0000
                          2014-12-22 13:43:11.225 [upd trace] update MS cmd: 1008b509040ed1000128 / 0000
                          2014-12-22 13:43:11.599 [upd trace] update BC cmd: 10feb51608000243132212011415
                          2014-12-22 13:43:12.301 [upd trace] update BC cmd: 10feb5160301300882
                          2014-12-22 13:43:12.503 [upd trace] update BC cmd: 10fe0700093008024313221200145d
                          2014-12-22 13:43:12.636 [upd trace] update BC cmd: 10feb51603043006c2
                          ....
                          2014-12-22 13:44:22.862 [upd trace] update MS cmd: 1025b509040ef4000028 / 0000
                          2014-12-22 13:44:23.434 [upd trace] update MS cmd: 1008b510090002360000000000020c / 0000
                          2014-12-22 13:44:23.940 [upd trace] update MS cmd: 1008b509040ed1000128 / 0000
                          [New Thread 0xb4cf7460 (LWP 11039)]
                          2014-12-22 13:44:24.742 [net trace] [00002] connection opened 127.0.0.1
                          2014-12-22 13:44:24.743 [bas event] >>> read eph00 BrineTempOutput
                          2014-12-22 13:44:24.744 [bas trace] read cmd: ff08b509030d08008e
                          2014-12-22 13:44:24.873 [bus event] read res: 03d30000d6
                          2014-12-22 13:44:24.875 [bas event] <<< 13.19;ok
                          2014-12-22 13:44:24.884 [net trace] [00002] connection closed
                          [Thread 0xb4cf7460 (LWP 11039) exited]
                          2014-12-22 13:44:24.989 [upd trace] update MS cmd: 1050b5040101fe / 091705000000850001003f
                          2014-12-22 13:44:25.158 [upd trace] update MS cmd: 1050b504020d0002 / 051b00a8011662
                          2014-12-22 13:44:25.343 [upd trace] update MS cmd: 1050b5040132cd / 0a00240603010130060100f7
                          2014-12-22 13:44:25.494 [upd trace] update MS cmd: 1050b5040131ce / 0200012d
                          2014-12-22 13:44:25.657 [upd trace] update MS cmd: 1008b5090329b801fd / 03b8010070
                          2014-12-22 13:44:25.820 [upd trace] update MS cmd: 1008b5090329b90166 / 03b9010066
                          2014-12-22 13:44:25.991 [upd trace] update MS cmd: 1008b50903290f0056 / 050f0030010068
                          2014-12-22 13:44:25.992 [upd event] update ehp00 BrineTempInput: 19.00;ok
                          2014-12-22 13:44:26.154 [upd trace] update MS cmd: 1008b5090329bb00ca / 03bb0000d1
                          2014-12-22 13:44:26.155 [upd event] update ehp00 ActualEnvironmentPowerPercentage: 0
                          2014-12-22 13:44:26.318 [upd trace] update MS cmd: 1008b5090329ba0051 / 03ba0000c7
                          2014-12-22 13:44:26.319 [upd event] update ehp00 ActualEnvironmentPower: 0
                          2014-12-22 13:44:26.482 [upd trace] update MS cmd: 1008b5090329e201b3 / 03e201569b
                          2014-12-22 13:44:26.652 [upd trace] update MS cmd: 1008b509032903008e / 050300a8010024
                          2014-12-22 13:44:26.654 [upd event] update ehp00 FlowTemp: 26.50;ok
                          [New Thread 0xb4cf7460 (LWP 11041)]
                          2014-12-22 13:44:26.775 [net trace] [00003] connection opened 127.0.0.1
                          2014-12-22 13:44:26.777 [bas event] >>> read eph00 BrineTempInput
                          2014-12-22 13:44:26.777 [bas event] <<< 19.00;ok
                          2014-12-22 13:44:26.787 [net trace] [00003] connection closed
                          [Thread 0xb4cf7460 (LWP 11041) exited]
                          2014-12-22 13:44:27.185 [bus trace] poll cmd: ffedb509030d5600d1
                          2014-12-22 13:44:27.266 [bus error] poll pms00 YieldSum failed: ERR: read timeout
                          2014-12-22 13:44:27.517 [upd trace] update MS cmd: 1050b5040100ff / 0a0328441322120114300808
                          [New Thread 0xb4cf7460 (LWP 11043)]
                          2014-12-22 13:44:28.044 [net trace] [00004] connection opened 127.0.0.1
                          2014-12-22 13:44:28.046 [bas event] >>> read eph00 BrineTempOutput
                          2014-12-22 13:44:28.047 [bas event] <<< 13.19;ok
                          2014-12-22 13:44:28.058 [net trace] [00004] connection closed
                          [Thread 0xb4cf7460 (LWP 11043) exited]
                          2014-12-22 13:44:28.930 [upd trace] update BC cmd: 10feb5050427001a0015
                          2014-12-22 13:44:29.504 [upd trace] update BC cmd: 10feb505034a0100f4
                          Interessanterweise kann ich mit gdb mehrere Abfragen mittels ebusctl abschicken. Allerdings scheint in dem Fall jeweils ein neuer Thread aufgemacht zu werden?
                          Direkt nach dem Stoppen von gdb und "normalem" Start des ebusd mittels "sudo /usr/local/bin/ebusd" bekomme ich für die zweite Anfrage mittels ebusctl wieder:
                          Code:
                          pi@mediaserver ~ $ ebusctl read eph00 BrineTempOutput
                          error connecting to localhost:8888
                          Hilft das weiter?

                          VG
                          Micha
                          PS: bin jetzt erstmal unterwegs - also nicht über fehlende Antworten wundern...

                          Kommentar


                            #28
                            Nein, hilft fürs erste einmal nicht weiter.

                            Kommentar


                              #29
                              Zitat von mivola Beitrag anzeigen
                              - ich habe mittels "sudo install" etc gebaut, nun lässt sich der ebusd nur als root starten; als nicht-root kommt bei "/usr/local/bin/ebusd" aber auch keine Fehlermeldung
                              -- wie kann ich es umbiegen, dass der ebusd auch als normaler Nutzer gestartet werden kann?
                              -- wie hätte ich die Installation durchführen sollen damit es erst gar nicht zu dem Problem kommt? Irgendwas ging ohne sudo nicht...
                              Bei dir fehlt anscheinend /usr/local/bin in der PATH Umgebungvariable. ebusd und tools werden in diese Verzeichnis mit den Rechten 755 installiert.

                              Ich sehe 2 Möglichkeiten.
                              * Entweder du gibts autogen.sh einen 'prefix=/usr' mit (installiert wird dann in /usr/bin)
                              * oder du trägst '/usr/local/bin' in der Umgebungsvariable 'PATH' ein.

                              lg roland

                              Kommentar


                                #30
                                Zitat von yuhu Beitrag anzeigen
                                Bei dir fehlt anscheinend /usr/local/bin in der PATH Umgebungvariable. ebusd und tools werden in diese Verzeichnis mit den Rechten 755 installiert.

                                Ich sehe 2 Möglichkeiten.
                                * Entweder du gibts autogen.sh einen 'prefix=/usr' mit (installiert wird dann in /usr/bin)
                                * oder du trägst '/usr/local/bin' in der Umgebungsvariable 'PATH' ein.

                                lg roland
                                Ich glaube /usr/local/bin und PATH ist schon OK:

                                Code:
                                pi@mediaserver ~ $ which ebusd
                                /usr/local/bin/ebusd
                                pi@mediaserver ~ $ echo $PATH
                                /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
                                pi@mediaserver ~ $ ls -lsa /usr/local/bin/ebus*
                                 300 -rwxr-xr-x 1 root staff  304942 Dec 22 11:59 /usr/local/bin/ebusctl
                                2712 -rwxr-xr-x 1 root staff 2775997 Dec 22 11:59 /usr/local/bin/ebusd
                                 348 -rwxr-xr-x 1 root staff  352985 Dec 22 11:59 /usr/local/bin/ebusfeed
                                Das Problem ist ja nicht das "finden" des ebusd binary, sondern dass das Starten nicht (immer) funktioniert. Wenn ich als nicht-root starte, wird nicht mal das log-File angelegt. Hat das irgendwas mit den Rechten zu tun? Nur welche? Und wenn ja, könnte man in den ebusd einen Check einbauen?

                                VG
                                Micha

                                Kommentar

                                Lädt...
                                X