brutella / hkknx-public

hkknx is a HomeKit KNX bridge for KNX.
https://hochgatterer.me/hkknx
99 stars 6 forks source link

Gateway nicht erreichbar #6

Closed feanmg closed 4 years ago

feanmg commented 4 years ago

Hallo,

die Anwendung sieht sehr vielversprechend aus!!

Leider bekomme ich sie nicht zum laufen. Bei direkter Angabe der IP-Adresse des KNX-Gateways kommt die Meldung "Gateway nicht erreichbar". Bei Suche nach Gateway stürzt das Programm ab. (write udp4 192.168.x.x:44253->0.0.0.0:0: sendto: invalid argument)

Installiert habe ich es auf einem jungfräulichen Raspbian-Image. Von dem Raspy kann ich das Gateway anpingen.

Über eine Hilfe würde ich mich sehr freuen!

Viele Grüße!

brutella commented 4 years ago

Welche Version verwendest du?

feanmg commented 4 years ago

Oh, das ging ja schnell :) 0.0.9

brutella commented 4 years ago

Was, wenn du die Automatische Suche verwendest?

Was für einen Browser verwendest du?

Könntest du mal in die server.json Datei in dem "database" Ordner nach dem Feld ip suchen. (Ist unter projects.knx.ip) Welcher Wert ist hier angegeben?

feanmg commented 4 years ago

aktuell: "knx":{"discovery-type":1,"ip":"192.168.0.44"

Klicke ich auf "Automatische Suche" -> Speichern und Suche dann mit "Verbindung prüfen", stürzt das Programm ab (s.o.)

Browser: FF 72 (Mac). Chrome 80 gleiches Verhalten.

brutella commented 4 years ago

An was für einem Netzwerk hängt der Raspberry Pi? Ist Multicast in diesem Netzwerk erlaubt?

feanmg commented 4 years ago

Beide Geräte (Raspi + KNX-Gateway) hängen am LAN im gleichen Subnetz. mDNS (auf UniFi USG) war deaktiviert, ein testweises aktivieren brachte leider keine Verbesserung.

brutella commented 4 years ago

Versuch mal die gerade hochgeladene Pre-Release Version 0.0.10.

feanmg commented 4 years ago

Danke! Das Programm stürzt nun nicht mehr ab, aber die Fehlermeldung "Gateway nicht erreichbar" bleibt (sowohl bei automatischer Suche, als auch bei vorgegebener IP).

Im Switch (Netgear GS724T) habe ich noch folgende Multicast-Einstellungen (MFDB, IGMP Snooping, MLD Snooping). Alle sind per Factory-Default (ich kenn mich da nicht sehr aus) deaktiviert.

brutella commented 4 years ago

Sind bestimmte Port-Bereiche gesperrt? Port 3671 muss auf jeden Fall offen sein.

feanmg commented 4 years ago

Nein, Netzwerktechnisch nicht dass ich wüsste. Auch der EDOMI-"Server" greift via diesen Port auf das Gateway zu.

Kann ich das auf dem (neuen) Raspberry irgendwie testen?

brutella commented 4 years ago

Habe gerade noch einen Fehler gefunden und einen neuen Build hochgeladen. Download-Link bleibt der selbe. Bitte nochmal runterladen und ausprobieren.

feanmg commented 4 years ago

Vielen Dank für dein Engagement.

Leider brachte auch die neue Version keine Verbesserung (version 0.0.10 (built at 2020-02-18T14:20:22Z+0100))

brutella commented 4 years ago

Hm, jetzt gehen mir langsam die Ideen aus.

Überprüf mal mit dem nmap Befehl ob das Gateway über den Pot 3671 erreichbar ist.

nmap -p 3671 192.168.0.44
feanmg commented 4 years ago

hmmmm....

pi@raspberrypi:~ $ nmap -p 3671 192.168.0.44 -Pn Starting Nmap 7.40 ( https://nmap.org ) at 2020-02-18 13:41 UTC Nmap scan report for KNXIPInterface731.localdomain (192.168.0.44) Host is up. PORT STATE SERVICE 3671/tcp filtered efcp

(...auf dem EDOMI-Rechner zeigt nmap ähnliches an)

Ergänzung (ohne Option -Pn): pi@raspberrypi:~ $ nmap -p 3671 192.168.0.44 Starting Nmap 7.40 ( https://nmap.org ) at 2020-02-18 13:40 UTC Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn Nmap done: 1 IP address (0 hosts up) scanned in 3.40 seconds

brutella commented 4 years ago

Einen letzten Versuch hab ich noch unternommen. Hab einen neun Build hochgeladen – Link bleibt gleich.

feanmg commented 4 years ago

Hat leider nicht funktioniert. Sehr schade, trotzdem danke! (Die Verbindungssuche fühlt sich aber jetzt an, als würde er suchen (kurze Verzögerung). Muss jetzt zum Arzt, ich schaue nachher nochmal rein. Viele Grüße!

feanmg commented 4 years ago

So, wieder zurück!

Also, vielen Dank für deinen Einsatz - ich würde jetzt selbst noch versuchen, den "Fehler" zu finden.

Sollte irgendeine Multicast-Einstellung aktiviert sein (MFDB, IGMP Snooping, MLD Snooping)?

Wenn du jemanden zum Testen brauchst, stehe ich gerne zur Verfügung! Ich werde dein Projekt weiter verfolgen.

Viele Grüße!

brutella commented 4 years ago

Bei der direkten Verbindung über eine IP Adresse hab ich vermutlich einen Bug – den versuche ich gerade zu fixen.

Die Automatische Gateway Suche sollte dennoch funktionieren, solange Multicast erlaubt und der Port 3671 nicht blockiert ist.

Die verwendete Multicast-Adresse ist die 224.0.23.12.

brutella commented 4 years ago

So, mit dem aktuellsten Build wurde etwas Grundlegendes geändert.

Bei der Angabe einer fixen IP-Adresse (und jetzt auch Port) des Gateways, wird direkt eine Tunnel Verbindung aufgebaut – vorher gab es noch eine Suchanfrage, welche ohne Multicast nicht funktionierte.

Bitte ausprobieren.

feanmg commented 4 years ago

Das sieht doch schon mal nicht schlecht aus: Gateway erreichbar unter 192.168.0.44:3671 :)

(Ich habe im Vorfeld auch schon versucht, den Port anzugeben, hat aber damals nicht funktioniert)

((Beim aktivieren des IGMP-Snooping im Switch bin ich gestern übrigens grandios gescheitert))

Ich teste weiter!

feanmg commented 4 years ago

Wirklich toll, herzlichen Dank! Ich schließe dann das Ticket. Am Wochende bringe ich das ganze in Produktion (rel. umfangreiche KNX-Installation).

Wenn alles klappt, wird dein Gateway richtig cool! Ich bleibe dran!

(Ein Feature-Request habe ich noch: Könntest du (zB. im Hilfetext) erläutern, wie das ganze als Dämon immer automatisch mit Systemstart gestartet werden kann?)

brutella commented 4 years ago

Das mit dem Daemon ist alles hier erklärt.