Ein automatisches Neustarten ist nur eine Kaschierung von Problemen. Ein Bugreport ist die bessere Lösung.
Ankündigung
Einklappen
Keine Ankündigung bisher.
ebusd
Einklappen
X
-
Gast -
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
-
Ist natürlich vollständig richtig. Problem damals: keine Zeit, Unkenntnis des Systems und ich habe es nicht hinbekommen das Problem zu reproduzieren...Zitat von yuhu Beitrag anzeigenEin automatisches Neustarten ist nur eine Kaschierung von Problemen. Ein Bugreport ist die bessere Lösung.
Kommentar
-
Gast -
Offensichtlich habe ich ebusd wohl doch nicht im monit mit drin (habe da wohl irgendwas durcheinander gebracht).Zitat von XueSheng Beitrag anzeigenMonit habe ich eigentlich am Laufen (hatte JuMi ja alles ordentlich zusammengeschnürt!).
@mivola: Wie sieht denn Dein monit Eintrag aus?
Kommentar
-
Büdde schön:Zitat von XueSheng Beitrag anzeigen@mivola: Wie sieht denn Dein monit Eintrag aus?
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
-
Das klingt gut.Zitat von yuhu Beitrag anzeigenDer Rückgabe Werte ohne Einheit, dass sollte sich machen lassen.
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.Zitat von yuhu Beitrag anzeigenDu kannst einfach das pollen ebusd überlassen, dann bekommst du die Antwort ohne Verzögerung.
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:
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.Code:>>>145:? <<<145:23.5 >>>12:? <<<12:31.25 >>>ALL:? <<<1/12.5;2/4.75;12/31.5;145/23.5
GrüßeUmgezogen? Ja! ... Fertig? Nein!
Baustelle 2.0 !
Kommentar
-
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:
VGCode: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
Micha
Kommentar
-
Nachtrag: auch als root startet der ebusd nicht immer. Dann steht folgendes im Log:
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?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
Danke,
Micha
Kommentar
-
Gast
Falls Du das reproduzieren kannst, lassen ebusd bitte mit gdb laufen.
und die Ausgaben posten oder auf github einen bug eintrag aufmachen.Code:gdb path_to_ebusd im gdb dann: set args -f run wenn der Fehler wieder auftritt: bt
Kommentar
-
OK, was auch immer gdb ist/macht, hier das Resultat:
Interessanterweise kann ich mit gdb mehrere Abfragen mittels ebusctl abschicken. Allerdings scheint in dem Fall jeweils ein neuer Thread aufgemacht zu werden?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
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:
Hilft das weiter?Code:pi@mediaserver ~ $ ebusctl read eph00 BrineTempOutput error connecting to localhost:8888
VG
Micha
PS: bin jetzt erstmal unterwegs - also nicht über fehlende Antworten wundern...
Kommentar
-
Gast -
Gast
Bei dir fehlt anscheinend /usr/local/bin in der PATH Umgebungvariable. ebusd und tools werden in diese Verzeichnis mit den Rechten 755 installiert.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...
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
-
Ich glaube /usr/local/bin und PATH ist schon OK:Zitat von yuhu Beitrag anzeigenBei 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
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?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
VG
Micha
Kommentar


Kommentar