FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Banana_Joe am 26 September 2014, 18:24:02

Titel: Mal wieder Twilight
Beitrag von: Banana_Joe am 26 September 2014, 18:24:02
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")} }
Titel: Antw:Mal wieder Twilight
Beitrag von: Puschel74 am 26 September 2014, 18:48:23
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
Titel: Antw:Mal wieder Twilight
Beitrag von: Dietmar63 am 26 September 2014, 21:44:41
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
Titel: Mal wieder Twilight
Beitrag 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
Titel: Antw:Mal wieder Twilight
Beitrag von: Damian am 27 September 2014, 08:57:13
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
Titel: Antw:Mal wieder Twilight
Beitrag von: Dietmar63 am 28 September 2014, 19:52:58
Beispiel:

define TwilightMessage1       notify Twilight.*:aktEvent:.*ss_weather.*      set StehlampeTisch on;; define yy at +00:00:05 set StehlampeTV on
Titel: Antw:Mal wieder Twilight
Beitrag von: Banana_Joe am 30 September 2014, 16:31:29
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
Titel: Antw:Mal wieder Twilight
Beitrag von: Puschel74 am 30 September 2014, 16:43:06
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
Titel: Antw:Mal wieder Twilight
Beitrag von: Banana_Joe am 30 September 2014, 16:54:59
 ;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.
Titel: Antw:Mal wieder Twilight
Beitrag von: Puschel74 am 30 September 2014, 17:01:47
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
Titel: Antw:Mal wieder Twilight
Beitrag von: Dietmar63 am 30 September 2014, 18:54:02
== ss_astro)

Kann nicht funktionieren Probier

Eq ss_astro)

Grundlagen perl :Vergleich numeric alphabetisch

Titel: Antw:Mal wieder Twilight
Beitrag von: Banana_Joe am 30 September 2014, 20:21:48
@ 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 "} }"

Titel: Antw:Mal wieder Twilight
Beitrag von: Puschel74 am 30 September 2014, 20:27:48
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
Titel: Antw:Mal wieder Twilight
Beitrag von: Banana_Joe am 30 September 2014, 20:31:30
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")} }
Titel: Antw:Mal wieder Twilight
Beitrag von: Puschel74 am 30 September 2014, 20:33:22
Hallo,

eq bitte.
Nicht! Eq sondern eq

Grüße

Edith. Sollte auch Eq klappen hab ich wieder was gelernt  8)
Titel: Antw:Mal wieder Twilight
Beitrag von: Banana_Joe am 30 September 2014, 20:37:45
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 :).
Titel: Antw:Mal wieder Twilight
Beitrag von: Dietmar63 am 30 September 2014, 20:55:11
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")
Titel: Antw:Mal wieder Twilight
Beitrag von: Banana_Joe am 30 September 2014, 21:06:48
21.06 und das Licht ist an "Daumen hoch" :) vielen Dank!
Titel: Antw:Mal wieder Twilight
Beitrag von: Pjg am 30 September 2014, 22:37:36
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?
Titel: Antw:Mal wieder Twilight
Beitrag von: Banana_Joe am 13 Februar 2015, 18:30:28
@Pjg Du hast vollkommen recht deine Version is um ein vielfaches einfacher. Hab es umgestellt, manchmal macht man es sich einfach selbst schwer :)