Zeitüberschreitung min KNX und IP-Interface

Ein Hallo in die Runde,

leider bin ich hier noch der Rookie, aber das wird sich hoffentlich bald ändern. Nun stehe ich von einem blöden Problem.

Ich nutze IPS mit dem IP Gateway von EIBMARKET für meine KNX Anbindung.
Folgendes schöde Script habe ich erstellt:


<?
//Wert aus dem Zentralobjekt lesen
$state = GetValueBoolean(43405 /*[Zentralfunktionen\Heizung sperren\Value]*/);
 //Heizungen sperren
IPS_Sleep(100);
EIB_Switch(10860 /*[Räume\Arbeitszimmer\Heizung sperren]*/, $state);
IPS_Sleep(100);
EIB_Switch(59567 /*[Räume\Flur\Heizung sperren]*/, $state);
IPS_Sleep(100);
EIB_Switch(16409 /*[Räume\Wohnzimmer\Heizung sperren]*/, $state);
IPS_Sleep(100);
EIB_Switch(48685 /*[Räume\Badezimmer\Heizung sperren]*/, $state);
IPS_Sleep(100);
EIB_Switch(43533 /*[Räume\Gästezimmer\Heizung sperren]*/, $state);
IPS_Sleep(100);
EIB_Switch(10914 /*[Räume\Kinderzimmer\Heizung sperren]*/, $state);
IPS_Sleep(100);
EIB_Switch(17110 /*[Räume\Küche\Heizung sperren]*/, $state);
IPS_Sleep(100);
EIB_Switch(58818 /*[Räume\Schlafzimmer\Heizung sperren]*/, $state);
?>

Dieses rufe ich bei dem Ereignis auf wenn sich der Wert ID43405 ändert. Das funktioniert ca 1 bis 3 mal. Danach bricht mir das Script mit einem Timeout ab. Sowohl in der Console als auch im Webfront. Danach ist keine Kommunikation mehr mit dem EIB-Bus möglich, bis ich den IPS-Dienst neu gestartet habe. Erst habe ich vermutet, das es an meinem IP Interface lag und habe dann umgestellt auf das von IPS empfohlene. Nun habe ich den Verdacht, das sich da irgendwas verschluckt.
Grundsätzlich wird eine Zentralfunktion im KNX natürlich anders realisiert, darum geht es mir hier aber nicht :wink:
Vielleicht denke ich ja auch falsch…

…habe noch ein bísschen probiert. Es liegt nicht an irgendwelchen Scipten, denn ich bekomme den Fehler auch, wenn ich ein Paar mal schalte.

Ich habe im Anhang mal den EIB-Splitter Dump dran gehangen, vielleicht kommt damit ja jemand weiter…:confused:

dump.txt (15.3 KB)

  • Gibt es, sobald es nicht mehr funktioniert irgendwelche Fehlermeldungen im Meldunsfenster/Log? (z.B. AccessViolations?)

  • Kommt der Fehler schneller, wenn du die IPS_Sleep’s weglässt?

paresy

versuchst du evtl. gleichzeitig mit der ETS auf den Bus zu zugreifen ?

Nein. Es kommt nur zu einer Zeitüberschreitung.
Ich versuche nicht gleichzeitig auf den Bus zuzugreifen. Habe mittlerweile einen neuen Server. an der Hardwareauslastung kann es auch nicht liegen.

Der Fehler tritt auch auf, wenn ich oft Licht ein ausschalte. Ohne das irgendwas von mir umprogrammiert wurde oder ein Script dazwischen hängt.

Hallo,

ich nutze das gleiche Interface und habe auch den gleichen Fehler. Im Log tauchen dann Meldungen wie
[Skripte\Rolladen\KNX_Rolladen_EG_oeffnen] =
Warning: Zeitüberschreitung beim Warten auf Antwort in C:\IP-Symcon\scripts\36112.ips.php on line 14
Die Zeile 14 hat den Inhalt
EIB_DriveShutterValue(15645 /[Erdgeschoss\Küche\Rolladen bodentief]/, 0);
Vor diesem Befehl sind schon 7 andere EIB_DriveShutterValue Befehle im gleichen Skript zur Ausführung gekommen und die Rolläden sind ohne Probleme gestartet.

Wenn ich bei der Suche helfen kann, sagt was ich tun soll

Grüße
Frank

Es gibt im KNXUF einen Thread mit ähnlichen Problemen…

IP Interfaces - KNX-User-Forum

@paresy - Gibt es eine Möglichkeit eine Telegrammratenbegrenzung beim raussenden einzubauen ?

Die Geschichte IP ist immer noch nicht das gelbe vom Ei. Hab momentan auch kuriose Fehler. Hab ein Hand/Auto schalter. Trigger ich Ihn von einem KNX Taster an, dann ändert sich der Zustand. Schalt ich ihn im WebFront, da kann ich ihn genau einmal drücken. Dann passiert nix mehr. Schau ich dann in den Busmonitor dann wird immer nur an gesendet…

Gruß epogo

Ja, ich habe auch gelegentlich dieses Problem. Vor allem wenn ich viele Befehle hintereinander raus schicke. Wenn ich schön alles von Hand einzeln schalte… und schalte… und schalte… hab ich keine Probleme. Hab ein Sleep von 150 hinter den Befehlen. Mal funktionieren alle, mal bricht er mit einem Timeout ab. Alles nicht so ganz greifbar… :confused: