Knxd konfigurieren???

Begonnen von Fifi, 04 Februar 2016, 17:01:40

Vorheriges Thema - Nächstes Thema

Fifi

Hallo,
ich habe nun viel gelesen und probiert, ich kriege es aber nicht ans Laufen:

FHEM und KNXD ist auf RASPI installiert.
FHEM soll über KNXD auf auf Weinzierl KNX IP Interface 730 (IP: 192.168.xx.xx) zugreifen.
Ausserdem hängt noch ein weiterer (zu erstzender KNX-Rechner im Netz.
Er soll auch über KNXD Zugriff auf den KNX-Bus haben. Und Die ETS soll über KNXD programmieren können.

Wie muss dann die Konfigurationszeile in der Datei /etc/default/knxd
lauten?? (DAEMON_ARGS=".....)

Kann ich dann mittels KNX-Tools den KNX-Bus monitoren?

Danke vorab,
Ingo

Andi291

Abend!

knxd --help und das wiki hier sind ein recht guter Anfang...

Mit diesen Parametern fahre ich seit einigen Tagen recht gut. Ich habe auch mehrere EIBD-Clients. Läuft Störungsfrei und Jessiy mit systemd:
KNXD_OPTS="-c -u /tmp/eib -b ipt:192.168.xx.xx"

Warum soll die ETS über den KNXD programmieren können? Da musst vorsichtig sein, dass die beiden sich nicht ins Gehege kommen. Falls das Weinzierl Multicast beherrscht, würde ich es lassen. Falls nicht:
KNXD_OPTS="-c -u /tmp/eib -DTRS -b ipt:192.168.xx.xx"

Grüße, Andi

Fifi

Ich fange nochmal vorne an....
Das EibMarkt Ip Interface, baugleich mit Weinzierl IP Interface kann laut Handbuch "über KNXnet/IP Tunnelling sind max. 5 Verbindun-
gen gleichzeitig möglich". Heisst das, ich kann Fhem auf dem Raspi, noch einen weiteren KNX-Rechner
im Netz und auch die ETS über das Interface mit dem KNX_Bus verbinden?
Das würde bedeuten, das ich den Knxd nicht brauche???
Laut Weinzierls Anleitung muss der Programmiertaster gedrück werden. Dann würden neue phsikalische Adressen
im Interface vergeben. Haben die dann die gleiche IP?? Na ja, jedenfalls passiert bei mir nichts dergleichen (ETS3).
Das Interface geht einfach in den "normalen" Programmiermodus.

Deshalb wollte ich den Knxd zur Hilfe nehmen. Der Knxd verbindet sich mit dem Weinzierl, die anderen
Teilnehmer verbinden sich mit dem Knxd (dachte ich).
Den Knxd starte ich so:
knxd -u /tmp/eib -u /var/run/knx -i -b ipt:192.168.xx.xx
Also laut Wiki mit der IP des Interfaces.
Wenn der Knxd läuft kann ich nun per
knxtool vbusmonitor1 local:
sehen, das Eib-Telegramme am Knxd ankommen.
Was muss ich nun in Fhem eintragen? Aktuell steht da:
define KNX TUL knxd:localhost 1.1.11
Wobei die 1.1.11 die physikalische Adresse des Weinzierl ist. Stimmt das so?
(Knxd und Fhem laufen auf dem gleichen RASPI)
Da passiert nämlich nix. Soweit ich das verstehe sollten da ja mittels "Autocreate"
beim Eimpfang von Eib-Telegrammen Geräte angelegt werden. Tun sie aber leider nicht.

In der ETS versuche ich auch das Interface auf die IP des Knxd umzulegen. Die ETS sieht aber nur die IP-Adresse
des Weinzierl. Das sieht für mich so aus, als verbinde sich der Knxd zwar mit dem Weinzierl, gibt aber auf IP-Seite nichts weiter.
Liege ich da richtig, und was mache ich da dran?

Ingo

Andi291

Au weh - da hat jemand die Grundlagen nicht gelesen  ;)

http://www.knx.org/fileadmin/downloads/08%20-%20KNX%20Flyers/Grundlagenwissen%20zum%20KNX%20Standard/Grundlagenwissen_zum_KNX_Standard_German.pdf

Von vorne:
Zugang zum KNX erhält die ETS über verschiedene Wege - ich nenne mal nur die, die über Ethernet relevant sind: Tunneling, Routing oder Multicast. Ein IP-Interface kann im Gegensatz zum Gateway in der Regel kein Multicast. Der PC auf dem die ETS läuft, muss im Ethernet also im gleichen Subnet sein, wie der Router (geht theoretisch auch anders - aber nicht für die ersten Schritte :-)).
Ich kenne das Weinzierl nicht, aber laut Anleitung muss und kann die IP-Adresse nur per ETS geschrieben werden. Werksseitig ist DHCP voreingestellt. Wenn also ETS-PC und Weinzierl am gleichen DHCP-Server hängen, ist der erste Schritt erledigt.
In der ETS unter Kommunikationseinstellungen kannst Du die Auto-Suche aktivieren. Damit müsste das Weinzierl (nach einigen Minuten) auswählbar sein. Multicast ist tabu - nicht verwenden.
Sobald Du mit dem Weinzierl sprechen kannst, schreibst DU als erstes eine IP-Adresse und eine physikalische Adresse passend zu Deiner Installation rein. Dann drehst Du die Tunneling-Verbindungen so hoch, wie geht. Damit (und nur damit) ist später sichergestellt, dass mehrere Geräte im Ethernet auf Deinen Bus zugreifen können (ETS, knxd, ...).

Den knxd brauchst Du dazu NICHT - der bringt Dir nämlich nur was, wenn der andere Weg (ETS-KNX) grundsätzlich funktioniert...

Nächster Schritt:
Der KNXD läuft - das ist gut. Per knxtool groupswrite ip:127.0.0.1 3/5/5 1 sendest Du ein "on" an die GA 3/5/5. Wenn das geht - geht's weiter im FHEM. Deine Definition ist falsch. Sie muss lauten define tul TUL eibd:192.168.xx.xx 1.yy.yy wobei xx die IP des Weinzierl ist, und yy eine freie Adresse in Deiner Linie. Die Angabe der Adresse ist optional - bei Nichtangabe wird mit alias 0.0.0 gesendet.

Theoretisch kannst Du schon vom Netzwerk und einen knxd über ein IP-Interface routen - ist aber meiner Meinung nach unnötig komplex.

Grüße, Andi

Andi291

Sorry, Fehler gemacht...

Die IP des Define muss auf den knxd zeigen - bei der gleichen Maschine also:

define tul TUL eibd:127.0.0.1 1.yy.yy

Grüße, Andi

Fifi

Danke für die ausführliche Antwort(en). Den ersten Teil hab ich ja auch so:
Weinzierl hat feste IP, ETS ist (war) im gleichen SUBNetz. So lief das ja schon einige Zeit.
Zusätzlich ist da ein EibPC. Im Moment ist es halt so, das entweder der EibPC oder die ETS Zugriff auf den KNX via Weinzierl hat.
Das wäre narütlich schön, wenn beide bzw. zusätlich Fhem dran kämen. Fhem soll nach und nach den Job vom EibPc übernehmen.
Aber in der Übergangszeit muss der halt auch noch auf den KNX_Bus schreiben können. Daher der Knxd. So dacht ich mir das jedenfalls.
Morgen lese ich das pdf und probiere mit deinen Erklärungen weiter. Jetzt ist Heija dran.

Danke, Ingo

ZeitlerW

Hallo Ingo,

ich habe auch das Eibmarkt/Weinzierl Interface.
Zur Zeit laufen 2 mal KNXD (FHEM), 1 mal EIBD (Wiregate) und die ETS parallel auf dem Interface.

Um mehrere Verbindungen zu aktivieren mußt du am Interface diese Tunnel aktivieren, da standardmäßig nur ein Tunnel aktiviert ist.
Dies funktioniert, wenn Du die Programmiertaste lange drückst. Dann wird ein weiterer Tunnel aktiv. (Also 4 mal lange drücken)
Wie es genau geht steht in der Doku des Interfaces (glaub ich)

Leider kann man die Anzahl der Tunnel  nicht über die ETS konfigurieren.

lG
Wolfgang

Fifi

Ich habe versucht mehrere Tunnel zu aktivieren. Laut Handbuch soll man 1s gedrückt halten.
Dabei ging meins aber nur in den normalen Programmiermodus. Ichhabe aber auch nur die ETS3. Da ergab sich keine Änderung.
Soll da denn dann auch etwas neues angezeigt werden?
Ausserdem habe ich das EibMarkt IP-Interface. Das soll ja baugleich mit dem Weinzierl sein. Und es ist schon einige Jahre alt. Vielleicht kann meins ja gar nicht mehrere Verbindungen gleichzeitig?
Nach Betätigen des Tasters geht die LED (rot) an und bleibt an. Ich versuche es heute Abend nochmal. Vielleicht länger gedrückt halten??
Aber nochmal die Frage:
Wenn dann mehrere Tunnel aktiviert sind, spreche ich jeden dieser Tunnel mit der gleichen IP an?
Die erscheinen dann auf KNX Seite nur unter jeweils einer eigenen pysikalischen Adresse?
Ingo

ZeitlerW

#8
Hi,
Zitat
Wenn dann mehrere Tunnel aktiviert sind, spreche ich jeden dieser Tunnel mit der gleichen IP an?
Ja genau, du hast nur eine IP Adresse.
Zitat
Die erscheinen dann auf KNX Seite nur unter jeweils einer eigenen pysikalischen Adresse?

Dazu mußt du im KNXD mit Hilfe des Parameters -e die Physikalische Adresse setzen:
z.B.

KNXD_OPTS="-e 1.1.4 -u /tmp/eib -b ipt:192.168.6.31"


In der ETS3 mußt Du für die Verbindung eine "freie" PA suchen lassen.

Zitat
Nach Betätigen des Tasters geht die LED (rot) an und bleibt an. Ich versuche es heute Abend nochmal. Vielleicht länger gedrückt halten??
Ja, da mußt du es länger probieren, dann blinkt die LED.

Es ist aber auch ein wenig tricky die Tunnels zu aktivieren und es funktioniert nicht immer auf Anhieb.

vG
Wolfgang

Fifi

Zitat von: ZeitlerW am 05 Februar 2016, 09:07:51
In der ETS3 mußt Du für die Verbindung eine "freie" PA suchen lassen.
Ja, da mußt du es länger probieren, dann blinkt die LED.

Es ist aber auch ein wenig tricky die Tunnels zu aktivieren und es funktioniert nicht immer auf Anhieb.

vG
Wolfgang

D.h. es ändert sich das schon in der ETS eingebundene Gerät und es kommt ein weiter "Konfigurationsparameter" o.ä. dazu?
Ich muss keine weiteres Gerät einführen?
(Ich habe beides versucht, aber da passierte nichts)
Ich versuche das heute Abend noch einmal.

ZeitlerW

Zitat
D.h. es ändert sich das schon in der ETS eingebundene Gerät und es kommt ein weiter "Konfigurationsparameter" o.ä. dazu?
Am Gerät ändert sich nix.


Du mußt in der Kommunikationsparametern der ETS selbst ggf. die PA der ETS ändern.

lG
Wolfgang

Andi291

Abend!

Mich beschleicht nach Studium des Handbuches der Verdacht, dieses Interface hat keine mehrfachen Tunnel...

Wenn das mit der Lernerei nicht hinhaut, musst wohl doch per KNXD selbst einen Router bauen - dann eben mit den Optionen DRTS...

Grüße, Andi

Fifi

Ich habe leider nur noch das aktuelle "Handbuch" dieses Interfaces gefunden.
( Artikelnummer N000401). Hier steht nichts von mehrfachen Tunneln. Ich habe mehrfach probiert (Taster) weitere Tunnel zu erzeugen.
Ohne Erfolg. Egal wie lange man den Taster drückt, das Interface geht nur in den Programmiermodus.
Ich weiss auch nicht mehr wie lange ich das schon habe, ca. 5 Jahre. Das es mit dem Weinzierl baugleich sein soll, habe ich auch nur gelesen.
Na ja, ich mache erstmal mit den anderen Tips von oben weiter.....
Bis später.

Fifi

mittels:

DAEMON_ARGS="-u /tmp/eib -u /var/run/knx -i -b ipt:192.168.xx.xx"

kann ich den Knxd starten. Dann kann ich auch mit:

knxtool groupswrite ip:127.0.0.1 2/0/2 1

Eine Lampe schalten.
Leider finde ich keine andere Parameterkombination, also so das ich mit mehreren Anderen via Knxd auf
den KNX-Bus komme. Ich bekomme den Knxd mit keiner anderen Parameterliste ans laufen.
Wie genau müsste die ausehen?

Mit der Definition:

define KNX TUL eibd:localhost 1.1.230

wird auch ein neues Gerät im Fhem angelegt. Darüber ist die Lampe schaltbar.
Alles schonmal sehr schön, nur komme ich natürlich nicht mit weiteren Teilnehmern (ETS, EibPC) auf den Bus.
Ich hoffe ihr könnt mir die Startparameterzeile für den Knxd noch machen. Dann versuche ich auch nicht weiter zu nerven.
g'n8
Ingo

Andi291

Morgen!

-i raus, -DTRS direkt vor -b.

Grüße...

Fifi

O.K., nun habe ich also:

DAEMON_ARGS="-u /tmp/eib -u /var/run/knx -DTRS -b ipt:192.168.xx.xx"

Der Knxd startet. In der ETS taucht er auch als mögliches Interface auf, Test dort ist O.K.
Aber wenn ich ein

knxtool groupswrite ip:127.0.0.1 2/0/2 1

sende, kommt:

Open failed: Connection refused

Auch von der ETS geht nix zum KNX-Bus durch.
Eine Verbindung von der ETS zum IP-Interface geht auch nicht: maximale Anzahl gleichzeitiger Verbindungen erreicht.
d.h. ja dann, das sich der Knxd wirklich mit dem IP-Interface verbunden hat, aber nichts dahin durch geht, rischtisch?
Welcher Parameter hackt denn da jetzt noch?
Mit dem Parameter -i sieht es etwas besser aus:

DAEMON_ARGS="--eibaddr=0.0.230 -u /tmp/eib -u /var/run/knx -i -DTRS -b ipt:192.168.xx.xx"

Damit startet der Knxd, Lampe schalten per groupswrite geht, in der ETS taucht der Knd mit der richtigen PA (0.0.230) auf,
aber Geräteinfo lesen geht nicht (das Gerät antwortet nicht)
Ohne Angabe der PA ( --eibaddr=0.0.230 ) genauso, der Knxd taucht dann halt mit 0.0.1 in der ETS auf.

Andi291

Abend!

Was passier, wenn du in der ets als interface multicast auswählst?

Fifi

Meinst du in den Kommunikationseinstellungen der ETS?
Wie stelle ich das da ein? (siehe Screenshot)

Andi291

Letzter Eintrag - die Multicastadresse an dem Realtek Adapter.

Vorteil:
Die broadcastet ins System. Allerdings darf dann nur genau ein Multicastfähiger Server da sein...

Schau mal, ob was passiert.

Fifi

O.K., progress.....
mit der 5er geht nix, auch nicht mit dem Realtec.
in der 3er funktioniert die Konfiguration eh nicht vernünftig. Das zweite Interface scheint eh nie zu funktionieren.
(Ich dachte, man könnte zwei anlegen und bei Bedarf umschalten.)
Ich habe das erste (EibMarkt..) nun auf die IP des KNXd verbogen. Das geht jetzt. Ich kann sowohl per Kommando als auch
im Fhem und auch im ETS3 die Lampe schalten.
Nochmal für andere Suchende die Konfig-Zeile für den Knxd:
DAEMON_ARGS="--eibaddr=0.0.230 -u /tmp/eib -u /var/run/knx -i -DTRS -b ipt:192.168.IP-des-Interfaces"
Ich versuche jetzt mal den EibPc zu überzeugen den Knxd zu benutzen. Erstmal Danke, ich melde mich wieder.

Fifi

Auch der EibPc greift über den Knxd nun auf den Bus zu.
Durch den Neustart des EibPc und der damit verbunden Abfrage diverse GA, ist das Fhem nun ganz schön voll gelaufen mit neuen Geräten ;)
Das ich das noch erleben darf......
Jetzt werde ich in den nächsten Wochen dran gehen den EibPc überflüssig zu machen.
Nochmal ein dickes Danke,
Ingo