Hallo zusammen,
der HmIP-BSL machte bei mir immer mal wieder Probleme, indem der Aktor nicht erreichbar war, "hängenblieb" oder ähnliches.
Meine Konstellation ist eine CCU3 mit CCU HAP's und FHEM im Docker Container auf einer Syno 918+.
Meine(!) Lösung:
CCU3- In den Einstellungen für den HmIP-BSL auf der CCU3 die Statusmitteilung Schaltausgang und Dimmwert (Channel 3, 7 und 11) Eventverzögerung und Zufallsanteil jeweils auf 3 Sekunden.
- Auf der CCU3 eine Systemvariable definieren: FHEM Dummy - Events von Tastern - Logikwert - ist falsch / ist wahr
- Auf der CCU3 ein Programm anlegen, mt den 4 Bedingungen Wenn HmIP-BSL Testendruck kurz/lang für oben/unten dann Systenzustand FHEM Dummy sofort ist wahr.
Der Dummy dient dazu, die Zustände bei kurzem und langem Tastendruck in FHEM nutzen zu können, damit erübrigt sich für meine Logiken eine Rückmeldung zu den Status der Schaltsausgänge und die Verzögerung spielt keine Rolle.
Beispiel in FHEMDas Coding aus einem DOIF ist verkürzt, es werden auf diese Weise mehrere Befehle in einem Aufruf gesendet.
([CCU_EG_FL_BSL_FLUR:2.PRESS_LONG] eq 'pressed')
## Taste oben LONG
(
{
## 0=BLACK 1=BLUE 2=GREEN 3=TURQUOISE 4=RED 5=PURPLE 6=YELLOW 7=WHITE
my $timestamp = localtime(time);
Log 1, "--> Eingang 2.PRESS_LONG - $timestamp <--";
my $LED_CCU="";;
my $Button_Up="CCU_EG_FL_BSL_FLUR_BTN_UP";;
my $Button_Down="CCU_EG_FL_BSL_FLUR_BTN_DOWN";;
my $Switch_LED="CCU_EG_FL_BSL_FLUR";;
my $BTNUP_COLOR=ReadingsVal("$Button_Up", "8.COLOR", "");;
my $BTNUP_LEVEL=ReadingsVal("$Button_Up", "8.LEVEL", "");;
$LED_CCU = "$Button_Up.8.COLOR=1";;
$LED_CCU .= " $Button_Up.8.LEVEL=100";;
fhem ("set ccu3 datapoint $LED_CCU; sleep 5; set ccu3 datapoint $LED_CCU1");;
}
)
Hoffentlich hilft der Ansatz dem/der ein oder anderen ;)
Viele Grüße
Dirk