KNX UDP-Socket

Ich führe über den KNX-Bus eine Ernergiemessung durch.
Der KNX-Sender (KES) sendet zyklisch alle 60s seine Werte, kann man im Busmonitor in der ETS verfolgen.
Die Werte werden im IPS eine zeitlang aktualisiert. Nach einer gewiesen Zeit funktioniertes nicht mehr.
Es hilft nur noch den UDP-Socket zu schliessen und wieder zu öffnen.
Ein einfaches IPS_ApplyChanges hilft nicht.
Hardware
9x Zennio KES
1x EIB-Markt IP-Schnittstelle N000401

Ist dieses Verhalten nur?

Kannst du, wenn das Schreiben alle 60 Sekunden nicht mehr geht, noch per WebFront etwas schalten?

paresy

Ich habe nur die KES-Sensoren auf dem Bus.

Magst du mal im Debug schauen, ob die HeartBeat abfragen korrekt durchlaufen?

Erstell ansonsten mal Testweise eine Instanz und sende auf eine beliebige Adresse alle paar Minuten. Vielleicht mögen die Gateways es nicht, wenn man nur lauscht.

paresy

Magst du mal im Debug schauen, ob die HeartBeat abfragen korrekt durchlaufen?

Sorry, was ist ein HeartBeat Abfrage?

Einfach mal in der Splitter Instanz von KNX den Reiter Debug öffnen. Dort müsste dann alle 60 Sekunden eine „HeatBeat OK“ erscheinen.

paresy

HeartBeat Debug sieht nicht gut aus.

Hast Du das Problem gelöst? Ich habe ähnliche Fehler, die Verbindung zum KNX Gateway fällt ständig aus. Sowohl Splitter als auch I/O zeigen an, dass die Verbindung aktiv ist, auch wenn das Gateway per IP Ping testweise gar nicht erreichbar ist. Wenn ich mich recht erinnere war das in früheren Versionen anders, dann wurde auch die Schnittstelle mit einem roten Ausrufezeichen fehlerhaft markiert.

Hallo,
ich hatte damals das „not connected to interface“ Problem mit KNX.
Als ich von Weinzierl zu Siemens gewechselt bin, klappte alles tadellos:

Schon ein anderes KNX-IP-Interface ausprobiert?

Hast du mal im Debug vom Gateway geschaut, ob der HeartBeat funktioniert? Und ob du überhaupt Antwort vom Gateway bekommst?

Die Verbindung war schon immer über UDP und somit werden „Verbindungsabbrüche“ per Definition nicht erkannt. Du bist sicher, dass du die UDP Pakete korrekt routest?

paresy

Hallo paresy,
Ja, habe den heartbeat überprüft, alles ok.
Ich bin am verzweifeln: Seit Wochen (gefühlt aktuelle Version) funktionieren zwei über IPSEC Tunnel angebundene KNX IP Interfaces nicht mehr zuverlässig, vorher hat genau die gleiche Hardware einwandfrei gearbeitet. Die Tunnel sind stabil, Homematic Komponenten werden z. B. einwandfrei an beiden externen Standorten gesteuert.
Wenn es wieder einmal nicht funktioniert muss ich unter i/o die UDP Instanz trennen und wieder verbinden… Und plötzlich geht alles wieder. Im lokalen Netzwerk läuft über ein Siemens N151 IP Interface alles gut, die beiden anderen Interfaces sind vom EIB Markt und MDT, auch schon neu gestartet und ausgetauscht. Der Bus an den externen Standorten funktioniert mit lokalen KNX Schaltern ausserdem einwandfrei, ich denke also nicht, dass ein KNX Busfehler vorliegt.
Ich weiss wirklich nicht mehr weiter.

Hat denn niemand eine Idee oder die gleichen Probleme?

Magst du mal z.B. mit SmokePing überprüfen, ob dein Tunnel zu 100% verfügbar ist? Wenn irgendwelche Pakete verloren gehen, könnte dies deine Probleme erklären.

paresy

Hallo paresy,
ich habe die Tunnel überprüft, ca. 99% Verfügbarkeit auf 2 Tage verteilt, das scheint mir ziemlich OK. Wie gesagt, ich habe die Router getauscht, da ich da das Problem vermutet habe, das ist aber nicht der Fall. Antwortzeiten bei einem Tunnel im Durchschnitt 15ms (gleicher Provider), beim anderen 50ms. Ich habe das ganze auf einem Windows System mit ICMP getestet (aber kein Smokeping), es ist ja wohl unwahrscheinlich, dass nur UDP Pakete verloren gehen…
Wie kann ich weiter debuggen? Eigentlich würde ich denken i/o oder Splitter-Instanz, aber wenn ich dort den Debug anschalte kann ich ausser dem Heartbeat, der OK ist, nichts damit anfangen. Gibt es noch einen Ansatz? Ich muss nochmal erwähnen, dass ich diese Probleme vor #3431 nicht hatte…
VG matbody

Hallo paresey,
Wenn ich darüber nachdenke gibt es eigentlich auch keinen Grund, dass alles nach dem Schliessen / übernehmen / öffnen / übernehmen des UDP Sockets der i/o Instanz wieder funktioniert…dann müsste ja irgendwo etwas „überlaufen“. Aber dann liegts auch sicher nicht an den Tunneln. Allerdings funktioniert das am lokalen Netz angebundene KNX Interface immer. Muss ich jetzt wirklich die alten IPS Versionen rauskramen oder fällt jemandem noch etwas dazu ein?
VG matbody

Es ist ziemlich sicher das Netz. Wenn Pakete verloren gehen, stimmt unter Umständen der interen Zähler für die Pakete nicht mehr überein und das Gateway nimmer keine Pakete mehr entgegen. Das erklärt auch, warum nach Schließen/Öffnen des Sockets alles wieder geht. Es wird dann nämlich die Verbindung komplett neu aufgebaut zum Gateway.

Ich vermute also sehr stark, dass sich in der Vergangenheit also etwas an deinem Netzwerk geändert hat. An der KNX Implementation wurde nämlich schon länger nicht mehr in dieser Richtung getan :wink:

paresy

Hallo paresy,
das verstehe ich nicht: Sagen wir mal, ein UDP Paket geht in dem Moment verloren, das KNX Interface kann nicht angesprochen werden. Ich checke in diesem Moment die Leitung, es ist alles gut. Danach sende ich wieder einen KNX Befehl über den Tunnel. Es funktioniert nicht, erst wenn ich i/o neu starte. Will sagen: Dass das einmal nicht geht ist OK, aber dass es erst nach Neustart wieder funktioniert, kann ich nicht nachvollziehen. Dann wäre es doch viel besser, man würde die Verbindung immer neiu aufbauen lassen, das dauert ja nur Millisekunden. Oder dass es eine Option im i/o gibt, wo man das einstellen kann Kann es sein, dass ich der einzige bin, der IPSYMCON für meherere Standorte über Tunnel verwendet…
Und noch etwas ist komisch: Alles hat bisher bei allen Tunneln mit unterschiedlichen Providern funktioniert. Wie können jetzt plötzlich Pakete verloren gehen? Nochmal zur Frage des Debuggings: Wie kann ich Deine Vermutung debuggen?
VG matbody