Ankündigung

Einklappen
Keine Ankündigung bisher.

Error connecting to KNX

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

    Error connecting to KNX

    Hallo Zusammen,

    habe vor kurzen mit openHAB angefangen. Bisher nur über PC. Meine KNX Schnittstelle bestand bisher über einen:
    Raspberry Pi (B)
    RTC-Onewire-TPUART extension

    Auf dem Pi hatte ich Smarthome.py inklusive eibd laufen. Die Verbindung mit dem openHAB und meinen PC hat auch ohne Probleme funktioniert.

    Nun wollte ich den Pi neu aufsetzen und openHAB darauf laufen lassen. Soweit läufts auch aber ich bekomme keine KNX Verbindung.

    In der Config habe ich das hinterlegt: knx:serialPort=/dev/ttyAMA0
    Da bekomme ich aber nachstehende Fehlermeldung.

    Ist es überhaupt möglich eine KNX Verbindung mit genannter Hardware herzustellen oder brauche ich zwingend eibd?

    Würde mich über Antworten freuen.

    Grüße
    Abu


    java.lang.ExceptionInInitializerError thrown while loading gnu.io.RXTXCommDriver
    java.lang.NoClassDefFoundError: Could not initialize class gnu.io.RXTXCommDriver thrown while loading gnu.io.RXTXCommDriver
    no serialcom in java.library.path
    java.lang.NoClassDefFoundError: Could not initialize class gnu.io.RXTXCommDriver thrown while loading gnu.io.RXTXCommDriver
    22:08:13.469 ERROR o.o.b.k.i.c.KNXConnection[:209] - Error connecting to KNX bus: Serial port '/dev/ttyAMA0' could not be opened. Available ports are:
    22:08:13.503 INFO o.o.c.s.AbstractActiveService[:169] - NTP Refresh Service has been started
    22:08:13.639 WARN tuwien.auto.calimero[:41] - [ManagedService Update Queue] FT1.2 /dev/ttyAMA0: rxtx serial port access failed
    java.lang.IllegalArgumentException: wrong number of arguments
    at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)

    #2
    Hallo,
    ob man einen eibd benötigt weiss ich nicht,
    aber damit funktioniert es.
    Du wirst den eibd ja schon deshalb benötigen, damit du mit der ets parallel auf den Bus zugreifen kannst.

    mfg.
    Jürgen

    Kommentar


      #3
      eibd installieren

      Hallo Jürgen,

      danke für deine Antwort. Kannst du mir auch sagen wie ich eibd installiert bekomme?

      Alle meine versuche scheitern beim update der source list:
      W: Failed to fetch http://www.auto.tuwien.ac.at/~mkoegl...ts/eib/Release Unable to find expected entry 'main/binary-armhf/Packages' in Release file (Wrong sources.list entry or malformed file)

      Dann habe ich noch die PPA gefunden:
      https://launchpad.net/~mkoegler/+archive/ubuntu/bcusdk

      Das scheitert aber mit der Meldung: add-apt-repository: command not found

      Ein upgrade habe ich auch gemacht, klappt aber auch nicht.

      Mehr finde ich im Netz nicht außer das Image von Smarthome.pi. Dann bekomme ich aber openHab nichts ans laufen, ich glaub das liegt an der Java Version (hard/soft floated).

      Hast du noch ein Tip für mich?

      Gruß
      Abu

      Kommentar


        #4
        Hmm, dort gibt es aber keine ARM Packages. Wie hast du denn den eibd installiert, als du noch smarhome.py drauf hattest?

        Gruß,
        thoern

        Kommentar


          #5
          Hallo thoern,

          da habe ich das Smarthome.py Image genommen.

          Hab das jetzt auch noch mal probiert und bekomme folgende Fehlermeldungen wenn ich in der Config die Einstellungen so belasse als wenn ich openhab vom

          1: pc laufen lassen: knx:ip=192.168.178.22

          2: knx:serialPort=/dev/ttyAMA0
          Das hatte ich damals machen müssen damit ich das ROT ans laufen kriege:
          Bei Verwendung der 'ROT Erweiterung'
          EIB_ARGS="--daemon --Server --Tunnelling --Discovery --GroupCache --listen-tcp"
          EIB_ADDR="0.0.1"
          EIB_IF="tpuarts:/dev/ttyAMA0"



          Sind die Einstellungen beide falsch und da sind ja jetzt noch andere Fehler als wenn ich das native rasp Image drauf hab?

          Gruß
          Abu

          Fehler zu 1:
          Launching the openHAB runtime...
          osgi> 23:03:25.865 WARN o.e.j.u.c.AbstractLifeCycle[:199] - FAILED SelectChannelConnector@0.0.0.0:8080: java.net.BindException: Address already in use
          java.net.BindException: Address already in use
          at sun.nio.ch.Net.bind0(Native Method)
          23:03:29.538 WARN o.e.j.u.c.AbstractLifeCycle[:199] - FAILED org.eclipse.jetty.server.Server@114e065: java.net.BindException: Address already in use
          java.net.BindException: Address already in use
          at sun.nio.ch.Net.bind0(Native Method)
          23:03:30.768 WARN o.e.j.o.b.i.s.JettyServerServiceTracker[:116] -
          java.net.BindException: Address already in use
          at sun.nio.ch.Net.bind0(Native Method)
          23:03:33.243 INFO o.o.c.internal.CoreActivator[:61] - openHAB runtime has been started (v1.5.1).
          23:04:09.713 INFO o.o.m.c.i.ModelRepositoryImpl[:79] - Loading model 'Haus.items'
          23:04:24.448 INFO o.o.m.c.i.ModelRepositoryImpl[:79] - Loading model 'Haus.sitemap'
          23:04:25.476 INFO o.o.c.s.AbstractActiveService[:169] - NTP Refresh Service has been started
          23:04:26.556 INFO runtime.busevents[:26] - Datum state updated to 2014-11-21T23:04:25
          23:04:26.718 ERROR o.o.b.k.i.c.KNXConnection[:209] - Error connecting to KNX bus: on connect to /192.168.178.22:3671: Cannot assign requested address
          23:04:26.760 ERROR tuwien.auto.calimero[:39] - [ManagedService Update Queue] KNXnet/IP Tunneling 192.168.178.22:3671: communication failure on connect
          java.net.BindException: Cannot assign requested address
          at java.net.PlainDatagramSocketImpl.bind0(Native Method)




          Fehler zu 2:
          Launching the openHAB runtime...
          osgi> 23:07:57.183 WARN o.e.j.u.c.AbstractLifeCycle[:199] - FAILED SelectChannelConnector@0.0.0.0:8080: java.net.BindException: Address already in use
          java.net.BindException: Address already in use
          at sun.nio.ch.Net.bind0(Native Method)
          23:08:00.878 WARN o.e.j.u.c.AbstractLifeCycle[:199] - FAILED org.eclipse.jetty.server.Server@16c3731: java.net.BindException: Address already in use
          java.net.BindException: Address already in use
          at sun.nio.ch.Net.bind0(Native Method)
          23:08:02.107 WARN o.e.j.o.b.i.s.JettyServerServiceTracker[:116] -
          java.net.BindException: Address already in use
          at sun.nio.ch.Net.bind0(Native Method)
          23:08:04.665 INFO o.o.c.internal.CoreActivator[:61] - openHAB runtime has been started (v1.5.1).
          23:08:40.183 INFO o.o.m.c.i.ModelRepositoryImpl[:79] - Loading model 'Haus.items'
          java.lang.ExceptionInInitializerError thrown while loading gnu.io.RXTXCommDriver
          java.lang.NoClassDefFoundError: Could not initialize class gnu.io.RXTXCommDriver thrown while loading gnu.io.RXTXCommDriver
          23:08:55.139 ERROR tuwien.auto.calimero[:39] - [ManagedService Update Queue] FT1.2 /dev/ttyAMA0: CommConnection: The connection implementation for comm cannot be found.
          no serialcom in java.library.path
          java.lang.NoClassDefFoundError: Could not initialize class gnu.io.RXTXCommDriver thrown while loading gnu.io.RXTXCommDriver
          23:08:55.280 WARN tuwien.auto.calimero[:41] - [ManagedService Update Queue] FT1.2 /dev/ttyAMA0: ME CDC serial port access failed
          tuwien.auto.calimero.exception.KNXException: failed to open CommConnection
          at tuwien.auto.calimero.serial.CommConnectionAdapter. open(CommConnectionAdapter.java:134)
          23:08:55.294 ERROR o.o.b.k.i.c.KNXConnection[:209] - Error connecting to KNX bus: Serial port '/dev/ttyAMA0' could not be opened. Available ports are:
          23:08:55.375 WARN tuwien.auto.calimero[:41] - [ManagedService Update Queue] FT1.2 /dev/ttyAMA0: rxtx serial port access failed
          java.lang.IllegalArgumentException: wrong number of arguments
          at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
          23:08:55.589 INFO o.o.m.c.i.ModelRepositoryImpl[:79] - Loading model 'Haus.sitemap'

          Kommentar


            #6
            Hi,

            bei beiden Fehlermeldungen wird darauf hingewiesen, dass der Port 8080 nicht gebunden werden kann, weil schon ein anderer drauf horcht:
            Code:
            osgi> 23:03:25.865 WARN  o.e.j.u.c.AbstractLifeCycle[:199] - FAILED  SelectChannelConnector@0.0.0.0:8080: java.net.BindException: Address  already in use
            java.net.BindException: Address already in use
                    at sun.nio.ch.Net.bind0(Native Method)
            Welcher Prozess das ist, siehst du mit folgendem Kommando:
            netstat -tulpen | grep 8080

            Diesen Prozess beenden und Opehab nochmals starten (oder Openhab umkonfigurieren, so dass es einen anderen Port verwendet).

            Gruß,
            thoern

            Kommentar


              #7
              Hallo thoern,

              den Prozess hab ich abgeschaltet. Die ersten beiden Fehlermeldung habe ich nun auch nicht mehr.

              Leider bekomme ich immer noch keine Verbindung mit dem Bus hin.

              Wenn ich KNX gateway IP address wähle bekomme ich das:
              Code:
              14:00:43.421 ERROR o.o.b.k.i.c.KNXConnection[:209] - Error connecting to KNX bus: on connect to /192.168.178.22:4015: Cannot assign requested address
              14:00:43.510 ERROR tuwien.auto.calimero[:39] - [ManagedService Update Queue] KNXnet/IP Tunneling 192.168.178.22:4015: communication failure on connect
              java.net.BindException: Cannot assign requested address
                      at java.net.PlainDatagramSocketImpl.bind0(Native Method)
              und wenn ich knx:serialPort=/dev/ttyAMA0 wähle bekomme ich das:
              Code:
              java.lang.ExceptionInInitializerError thrown while loading gnu.io.RXTXCommDriver
              java.lang.NoClassDefFoundError: Could not initialize class gnu.io.RXTXCommDriver thrown while loading gnu.io.RXTXCommDriver
              14:05:03.333 ERROR tuwien.auto.calimero[:39] - [ManagedService Update Queue] FT1.2 /dev/ttyAMA0: CommConnection: The connection implementation for comm cannot be found.
              no serialcom in java.library.path
              java.lang.NoClassDefFoundError: Could not initialize class gnu.io.RXTXCommDriver thrown while loading gnu.io.RXTXCommDriver
              14:05:03.420 ERROR o.o.b.k.i.c.KNXConnection[:209] - Error connecting to KNX bus: Serial port '/dev/ttyAMA0' could not be opened. Available ports are:
              14:05:03.473 WARN  tuwien.auto.calimero[:41] - [ManagedService Update Queue] FT1.2 /dev/ttyAMA0: ME CDC serial port access failed
              tuwien.auto.calimero.exception.KNXException: failed to open CommConnection
                      at tuwien.auto.calimero.serial.CommConnectionAdapter.open(CommConnectionAdapter.java:134)
              14:05:03.516 WARN  tuwien.auto.calimero[:41] - [ManagedService Update Queue] FT1.2 /dev/ttyAMA0: rxtx serial port access failed
              java.lang.IllegalArgumentException: wrong number of arguments
                      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
              14:05:11.612 WARN  javax.jmdns.impl.DNSIncoming[:415] - There was an OPT answer. Not currently handled. Option code: 65002 data: 370163EB069C873C
              Was wäre den die richtige Einstellung: IP oder serial port?
              Ist ttyAMA0 vllt. falsch?

              Danke und Gruß
              Abu

              Kommentar


                #8
                Hi,

                eibd verwenden und diesen mit folgnden Einstellungen starten:
                Code:
                /usr/bin/eibd -TDS --daemon=/var/tmp/eibd.log --pid-file=/var/run/eibd.pid -i tpuarts:/dev/ttyACM0
                In der openhab.cfg musst du dann nur folgendes einstellen - vorausgesetzt eibd läuft auf demselben Rechner wie openHAB:
                Code:
                knx:ip=localhost
                knx:type=TUNNEL
                Laut Doku geht die serielle Verbindung nur, wenn du eine FT1.2 Schnittstelle hast. Das ist bei heutigen USB-Schnittstellen - in deinem Fall sogar TPUART - aber nicht der Fall. Deshalb eibd verwenden. Damit bist du dann aber sowieso flexibler, da, wie bereits beschrieben, dann zus. zu openHAB auch noch mit der ETS auf den Bus zugegriffen werden kann.

                Gruß, thoern

                Kommentar


                  #9
                  Hi,

                  ach ja, testen ob eibd funktioniert kannst du am einfachsten mit
                  Code:
                  /usr/bin/groupswrite ip:localhost 4/0/0 0
                  /usr/bin/groupswrite ip:localhost 4/0/0 1
                  Erste Zeile schaltet Verbraucher auf 4/0/0 aus, die zweite ein.
                  Solange groupswrite nicht funktioniert, brauchst du mit OpenHab gar nicht weiter machen.

                  Gruß,
                  thoern

                  Kommentar


                    #10
                    Hallo thoern,

                    danke für deine Ausdauer!

                    Vllt. ist das etwas untergegangen aber eibd läuft schon und ich kann auch schalten. Ich kann auch openHAB von meiem PC aus laufen lassen und das läuft auch. Auch Verbindung zum Bus.

                    Da ich eibd nicht installiert bekomme, habe ich meine alte SD Karte wieder in den PI gelegt. Darauf hatte ich seinerzeit das Smarthome.Py Image genommen und meine ersten Versuche mit der SmartVisu gemacht. Die Verbindung zum TPUART hatte ich seinerzeit so gemacht:
                    Code:
                    EIB_ARGS="--daemon --Server --Tunnelling --Discovery --GroupCache --listen-tcp"
                    EIB_ADDR="0.0.1"
                    EIB_IF="tpuarts:/dev/ttyAMA0"
                    Wenn ich deinen Anweisungen folge bekomme ich als normaler User:
                    Code:
                    Can not open file /var/tmp/eibd.log
                    Als root user:
                    Code:
                    W00000001: EIBD should not run as root
                    Ich versteh das nicht. Ich kann mit ETS auf den Bus, ich kann openhab vom PC laufen lassen nur wenn ich es auf dem Pi laufen lasse komme ich nicht auf den Bus. Kann es sein das die SmartVisu die ja auch noch läuft Probleme macht? Aber wieso kann ich dann vom PC aus auf den Bus?

                    Verzweiflung!

                    Gruß
                    Abu

                    ps. vllt hilft es ja wenn ich alle Prozesse mal aufliste. Oder brauchst du andere Info's?

                    Code:
                    root@smarthome.local:runtime# ps ax
                      PID TTY      STAT   TIME COMMAND
                        1 ?        Ss     0:00 init [2]
                        2 ?        S      0:00 [kthreadd]
                        3 ?        S      0:00 [ksoftirqd/0]
                        5 ?        S<     0:00 [kworker/0:0H]
                        7 ?        S      0:00 [rcu_preempt]
                        8 ?        S      0:00 [rcu_bh]
                        9 ?        S      0:00 [rcu_sched]
                       10 ?        S<     0:00 [khelper]
                       11 ?        S      0:00 [kdevtmpfs]
                       12 ?        S<     0:00 [netns]
                       13 ?        S      0:00 [kworker/0:1]
                       14 ?        S<     0:00 [writeback]
                       15 ?        S<     0:00 [bioset]
                       16 ?        S<     0:00 [kblockd]
                       17 ?        S      0:00 [khubd]
                       18 ?        S<     0:00 [rpciod]
                       19 ?        S      0:00 [khungtaskd]
                       20 ?        S      0:00 [kswapd0]
                       21 ?        S      0:00 [fsnotify_mark]
                       22 ?        S<     0:00 [nfsiod]
                       23 ?        S<     0:00 [crypto]
                       29 ?        S<     0:00 [kthrotld]
                       30 ?        S<     0:00 [VCHIQ-0]
                       31 ?        S<     0:00 [VCHIQr-0]
                       32 ?        S<     0:00 [VCHIQs-0]
                       33 ?        S<     0:00 [iscsi_eh]
                       34 ?        S<     0:00 [dwc_otg]
                       35 ?        S<     0:00 [DWC Notificatio]
                       37 ?        S<     0:00 [deferwq]
                       38 ?        S      0:00 [kworker/u2:2]
                       39 ?        S      0:06 [mmcqd/0]
                       40 ?        S      0:00 [jbd2/mmcblk0p2-]
                       41 ?        S<     0:00 [ext4-dio-unwrit]
                      156 ?        Ss     0:00 udevd --daemon
                      232 ?        S<     0:00 [bcm2708_spi.0]
                      271 ?        S      0:00 udevd --daemon
                      272 ?        S      0:00 udevd --daemon
                     1372 ?        S      0:00 [kworker/0:2]
                     1443 ?        Ss     0:00 dhclient -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0
                     1661 ?        Sl     0:00 /usr/sbin/rsyslogd -c5
                     1690 ?        Ss     0:00 /usr/sbin/nmbd -D
                     1701 ?        Ss     0:00 /usr/sbin/smbd -D
                     1721 ?        S      0:00 /usr/sbin/smbd -D
                     1744 ?        Ss     0:00 /usr/sbin/cron
                     1779 ?        Ss     0:00 /usr/bin/dbus-daemon --system
                     1781 ?        Ss     0:00 /usr/bin/eibd --daemon --Server --Tunnelling --Discovery --GroupCache --listen-tcp --pid-file=/var/run/eibd.pid --eibaddr=0.0.1 tp
                     1812 ?        S      0:00 avahi-daemon: running [smarthome.local]
                     1814 ?        S      0:00 avahi-daemon: chroot helper
                     1842 ?        S      0:00 python /usr/sbin/avahi-alias
                     1855 ?        Ss     0:00 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -c /var/lib/ntp/ntp.conf.dhcp -u 101:102
                     1887 ?        Ss     0:00 /usr/bin/owhttpd --server=127.0.0.1:4304 -p 3001 --readonly --pid-file /var/run/owhttpd.pid
                     1894 ?        Ss     0:00 /usr/bin/owserver --usb=ALL --i2c=ALL:ALL --pid-file /var/run/owserver.pid
                     1944 ?        Ss     0:00 /usr/sbin/sshd
                     1960 ?        Ss     0:00 sshd: root@pts/0
                     1972 ?        Sl     0:11 python3 /usr/smarthome/bin/smarthome.py -q
                     1987 tty1     Ss+    0:00 /sbin/getty --noclear 38400 tty1
                     1988 tty2     Ss+    0:00 /sbin/getty 38400 tty2
                     1989 tty3     Ss+    0:00 /sbin/getty 38400 tty3
                     1990 tty4     Ss+    0:00 /sbin/getty 38400 tty4
                     1991 tty5     Ss+    0:00 /sbin/getty 38400 tty5
                     1992 tty6     Ss+    0:00 /sbin/getty 38400 tty6
                     2002 pts/0    Ss     0:00 -bash
                     2104 ?        S      0:00 [kworker/u2:1]
                     2218 ?        Ss     0:00 sshd: root@notty
                     2220 ?        Ss     0:00 /usr/lib/openssh/sftp-server
                     2221 pts/0    R+     0:00 ps ax
                    root@smarthome.local:runtime# ./start.sh
                    Launching the openHAB runtime...
                    osgi> 21:05:10.653 INFO  o.o.c.internal.CoreActivator[:61] - openHAB runtime has been started (v1.5.1).
                    21:05:45.748 INFO  o.o.m.c.i.ModelRepositoryImpl[:79] - Loading model 'Haus.items'
                    21:05:52.347 INFO  o.o.i.s.i.DiscoveryServiceImpl[:72] - mDNS service has been started
                    21:06:01.694 INFO  o.o.m.c.i.ModelRepositoryImpl[:79] - Loading model 'Haus.sitemap'
                    21:06:10.721 INFO  o.o.io.rest.RESTApplication[:143] - Started REST API at /rest
                    21:06:16.795 INFO  o.o.u.w.i.s.WebAppServlet[:79] - Started Classic UI at /openhab.app
                    21:06:29.415 ERROR o.o.b.k.i.c.KNXConnection[:209] - Error connecting to KNX bus: on connect to localhost/127.0.0.1:3671: Cannot assign requested address
                    21:06:29.436 INFO  o.o.c.s.AbstractActiveService[:169] - NTP Refresh Service has been started
                    21:06:29.600 ERROR tuwien.auto.calimero[:39] - [ManagedService Update Queue] KNXnet/IP Tunneling 127.0.0.1:3671: communication failure on connect
                    java.net.BindException: Cannot assign requested address
                            at java.net.PlainDatagramSocketImpl.bind0(Native Method)

                    Kommentar


                      #11
                      eibd

                      Hallo thoern,

                      habe es nun endlich hinbekommen!
                      Lag an der local ip die nicht richtig hinterlegt war.

                      So nun läufts und ich mach mich jetzt mal an den Autostart.
                      Außerdem muss ich den Autostart des Programms der immer 8080 belegt abschalten da er nach reboot auch immer läuft.

                      Eine meiner ursprünglichen Fragen ist aber noch offen.
                      Wie bekomme ich eibd installiert?

                      Alle versuche zu laden scheitern mit:
                      Code:
                      W: Failed to fetch http://www.auto.tuwien.ac.at/~mkoegl...ts/eib/Release Unable to find expected entry 'main/binary-armhf/Packages' in Release file (Wrong sources.list entry or malformed file)
                      Momentan muss ich mit dem Image von SmartHome.Py arbeiten. Geht es nicht das ich nur eibd installiere?

                      Gruß
                      Abu

                      Kommentar


                        #12
                        Hi,

                        Zitat von Sammy Beitrag anzeigen


                        Alle versuche zu laden scheitern mit:
                        Code:
                        W: Failed to fetch http://www.auto.tuwien.ac.at/~mkoegl...ts/eib/Release Unable to find expected entry 'main/binary-armhf/Packages' in Release file (Wrong sources.list entry or malformed file)
                        Momentan muss ich mit dem Image von SmartHome.Py arbeiten. Geht es nicht das ich nur eibd installiere?
                        ich hatte bereits in Post Nr4. geschrieben, dass es für ARM-Systeme (=Raspberry Pi) dort leider keine Packages gibt. Du hast nur folgende Möglichkeiten:

                        1. Du kompilierst dir den eibd selbst - ist aber nicht tivial für Einsteiger
                        2. Du schaust, ob du von irgendjemandem ein fertiges eibd-Packet für den Raspberry bekommst
                        3. Du nimmst eine vernüftige Hardware - am besten was Intel-basierendes, also keinen Raspberry . Dann kannst du auch die Pakete von der tuwien nehmen.

                        Gruß,
                        thoern

                        Kommentar

                        Lädt...
                        X