ich bin mir bewusst, dass es bei LCN ein Limit gibt, wie viele Kommandos man pro Sekunde in den Bus schicken kann.
Waren es 8?
Ich habe nun Folgendes Problem:
Ich betreibe mein IPS auf einem Banana PI (ja, ist Beta).
Dort habe ich ein paar einfache Scripte und Events, die Befehle in den Bus schicken.
z.B. mache ich morgens um 4 Uhr 3 Lämpchen an und um 9 wieder aus. Jedes Lämpchen in einem eigenen Event. Dies bewirkt, dass in bestimmten Räumen eine Elektrische FBH an und wieder aus geht.
Meistens funktioniert das auch, allerdings von Zeit zu Zeit auch nicht. (FBH geht nur in 2 Räumen an oder in einem Raum nicht wieder aus).
Ich hätte jetzt erwartet, dass IPS die Kommandos queued, falls zu viele auf einmal kommen.
Oder werden die Events nicht gefeuert? Kann ich so etwas iregendwo sehen?
Ist auf jeden ein Spanender Fehler… Wird vermutlich etwas Zeit kosten, den zu finden uns zu lösen.
Zu allererst die Antwort auf deinen Frage:
Ja, IP-Symcon queued alle Befehle… an arbeitet die nach und nach ab.
Wenn du nun also viele Ereignisse hast, wird für jedes Ereignis ein PHP Skript gestartet, welches wieder rum die Befehle ausführt. Normalerweise sollten diese also nach und nach wieder verschwinden. Warum das bei dir nicht passiert, ist jetzt also die Frage.
Kannst du mir mal ein paar Beispiele deiner Skripte/Ereignisse geben, welche sich aufhängen? Nutzt du irgendwo die IPS_RunScript* Befehle?
→ Ich hab mit 15 Bedingungen definiert, unter welchen Sonne auf eines unserer 11 Fenster scheint.
Entsprechend dieser Bedingungen schalte ich dann alle 5 Minuten Lämpchen im LCN ein oder aus. Das regelt im Endeffekt dann unsere Beschattung.
Ja, es gibt etwas vergleichbares bereits hier vorgefertigt, ich habe dieses Script allerdings in einer Perl version seit 4 Jahren ohne Problme im Einsatz. Wozu also ändern.
Am Ende habe ich also immer 11 Kommandos in den Bus.
EIn Weiteres „Problemkind“ ist ein Event, welches immer um 4:00 bzw. 9:00 läuft. Genauer gesagt 3 Mal, für 3 verschiedene LEDs.
ich muss mich berichtigen.
Das Script ist scheinbar nicht der „Fehler“. Probelme gab es eher mit Events die lediglich je eines dieser Kommandos im LCN triggern:
LCN_SwitchRelay($_IPS[‚TARGET‘], true);
LCN_SwitchRelay($_IPS[‚TARGET‘], false);
LCN_SetLamp(30736, 5, „E“);
LCN_SetLamp(30736, 5, „A“);
Scheint also doch eher nichts mit der Anzahl der Kommandos zu tun zu haben.