NEWS
KNX adapter?
-
Poste bitte mal deine geänderten zeilen aus der:
/etc/default/knxd
Und
/etc/knxd.conf
Gruß
Oder meinst du diesen befehl:
knxtool groupsocketlisten ip:127.0.0.1
Hast du mal geschaut ob der Adapter nicht schon funktioniert? Hab mal in die sourcen geschaut. Der Fehler wird geworfen wenn die ersten 3 zeichen des arguments nicht ip: sind bzw die ersten 6 nicht local: ! Strange…
-
Hi!!
Also folgendes: Der Dienst läuft.
Habe jetzt
/usr/local/bin/groupsocketlisten ip:127.0.0.1
eingegeben und jetzt gehts.
Das ist ja schon mal suuper.
Aber wenn ich jetzt einen Schalter betätige bekomme ich nichts angezeigt.
Wenn ich in der Visu einen Klick au den selben Schalter mache zeigt er mir das an:
Write from 0.0.1 to 1/0/0: 01
Write from 0.0.1 to 1/0/0: 00
Write from 0.0.1 to 1/0/0: 01
Write from 0.0.1 to 1/0/0: 00
Was ist ist das Write from?
Sollte das mein KNX Interface sein? das Hat die Addresse 1/1/2
To … is mir klar das ist mein Schaltaktorkanal für mein Bürolicht.
-
Erstmal: Hurra! Der Dienst läuft.
Allerdings hast du noch die client binarys von "eibd".
> /usr/local/bin/groupsocketlisten ip:127.0.0.1
Die neuen binary bündelt das alles. Daher:knxtool groupsocketlisten ip:127.0.0.1
aber das nur n.b.
Weil das Ergebnis ist wunderbar!
Write from 0.0.1 to 1/0/0: 01 Write from 0.0.1 to 1/0/0: 00 Write from 0.0.1 to 1/0/0: 01 Write from 0.0.1 to 1/0/0: 00
1.) 0.0.1 ist die "Hardwareadresse" von knxd. (Nicht zu verwechseln mit deinem Backend (knx/ip)über das getunnelt wird)
Die lässt sich per Parameter einstellen:
--eibaddr=0.0.1
Wobei 0.0.1 der default ist, wenn man nix angibt.
Du schreibst also per visu (du meinst iobroker.vis??) "an" und "aus" an die ga 1/0/0 (die ga 1/0/0 sollte dann in ets mit dem schaltaktor kanal bestückt sein)
Es sollte klicken und deine Bürolampe geht an.
Sieht doch alles gut aus, was funktioniert denn nicht?
Gruß
-
Hallo!
Eben das die Bürolampe nicht angeht. Das ist das Probelm.
Aber ich bekomme auch keine meldung auf meinen PI wenn ich im Haus eine Taste drücke.
Wenn ich in der IO Viso die Bürolampe einschalten will schreibt er mir den Befehl ins Terminal aber nix passiert.
Also hat knxd noch immer keine Verbindung zu meinem Interface, schätze ich einmal.
Das noch das binary von eibd verwendet wird ist ein problem?
Denn wenn ich nur:
knxtool groupsocketlisten ip:127.0.0.1
eingebe bekomme ich diesen fehler:
Unknown URL prefix, need 'local:' or 'ip:' Open failed: Invalid argument
-
> Also hat knxd noch immer keine Verbindung zu meinem Interface, schätze ich einmal.
Ich auch.Wenn ich dieses Problem hatte war fast immer ets offen und hat das knx/ip blockiert.
Kannst du das ausschließen? Also ets zumachen und dann "/etc/init.d/knxd restart".
Ansonsten bitte mal die von dir geänderten Zeilen der beiden konfig files posten. was hattest du für ein knx/ip gateway? Hersteller, typ?
Die Tatsache, dass du die eibd binaries noch hast könnte bedeuten, dass der Schritt:
> Als erste musst du eibd wieder entfernen. (remove any traces of the old eibd installation from /usr/local)
nicht komplett war…Die binaries selber sind unkritisch, zumal sie ja zu funktionieren scheinen. Aber evt. existieren noch andere Reste die stören...
Aber check erstmal das mit "ets offen" und dann poste die config zeilen und wir sehen weiter...
Gruß
-
Also:
-
ETS kann ich komplett ausschließen-> das läuft eigentlich auf einer anderen Maschine welche vom Netzwerk getrennt und heruntergefahren ist.
-
die knxd datei:
# Defaults for knxd initscript # sourced by /etc/init.d/knxd # installed at /etc/default/knxd by the maintainer scripts ######################################################################## # This file is ignored when using systemd: edit /etc/knxd.conf instead # ######################################################################## # start knxd when /etc/init.d/knxd start is run # by default knxd does NOT start. set to YES to enable START_KNXD=YES # Additional options that are passed to the Daemon. # # sane default: route between local KNX clients and multicast DAEMON_ARGS="-u /tmp/eib -u /var/run/knx -i -b ip:192.168.1.106" # Run `knxd --help` to get a complete list of available options and drivers. # If you have KNX hardware on a serial port or USB, add the appropriate # "-b TYPE:…" option. In this case, you probably want to set up a multicast # server, not a client (i.e. use "-D -T -R -S", not "-b ip:"). # DO NOT use both. # # If your KNX hardware is a KNX/IP gateway that doesn't do multicast, # use "-b ipt:192.168.1.2" (or its DNS name) to talk to it. # # KNX MUST NOT have more than one path between any two devices. Thus, # you need to make sure that the KNX/IP gateway does not route multicast # before you use both "-S" and "-b ipt:". # The default bus address of knxd is 0.0.1\. If that's in use in your KNX # network (or if you run more than one knxd on your network), set a # different address (-e 15.0.99).
- knxd.conf:
# configuration for knxd.service KNXD_OPTS="-u /tmp/eib -i -DTRS -b ip:192.168.1.106" # The default options are "-u /tmp/eib -b ip:" # which tell knxd to route between all of # /tmp/eib (legacy socket (-u)) # multicast client (-b ip:). # The knxd.socket file also tells knxd to listen to # /run/eib (socket activation via systemd) # TCP port 6720 (socket activation via systemd) # *** DO NOT use "-u" / "-u /run/knx" or "-i" / "-i 6720" here. # Systemd already does that on behalf of knxd, via 'knx.socket'. # If you have KNX hardware on a serial port or USB, add the appropriate # "-b TYPE:…" option. In this case, you probably want to set up a multicast # server, not a client (i.e. use "-D -T -R -S", not "-b ip:"). # DO NOT use both. # # If your KNX hardware is a KNX/IP gateway that doesn't do multicast, # use "-b ipt:192.168.1.2" (or its DNS name) to talk to it. # # KNX MUST NOT have more than one path between any two devices. Thus, # you need to make sure that the KNX/IP gateway does not route multicast # before you use both "-S" and "-b ipt:". # The default bus address of knxd is 0.0.1\. If that's in use in your KNX # network (or if you run more than one knxd on your network), set a # different address (-e 15.0.99). # Run `knxd --help` to get a complete list of available options and drivers. ## DO NOT use the following options: ## -i -- /lib/systemd/system/knxd.socket does this for us ## -u /run/knx -- likewise ## -d -- /lib/systemd/system/knxd.service expects knxd to run in the foreground ############################################################################### # This file is ignored when NOT using systemd: edit /etc/default/knxd instead # ###############################################################################
So 4)
Wenn ich knxd neustarte mit
/etc/init.d/knxd restart
bekomme ich im Terminal die Fehlermeldung:
root@raspberrypi:~# /etc/init.d/knxd restart [....] Restarting knxd (via systemctl): knxd.serviceJob for knxd.service failed. See 'systemctl status knxd.service' and 'journalctl -xn' for details. failed!
Wenn ich dann "systemctl status knxd.service" aufrufe bekomme ich das:
root@raspberrypi:~# systemctl status knxd.service ● knxd.service - KNX Daemon Loaded: loaded (/lib/systemd/system/knxd.service; enabled) Active: activating (auto-restart) (Result: exit-code) since Sa 2016-08-20 12:00:41 CEST; 6s ago Process: 1209 ExecStart=/usr/bin/knxd $KNXD_OPTS (code=exited, status=1/FAILURE) Main PID: 1209 (code=exited, status=1/FAILURE) Aug 20 12:00:41 raspberrypi systemd[1]: Failed to start KNX Daemon. Aug 20 12:00:41 raspberrypi systemd[1]: Unit knxd.service entered failed state. Hint: Some lines were ellipsized, use -l to show in full.
So jetzt glaube ich hätte ich mal alle meldungen durch!! Hoffe das Hilft.
Danke für deine bemühungen!! :!:
Achja mein Interface ist ein Weinzierl KNX/IP 730
-
-
> Danke für deine bemühungen!! :!:
Dafür gibts doch den "Danke" button.
Die gute Nachricht vorweg: Dein KNX/IP ist baugleiche mit meinem. Also kann es daran nicht liegen…
Was mir allerdings auffällt ist: In der Datei knxd.conf hast du: ip:192.168.1.106 stehen. Mach da mal ein ipt:192.168.1.106 draus.
Dannach ein "/etc/init.d/knxd restart" und schauen ob der daemon hoch kommt.
Gruß
-
HI!
Nein leider :
root@raspberrypi:~# systemctl status knxd.service ● knxd.service - KNX Daemon Loaded: loaded (/lib/systemd/system/knxd.service; enabled) Active: activating (auto-restart) (Result: exit-code) since Sa 2016-08-20 12:25:31 CEST; 7s ago Process: 2297 ExecStart=/usr/bin/knxd $KNXD_OPTS (code=exited, status=1/FAILURE) Main PID: 2297 (code=exited, status=1/FAILURE) Aug 20 12:25:31 raspberrypi systemd[1]: knxd.service: main process exited, c...E Aug 20 12:25:31 raspberrypi systemd[1]: Failed to start KNX Daemon. Aug 20 12:25:31 raspberrypi systemd[1]: Unit knxd.service entered failed state. Hint: Some lines were ellipsized, use -l to show in full.
-
Hmmm… was passiert denn wenn du:
sudo /usr/bin/knxd --eibaddr=0.0.230 -u /tmp/eib -u /var/run/knx -i -DTRS -b ipt:192.168.1.106
abfeuerst?
-
Da passiert:
E00000013: OpenInetSocket 6720: bind: Address already in use initialisation of the knxd inet protocol failed: Address already in use
-
Aha!
Was sagt:````
sudo netstat -tulpen|grep 6720 -
Das meint:
tcp6 0 0 :::6720 :::* LISTEN 0 7512 1/init
-
sudo ps aux |grep eibd
und
sudo ps aux |grep knxd
-
root 1060 0.2 3.1 125832 29520 ? Sl 11:57 0:05 io.eibd.0 root 2650 0.0 0.1 4300 1840 pts/0 S+ 12:41 0:00 grep eibd
root 2662 0.0 0.1 4296 1812 pts/0 S+ 12:41 0:00 grep knxd
-
Ich bin verwirrt….
Warum ist den der socket offen?
Was sagt:
systemctl -all list-sockets |grep 6720
-
Der sagt:
[::]:6720 knxd.socket knxd.service
-
Aber trotzdem sagt systemd das der Dienst nicht startet…
Machmal:
> systemctl stop knxd
dannach nochmal schauen ob der socket zu ist:
systemctl -all list-sockets |grep 6720
-
Jetzt schauts so aus:
root@raspberrypi:~# systemctl stop knxd Warning: Stopping knxd.service, but it can still be activated by: knxd.socket root@raspberrypi:~# systemctl -all list-sockets |grep 6720 [::]:6720 knxd.socket knxd.service
-
Ich erinnere mich dunkel an einen cre podcast mit Lennart Poettering dem maintainer von systemd. Ein neues feature von systemd ist wohl, dass dienste "ondemand" gestartet werden können….
Das ist wohl hier der fall..
Versuch mal:
systemctl disable knxd
-
Mal kein fehler:
Synchronizing state for knxd.service with sysvinit using update-rc.d... Executing /usr/sbin/update-rc.d knxd defaults Executing /usr/sbin/update-rc.d knxd disable insserv: warning: current start runlevel(s) (empty) of script `knxd' overrides LSB defaults (2 3 4 5). insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `knxd' overrides LSB defaults (0 1 6). Removed symlink /etc/systemd/system/sockets.target.wants/knxd.socket.