ich habe eine Modul, in der es eine Methode gibt mehrere Variablen zu schalten.
Dies ist generell kein Problem mit einem Array und einer Foreach Schleife.
Da es sich bei den Variablen um Homematic und Homeatic IP Aktoren handelt, muss ich ja zwischen zwei Aktoren eine kurze Verzögerung einbauen, um die Funkhygiene zu gewährleisten.
Dies habe ich in der Vergangenheit mit IPS_Sleep(250); gemacht.
Ich meine in Erinnerung zu haben, dass man IPS_Sleep vermeiden sollte.
Ich müsste es dann über RegisterTimer lösen, was generell auch kein Problem darstellt. Der Programmieraufwand ist aber aus meiner Sicht wesentlich größer.
Hast du das mal entsprechend getestet? Ich hätte jetzt erwartet, dass die CCU sich um soetwas kümmert, sodass zwischen HmRF und HmIP Befehlen kein Sleep notwendig wäre.
Ich würde dies ggf. einstellbar machen. Denn alle kabelgebundenen Systeme (z.B. LCN, KNX) benötigen soetwas nicht. Du musst nur die 30 Sekunden im Hinterkopf behalten. Wenn das passt, dann ist ein Sleep sicherlich vertretbar. (Dein Skript läuft ja nicht ständig)
ich habe es jetzt mal mit HmIP Komponenten ohne IPS_Sleep ausprobiert.
2 HmIP-ASIR Geräte, ohne Fehler
3 HmIP-PS, ohne Fehler
3 HmIP-PS + 1 HmIP-MP3P, teilweise mit Fehler beim HmIP-MP3P
Man merkt auch bei einer Einzelschaltung, dass der HmIP-MP3P manchmal sehr träge ist, bzw. es etwas länger dauert, bis er auf einen neue Farbe umschaltet, das ist beim HmIP-BSL ganz anders, flott ist der…
Mein Eindruck ist:
ohne IPS_Sleep funktioniert es, hier kommt es aber auf die Aktoren an, die geschaltet werden
bei manchen Aktoren sollte man besser IPS_Sleep verwenden
generelles Verwenden von IPS_Sleep entzerrt den Funkverkehr
Heizungsgruppen sind auch nett, wenn man z. B. das Haus verlässt und sich das Runterregeln lohnt Ich verwende immer sleep anstelle von ips_sleep was bei mir bislang zu keinerlei Problemen führte.