Ankündigung

Einklappen
Keine Ankündigung bisher.

Linux + EIBD(oder KNXD) - Werte senden und empfangen

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

    KNX/EIB Linux + EIBD(oder KNXD) - Werte senden und empfangen

    Hallo zusammen

    ich hätte mal eine Frage:

    Ich habe hier ne Linux Maschine auf der ich verschiedene Werte habe die ich regelmäßig in den Bus senden möchte (Temp und Status).
    Im Gegenzug würde ich gerne Werte aus dem Buss Empfangen (2 GA´s) und diese entsprechend beim Empfangen verarbeiten.

    Geht das mit KNXD ?

    Ich hab ne Loxone als IP/KNX Schnittstelle die entgegen allen Unkenrufen diesen Dienst (zumindest mit ETS4) sehr zuverlässig und ohne Probleme verrichtet.

    CU
    GTR

    #2
    Ja geht, auch zuverlässig. Ich sende seit Monaten ca. 20 OneWire Temperaturen auf den KNX Bus für den Heizungsaktor. Läuft absolut stabil und zuverlässig. Habe eibd installiert und eine kleine FHEM Installation, die die Werte letztlich Richtung KNX sendet.
    Das grösste Problem war dabei letztlich die Wandlung der Datentypen. Da funktionierte die dpt9 Wandlung unter fhem nicht korrekt. Die habe ich anpassen müssen.
    Die Wandlung der Datentypen kann man gut hier kontrollieren: http://www.tapko.de/de/service/tools.html

    Für Ubuntu siehe z. B. http://www.meintechblog.de/2014/06/k...hem-einbinden/

    Mit der Suche EibD + FHEM wirst du auf jeden Fall fündig. Es geht sicherlich auch nur mit EibD.

    Gruß Martin
    IPSymcon 6.1, KNX, Siemens Logo 0BAX, Homematic, ESP32, Raspberry, NUKI, Philips Hue

    Kommentar


      #3
      Zitat von jumy04 Beitrag anzeigen
      Das grösste Problem war dabei letztlich die Wandlung der Datentypen.
      Eine Alternative wäre die Nutzung von eibd/kxnd und zusätzlich von linknx, welches die meisten Datentypen implementiert hat. Im Logfile werden dann alle Buswerte als gewandelte Datentypen angezeigt. Ich parse zum Beispiel das Logfile um gewisse Werte in RRD zu schreiben.
      EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

      Kommentar


        #4
        Hallo zusammen

        erstmal danke für die Post´s.

        Fortschritt1:

        knxd kompiliert, läuft und fungiert als Router zwischen ets und Loxone als IP Interface - das ist doch schon mal was :-)


        Was mich nun zum nächsten Notwendigen Part bringt:

        Werte mit knxd empfangen und senden.

        Gibt es hierzu ein verünftiges Wiki oder howtodo da diese funktion erklärt.

        @tru

        dein Einwurf mit linknx war nicht schlecht und bringt das nächste Problem zu tage:

        Wenn ich das richtig auf der linknx Page gelesen habe, speichert knxd die aktuellen stati der GA´s welche von knxd empfangen/gesendet wurden nicht das bedeutet für mich im Umkehrschluss dass eine Software die knxd nutzt permanent connectiet sein muss um das quasi selbst zu machen korrekt ?

        Dafür macht linknx auch die Typenumwandlung wobei das doch nicht sooo komplex sein kann oder täusche ich mich da ?

        CU
        GTR

        Kommentar


          #5
          Zitat von Gtrdriver Beitrag anzeigen
          Wenn ich das richtig auf der linknx Page gelesen habe, speichert knxd die aktuellen stati der GA´s welche von knxd empfangen/gesendet wurden nicht das bedeutet für mich im Umkehrschluss dass eine Software die knxd nutzt permanent connectiet sein muss um das quasi selbst zu machen korrekt ?
          Ja, in meinen Augen ist das absolut korrekt.
          Zitat von Gtrdriver Beitrag anzeigen
          Dafür macht linknx auch die Typenumwandlung wobei das doch nicht sooo komplex sein kann oder täusche ich mich da ?
          Du meinst du könntest die Umwandlung der Datentypen, welche du vom Bus liest, gleich selber machen? Klar, kann man machen. Aber schau dir mal die einzelnen Definitionen genau an und überlege dir ob du den ganzen Aufwand machen willst, wenn du bereits etwas fertiges einsetzen kannst.

          EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

          Kommentar


            #6
            Tru
            Danke für den Hinweis mit linknx. Derzeit arbeitet alles sauber und stabil mit eibd/fhem. Hatte da mit dem Fork knxd gar nicht mitbekommen.


            @Gtrdriver

            Mal einige Dinge die ich genutzt habe:

            * Installation via Skript
            http://michlstechblog.info/blog/rasp...usb-interface/
            http://michlstechblog.info/blog/rasp...r-router-with-
            * /etc/init.d/eibd angepasst für IP Router Zugriff
            ` http://michlstechblog.info/blog/knxe...ript-for-eibd/

            * Temperaturwerte senden
            http://www.tapko.de/de/service/tools.html
            https://knx-user-forum.de/knx-eib-fo...senden-mit-gro
            https://knx-user-forum.de/knx-eib-fo...roupwrite.html
            https://knx-user-forum.de/knx-eib-fo...f-den-bus.html

            Gruß Martin
            IPSymcon 6.1, KNX, Siemens Logo 0BAX, Homematic, ESP32, Raspberry, NUKI, Philips Hue

            Kommentar


              #7
              hallo

              @jumy04

              danke für die Links - bin schon so weit WErte in den Bus zu senden - klappt.
              Aktuell bin ich noch am tüfteln wie ich werte aus dem Bus kriege ? - Habe bisher nur ./groupsocketlisten gefunden - aber es ist irgendwie umständlich das zu parsen

              @tru:

              Ja - das mit den Werten ist irgendwie strange - ich habe noch immer nicht verstanden wie ich einen TEMP wert umrechne - bin Mathematisch aber auch keine große leuchte ...

              Warum ich den einsatz einer zusätzlichen Software momentan umgehen will: das ist jetzt schon EBUD (für die Kommunikation mit dem EBUS - dann KNXD das gleiche für KNX - dann muss ich ohnehin was in Perl bauen um zwischen den beiden Welten zu vermitteln - wenn dann noch was 3. dazu komme bin ich mir nicht sicher ob das notwendig/sinnvoll ist

              Aber ich schau´s mir auf jeden fall mal an !

              Kommentar


                #8
                Tru

                So - frustriert von dem DAtenwirrwarr hab ich jetzt mal wirklich /temp/linknx-0.0.10 installiert und testweise konfiguriert.
                Dazu einfach mal nen Test mit ner Temp GA und siehe da schaut doch gut aus:

                Code:
                2015-06-25 13:04:55 [ INFO] KnxConnection: KnxConnection: Group socket opened. Waiting for messages.
                2015-06-25 13:05:54 [ INFO] Object: New value 20.4 for object test_temp (type: 5.001)
                Ähm - nun - wie connecte ich zur XML schnittstelle ?

                Soweit ich das gesehen habe läuft die auf Port 1028 - müsste ich da nicht mit nem normalen Browser drauf kommen ?

                Ich hatte das so verstanden dass dann alle konfigurierten GA´s und deren Werte als XML Dokument kommen und ich dann auch per XML Werte senden kann.

                Oder hab ich da was falsch verstanden ?

                Nachtrag: Ok - Doku gelesen - XML via Socket - aber ich bekomm es trotzdem nicht hin.

                Müsste doch via Telnet und Befehlt trotzdem gehen oder ?


                CU
                GTR
                Zuletzt geändert von Gtrdriver; 25.06.2015, 16:14.

                Kommentar


                  #9
                  Zitat von Gtrdriver Beitrag anzeigen
                  So - frustriert von dem DAtenwirrwarr hab ich jetzt mal wirklich /temp/linknx-0.0.10 installiert und testweise konfiguriert.
                  Was ist das für eine Version? Ich empfehle 0.0.1.32 von http://sourceforge.net/projects/linknx/files/linknx/ zu verwenden.
                  Dazu einfach mal nen Test mit ner Temp GA und siehe da schaut doch gut aus:

                  2015-06-25 13:04:55 [ INFO] KnxConnection: KnxConnection: Group socket opened. Waiting for messages.
                  2015-06-25 13:05:54 [ INFO] Object: New value 20.4 for object test_temp (type: 5.001)
                  Ja, da bist du auf dem richtigen Weg.
                  Nachtrag: Ok - Doku gelesen - XML via Socket - aber ich bekomm es trotzdem nicht hin.
                  Müsste doch via Telnet und Befehlt trotzdem gehen oder ?
                  Ja, mit telnet würde es gehen, wobei das x04 zu schicken ist dann nicht einfach und ist schwierig zu skripten. Probier mal das
                  Code:
                  printf "<read><object id=test_temp/></read>\004" | nc localhost 1028

                  EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

                  Kommentar


                    #10
                    Hallo

                    danke - kannst du mir evtl verraten wie der HEX oder ASCII code für EOF ist ? (das ist doch EOF) oder ?

                    Ich möchte das via Perl senden.

                    Kommentar


                      #11
                      Zitat von Gtrdriver Beitrag anzeigen
                      kannst du mir evtl verraten wie der HEX oder ASCII code für EOF ist ? (das ist doch EOF) oder ?
                      Es ist EOT x04, in meinem Beispiel \004 oktal.
                      EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

                      Kommentar


                        #12
                        Hallo

                        ich habe linknx jetzt laufen - klappt soweit alles sehr gut - habe ein kleines Perl Script gemacht das die Daten zwischen ebusd und linknx austauscht ...

                        Was mir aufgefallen ist:
                        Ab und dann gehen offenbar Telegramme verloren - ich hab das jetzt 2x lachvollziehen können da ein Status in der Visu nicht gesetzt wurde.

                        Gibt es eigentlich einen Switch in der Config oder sonst wo der linknx dazu veranlasst nicht geänderte WErte trotzdem zu senden - oder alle Werte zylkisch zu senden (z.b: alle 60minuten)

                        cU
                        GTR

                        Kommentar


                          #13
                          Zitat von Gtrdriver Beitrag anzeigen
                          Ab und dann gehen offenbar Telegramme verloren - ich hab das jetzt 2x lachvollziehen können da ein Status in der Visu nicht gesetzt wurde.

                          Gibt es eigentlich einen Switch in der Config oder sonst wo der linknx dazu veranlasst nicht geänderte WErte trotzdem zu senden - oder alle Werte zylkisch zu senden (z.b: alle 60minuten)
                          Bin mir nicht sicher ob ich deine Frage richtig verstehe. Und ob Telegramme verloren gehen können, kann ich nicht beurteilen. Nach meinem Verständnis speichert linknx die Zustände gemäss den vom Bus empfangenen Telegrammen. Und dieser Zustand ändert ja nicht, wenn mehrere Telegramme hintereinander mit dem gleichen Wert eintreffen.

                          Für write-Anweisungen studierst du am besten die Definition zu den einzelnen Object-Flags. Da ist es durchaus möglich, dass linknx für eine write-Anweisung den gleichen Wert mehrfach auf den Bus schickt. Zyklisches Senden eines Wertes könntest mit einer Rule einrichten. Aber alle gespeicherten Werte zyklisch auf den Bus schicken? Das geht meines Wissens nicht und ich wüsste auch nicht ob das gescheit wäre.
                          EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

                          Kommentar


                            #14
                            Hallo

                            so - ich bin nen schritt weiter.

                            Das Problem licht nicht an linknx <> KNX Schnittstelle sondern an der linknx XML Schnittstelle.

                            Ich bin eigentlich davon ausgegangen linknx beliebig viele "write" kommandos in einem Rutsch geben zu können - aber damit kommt es offenbar nicht zurecht.

                            Manchmal werden alle - manchmal nur 5 oder 3 erkannt.

                            Ich hab jetzt mal als Workaround nach jedem Write ne Wartezeit gesetzt und schreibe alle einzeln.

                            So klappt das jetzt ..

                            CU
                            GTR

                            Kommentar


                              #15
                              Zitat von Gtrdriver Beitrag anzeigen
                              Ich bin eigentlich davon ausgegangen linknx beliebig viele "write" kommandos in einem Rutsch geben zu können - aber damit kommt es offenbar nicht zurecht.
                              Solange du jeden XML-Befehl einzeln mit einem x04 abschliesst, sollte es problemlos gehen.

                              EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

                              Kommentar

                              Lädt...
                              X