Ankündigung

Einklappen
Keine Ankündigung bisher.

eBus->USB->Plugin->KNX

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Wie dechiffrieren?

    Hallo Roland und Yumi,

    zuerst noch einmal vielen Dank für das was Ihr da auf die Beine gestellt habt, echt super!

    Nach langer Abstinenz bin ich nun wieder in die "Dechiffrierung" meiner Hautec eingestiegen. Der Daemon läuft super, allerdings habe ich nun Probleme bei der Übersetzung der geloggten Werte in das CSV.

    Meine Idee war nun zum Start die geloggten Befehle des Displays sozusagen automatisiert wiederzugeben, leider bekomme ich es trotz x-Versuche irgendwie nicht gebacken das auf den Bus zu senden was ich geloggt habe, da wohl meine Einträge in der CSV nicht zum gewünschten Output führen.

    In den Sources habe ich unter Tools einige Hilfsmöglichkeiten gefunden, allerdings liegen die Tools ja nur im c-Format vor und die Compilierung der Dateien via Automake wirft div. Fehler aus bzgl. fehlender Configdateien bspw config.in. Bin bzgl. dem Kompilieren auf Linux noch ein Newbie, daher wäre es im ersten Schritt klasse, wenn Ihr mir hier Tipps geben könnt bzw. nochmal prüfen könntet, ob nicht doch Sourcen seit dem Umzug vom SVN auf GIT fehlen.

    Ebenfalls nicht klar im Moment ist, ob denn set noch möglich ist und wo dann in der CSV der Unterschied zwischen set und get ist. cycle habe ich verstanden und zumindest der Default klappt, wenn auch beim Datum der Textoutput beim Tag einen Tag zu früh dran ist.

    Viele Grüße,
    Oliver

    Kommentar


      Zitat von JuMi2006 Beitrag anzeigen
      was ist der Grund dafür?
      Es gibt keinen Grund. Purer Spass an der Sache.

      Kommentar


        Zitat von Sandman60 Beitrag anzeigen
        Nach langer Abstinenz bin ich nun wieder in die "Dechiffrierung" meiner Hautec eingestiegen. Der Daemon läuft super, allerdings habe ich nun Probleme bei der Übersetzung der geloggten Werte in das CSV.

        Meine Idee war nun zum Start die geloggten Befehle des Displays sozusagen automatisiert wiederzugeben, leider bekomme ich es trotz x-Versuche irgendwie nicht gebacken das auf den Bus zu senden was ich geloggt habe, da wohl meine Einträge in der CSV nicht zum gewünschten Output führen.
        Poste doch mal ein Beispiel was nicht geht. Ich gehe davon aus, dass du die letzte Version des ebusd vom github verwendest.

        Zitat von Sandman60 Beitrag anzeigen
        In den Sources habe ich unter Tools einige Hilfsmöglichkeiten gefunden, allerdings liegen die Tools ja nur im c-Format vor und die Compilierung der Dateien via Automake wirft div. Fehler aus bzgl. fehlender Configdateien bspw config.in. Bin bzgl. dem Kompilieren auf Linux noch ein Newbie, daher wäre es im ersten Schritt klasse, wenn Ihr mir hier Tipps geben könnt bzw. nochmal prüfen könntet, ob nicht doch Sourcen seit dem Umzug vom SVN auf GIT fehlen.
        Beim Umzug ist sicher nichts verloren gegangen. Die Tools werden automatisch beim kompilieren des ebusd mitgebaut.

        Zitat von Sandman60 Beitrag anzeigen
        Ebenfalls nicht klar im Moment ist, ob denn set noch möglich ist und wo dann in der CSV der Unterschied zwischen set und get ist.
        Für Vaillant ist mir die Konfiguration klar. Wie das Senden bei Hautec aussieht weiß ich nicht. Da hilft ein RAW Dump.

        Zitat von Sandman60 Beitrag anzeigen
        cycle habe ich verstanden und zumindest der Default klappt, wenn auch beim Datum der Textoutput beim Tag einen Tag zu früh dran ist.
        Es gibt für das Datum jeweils 2 Formate.
        Code:
        X      bda  3    date (bcd Format)  
        X   X  hda  3    date (hex Format)  
        X      bti  3    time (bcd Format)  
        X   X  hti  3    time (hex Format)  
        X      bdy  1    day  (bcd Format)  
        X   X  hdy  1    day  (hex Format)

        Kommentar


          Zitat von yuhu Beitrag anzeigen
          Poste doch mal ein Beispiel was nicht geht. Ich gehe davon aus, dass du die letzte Version des ebusd vom github verwendest
          Ja.
          Zitat von yuhu Beitrag anzeigen
          Beim Umzug ist sicher nichts verloren gegangen. Die Tools werden automatisch beim kompilieren des ebusd mitgebaut.
          War kein Vorwurf. Gibt es denn die Möglichkeit die 3 Hilfstools standalone zu kompilieren und zu benutzen? Gerade beim dechiffrieren wäre das genial, denn dann könnte ich einfach auf der Konsole im ersten Schritt mit dem ebus_send testen was passiert, dann entsprechend die csv definieren und prüfen mit check und dann ins Ganze einsteigen!

          Zitat von yuhu Beitrag anzeigen
          Für Vaillant ist mir die Konfiguration klar. Wie das Senden bei Hautec aussieht weiß ich nicht. Da hilft ein RAW Dump.
          Schon klar, genau an der Stelle bin ich ja und loggeund auswerte ja schon wie der Weltmeister... Nach dem RAW Dump muß es ja nur wieder zurück

          Zitat von yuhu Beitrag anzeigen
          Es gibt für das Datum jeweils 2 Formate.
          Code:
          X      bda  3    date (bcd Format)  
          X   X  hda  3    date (hex Format)  
          X      bti  3    time (bcd Format)  
          X   X  hti  3    time (hex Format)  
          X      bdy  1    day  (bcd Format)  
          X   X  hdy  1    day  (hex Format)
          Schau ich mir an, danke!

          Kommentar


            Zitat von Sandman60 Beitrag anzeigen
            Gibt es denn die Möglichkeit die 3 Hilfstools standalone zu kompilieren und zu benutzen? Gerade beim dechiffrieren wäre das genial, denn dann könnte ich einfach auf der Konsole im ersten Schritt mit dem ebus_send testen was passiert, dann entsprechend die csv definieren und prüfen mit check und dann ins Ganze einsteigen!
            Das habe ich genauso gemacht. Einfach die entsprechenden Dateien ändern und ein "make" im ebusd Verzeichnis ausführen. Es werden nur die geänderten Dateien neu kompiliert.

            Kommentar


              Genial, was hier entstanden ist! Ihr macht es möglich - was Hersteller nicht erahnen und somit versäumen - interessante und ich denke auch wichtige Features zu nutzen, die ein Smart-Home erst wirklich smart werden lassen.

              Das muss einfach mal gesagt werden!!

              Kommentar


                Da ich noch den Stand vom letzten Herbst drauf hatte, wollte ich mal wieder ein ebusd Update durchführen (trunk aus git).

                Dazu habe ich das ganze wie gewohnt mit "./autogen.sh" kompiliert. Meine existierenden csv Dateien habe ich gemäß diesem Hinweis angepasst. Leider erhalte ich nach dem Start von ebusd einen Speicherzugriffsfehler:
                Code:
                # ./ebusd -f -l ALL
                2014-01-12 14:05:04.279 [NOT] /etc/ebusd/vaillant_cyc.csv
                2014-01-12 14:05:04.286 [NOT] /etc/ebusd/vaillant_cyc.csv success
                2014-01-12 14:05:04.288 [NOT] /etc/ebusd/vaillant_get.csv
                2014-01-12 14:05:04.310 [NOT] /etc/ebusd/vaillant_get.csv success
                2014-01-12 14:05:04.312 [NOT] /etc/ebusd/vaillant_set.csv
                2014-01-12 14:05:04.318 [NOT] /etc/ebusd/vaillant_set.csv success
                2014-01-12 14:05:04.324 [INF] /dev/ttyUSBebus opened
                2014-01-12 14:05:04.325 [INF] port 8888 opened
                2014-01-12 14:05:04.326 [INF] msg queue initialized
                2014-01-12 14:05:04.328 [EBH]   00 00 00
                2014-01-12 14:05:05.037 [EBH]   10 23 b5 04 01 01 c6 00 09 1e 03 00 00 00 06 00 00 00 21 00
                2014-01-12 14:05:05.204 [EBH]   10 23 b5 04 02 0d 00 4d 00 05 00 00 00 80 00 4c 00
                2014-01-12 14:05:05.388 [EBH]   10 23 b5 04 01 32 f5 00 0a 00 00 00 00 00 00 00 03 00 00 a5 00
                2014-01-12 14:05:05.538 [EBH]   10 23 b5 04 01 31 f6 00 02 00 00 2c 00
                2014-01-12 14:05:08.495 [EBH]   10 50 b5 04 01 00 ff 00 0a 03 19 05 14 12 01 07 14 c0 03 2a 00
                2014-01-12 14:05:08.495 [NOT]  found: 50B504010 type: MS ==> id: 10
                2014-01-12 14:05:08.495 [DBG] id: 10 elem: 0 p1: 7 p2: 0 p3: 0 p4: 0
                2014-01-12 14:05:08.495 [DBG] buf: Sun
                2014-01-12 14:05:08.496 [DBG] id: 10 elem: 1 p1: 5 p2: 6 p3: 8 p4: 0
                2014-01-12 14:05:08.496 [DBG] buf: 12.01.2014
                2014-01-12 14:05:08.496 [DBG] id: 10 elem: 2 p1: 4 p2: 3 p3: 2 p4: 0
                2014-01-12 14:05:08.496 [DBG] buf: 14:05:19
                2014-01-12 14:05:08.496 [DBG] id: 10 elem: 3 p1: 9 p2: 1 p3: 0 p4: 0
                2014-01-12 14:05:08.496 [DBG] buf: -63.988281
                2014-01-12 14:05:08.496 [EBS] Sun 12.01.2014 14:05:19 -63.988281
                2014-01-12 14:05:09.018 [EBH]   10 08 b5 09 03 29 d3 00 7f 00 05 d3 00 63 63 63 fd 00
                2014-01-12 14:05:09.157 [EBH]   10 fe b5 05 04 27 00 1d 00 e2
                2014-01-12 14:05:09.157 [NOT]  found: FEB5050427 type: BR ==> id: 1
                2014-01-12 14:05:09.157 [DBG] id: 1 elem: 0 p1: 2 p2: 0 p3: 0 p4: 0
                2014-01-12 14:05:09.157 [DBG] buf: 0
                2014-01-12 14:05:09.157 [DBG] id: 1 elem: 1 p1: 3 p2: 0 p3: 0 p4: 0
                2014-01-12 14:05:09.157 [DBG] buf: 14.500000
                2014-01-12 14:05:09.157 [DBG] id: 1 elem: 2 p1: 4 p2: 0 p3: 0 p4: 0
                2014-01-12 14:05:09.157 [DBG] buf: 0
                2014-01-12 14:05:09.157 [EBS] 0 14.500000 0
                2014-01-12 14:05:09.466 [EBH]   10 fe b5 05 03 4a 01 00 f4
                2014-01-12 14:05:09.981 [EBH]   10 08 b5 09 03 29 b8 01 fd 00 03 b8 01 00 70 00
                2014-01-12 14:05:10.144 [EBH]   10 08 b5 09 03 29 b9 01 66 00 03 b9 01 00 66 00
                2014-01-12 14:05:10.315 [EBH]   10 08 b5 09 03 29 0f 00 56 00 05 0f 00 6a 00 00 4e 00
                2014-01-12 14:05:10.478 [EBH]   10 08 b5 09 03 29 bb 00 ca 00 03 bb 00 00 d1 00
                2014-01-12 14:05:10.641 [EBH]   10 08 b5 09 03 29 ba 00 51 00 03 ba 00 00 c7 00
                2014-01-12 14:05:11.016 [EBH]   10 25 b5 09 04 0e f4 00 00 28 00 00 00 00
                2014-01-12 14:05:11.492 [EBH]   10 23 b5 05 07 2b 00 01 00 00 00 00 79 00 00 00 00
                2014-01-12 14:05:12.032 [EBH]   10 08 b5 11 02 03 00 1e 00 0a d8 01 a6 06 6f 04 03 28 00 00 e7 00
                2014-01-12 14:05:12.195 [EBH]   10 08 b5 11 01 02 8a 00 05 00 00 c8 00 c8 ca 00
                2014-01-12 14:05:13.091 [EBH]   10 08 b5 13 03 04 cd 01 7f 00 0a cd 01 01 00 00 00 01 00 01 00 2c 00
                2014-01-12 14:05:13.619 [EBH]   03 0a b5 03 02 00 01 dc
                2014-01-12 14:05:15.071 [EBH]   10 08 b5 10 09 00 02 3a 00 00 00 00 00 02 d1 00 00 00 00
                2014-01-12 14:05:15.534 [EBH]   10 08 b5 09 04 0e d1 00 01 28 00 00 00 00
                2014-01-12 14:05:16.059 [EBH]   10 0a b5 13 03 04 00 00 9f
                2014-01-12 14:05:17.076 [EBH]   10 50 b5 04 01 01 fe 00 09 15 03 00 00 00 85 00 01 00 c7 00
                2014-01-12 14:05:17.076 [NOT]  found: 50B504010 type: MS ==> id: 10
                2014-01-12 14:05:17.076 [DBG] id: 10 elem: 0 p1: 7 p2: 0 p3: 0 p4: 0
                Speicherzugriffsfehler
                Wie kann ich das denn jetzt debuggen?

                Kommentar


                  @XueSheng:
                  • Hast du ein neues Verzeichnis für die Sourcen von github verwendet?
                  • Kannst Du mal die Zeile deiner Config posten? (Nur um sicher zugehen, dass alles paßt.)

                  Kommentar


                    Ja, ich habe ein neues Verzeichnis für die Sourcen aus github verwendet.
                    Welche Zeile der Config Du meinst, ist mir nicht ganz klar. Habe mal die files aus /etc/ebusd angefügt, die ich verwendet hatte. Meintest Du das?
                    Angehängte Dateien

                    Kommentar


                      Es geht um diese Zeile.

                      Code:
                      10 50 b5 04 01 01 fe 00 09 15 03 00 00 00 85 00 01 00 c7 00
                      Ich habe mal meine aktuelle Config dieser Zeile mit deiner gegenübergestellt.

                      Code:
                      cyc         cir2         date_time_temp         Datum, Uhrzeit und Aussentempertur         MS         50         B504         1         [COLOR=Red]0[/COLOR]         4         day         sd         7         hdy         -         -         -         Wochentag         date         sd         5,6,8         bda         -         -         -         Datum         time         sd         4,3,2         bti         -         -         -         Uhrzeit         temp         sd         [COLOR=Red]9,1 [/COLOR]        d2b         1.0         °C         -         Temperatur
                      cyc         cir2         date_time_temp         Datum, Uhrzeit und Aussentempertur         MS         50         B504         1         [COLOR=Red]00[/COLOR]         4         day         sd         7         hdy         -         -         -         Wochentag         date         sd         5,6,8         bda         -         -         -         Datum         time         sd         4,3,2         bti         -         -         -         Uhrzeit         temp         sd         [COLOR=Red]9,10[/COLOR]         d2b         1.0         °C         -         Temperatur
                      Die 0 (D1D2D3) wäre das einzelne Datenbyte und muss zwingend zweistellig sein. Entweder 00 oder 01 sein. Das müsste die Ursache für den Absturz sein.

                      Kommentar


                        Zitat von yuhu Beitrag anzeigen
                        Die 0 (D1D2D3) wäre das einzelne Datenbyte und muss zwingend zweistellig sein. Entweder 00 oder 01 sein. Das müsste die Ursache für den Absturz sein.
                        Genau das scheint die Ursache zu sein.
                        Ich hatte die csv Dateien in OpenOffice importiert um den "msg type" zu aktualisieren. Dabei wurde das Format der Spalte "D1D2D3" zerstört (Führende Nullen wurden entfernt). Habe diesen Fehler nun in allen csv Dateien korrigiert und nun läuft es wieder!

                        Danke für die schnelle Hilfe!

                        Kommentar


                          Zitat von XueSheng Beitrag anzeigen
                          Genau das scheint die Ursache zu sein.
                          Ich hatte die csv Dateien in OpenOffice importiert um den "msg type" zu aktualisieren. Dabei wurde das Format der Spalte "D1D2D3" zerstört (Führende Nullen wurden entfernt). Habe diesen Fehler nun in allen csv Dateien korrigiert und nun läuft es wieder!

                          Danke für die schnelle Hilfe!
                          Kein Problem.

                          @JuMi: Das ist mit ein Grund warum ich das ganze auf neue Füße stellen will. Natürlich könnten solche Überprüfungen auch im bestehenden Code implementiert werden.

                          Kommentar


                            Ein Hinweis zur csv:
                            Habe bei mir die VWS 82/3 in Betrieb. In der alten csv wurde die Zeile zum Auslesen des Warmwasser Betriebsmodus geändert (diff). Jedoch funktioniert die neue Zeile bei mir nicht mehr (immer Rückgabewert 0). Habe wieder auf den alten Eintrag umgestellt, um den korrekten Status zu erhalten.
                            Code:
                            -get;hw;mode;WW – Betriebsmodus;3;25;B509;3;0D[COLOR=SeaGreen][B]2[/B][/COLOR]B00;1;-;sd;1;bcd;1.000;-;-;-;;;;;;;;;;;;;;;;;;;;;;;;
                            +get;hw;mode;WW – Betriebsmodus;3;25;B509;3;0D[B][COLOR=Red]3[/COLOR][/B]B00;1;-;sd;1;bcd;1.000;-;-;-;;;;;;;;;;;;;;;;;;;;;;;;
                            Eine Frage habe ich dann noch zum aktuellen Betriebsstatus, der über folgende Zeile abgerufen wird:
                            Code:
                            get;ci;mode;aktueller Betriebsstatus;3;15;B509;3;0D9700;1;-;sd;1;bcd;1.000;-;-;-;;;;;;;;;;;;;;;;;;;;;;;;
                            Ich dachte mal, dass dieser Wert den Text im Bedienteil der Heizung auf Seite 1 definiert. Der Text im Bedienteil heisst dann z.B.: "Regelabschaltung Heizen" oder "Heizung nur Kompressor" ...

                            Jedoch erhalte ich bei beiden genannten Texten den Rückgabewert 1 über ebusd. Bei Heizen Warmwasser bekomme ich den Rückgabewert 4 (wenn Heizung aktiv im Winter) bzw. Rückgabewert 3 (wenn Heizung aus im Sommer).

                            Kann mir jemand sagen, wie ich an den korrekten Betriebsmodus der Heizung komme, so dass auch Heizen und Regelabschaltung unterschieden werden können?

                            Kommentar


                              Zitat von XueSheng Beitrag anzeigen
                              Kann mir jemand sagen, wie ich an den korrekten Betriebsmodus der Heizung komme, so dass auch Heizen und Regelabschaltung unterschieden werden können?
                              EmSystemMode ff 15 b5 09 03 0d 97 00 47 00 01 01 9a 00
                              (0=Aus; 1=Heizen; 2=Kühlen; 3=Warmwasser; 4=Warmwasser während Heizbetrieb; 5=Warmwasser während Kühlbetrieb)

                              verknüpft mit

                              Wärmepumpenstatus ff 08 b5 09 03 0d d0 00 66 00 01 00 9b 00
                              (0=Aus; 1=Ein)

                              Kommentar


                                Das war schon fast meine Befürchtung, dass der Betriebsmodus alleine nicht für den genannten Text herangezogen werden kann, sondern in Kombination mit der Wärmepumpe gesehen werden muss. Heisst für mich nur, dass ich in der CometVisu nicht mit einem einfachen mapping arbeiten kann.

                                Der "EmSystemMode" entspricht doch bereits "get ci mode" aus meiner config, richtig?

                                Kommentar

                                Lädt...
                                X