Ankündigung

Einklappen
Keine Ankündigung bisher.

openHAB->KNX->ABB/S1.1 USB mit RaspPi2 zum laufen bringen

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

    openHAB->KNX->ABB/S1.1 USB mit RaspPi2 zum laufen bringen

    N' aaamnd Kollegen,
    ich versuche gerade die KNX bindings zum laufen zu bekommen. Folgende konfiguration:

    Raspberry Pi2
    am Pi ein USB/HDMI Touchscreen, WLAN per USB-Stick, Funkmaus/-tastatur per USB Stick
    Raspbian Jessie als OS
    ABB/S 1.1 USB Schnittstelle am Rasp
    Und einen einfachen KNX Aufbau aus einem Serientastsensor, und zwei Schaltaktoren zum Testen

    Die Installation von openHAB war ja dank apt-get ein Klacks und läuft mit dem Demohaus prima, auch von meinen Mobilen geräten.
    Allerdings bekomme ich die vermaledeite USB verbindung zu Stande. In der openhab.cfg steht ja folgendes:
    "# Valid values are e.g. COM1 for Windows and /dev/ttyS0 or /dev/ttyUSB0 for Linux"
    aber ttyUSB0 ist nirgends zu finden. Stattdessen wird die Schnittstelle als "/dev/hidraw2" vom Rasp eingebunden, laut dmesg:

    [ 2.854593] usb 1-1.4: Manufacturer: ABB STOTZ-KONTAKT GmbH
    [ 2.861745] systemd[1]: Mounting FUSE Control File System...
    [ 2.870341] hid-generic 0003:147B:5120.0003: hiddev0,hidraw2: USB HID v1.01 Device [ABB STOTZ-KONTAKT GmbH KNX-USB Interface (MDRC)] on usb-3f980000.usb-1.4/input0

    Was mache ich falsch?

    Grüße, Michael

    #2
    Hast Du denn schonmal versucht, /dev/hidraw2 in der openhab.cfg anzugeben?

    Kommentar


      #3
      hallo udo1toni, ja natürlich. Doch leider ohne Erfolg. Jetzt weiß ich natürlich nicht ob der Misserfolg da dran gescheitert ist, oder ob meine nachfolgenden Aktionen falsch sind. Gibt es in openhab so etwas wie einen busmonitor, oder kann ich irgendwie anders den Verbindungserfolg nachschauen?
      Ich habe:
      die knx bindings heruntergeladen, und eingebunden,
      openhab.cfg wie oben genannt eingestellt,
      dann zwei Deckenleuchten in den demohaus-Dateien auf meinen KNX Testaufbau gebunden, mit {knx="1/1/5"}, bzw. {knx="1/1/6"}, aber ohne erfolg.

      Kommentar


        #4
        Keine Ahnung, ob openHAB auf bestimmte Namen für die Schnittstellen festgelegt ist, eigentlich wäre das eine unnötige Einschränkung, aber man weiß ja nie...

        Hast Du schon mal eibd installiert (bzw. knxd, das ist der Nachfolger)? Da sind Busmonitor und Funktionen wie groupswrite dabei, um gezielt Bustelegramme zu schicken (und natürlich zu empfangen).

        Zuerst vermute ich aber mal, dass openHAB keinen Zugriff auf die Schnittstelle bekommt, weil die passenden Rechte fehlen. Das kannst Du recht einfach herausfinden, indem Du openHAB mit Rootrechten startest. Allerdings wird das passende Script zum manuellen Start nicht in der paketierten Version dabei sein, Du müsstest also das Startscript aufsuchen und dort den user von openhab auf root ändern. Wenn der Zugriff auf /dev/hidraw2 dann nicht funktioniert, kannst Du noch versuchen, unter /dev einen Symlink anzulegen, mit sudo ln -s /dev/hidraw2 /dev/ttyS2 (schau vorher nach, welcher noch frei ist) wobei ich mir das eigentlich nicht vorstellen kann.

        Falls Rootrechte zum Erfolg führen, musst Du herausfinden, welcher Gruppe der User openhab angehören muss, um Schreib-/Leserechte auf /dev/hidraw2 zu bekommen -- ls -l /dev/hidraw2 gibt Dir diese Information. Anschließend kannst Du mit sudo adduser openhab gruppenname diese Rechte zuweisen.

        Wenn das knx-Binding auf die Schnittstelle zugreifen kann, wird das normalerweise in /var/log/openhab/openhab.log dokumentiert, ebenso wie ein missglückter Zugriffsversuch.

        Kommentar


          #5
          Sodale, ich hatte die letzten paar Tage keine Zeit was mit openhab bzw knx zu machen. Sorry. Aber nu':

          Code:
          pi@raspberrypi:~ $ ls -l /dev/hidraw2
          crw------- 1 root root 247, 2 Feb 28 16:55 /dev/hidraw2
          also habe ich openhab der gruppe root zugewiesen. Leider wieder ohne Erfolg.

          openhab.log sagt dazu folgendes:

          Code:
          2016-02-28 16:57:15.797 [ERROR] [b.k.i.connection.KNXConnection] - Error connecting to KNX bus: Serial port '/dev/hidraw2' could not be opened. Available ports are:
          2016-02-28 16:57:15.799 [WARN ] [b.k.i.connection.KNXConnection] - Inital connection to KNX bus failed!

          Available ports are: NIX? warum denn dieses?

          Grüße, der hello

          Kommentar


            #6
            Naja, anhand des Listings ist ja zu sehen, dass nur der User root Zugriff hat, sonst niemand (auch die Gruppe root nicht). Als ersten Test schlage ich vor, dass Du mit
            Code:
            sudo chown root:dialout
            sudo chmod g+rw
            sudo adduser openhab dialout
            das Gerät der Gruppe dialout zuteilst und Schreib/Leserechte einräumst. Wenn das funktioniert, müsstest Du openHAB nicht mit rootrechten laufen lassen. Die letzte Zeile brauchst Du natürlich nur, falls der User openhab noch nicht Mitglied der Gruppe dialout ist.

            Die nächste Frage ist dann, wie Du diese Änderungen dauerhaft machst - da bin ich mir grade nicht sicher, ob die Änderungen einen Reboot überleben. Das kannst Du aber, nachdem Du überprüft hast, dass der Zugriff grundsätzlich so funktioniert, leicht austesten, indem Du rebootest und nachschaust, wie die Rechte anschließend gesetzt sind.

            Wenn ich mich richtig erinnere, wird es was mit udev zu tun haben, mit dem die Devices dynamisch ins System gehängt werden, da kann man dann Regeln definieren, die die Rechte direkt korrekt setzen.

            Kommentar


              #7
              Sodale, ich habe mir jetzt die Datei ttyS0 zusammen ugedevt :-D Die sieht nun folgendermaßen aus:

              Code:
              pi@raspberrypi:~ $ ls -l /dev/ttyS0
              lrwxrwxrwx 1 root root 15 Mär  6 10:48 /dev/ttyS0 -> bus/usb/001/009
              Theoretisch sollte doch jetzt jeder User/Gruppe auf das device zugreifen können, oder?

              Die Datei verweist auf dieses USB-Device:

              Code:
              pi@raspberrypi:~ $ ls -l /dev/bus/usb/001/009
              crw-rw-r-- 1 root eibd 189, 8 Mär  6 10:48 /dev/bus/usb/001/009
              Wenn ich die USB-Schnittstelle vom Rasp abstöpsle, und wieder anstöpsle bzw. den Rasp neu starte macht das auch alles was es soll. Von dem her bin ich jetzt schon sehr zufrieden. Allerdings sieht es mit dem senden und empfangen von Telegrammen immer noch sehr düster aus.

              Gibt es denn keinen Busmonitor in OpenHAB, in dem man alle Telegramme sehen kann, die auf dem Bus so rumschwirren?

              Eigendlich wollte ich ja gar nicht so tief im Linux herumwursteln, aber anscheinend komme ich da net drumrum.

              Code:
              2016-03-06 10:28:12.039 [ERROR] [b.k.i.connection.KNXConnection] - Error connecting to KNX bus: Serial port '/dev/ttyS0' could not be opened. Available ports are:
              2016-03-06 10:28:12.041 [WARN ] [b.k.i.connection.KNXConnection] - Inital connection to KNX bus failed!
              2016-03-06 10:28:12.097 [WARN ] [tuwien.auto.calimero          ] - [ManagedService Update Queue] FT1.2 /dev/ttyS0: rxtx serial port access failed
              *gnarf*

              Kommentar


                #8
                Und der openHAB-User gehört zur Gruppe eibd?

                Kommentar


                  #9
                  Also man schlage mich falls ich irre. Aber OH kann den KNX Bus (über usb) nicht direkt ansprechen. Man benötig eibd/knxd der die übersetztung USB / TCP/IP macht.
                  Jedenfalls geht es damit ganz einfach. Ausserdem kannst du dann über diese Bridge auch die ETS einfach über IP verbinden und musst nicht immer mit dem Lappi in den Keller gehen.

                  Kommentar


                    #10
                    Hi,

                    will dir den Morgen nicht versauen, aber dennoch ein kleiner Tipp:
                    Die ABB-USB-Schnittstelle ist auf Dauer nicht besonders stabil in Verbindung mit eibd und openHAB. Solltest du irgendwann bemerken, dass sich in OpenHAB-Daten nicht mehr aktualisieren, etc. wird es Zeit über ein anderes Interface nachzudenken. Ich bin irgendwann auf ein Busware-TPUART umgestiegen (auch über eibd), seitdem ist Ruhe.

                    Gruß,
                    thoern

                    Kommentar


                      #11
                      Ich denke nicht, dass das ein Problem ist. Ich habe die ABB Schnittstelle seit drei Jahren im Einsatz und keine nennenswerte Ausfälle. Lediglich wenn ich Kommandos zu schnell hintereinander Absetze... dann verschluckt sich der Bus.

                      Kommentar


                        #12
                        Steht aktuell vor dem selben Problem. Hat der TS es geschafft? Freue mich auf ein Feedback

                        Kommentar

                        Lädt...
                        X