NEWS
KNX adapter?
-
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.
-
Ok…
jetzt nochmal:
sudo /usr/bin/knxd --eibaddr=0.0.230 -u /tmp/eib -u /var/run/knx -i -DTRS -b ipt:192.168.1.106
Wenn alles gut ist, meckert er wegen root… egal...
Gruß
-
Neeee leider
E00000013: OpenInetSocket 6720: bind: Address already in use initialisation of the knxd inet protocol failed: Address already in use
-
Pfff.. Renitente Kiste…
Dann auf die harte nummer:
In "/etc/default/knxd" den daemon deaktivieren und neustarten (reboot).
also:
START_KNXD=YES -> START_KNXD=NO
reboot
dann nochmal:
sudo /usr/bin/knxd --eibaddr=0.0.230 -u /tmp/eib -u /var/run/knx -i -DTRS -b ipt:192.168.1.106
-
Und wieder das selbe wie oben schon geschrieben.
-
OK! Wieder was gelernt…
Also:
cd /etc/systemd/system/sockets.target.wants/ mv knxd.socket knxd.socket_tmp reboot
Probieren ob es nun geht…
-
Mal wieder was neues:
root@raspberrypi:/etc/systemd/system/sockets.target.wants# mv knxd.socket knxd.socket_tmp mv: der Aufruf von stat für „knxd.socket“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
-
Sehr verwunderlich….
was sagt: sudo systemctl disable knxd.socket
was sagt: systemctl list-unit-files
-
deaktivieren hat funktioniert.
Bei LIST wirft er mir eine ganze liste aus, ich schätze mal dich interessirt knxd:
knxd.service disabled
schätze mal das gehört jetzt so?!?!
-
Der ganze Trick nur, um das Ding testweise im Vordergrund zu starten. Wenn der Dienst deaktiviert ist: sudo /usr/bin/knxd –eibaddr=0.0.230 -u /tmp/eib -u /var/run/knx -i -DTRS -b ipt:192.168.1.106
Was passiert dann?
-
Hi!!
So bin wieder on the Line:
Wenn ich den Befehl abfeuere bekomme ich wieder mal:
E00000013: OpenInetSocket 6720: bind: Address already in use initialisation of the knxd inet protocol failed: Address already in use
-
Hmmm.. das bringt so nix.
Was wissen wir:
Wir wissen, dass der Adapter grundsätzlich funktioniert.
Wir wissen, dass deine Hardware (pi3 und knx/ip) in dieser Kombination grundsätzlich funktioniert.
Wir wissen, dass auch dein OS(aktuelles raspian) nicht das Problem ist.
Wir wissen, das dein Problem der eibd bzw. knxd dienst ist.
Wir wissen, dass das Problem die Kommunikation des knxd mit dem Backend ist.
Wir wissen, dass du Probleme mit systemd hast, welche verhindern den knxd dienst im Vordergrund zu starten.
(Die unit knxd.socket wird noch gestartet, obwohl sie eigentlich deaktiviert sein sollte.Somit port in use…)
Ich denke du hast hier 2 Optionen:
1.) Den Kampf!
Dich ärgert, dass das nicht funktioniert, du willst unbedingt wissen warum und dabei viel über das neue init system systemd lernen.
Dann geht dein weiterer Weg über diverse Foren die sich mit systemd und knxd beschäftigen.
2.) Die Umgehung des Feindes.
Dein Fokus liegt auf der Aussage: "Muss funktionieren!" nicht auf der Frage "wie funktioniert das und warum funktioniert das nicht".
Dann sind folgende Schritte dein Weg:
A.) Du sicherst das komplette iobroker Verzeichniss z.B. auf einen Stick.
B.) Du installierst raspbian neu. (z.B.: über noob)
C.) Du installierst nach ->http://forum.iobroker.net/viewtopic.php … =40#p32838dieser<- Anleitung knxd neu.
D.) Wenn alles funtioniert, und die tests mit "knxtool groupsocketlisten usw…" funktionieren, dann installieren wir iobroker.
C.) Wir stoppen iobroker, und kopieren das gesicherte iobroker verzeichniss über /opt/iobroker drüber. Alle files überschreiben...
D.) Wir starten iobroker, und alles ist gut...
Hintergrund:
Auch wenn ich normalerweise kein Freund von der "installier mal neu" Methode bin, ist sie wohl in deinem speziellen Fall effizient.
Ist ja ein relativ frisches System.
Ich denke dein Problem ist, dass du Teile von eibd auf dem System hast, die stören.
Wenn man bedenkt, das mich die Installation von 0 -> funktionisfähiges knxd inkl. OS Installation und schreiben der Anleitung keine 2 Stunden gekostet hat...
Lass mich wissen, wie dein weiteres Vorgehen ist...
Gruß
Martin
-
Hi!!
Als ich glaube ich wähle einen mittelweg.
Werde mir heute oder morgen noch ne microSD karte besorgen. Dort das System zum laufen bringen und wenns läuft setze ich mich hin und probiere einfach mit der "alten" Karte herum.