Ankündigung

Einklappen
Keine Ankündigung bisher.

ebusd

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

    #31
    Mir fällt nun noch der Zugriff auf das serielle Device und wie du schon sagst das logfile ein.

    Wenn das pidfile ("/var/run/ebusd.pid") nicht anlegbar ist, würde der daemon abbrechen. (trifft nur zu, wenn nicht im foreground gestartet wird.)

    Sollte das öffnen des seriellen Devices nicht klappen müsste auch eine Fehlermeldung kommen. Prüfe doch mal ob dein Benutzer Mitglied in der Gruppe des Device ist. zB 'ls -lt /dev/tty*' zur Ausgabe mit 'id'

    Das Logfile könntest du zum Testen auch einmal mit -l woanders hinlegen.

    Für mich klingt das trotzdem etwas komisch, wenn du sagst "...sondern dass das Starten nicht (immer) funktioniert...."

    Kommentar


      #32
      Danke für die Tipps zur Fehlersuche. Folgendes habe ich rausgefunden:
      - auf das Device müsste der nicht-root zugreifen können :
      Code:
      pi@mediaserver ~ $ ls -lt /dev/ttyUSB0
      crw-rw---T 1 root dialout 188, 0 Dec 23 21:18 /dev/ttyUSB0
      pi@mediaserver ~ $ id
      uid=1000(pi) gid=1000(pi) groups=1000(pi),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),105(netdev),999(input),1002(spi),1003(gpio)
      - aber: das pid file und log file kann nicht angelegt werden:
      Code:
      pi@mediaserver ~ $ touch /var/run/ebusd.pid
      touch: cannot touch `/var/run/ebusd.pid': Permission denied
      pi@mediaserver ~ $ touch  /var/log/ebusd.log
      touch: cannot touch `/var/log/ebusd.log': Permission denied
      Wie kann ich dem user "pi" das Anlegen des pid-Files erlauben? Oder ist das Ausführen als root OK? Wie kann ich den ebusd im Vordergrund starten so dass das pid file nicht benötigt wird?

      Dann habe ich noch etwas mit dem ebusd getestet. Manchmal hatte ich Glück und konnte mehrere Abfragen durchführen:
      Code:
      pi@mediaserver ~ $ sudo /usr/local/bin/ebusd
      pi@mediaserver ~ $ ps faux | grep ebu
      pi       12695  0.0  0.1   3548   796 pts/0    S+   21:17   0:00              \_ grep --color=auto ebu
      root     12689 11.5  0.3  36552  1472 ?        Ssl  21:17   0:00 /usr/local/bin/ebusd
      pi@mediaserver ~ $ ebusctl read eph00 BrineTempInput
      9.00;ok
      pi@mediaserver ~ $ ebusctl read eph00 BrineTempInput
      9.00;ok
      pi@mediaserver ~ $ ebusctl read eph00 BrineTempInput
      9.00;ok
      pi@mediaserver ~ $ ebusctl read eph00 BrineTempInput
      9.00;ok
      pi@mediaserver ~ $ ebusctl read eph00 BrineTempInput
      9.00;ok
      pi@mediaserver ~ $ ebusctl read eph00 BrineTempOutput
      8.88;ok
      pi@mediaserver ~ $ ebusctl read eph00 BrineTempOutput
      error connecting to localhost:8888
      pi@mediaserver ~ $ ebusctl read eph00 BrineTempOutput
      error connecting to localhost:8888
      pi@mediaserver ~ $ ebusctl read eph00 BrineTempInput
      error connecting to localhost:8888
      pi@mediaserver ~ $ ps faux | grep ebu
      pi       12712  0.0  0.1   3548   796 pts/0    S+   21:18   0:00              \_ grep --color=auto ebu
      pi@mediaserver ~ $
      Im Logfile steht dann:
      Code:
      2014-12-23 21:17:53.987 [net trace] [00004] connection closed
      2014-12-23 21:17:54.764 [upd trace] update BC cmd: 10feb5050427001a0015
      2014-12-23 21:17:55.294 [upd trace] update BC cmd: 10feb505034a0100f4
      2014-12-23 21:17:55.854 [upd trace] update MS cmd: 1008b5090329b90166 / 03b9010066
      2014-12-23 21:17:56.812 [upd trace] update MS cmd: 1050b505072b00010000000024 / 0000
      2014-12-23 21:17:57.037 [bus trace] poll cmd: ff08b509030d090015
      2014-12-23 21:17:57.135 [bus event] poll ehp00 FlowTempIntern: 26.25;ok
      2014-12-23 21:17:57.374 [upd trace] update MS cmd: 1008b5110203001e / 0aa4014e08aa03032800000c
      2014-12-23 21:17:57.537 [upd trace] update MS cmd: 1008b51101028a / 050000c800c8ca
      2014-12-23 21:17:58.831 [upd trace] update MS cmd: 1008b5130304cd017f / 0acd0101000000010001002c
      2014-12-23 21:17:59.506 [net trace] [00005] connection opened 127.0.0.1
      2014-12-23 21:17:59.508 [bas event] >>> read eph00 BrineTempInput
      2014-12-23 21:17:59.509 [bas event] <<< 9.00;ok
      2014-12-23 21:17:59.514 [net trace] [00005] connection closed
      2014-12-23 21:18:00.855 [upd trace] update MS cmd: 1008b510090002360000000000020c / 0000
      2014-12-23 21:18:01.405 [upd trace] update MS cmd: 1008b509040ed1000128 / 0000
      2014-12-23 21:18:02.859 [upd trace] update MS cmd: 1025b5040101d2 / 092903000000030000008f
      2014-12-23 21:18:03.026 [upd trace] update MS cmd: 1025b504020d00be / 050000b90200f5
      2014-12-23 21:18:03.031 [bus trace] poll cmd: ff08b509030d0500cd
      2014-12-23 21:18:03.132 [bus event] poll ehp00 EvaporatorTemp: -39.12;cutoff
      2014-12-23 21:18:03.276 [upd trace] update MS cmd: 1025b5040132e1 / 0a0000000000006009000093
      2014-12-23 21:18:03.427 [upd trace] update MS cmd: 1025b5040131e2 / 0200002c
      2014-12-23 21:18:03.478 [net trace] [00006] connection opened 127.0.0.1
      2014-12-23 21:18:03.480 [bas event] >>> read eph00 BrineTempOutput
      2014-12-23 21:18:03.481 [bas trace] read cmd: ff08b509030d08008e
      2014-12-23 21:18:03.614 [bus event] read res: 038e000009
      2014-12-23 21:18:03.615 [bas event] <<< 8.88;ok
      2014-12-23 21:18:03.624 [net trace] [00006] connection closed
      Danke,
      Micha

      Kommentar


        #33
        Gibt es eigentlich ein /etc/ebusd/ebusd.conf für den neuen Daemon?

        Kommentar


          #34
          Wenn ebusd mit der Option -f gestartet wird, wird kein pidfile angelegt.

          Ich würde den daemon einfach als root laufen lassen. Ansonsten müsstes du nachsehen, welche Rechte dein Benutzer für die genannten Verzeichnisse benötigt.

          Zur Zeit ist noch ein bekannter Bug vorhanden, welcher ebusd zum Absturz bringt. Das dauert aber noch ein paar Tage bis der gefixt ist.

          Nein, bis dato gibt es kein neues /etc/ebusd/ebusd.conf - Wird so etwas benötigt?

          Kommentar


            #35
            Hi Roland,

            danke nochmal für deine Hilfe. Kein Problem wg dem Bug und das es noch etwas dauert - bei mir geht es die nächsten Tage auch nicht weiter...

            VG
            Micha

            Kommentar


              #36
              Hi Roland,

              ich habe heute nochmal mit dem ebusd getestet. Dabei die Option "-f" (wieder)entdeckt. Dabei kommt ab und an ein Segmentation Fault:
              Code:
              pi@mediaserver ~ $ ebusd -f
              2014-12-26 13:31:14.603 [bas event] ebusd started
              2014-12-26 13:31:14.604 [bas trace] path to ebus configuration files: /etc/ebusd
              2014-12-26 13:31:14.621 [bas trace] read templates
              2014-12-26 13:31:14.888 [bas trace] read config files
              2014-12-26 13:31:14.889 [bas event] message DB: 557
              2014-12-26 13:31:14.890 [bas event] updates DB: 26
              2014-12-26 13:31:14.891 [bas event] polling DB: 25
              2014-12-26 13:31:15.742 [bus trace] poll cmd: ff53b509030d0300e4
              2014-12-26 13:31:15.755 [bus error] poll mc3 mc2FlowTempSensor failed: ERR: read timeout
              Segmentation fault
              pi@mediaserver ~ $ ebusd -f
              2014-12-26 13:31:21.410 [bas event] ebusd started
              2014-12-26 13:31:21.411 [bas trace] path to ebus configuration files: /etc/ebusd
              2014-12-26 13:31:21.429 [bas trace] read templates
              2014-12-26 13:31:21.710 [bas trace] read config files
              2014-12-26 13:31:21.711 [bas event] message DB: 557
              2014-12-26 13:31:21.713 [bas event] updates DB: 26
              2014-12-26 13:31:21.714 [bas event] polling DB: 25
              2014-12-26 13:31:22.071 [bus trace] poll cmd: ff53b509030d0300e4
              2014-12-26 13:31:22.084 [bus error] poll mc3 mc2FlowTempSensor failed: ERR: read timeout
              Segmentation fault
              Kann man dort irgendwie ansetzen?

              VG
              Micha

              Kommentar


                #37
                Hallo Micha,

                danke für Deine Rückmeldung. Der aufgetreten Fehler ist schon bekannt ist aber noch nicht gefixt.

                lg roland

                Kommentar


                  #38
                  Zitat von yuhu Beitrag anzeigen
                  Hallo Micha,

                  danke für Deine Rückmeldung. Der aufgetreten Fehler ist schon bekannt ist aber noch nicht gefixt.

                  lg roland
                  Super, alles klar. Keine Hektik!
                  VG

                  Kommentar


                    #39
                    knxd &lt;=&gt; ebusd

                    So, ich habe mich heute mal kurz dran gesetzt und versucht den knxd mit dem "neuen" ebusd ans laufen zu bringen. Durch den bekannten Bug im ebusd war es zwar etwas mühsam, aber prinzipiell funktioniert es.

                    Folgendes funktioniert soweit:
                    - periodisches Auslesen der numerischen Werte (zb Temperaturen)
                    - Senden der Soll-Temperatur-Werte an die WP

                    Was funktioniert nicht:
                    - Auslesen von On/Off/Auto/Eco/...-Werten:
                    Code:
                    2014-12-26 23:38:08.700,eBus_plugin.pl,ID: 12
                    2014-12-26 23:38:08.701,eBus_plugin.pl,ehp00 BrinePumpState
                    2014-12-26 23:38:08.712,eBus_plugin.pl,Sende:read ehp00 BrinePumpState
                    2014-12-26 23:38:09.492,eBus_plugin.pl,complete answer: on
                    2014-12-26 23:38:09.495,eBus_plugin.pl,read ehp00 BrinePumpState on
                    2014-12-26 23:38:09.496,eBus_plugin.pl,answer is NOT a number!
                    Gibt es eine Möglichkeit solche Werte beim ebusd wie bisher auch als Zahl (0, 1, 6, ...) abzurufen?

                    Noch eine Frage bzgl. der rrds: diese werden nun ja auf dem Pi gespeichert. Ich würde diese aber eigentlich lieber auf dem WG haben/behalten. Wie würde das am einfachsten funktionieren? Dass rrd-Verzeichnis vom WG auf dem Pi mounten oä?

                    Anbei der angepasste eBus_plugin.pl und meine knxd-ebusd.csv. Alle Befehle habe ich noch nicht ins neue Format übersetzt. U.a. weil ich mir nicht sicher bin wo ich diese finde. @Roland: kannst du kurz erklären welche Befehle in welcher dieser Dateien zu finden sind: https://github.com/yuhu-/ebusd-confi...0.5.x/vaillant ? V.a. die aus mc2.csv funktionieren bei mir nicht.

                    Danke und VG
                    Micha
                    Angehängte Dateien

                    Kommentar


                      #40
                      Das machst du mit der _templates.csv.
                      Sieh da mal rein, da findest Du auch "onoff" und kannst das ändern. Oder Du legst was eigenes an.

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

                      Kommentar


                        #41
                        Morgen,

                        die Namen der Konfigurationsdateien entsprechen den Idents aus dem Scan.

                        Vorgehen:
                        ebusd starten und 2-3 Minuten warten während mögliche Teilnehmer gesammelt werden.
                        Danach einfach einen Scan durchführen. Wen du nicht warten willst geht natürlich auch ein 'scan full'.

                        Du benötigst nur die für deine Anlage entsprechenden Dateien.

                        Code:
                        $ src/tools/ebusctl -s backup scan
                        
                        $ src/tools/ebusctl -s backup scan result
                        08;Joh. Vaillant GmbH & Co.;[B]EHP00[/B];0416;7201
                        0a;Joh. Vaillant GmbH & Co.;[B]PMW00[/B];0117;4402
                        15;Joh. Vaillant GmbH & Co.;[B]UIH00[/B];0370;6901
                        23;Joh. Vaillant GmbH & Co.;EHP00;0416;7201
                        25;Joh. Vaillant GmbH & Co.;EHP00;0416;7201
                        50;Joh. Vaillant GmbH & Co.;EHP00;0416;7201
                        52;Joh. Vaillant GmbH & Co.;[B]MC2  [/B];0500;6301
                        53;Joh. Vaillant GmbH & Co.;MC2  ;0500;6301
                        ed;Joh. Vaillant GmbH & Co.;[B]PMS00[/B];0107;4302

                        Kommentar


                          #42
                          Erledigt .... man braucht wohl viel Geduld bei "make"
                          Umgezogen? Ja! ... Fertig? Nein!
                          Baustelle 2.0 !

                          Kommentar


                            #43
                            Danke Roland, das hilft fürs Verständnis schon mal weiter. Bei einigen Befehlen bin ich mir trotzdem unsicher. In meiner alten Config hatte ich folgende Befehle drin:
                            Code:
                            9/2/1;6;g;;get;amu wp_stat;Waermepumpenstatus
                            9/2/11;9;g;;get;cir2 at_off;Aussentempertur Abschaltgrenze
                            9/2/12;9;g;;get;cir2 outdoor_24h_average;Aussentempertur 24h
                            9/2/25;9;g;;get;mv actenvpowerfine;ActualEnvironmentPowerFine
                            
                            9/2/110;5;g;;read;cir2 heat_pump_curr;akt. PWM-Wert Heizkreizpumpe
                            9/2/111;1;g;;read;cir2 heat_pump_stat;Status Heizkreispumpe
                            9/2/120;9;g;;read;cir2 rt_day;Heizkreis – Raumsolltemperatur
                            9/2/150;9;g;;read;ci cir2_set_temp;Heizkreis2-Solltemperatur
                            9/2/151;9;g;;read;mv VF2_temp temp;Vorlauftemperatur VF2
                            
                            9/2/203;9;g;;get;hw temp;WW – Solltemperatur
                            
                            9/3/1;1;;;set;short hw_load;Quick - WW Speicherladung
                            9/3/11;9;;;set;cir2 at_off;Aussentempertur Abschaltgrenze
                            9/3/120;9;;;set;cir2 rt_day;Heizkreis – Raumsolltemperatur
                            Zu diesen habe ich noch keinen passenden Befehl gefunden oder bin mir bei den gefunden nicht sicher ob es passt. Kannst du mir evtl etwas auf die Sprünge helfen?

                            Danke,
                            Micha

                            Kommentar


                              #44
                              Also ich hab es nur stichprobenartig nachgeschaut, aber es sollte alle geben.

                              In der ehp00.csv findet man sie, aber heißen teilweise anders. Am besten die alte csv nehmen und nach den letzten 4 Ziffern der 9. Spalte suchen.

                              alt:
                              Code:
                              get;hw;temp;WW – Solltemperatur;3;25;B509;3;0D[B]8200[/B];1;-;sd;1,2;d2c;1.000;°C;-;-;;;;;;;;;;;;;;;;;;;;;;;;
                              neu:
                              Code:
                              r;w,,hwHotWaterTempMax,Warmwasser Termperatur MAX,,25,,[B]8200[/B],,,temp,,,,,,,,,
                              Umgezogen? Ja! ... Fertig? Nein!
                              Baustelle 2.0 !

                              Kommentar


                                #45
                                Hallo Roland, ein paar Fragen habe ich die sich mir aus dem Wiki nicht 100% erschließen:

                                Polling:
                                Wie ich sehe gibt es ja bereits die Möglichkeit der Priorisierung (r1,r2 etc.) aber was hat es mit dem --pollintervall auf sich. Ist das der Abstand zwischen zwei Messungen von allen Elementen mit r1 oder jeweils von einem Element?

                                r1;A
                                r1:B
                                r2;C
                                r3

                                Dann würde bei 0,5,10,15... Sekunden A und B aktualisiert werden? C nach 10,20,30,... und D nach 15,30,60,...Sekunden?

                                Zyklische Werte/Tools:
                                Habt ihr irgendwie weiter gemacht die zyklischen WErte die von der Vaillant kommen zu analysieren? Gibt es aktuell noch ein Tool das man mit Rohdaten füttert und dann die passenden Daten zu unterschiedlichen Datentypen ausgibt? Vielleicht kommt so noch an ein paar Infos die die Anlage freiwillig sendet.

                                Scan:
                                Wann und wie findet ein Scan des Busses statt und gibt mir die Teilnehmer aus?

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

                                Kommentar

                                Lädt...
                                X