So kompliziert muss man es nicht machen, es geht einfacher. Drauf gekommen bin ich durch die letzte Änderung, man kann wieder den 'Aktiv' Eintrag dafür missbrauchen. Allerdings kann die Syntax für Nicht-Programmierer dadurch schon etwas fordernder werden, obwohl es im Prinzip einfach ist.
Zunächst der Eintrag für 'Aktiv':
oder wenn man das in echten Minuten angeben möchte auch
Nun die Erläuterung, zunächst auf Fachchinesisch: Dieser Term evaluiert zu 'true', wenn der Wert des Hash-Eintrages %plugin_info{'emx_sonne.pl.auf'} größer/gleich 6.5 ist. Andernfalls evaluiert der Ausdruck zu 'false'.
Nun nochmal auf Deutsch:
Der Wert $plugin_info{'emx_sonne.pl.auf'} enthält den Sonnenaufgang als Fliesskommazahl. Der Vergleich $plugin_info{'emx_sonne.pl.auf'} >= 6.5 ergibt nun entweder 'wahr', was als '1' zu verstehen ist, oder 'falsch', was einer Null entspricht. Das Ergebnis landet in 'Aktiv'.
Das geht natürlich ebenso für >= (größer/gleich) Vergleiche wie für <= (kleiner/gleich), für emx_sonne.pl.auf ebenso wie für emx_sonne.pl.unt. Wer sich seine %plugin_info im Wirgate Web-Frontend mal ansieht, wird vielleicht noch mehr interessante Werte finden. Vergleiche auf '==' (ist gleich) sind übrigens kritisch, weil Fließkommazahlen in perl (und fast allen anderen Sprachen) eine unpräzise Sache sind. Da wird zum Beipiel 1.99 intern auch mal als 1.8999999 abgebildet, weshalb ich generell 'weichere' Vergleiche wie >= oder <= empfehle. Wers trotzdem mit 'ist gleich' versuchen möchte, muss zwei (!) ist-gleich Zeichen verwenden.
Viel Erfolg damit, und immer genau nach so gemeinen Dingen wie Kommata, Apostrophen, Klammern geschweifter und runder Art usw. schauen, die pfuschen einem nämlich öfter mal dazwischen
PS: Im vorliegenden Fall 'Rolläden' fährt im Beispiel der Rolladen nur dann hoch, wenn der Sonnenaufgang später oder gleich 6:30 Uhr stattfindet. Ist er früher, bleibt der Rolladen unten. Logischerweise muss im letzteren Fall dann ein zweiter Eintrag her, der das dann irgendwann erledigt.
Zunächst der Eintrag für 'Aktiv':
Code:
Aktiv=>($plugin_info{'emx_sonne.pl.auf'} >= 6.5)
Code:
Aktiv=>($plugin_info{'emx_sonne.pl.auf'} >= (6.0 + 30/60))
Nun nochmal auf Deutsch:
Der Wert $plugin_info{'emx_sonne.pl.auf'} enthält den Sonnenaufgang als Fliesskommazahl. Der Vergleich $plugin_info{'emx_sonne.pl.auf'} >= 6.5 ergibt nun entweder 'wahr', was als '1' zu verstehen ist, oder 'falsch', was einer Null entspricht. Das Ergebnis landet in 'Aktiv'.
Das geht natürlich ebenso für >= (größer/gleich) Vergleiche wie für <= (kleiner/gleich), für emx_sonne.pl.auf ebenso wie für emx_sonne.pl.unt. Wer sich seine %plugin_info im Wirgate Web-Frontend mal ansieht, wird vielleicht noch mehr interessante Werte finden. Vergleiche auf '==' (ist gleich) sind übrigens kritisch, weil Fließkommazahlen in perl (und fast allen anderen Sprachen) eine unpräzise Sache sind. Da wird zum Beipiel 1.99 intern auch mal als 1.8999999 abgebildet, weshalb ich generell 'weichere' Vergleiche wie >= oder <= empfehle. Wers trotzdem mit 'ist gleich' versuchen möchte, muss zwei (!) ist-gleich Zeichen verwenden.
Viel Erfolg damit, und immer genau nach so gemeinen Dingen wie Kommata, Apostrophen, Klammern geschweifter und runder Art usw. schauen, die pfuschen einem nämlich öfter mal dazwischen

PS: Im vorliegenden Fall 'Rolläden' fährt im Beispiel der Rolladen nur dann hoch, wenn der Sonnenaufgang später oder gleich 6:30 Uhr stattfindet. Ist er früher, bleibt der Rolladen unten. Logischerweise muss im letzteren Fall dann ein zweiter Eintrag her, der das dann irgendwann erledigt.
Kommentar