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

    Zitat von yuhu Beitrag anzeigen
    Gibt es dein knxd schon im SVN?
    Heute Abend - so hoffe ich - hab ich das soweit.
    Umgezogen? Ja! ... Fertig? Nein!
    Baustelle 2.0 !

    Kommentar


      Die Vaillant Steuerung hat beim 2-ten Ferienzeitenraum einen Fehler. Statt der Jahreszahl wird FF zurückgegeben - Oder steht hier etwas anderes?

      Zum Testen habe ich folgendes eingestellt.

      1: 04.07.2013 - 18.07.2013
      2: 22.08.2014 - 27.08.2014

      Code:
      2013-02-17 17:35:21.144 [0x80 NET] >>> client [6] get ci holiday_period
      2013-02-17 17:35:21.144 [0x02 NOT] search: get ci.holiday_period
      2013-02-17 17:35:21.144 [0x02 NOT]  found: 15B509030D4300 type: 3 ==> id: 6
      2013-02-17 17:35:21.144 [0x10 DBG]   data: -
      2013-02-17 17:35:21.144 [0x10 DBG] add: id: 6 clientfd: 6 ==> entries: 1
      2013-02-17 17:35:21.144 [0x10 DBG] del: id: 6 clientfd: 6 ==> entries: 0
      2013-02-17 17:35:21.144 [0x20 EBH]  15 b5 09 03 0d 43 00
      2013-02-17 17:35:21.303 [0x20 EBH]  0c 04 07 0d ff 16 08 12 07 0d ff 1b 08
      2013-02-17 17:35:21.303 [0x10 DBG] id: 6 elem: 0 p1: 1 p2: 2 p3: 3
      2013-02-17 17:35:21.303 [0x10 DBG] id: 6 elem: 1 p1: 5 p2: 6 p3: 4
      2013-02-17 17:35:21.303 [0x10 DBG] id: 6 elem: 2 p1: 7 p2: 8 p3: 9
      2013-02-17 17:35:21.303 [0x10 DBG] id: 6 elem: 3 p1: 11 p2: 12 p3: 10
      2013-02-17 17:35:21.303 [0x80 NET] <<< client [6] 04.07.2013  error start2 ==> 16 08 ff 18.07.2013  error end2 ==> 1b 08 ff

      Kommentar


        Hatte ich eben auch die FF jetzt hab ich mal alles neu eingestellt und es passt jetzt !???
        Umgezogen? Ja! ... Fertig? Nein!
        Baustelle 2.0 !

        Kommentar


          Nochmal die kurze Frage sollen die GAs automatisch rauspurzeln oder lieber manuell? Fürs automatische rauspurzeln hätte ich bis dato keine Lösung damit sich das nicht ändert wenn man mal eine neue config aus der ebusd *.csv ausliest. Ergo: Auch doof.

          Problem auf später verschieben und dafür das erste "Release" machen ?
          Umgezogen? Ja! ... Fertig? Nein!
          Baustelle 2.0 !

          Kommentar


            Die GAs legt man ja nur einmal an. Also ich bin für einmal händisch. Das CSV kann man ja mit Openoffice/Excel erstellen...

            Gruß

            Kommentar


              So ich hab den knxd jetzt mal ins SVN geschoben.

              Am einfachsten ist es wenn man den ganzen Inhalt des Ordners knxd ins Wurzelverzeichnis kopiert/auscheckt.

              Insgesamt gibt es neben der ebusd noch 3 Configs. Generell ist das noch etwas unterdokumentiert.

              eibga.conf kennen alle WireGate Besitzer, entweder einfach kopieren oder in der knxd.conf den Pfad dazu angeben. Sonst einfach ein symlink im Ordner /etc/knxd erstellen. Die ist nur wichtig für User mit Bussystem.

              knxd.conf ist die Config für den knxd. Dort wird z.B. EIB deaktiviert und die globalen Pfade angeben (RRDs,EIBD,Logs etc.).

              ebus_plugin.conf gibt es eigentlich nur weil das ganze nun doch als Plugin läuft. Da sich aber sicherlich noch einige Strukturen im Plugin ändern werden ist es somit für alle später einfacher, i.d.R. wird die ja nicht mehr angefasst. Man könnte überlegen die mit in die knxd.conf zu übernehmen.

              Unter tools liegt noch ein make_config.pl Perl script. Der Aufruf erfolgt z.B. über
              Code:
              perl make_config.pl -i /tmp/vaillant.csv -o /etc/knxd/eBus_plugin.conf
              Die notwendigen Perl-Abhängigkeiten sollten sich mit einem
              Code:
              apt-get install libmath-round-perl libmath-basecalc-perl librrds-perl libproc-pid-file-perl libproc-daemon-perl
              erledigen lassen. Die lib EIBConnection habe ich mit ins SVN geschoben aber vorher auch schonmal erklärt wie man die bekommt.

              Da ich sicherlich so einiges vergessen hab ... fragen.

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

              Kommentar


                Zitat von kleinklausi Beitrag anzeigen
                Im Sinne der Trennung von ebusd und ebus-knxd, könnte ich mir gut vorstellen, dass der ebusd für alle cycle Telegramme in der Config jeweils den letzten Wert, der über den EBus gegangen ist, puffert. Somit könnte dann jeder im ebus-knxd die zeitliche Auflösung selber bestimmen. Entweder er pollt alle Minute und sendet auf den KNX oder er schreibt alle 30 Sekunden in ein RRD usw. Abfragen des ebusd könnte dann mit einem get_cycle oder auch mit einem get gemacht werden.
                Nachdem nun das dekodieren der CYC Telegramme funktioniert, werde ich diesen Wunsch einbauen.
                JuMi2006 hat da schon nachgehackt, damit diese Werte ähnlich einfach wie get/set abgeholt werden können.

                Statt dem get/set steht dann einfach ein cyc davor. zB cyc broad date_time_temp temp sollte dann als Anwort zB 3.2 kommen.

                Struktur Idee:
                Code:
                struct cycbuf {
                    int key; /**< internal number - now we need it */
                    unsigned char msg[CMD_SIZE_S_MSG]; /**< zz + cmd + len + msg */
                    unsigned char buf[CMD_SIZE_S_MSG]; /**< NN + Data*/
                };
                Sollte da noch ein Zeitstempel rein von wann der Wert ist?
                Wie könnte der genutzt werden?

                Gibt es noch andere Ideen?

                Kommentar


                  So aktueller Commit (1500):

                  svn commit -m "add internal buffer for cyc data so we can use cyc command like get/set to fetch last data"

                  In Aktion sieht das ganze so aus.

                  Code:
                  ~/src/ebusd/tools $ telnet backup 8888
                  Trying 192.168.1.16...
                  Connected to backup.lan.
                  Escape character is '^]'.
                  cyc broad load_vf_temp temp
                   17.50 
                  cyc broad date_time_temp
                     3.750 Sun 17.02.2013 23:47:01
                  cyc broad date_time_temp temp
                     3.750 
                  shutdown
                  Connection closed by foreign host.
                  Roland

                  Kommentar


                    Wird morgen eingebaut.

                    Gute Nacht!
                    Umgezogen? Ja! ... Fertig? Nein!
                    Baustelle 2.0 !

                    Kommentar


                      Die neuen Versionen kommen ja schneller, als man mit dem auschecken fertig ist

                      Ich hab gestern get/set bei mir getestet, scheint soweit zu funktionieren. Dann werd ich heut abend mal updaten und berichten. Nur mit dem Testen der Kühlfunktion warte ich lieber auf wärmeres Wetter

                      Wie ist das mit dem knxd - ist der für ein "normales" Linux gedacht oder soll der auch auf einem Wiregate/Clonegate zum Einsatz kommen? Nicht dass sich da der knxd und der wiregated ins Gehege kommen.

                      Marcus

                      Kommentar


                        knxd und wiregated kommen sich nicht in die queere ... das kann durchaus parallel laufen ... tut es hier auch (nicht auf meinem Original, aber auf dem "EntwicklungsGate" -> Alix1D).

                        Der Vorteil ist dass man die eibga.conf einfach nur passend in der knxd.conf verlinken muss. Der Pfad zum lokalen eibd ist dort auch schon vermerkt.

                        Es war mit der größte Aufwand sämtliche hardcoded Pfade aus dem wiregated.pl zu entfernen und das ganze über die knxd.conf flexibel zu machen. Auf einem 11er Ubuntu in der VM hat das alles auch anstandslos geklappt.
                        Umgezogen? Ja! ... Fertig? Nein!
                        Baustelle 2.0 !

                        Kommentar


                          cycle und Alter der Telegramme

                          Zitat von yuhu Beitrag anzeigen
                          Statt dem get/set steht dann einfach ein cyc davor. zB cyc broad date_time_temp temp sollte dann als Anwort zB 3.2 kommen.
                          Genial! Danke

                          Zitat von yuhu Beitrag anzeigen
                          Sollte da noch ein Zeitstempel rein von wann der Wert ist?
                          Wie könnte der genutzt werden?
                          Ja, den Zeitstempel mitzuspeichern macht auf jeden Fall Sinn.

                          Interessant ist dann wirklich die Frage, was wir damit machen.
                          Mal ein paar Ideen:

                          1. ein weiterer optionaler Parameter "maximales Alter in Minuten". Wenn dieser nicht angegeben ist, wird der letze empfangene Wert zurückgegeben - egal wie alt der ist. Ist der Parameter angegeben, wird ein Wert nur zurückgegeben, falls der Wert nicht älter als X Minuten ist.

                          2. eigentlich wie 1. nur dass als Standard ein Wert nur zurückgegeben wird, falls er nicht älter als X Minuten ist. Wenn der optionale Parameter "egal wie alt" angegeben ist, wird der letzte verfügbare Wert zurückgegeben.

                          3. die Ausgabe beinhaltet immer den Wert und den Zeitstempel. Sowas wie: "17.5; 2013-02-18 23:20MEZ"

                          Ich tendiere zu 1. - so bin ich das aber halt gewohnt aus z.B. wiregate knx_read

                          Offen wäre noch was zurückgegeben wird, wenn der Puffer für den angefragten Wert leer ist.

                          Was meint Ihr?

                          Gruß Moritz

                          Kommentar


                            Zitat von yuhu Beitrag anzeigen
                            So aktueller Commit (1500):

                            svn commit -m "add internal buffer for cyc data so we can use cyc command like get/set to fetch last data"

                            In Aktion sieht das ganze so aus.

                            Code:
                            ~/src/ebusd/tools $ telnet backup 8888
                            Trying 192.168.1.16...
                            Connected to backup.lan.
                            Escape character is '^]'.
                            cyc broad load_vf_temp temp
                             17.50 
                            cyc broad date_time_temp
                               3.750 Sun 17.02.2013 23:47:01
                            cyc broad date_time_temp temp
                               3.750 
                            shutdown
                            Connection closed by foreign host.
                            Roland

                            Hi yuhu,

                            super, danke Dir, habe ich gestern beriets die CYC Telegramme, die bei dem TEM Kontroller sehr oft kommen, ausprobiert, jetzt ist es perfekt. :-)

                            Zu meinem Problem, den ich hier vorher beschrieben hatte. Vielleicht haben andere auch so etwas. Wie schon beschrieben konnte ich die Telegramme empfanden aber nicht senden. Das lag dann tatsächlich an dem Interface (Poti!). Ich habe ein simples selbsgebautes Interface, falls Interesse besteht kann ich es hier vorstellen. Ich habe nach und nach die C-Sourcen angeschaut, ich wollte ja nicht glauben dass es an dem Poti lag, da ich die Telegramme empfangen konnte...
                            Na ja, letzendlich habe ich die Stelle gefunden, wo das "FF"= Bussaddr. (Du hast wirklich alles komplett eingebaut incl. dwer Kollisionserkennung, aller Achtung) gesendet aber nicht empfangen wurde, und daran lag das Problem. Anscheinend war die RX-> TX "loop" im Interface nicht ausreichend Empfindlich. Jedenfalls jetzt funktioniert es. Ich warte noch auf die Informationen über die TEM Kommandos, WernerF hier aus dem Forum wollte mir diese zuschicken. Bis jetzt habe ich ein paar implementiert, vieles ist aber nicht ganz eBUS-Konform...

                            Gruß
                            Thomas

                            Kommentar


                              Zitat von kobza Beitrag anzeigen
                              Ich habe ein simples selbsgebautes Interface, falls Interesse besteht kann ich es hier vorstellen.
                              Ja, auch wenn ich nicht vor dem Herbst dazu kommen werde, so zumindest ich mich über einen Eigenbauvorschlag freuen.

                              Grüße
                              Guste

                              Kommentar


                                Zitat von kleinklausi Beitrag anzeigen
                                Ja, den Zeitstempel mitzuspeichern macht auf jeden Fall Sinn.
                                Offen wäre noch was zurückgegeben wird, wenn der Puffer für den angefragten Wert leer ist.

                                Was meint Ihr?
                                Ich halte wenig vom Zeitstempel:
                                - Was mache ich wenn der Wert zu alt ist? Gerade bei zyklischen Daten (CYC) macht das doch wenig Sinn. Wer soll das wie auswerten ... der Wert kann ja nur zu alt sein weil irgendwas mit der Heizung nicht stimmt.
                                - Der letzte ist zwangsläufig der aktuelle - egal wie alt


                                Zitat von kobza Beitrag anzeigen
                                Ich habe ein simples selbsgebautes Interface, falls Interesse besteht kann ich es hier vorstellen.
                                Natürlich besteht Interesse!

                                Zitat von kobza Beitrag anzeigen
                                ... (Du hast wirklich alles komplett eingebaut incl. der Kollisionserkennung, aller Achtung)...
                                Find ich auch!

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

                                Kommentar

                                Lädt...
                                X