Hallo!
Ich denke ich bin mal wieder betriebsblind:
Für die Rollläden im Kinderzimmer möchte ich entweder bei Dämmerung via Twilight ss_indoor die Rollläden runterfahren oder aber spätestens um 18:30 Uhr, weil da Zeit zum Bettgehen ist. Gleiches Problem dann auch umgekehrt, dass die Rollläden nicht vor 7:00 hochfahren, aber nur, wenn es bereits hell genug ist mit sr_indoor.
Freue mich über sachdienliche Hinweise, wie ich das zuverlässig hinbekomme. Danke!
Gruß Andi
1. Schritt: zwei Funktionen in die 99_myUtils.pm packen:
sub abend {
return (ss_indoor > "18:30") ? "18:30" : ss_indoor)
}
sub morgen {
return (sr_indoor < "07:00") ? "07:00" : sr_indoor)
}
2. Schritt: zwei at Definitionen anlegen:
define rollo_zu at *{abend} set rolladen zu
define rollo_auf at *{morgen} set rolladen auf
Ich hoffe, das Prinzip ist verständlich.
Hallo,
ich wollte das mal ausprobieren da ich mit meiner "Sonnendefinition" noch nicht ganz so weiter komme.
Der Fehler sieht dann so aus:
2015.02.20 09:18:31 1: configfile: the at function "abend" must return a timespec and not Undefined subroutine &main::abend called at (eval 9) line 1, <$fh> line 22.
.
the at function "morgen" must return a timespec and not Undefined subroutine &main::morgen called at (eval 10) line 1, <$fh> line 23.
Danke für die Hilfe
Wie wäre es denn so?
define DI_Rollos DOIF ([TwiLight:aktEvent] eq "ss_indoor" or [18:30])(set Rolladen zu)
DOELSEIF ([TwiLight:aktEvent] eq "sr_indoor" or [07:00])(set Rolladen auf)
Voraussetzung ist ein definiertes "Twilight"-Device (siehe Commandref).
Zitat von: DerRoteBlitz am 20 Februar 2015, 09:24:40
Hallo,
ich wollte das mal ausprobieren da ich mit meiner "Sonnendefinition" noch nicht ganz so weiter komme.
Der Fehler sieht dann so aus:
2015.02.20 09:18:31 1: configfile: the at function "abend" must return a timespec and not Undefined subroutine &main::abend called at (eval 9) line 1, <$fh> line 22.
.
the at function "morgen" must return a timespec and not Undefined subroutine &main::morgen called at (eval 10) line 1, <$fh> line 23.
Danke für die Hilfe
Versuch's mal so:
sub abend {
return (ReadingsVal("My_Twilight","ss_indoor","") > "18:30") ? "18:30" : ReadingsVal("My_Twilight","ss_indoor",""))
}
sub morgen {
return (ReadingsVal("My_Twilight","sr_indoor","" < "07:00") ? "07:00" : ReadingsVal("My_Twilight","sr_indoor",""))
}
Voraussetzung:
define My_Twilight Twilight <latitude> <longitude>
Prima, Danke flurin, Nachdem ich die fehlende Klammer gefunden hatte klappte es. Danke!
@Brockmann: Danke für den Tipp, werde ich auch noch testen!
Gruß
Zitat von: DerRoteBlitz am 24 Februar 2015, 19:14:50
Prima, Danke flurin, Nachdem ich die fehlende Klammer gefunden hatte klappte es. Danke!
Gruß
Ja, es fehlte eine Klammer am Schluss > korrigiert.
Gruss
flurin