NEWS
KNX adapter?
-
sudo ps aux |grep eibdund
sudo ps aux |grep knxd -
Ich bin verwirrt….
Warum ist den der socket offen?
Was sagt:
systemctl -all list-sockets |grep 6720 -
Aber trotzdem sagt systemd das der Dienst nicht startet…
Machmal:
> systemctl stop knxddannach nochmal schauen ob der socket zu ist:
systemctl -all list-sockets |grep 6720
-
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.106Wenn alles gut ist, meckert er wegen root… egal...
Gruß
-
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
-
OK! Wieder was gelernt…
Also:
cd /etc/systemd/system/sockets.target.wants/ mv knxd.socket knxd.socket_tmp rebootProbieren ob es nun geht…
-
Sehr verwunderlich….
was sagt: sudo systemctl disable knxd.socket
was sagt: systemctl list-unit-files
-
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?
-
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