Hallo Zusammen,
aktuell steuer ich meine Rollos zeitgesteuert zu festen Zeiten. Damit ich dies aber nicht nach Jahreszeit anpassen muss bietet sich ja das Modul Twilight an.
Leider funktioniert dies aber nicht so recht, egal ob ich auf Light, State oder aktEvent schaue. Das List vom Twilight schaut aber normal aus.
Ich möchte Morgens und Abends zur Dämmerung schalten, daher bietet es sich ja an auf die einzelnen ss oder sr events zu schauen über aktEvent oder?
Probiert hab ich es zum testen z.B. folgendermaßen
#Rollos Nachtschaltung
define RollosNacht notify myTwilight:light.* { if (ReadingsVal("myTwilight","light","6") <5) {fhem("set brRolloLinks off")} }
Hallo,
ich glaub nicht das ich das sag :o
Zu Versuchszwecken hab ich das mit DOIF lt. commandref so gelöst:
define di_light DOIF ([{sunrise()}-{sunset()}]) (set Dummy on) DOELSE (set Dummy off)
attr di_light devStateIcon cmd_1:shutter_open cmd_2:shutter_closed
attr di_light do always
In sunrise und sunset kannst du z.B. auch noch sowas einbauen ([{sunrise(-600,"06:00","09:00")}-{sunset(+650,"20:15","22:45")}])
Grüße
Das Reading light inTW ist scheisse und ist nur aus Kompatibilität noch enthalten. Du solltest ein notify auf aktEvent aufbauen. Das klappt bestens - bei mir jedenfalls.
Morgen Abend kann ich ein Codeschnipsel liefern
Ich benutze den wetterabhängigen Dämmerungswert zum Schließen der Rollos. Das sieht dann so aus:
define RollosRUNTER2 notify myT:twilight_weather.* {\
if (ReadingsVal("myT","twilight_weather",0) <= 39){\
fhem("attr RollosRUNTER2 disable 1");;\
fhem("set BAOS_30 on g2;;\
set BAOS_34 on g2;;\
set BAOS_42 on g2");;\
}\
}
Beim Schließen wird die Definition deaktiviert, damit sie nicht die ganze Nacht schaltet. Dazu wird das Ganze dann am nächsten Tag mittags wieder aktiviert.
define enableRollosAUTO at *12:00:00 attr RollosRUNTER1,RollosRUNTER2 disable 0
Zitat von: vuffiraa am 26 September 2014, 22:30:41
Ich benutze den wetterabhängigen Dämmerungswert zum Schließen der Rollos. Das sieht dann so aus:
define RollosRUNTER2 notify myT:twilight_weather.* {\
if (ReadingsVal("myT","twilight_weather",0) <= 39){\
fhem("attr RollosRUNTER2 disable 1");;\
fhem("set BAOS_30 on g2;;\
set BAOS_34 on g2;;\
set BAOS_42 on g2");;\
}\
}
Beim Schließen wird die Definition deaktiviert, damit sie nicht die ganze Nacht schaltet. Dazu wird das Ganze dann am nächsten Tag mittags wieder aktiviert.
define enableRollosAUTO at *12:00:00 attr RollosRUNTER1,RollosRUNTER2 disable 0
oder etwas kürzer in einem Modul:
define di_Rollos DOIF ([16:00-23:00] and [myT:twilight_weather]<39)
(set rollo runter)
DOELSEIF ([06:00-10:00] and [myT:twilight_weather]>39)
(set rollo hoch)
Den DOELSEIF-Fall zum Hochfahren kann man natürlich weglassen. Die Syntax dürfte selbsterklärend sein.
Gruß
Damian
Beispiel:
define TwilightMessage1 notify Twilight.*:aktEvent:.*ss_weather.* set StehlampeTisch on;; define yy at +00:00:05 set StehlampeTV on
Mein Code will nicht so recht
define RollosNacht2 notify myTwilight:aktEvent.* { if (ReadingsVal("myTwilight","aktEvent","0") == ss_astro) {fhem("set brLicht on")} }
@ Dietmar63 den Code so übernommen mit meinen Varablen gefüttert will auch nicht
Hallo,
ss_astro ist bei mir um 20:54 - logisch das dein notify nichts macht ::)
Sonst mal bitte den "Probecode" zeigen und etwaige Logfilemeldungen dazu.
Grüße
;D den Versuch habe ich natürlich gestern Abend gemacht.
Ok ich warte mal auf das nächste Event nacher und schau in den Log.
Hallo,
Zitatden Versuch habe ich natürlich gestern Abend gemacht.
Macht Sinn - aber schreib das bitte in Zukunft dazu.
Es erleichtert die "Arbeit" derjenigen, die versuchen zu helfen, ungemein wenn Probleme sowie Lösungsversuche GENAU beschrieben werden.
Alles andere führt zu einem "stochern im Nebel".
Grüße
== ss_astro)
Kann nicht funktionieren Probier
Eq ss_astro)
Grundlagen perl :Vergleich numeric alphabetisch
@ Puschel74, sorry ich dachte das wäre selbstverständlich. Werde ich aber beim nächsten mal detailierten angeben.
@ Dietmar63 jetzt wo du es sagst leuchtet es mehr als deutlich ein :)
Log sagt folgendes:
2014.09.30 19:09:09 3: RollosNacht2 return value: Bareword "ss_astro" not allowed while "strict subs" in use at (eval 606) line 1.
2014.09.30 19:09:09 3: RollosNacht2 return value: Bareword "ss_astro" not allowed while "strict subs" in use at (eval 607) line 1.
2014.09.30 19:47:37 3: RollosNacht2 return value: Bareword "ss_astro" not allowed while "strict subs" in use at (eval 608) line 1.
Ich warte jetzt mal auf das nächste ss event
Das neue Event spuckt folgendes aus mit Eq
2014.09.30 20:26:21 3: RollosNacht2 return value: syntax error at (eval 619) line 1, near ") Eq ss_naut"
syntax error at (eval 619) line 1, near "} }"
Hallo,
Zitat2014.09.30 19:09:09 3: RollosNacht2 return value: Bareword "ss_astro" not allowed while "strict subs" in use at (eval 606) line 1.
Ich vermute du hast in deinem Code ss_astro und nicht "ss_astro"?
Zitat@ Puschel74, sorry ich dachte das wäre selbstverständlich.
Was für dich selbstverständlich ist können wir nicht wissen ;)
Grüße
So ist es, nächstes Event dann um 21.06.
Ich setzt mich besser nur am Wochenende ran nach dem Aufstehen
Code lautet nun
define RollosNacht2 notify myTwilight:aktEvent.* { if (ReadingsVal("myTwilight","aktEvent","0") Eq "ss_astro") {fhem("set brLicht on")} }
Hallo,
eq bitte.
Nicht! Eq sondern eq
Grüße
Edith. Sollte auch Eq klappen hab ich wieder was gelernt 8)
Da bin ich ja beruhigt das ihr auch noch was lernen könnt ;-)
Aber man lernt ja freilich nie aus oder wie war das?
Ich hoffe dann mal das das Licht hier gleich um 21.06 im Büro angeht :).
Eq hatte ich vom Handy aus geschrieben. Autokorrektur oder so. Ich dachte, dass das Allgemeinwissen sein sollte.
Der Perlinterpreter sollte bei Eq jedenfall kräftig meckern.
1) solange du solche Fehler hast, ist bestimmt etwas faul:
Zitat2014.09.30 19:09:09 3: RollosNacht2 return value: Bareword "ss_astro" not allowed while "strict subs" in use at (eval 606) line 1.
2) Diese Fehlermeldung besagt, dass noch mehr falsch ist. Bitte so verändern:
eq "ss_astro")
21.06 und das Licht ist an "Daumen hoch" :) vielen Dank!
Nur so interesse halber:
Warum satt:
define RollosNacht2 notify myTwilight:aktEvent.* { if (ReadingsVal("myTwilight","aktEvent","0") eq "ss_astro") {fhem("set brLicht on")}
nicht einfach so:
define RollosNacht2 at *{sunset("ASTRONOMIC")} set brLicht on
Hat das einen Hintergrund?
@Pjg Du hast vollkommen recht deine Version is um ein vielfaches einfacher. Hab es umgestellt, manchmal macht man es sich einfach selbst schwer :)