Ankündigung

Einklappen
Keine Ankündigung bisher.

EIBD über Socket ansteuern - Protokoll?

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

    KNX/EIB EIBD über Socket ansteuern - Protokoll?

    Hallo!

    Ich würde gerne den eibd über einen TCP Socket ansteuern, das hab ich auch schonmal soweit dass ich ein Packet hinsende und dieses zum Bus gesendet wird, wo die Aktion ausgelöst wird (Lampe ein/auschalten).

    Der eibd wird wie folgt gestartet:
    Code:
    eibd --trace=5 --eibaddr=1.1.101 --GroupCache -DTS -i --Routing ipt:192.168.3.100
    Folgendes Bytesequenz schick ich über den geöffneten Socket zum eibd, welcher den Befehl erfolgreich umsetzt:
    Code:
    [0, 6, 0, 39, 0, 1, 0, 128]
    Das Beispiel hab ich mir zusammengesucht (https://github.com/mknx/smarthome/bl...nx/__init__.py), jetzt stellt sich die Frage wie das Protokoll zum eibd aussieht und wie ich z.B. jetzt Telegramme auslesen und verwerten kann usw.

    Ich finde zum Protokoll vom eibd keine Doku. Mit dem Telegrammaufbau von KNX hat das wie es aussieht ja wenig zu tun.

    Any ideas?

    LG

    #2
    Ok, EIBConnection.py beinhaltet alle notwendigen Funktionen zum Aufrufen des EIBD.

    Kommentar


      #3
      Hallo Maitscha,

      warum nimmst du nicht einfach die Befehle groupswrite, groupsread und wie sie alle heißen?

      Erfindest du da nicht gerade das Rad neu?
      Welchen Mehrwert versprichst du dir davon, über Socket direkt zu kommunizieren?
      Ciao
      Olaf
      Nichts ist so gerecht verteilt, wie der Verstand.
      Jeder meint, genug davon zu haben.

      Kommentar


        #4
        Zitat von dundee Beitrag anzeigen
        warum nimmst du nicht einfach die Befehle groupswrite, groupsread und wie sie alle heißen?
        Nehm ich jetzt eh.

        Zitat von dundee Beitrag anzeigen
        Welchen Mehrwert versprichst du dir davon, über Socket direkt zu kommunizieren?
        Wenn man sich die Client Library vom EIBD ansieht (EIBConnection.py), dort wird auch über Socket zum EIBD kommuniziert.

        Kommentar


          #5
          EIBD über Socket ansteuern - Protokoll?

          Stand vor kurzem vor einem ähnlichen Problem und habe mich gegen die Nutzung der Bibliothek entschieden.
          Die Kommunikation zu eibd habe ich in einer Klasse gekapselt:
          http://sourceforge.net/projects/knxhsd/

          Kommentar


            #6
            Soweit funktioniert mal alles, ich kann ein GroupWrite durchführen, sowie Werte auslesen. Was mich wundert, warum bei einem GroupRead das Read 2x und die Response 4x kommt.

            Code:
            eibd$ groupread ip:localhost 0/0/1
            ...
            
            eibd$ groupsocketlisten ip:localhost
            Read from 0.0.0 to 0/0/1
            Read from 0.0.0 to 0/0/1
            Response from 1.1.3 to 0/0/1: 00
            Response from 1.1.3 to 0/0/1: 00
            Response from 1.1.3 to 0/0/1: 00
            Response from 1.1.3 to 0/0/1: 00

            Kommentar


              #7
              EIBD über Socket ansteuern - Protokoll?

              Kenne ich auch.
              [Gefährliches Halbwissen:] Ich meine, ich hab da mal was von einem bekannten Bug gelesen. Inkl. einer Zielversion in der das gefixt seien soll...

              Kommentar


                #8
                Zitat von maitscha Beitrag anzeigen
                Was mich wundert, warum bei einem GroupRead das Read 2x und die Response 4x kommt.
                Nochmal Halbwissen:
                Zweiter Router im Netz ?
                192.168.3.100 ist nicht zufällig ein KNX-IP-Router ? Dann das --Routing beim eibd Start weglassen.
                Umgezogen? Ja! ... Fertig? Nein!
                Baustelle 2.0 !

                Kommentar


                  #9
                  Zitat von JuMi2006 Beitrag anzeigen
                  Zweiter Router im Netz ?
                  192.168.3.100 ist nicht zufällig ein KNX-IP-Router ? Dann das --Routing beim eibd Start weglassen.
                  Ja genau, 192.168.3.100 ist ein KNX-IP-Router. Super, das hat funktioniert!

                  Kommentar

                  Lädt...
                  X