knxd auf Raspi 2 mit KNX MDT IP Interface

Begonnen von niwa83, 03 März 2016, 18:18:11

Vorheriges Thema - Nächstes Thema

niwa83

Hallo,
habe ein MDT IP Interface (SCN-IP000.01). Dieses versuche ich über knxd die Telegramme auszulesen.
Leider möchte die IP Schnittstelle keine Telegramme preisgeben.
Die IP Schnittstelle ist auf DCHP eingestellt.
KNXD hat folgende Einstellungen:
/etc/knxd.conf
KNXD_OPTS="-u /tmp/eib -b ip:192.168.2.XX"

Beim Befehl  /etc/init.d/knxd status wird folgendes angezeigt:
knxd.service - KNX Daemon
   Loaded: loaded (/lib/systemd/system/knxd.service; enabled)
   Active: active (running) since Thu 2016-03-03 16:30:33 UTC; 42min ago
Main PID: 455 (knxd)
   CGroup: /system.slice/knxd.service
           └─455 /usr/bin/knxd -u /tmp/eib -b ip:192.168.2.XX

In FHEM ist  TUL wie folgt definiert:

define KNX TUL eibd:localhost 1.1.240
autocreate ist eingeschaltet.
Wie oben geschrieben kommt in FHEM nix an.

Wo könnte der Fehler liegen?


Danke
niwa83


Andi291

Abend!

https://github.com/knxd/knxd/wiki

Ich tippe auf:

Multicast:
... -b ip:224.0.23.12

Tunneling:
... -b ipt:192.168...

Aufpassen bei dem IP-Interface - das kann glaub ich kein Multicast und auch nur ne eingeschränkte Einzahl an Tunneln...

Grüße, Andi

niwa83

Hallo Andi,

habe beides versucht.

Leider beides ohne irgendwelche positiven Auswirkungen.

Gruß
Niwa

Andi291

Komisch...

Damit:

-e 1.0.240 -c -u /tmp/eib -b ipt:192.168.xxxx

komme ich klar.

Starte mal ohne Service mit sudo knxd -t1023 -c -u /tmp/eib -b ipt:192.168.xxxx

Dann gibt's Debugmeldungen...Vielleicht helfen die.

Andi291

Blöde Frage...läuft der knxd.socket auch?

niwa83

Hallo,
folgende Anzeige bekomme ich nach der Eingabe von:

sudo knxd -t1023 -c -u /tmp/eib -b ipt:192.168.xxxx

Layer 3(0129BC60,56D88189) Open
Layer 4(012AC1E0,56D88189) GroupCacheInit
Layer 3(0129BC60,56D88189) registerLayer2 012AC1E0
Layer 3(0129BC60,56D88189) registerLayer2 012AC1E0 = 1
Layer 4(012AC1E0,56D88189) GroupCacheEnable
Layer 8(012AC450,56D88189) OpenLocalSocket /tmp/eib
Layer 8(012AC450,56D88189) LocalSocket opened
Layer 2(012BC968,56D88189) Open
Layer 0(012BCE38,56D88189) Open
Layer 0(012BCE38,56D88189) cannot bind to address: Address already in use
E00000038: cannot bind to address: Address already in use
Layer 0(012BCE38,56D88189) Close
initialisation of backend 'ipt:192.168.XXX' failed: Address already in use

niwa83

Wie kann ich prüfen ob der socket läuft?

Andi291

Check, ob die Services laufen:
systemctl status knxd.service
systemctl status knxd.socket

Vor dem Start über Konsole unbedingt die Services terminieren:
sudo systemctl stop knxd.service
sudo systemctl stop knxd.socket

Alle EIBD-Leichen sind ausm System raus?

ps -ef | grep eibd
ps -ef | grep knxd

liefern beide nichts mehr zurück?


niwa83

Hallo,
so wie es aussieht laufen beide services:

systemctl status knxd.service
● knxd.service - KNX Daemon
   Loaded: loaded (/lib/systemd/system/knxd.service; enabled)
   Active: active (running) since Thu 2016-03-03 17:27:24 UTC; 3h 7min ago
Main PID: 787 (knxd)
   CGroup: /system.slice/knxd.service
           └─787 /usr/bin/knxd -u /tmp/eib -b ipt:192.168.XXX

systemctl status knxd.service
● knxd.service - KNX Daemon
   Loaded: loaded (/lib/systemd/system/knxd.service; enabled)
   Active: active (running) since Thu 2016-03-03 17:27:24 UTC; 3h 8min ago
Main PID: 787 (knxd)
   CGroup: /system.slice/knxd.service
           └─787 /usr/bin/knxd -u /tmp/eib -b ipt:192.168.XXX

beide lassen sich auch stoppen.

ps -ef | grep eibd
pi       11756 11629  0 20:36 pts/0    00:00:00 grep --color=auto eibd

ps -ef | grep knxd
pi       11758 11629  0 20:36 pts/0    00:00:00 grep --color=auto knxd


Mit der Ausgabe kann ich irgendwie nix anfangen.







Andi291

Na dann stoppe doch die beiden Services, starte den knxd mit t1023 und poste das Ergebnis hier.

Mit Handauflegen wird's schwierig :-)

niwa83

Hallo,
das hatte ich vergessen anzuhängen.

Hier das Ergebnis das scheinbar in einer Endlosschleife läuft:

Layer 3(01B43C60,56D9BB32) Open
Layer 4(01B541E0,56D9BB32) GroupCacheInit
Layer 3(01B43C60,56D9BB32) registerLayer2 01B541E0
Layer 3(01B43C60,56D9BB32) registerLayer2 01B541E0 = 1
Layer 4(01B541E0,56D9BB32) GroupCacheEnable
Layer 8(01B54450,56D9BB32) OpenLocalSocket /tmp/eib
Layer 8(01B54450,56D9BB32) LocalSocket opened
Layer 2(01B64968,56D9BB32) Open
Layer 0(01B64E38,56D9BB32) Open
Layer 0(01B64E38,56D9BB32) Openend
Layer 2(01B64968,56D9BB32) Opened
Layer 3(01B43C60,56D9BB32) registerLayer2 01B64968
Layer 3(01B43C60,56D9BB32) registerLayer2 01B64968 = 1
W00000020: EIBD should not run as root
Layer 3(01B43C60,56D9BB32) L3 started
Layer 1(01B64E38,56D9BB32) Send(020): 08 01 C0 A8 02 70 0E 58 08 01 C0 A8 02 70                                                                                                                      0E 58 04 04 02 00
Layer 0(01B64E38,56D9BB32) Send(026): 06 10 02 05 00 1A 08 01 C0 A8 02 70 0E 58                                                                                                                      08 01 C0 A8 02 70 0E 58 04 04 02 00
Layer 0(01B64E38,56D9BB32) Recv(008): 06 10 02 06 00 08 00 24
Layer 1(01B64E38,56D9BB32) Recv(002): 00 24
Layer 1(01B64968,56D9BB32) Connect failed with error 24
Layer 1(01B64968,56D9BB3C) Connectretry

GRuß
NiWa

Andi291

Den Fehler hatte ich auch schon mal...Kriegs aber nicht mehr zusammen...

Ideen:
- Sockets sind frei? Rechte auch die angegebenen Orte sind ausreichend?
- Versuch mal, ob Du eine Multicastverbindung herstellen kannst. Ich kenne das MDT-IP-IF nicht - glaube aber nicht, dass es geht.
- Nächste Idee wäre, mal mit DTRS rumzuspielen - also einen Server zu starten.

Nur zur Sicherheit:
Der Raspi ist das einzige Gerät, welches mit dem IP-IF sprechen soll? Oder läuft parallel noch was anderes?

P.S.: Meine "Bauanleitung" für ein frisches System im Anhang...

Grüße, Andi

niwa83

Hallo,
nach  längerer Zeit hab ich wieder mich etwas mit dem Thema beschäftigen können.

Leider klappt das installieren von knxd nicht.

Folgende Meldung bekomme ich:


configure: exit 1
dh_auto_configure: ./configure --build=arm-linux-gnueabihf --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libexecdir=${prefix}/lib/knxd --disable-maintainer-mode --disable-dependency-tracking --enable-usb --enable-eibnetip --enable-eibnetiptunnel --enable-eibnetipserver --enable-groupcache --enable-ft12 --enable-pei16s --enable-ncn5120 --enable-tpuarts --enable-dummy returned exit code 1
debian/rules:21: recipe for target 'override_dh_auto_configure' failed
make[1]: *** [override_dh_auto_configure] Error 25
make[1]: Leaving directory '/home/pi/knxd'
debian/rules:14: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2


Was hat`das zu bedeuten ?