Hallo Zusammen,
ich habe eine Rolladensteuerung implementiert mit Code aus dem Forum. Prinzip ist dabei, dass die Rolladen nicht fahren, wenn die Wohnzimmertür auf ist oder die Rollade nicht komplett hochgefahren ist.
sub rollos_runter()
{
my @rollos=devspec2array("TYPE=CUL_HM");
foreach(@rollos) {
if (/.*Rollade_.*/) {
# Pruefen ob Rollos schon unten sind
if ( Value($_) eq "off" ) {
Log 3,"[rollos_runter] - Name: ".$_." ist schon unten - wird ignoriert!";
}
elsif ( Value($_) eq "20" ) {
Log 3,"[rollos_runter] - Name: ".$_." ist zu 20% offen - wird ignoriert!";
}
elsif (Value("Fensterkontakt_Wohnzimmer") eq "open" && $_ eq "Rollade_Wohnzimmer_links") {
Log 3, "[rollos_runter] - Name: ".$_." wird nicht heruntergefahren, da die Tuer auf ist!";
}
elsif ( Value($_) eq "on") {
if (Value("Fensterkontakt_Schlafzimmer") eq "open" && $_ eq "Rollade_Schlafzimmer") {
Log 3, "[rollos_runter] - Name: ".$_." wird auf 20% heruntergefahren, da die Tuer gekippt ist!";
fhem("set ".$_." 20");
}
else {
Log 3,"[rollos_runter] - Name: ".$_." wird heruntergefahren!";
fhem("set ".$_." getConfig");
}
}
}
}
}
Es funktioniert auch soweit, bis auf zwei Rolladen nicht. Diese werden im Log auch gar nicht angezeigt, was mich wundert, da Sie auch mit Rollade_ beginnen.
Hat hierzu irgendwer eine Idee? Ist das Array in der Anzahl der Devices ggf. beschränkt?
Gruß
Dominik
Gelöst- Hatte einen eventmap drauf, der statt off den Status geschlossen zurück gab.