[gelöst] Licht an wenn sunrise erst später ist.

Begonnen von yogiflop, 06 Januar 2014, 13:10:53

Vorheriges Thema - Nächstes Thema

yogiflop

Hallo,

ich bin nun schon eine ganze Zeit am tüfteln und habe auch schon einiges bewerkstelligt bekommen. Aber ein Problem habe ich noch, das sicherlich Richtung Sommer auf mich zukommen wird.
Ich habe einige Lampen die morgens angehen sollen, aber nur, wenn noch kein Sonnenaufgang (es draussen hell ist) war, bzw. sollen ausgehen, wenn Sonnenaufgang ist.

Hier mal zwei Lampenbeispiele:
Das Sofalicht soll um 6:01 Uhr angehen, wenn noch kein Sonnenaufgang war und soll um 6:40 Uhr wieder ausgehen (nur während der Woche)

define Licht_Sofa_morgens_an at *06:01:00 { fhem("set Licht_Sofa on") if(!$we) }
define Licht_Sofa_morgens_aus at *06:40:00 { fhem("set Licht_Sofa off") if(!$we) }

Das Licht im Flur soll morgens um 6:00 Uhr angehen und bei Sonnenaufgang ausgehen. (Die 10 Sekunden versatz sind erwünscht ;-) )

define Licht_Flur_morgens_an at *06:00:10 set Licht_Flur on
define Licht_Flur_morgens_aus at *{sunrise("REAL",-10)} set Licht_Flur off


Die Programme arbeiten momentan ohne Probleme, die Frage ist eben, was passiert, wenn Sonnenaufgang vor 6 Uhr ist.

bis denne


CubieTruck mit FHEM 5.7
433MHz, 868MHz HMLan
div. Baumarktsteckdosen, 3x HM
div. MiLight's

juppzupp

ZitatDie Programme arbeiten momentan ohne Probleme, die Frage ist eben, was passiert, wenn Sonnenaufgang vor 6 Uhr ist.

du schaltest das licht aus bevor es eingeschaltet wird, und somit bleibt es dann ab 6:00:10 an.



Zrrronggg!

#2
http://www.fhem.de/commandref.html#SUNRISE_EL

Speziell diese Passage:

  # Switch lamp1 on at real sunset, not before 18:00 and not after 21:00
    define a15 at *{sunset("REAL",0,"18:00","21:00")} set lamp1 on

Bin mir nicht 100% sicher ob man dein spezielles Problem damit lösen kann, da würde ich mich aber zuerst mal mit befassen.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

yogiflop

Zitat von: Zrrronggg! am 06 Januar 2014, 13:25:46
  # Switch lamp1 on at real sunset, not before 18:00 and not after 21:00
    define a15 at *{sunset("REAL",0,"18:00","21:00")} set lamp1 on


danke für die Antworten. Das in der Doku hatte ich auch gefunden und mir mehrfach durchgelesen, aber ich ich weiß nicht, wie ich das in die Prüfung integrieren kann.

Zitat von: juppzupp am 06 Januar 2014, 13:24:48
du schaltest das licht aus bevor es eingeschaltet wird, und somit bleibt es dann ab 6:00:10 an.

ja, das habe ich mir auch schon gedacht, momentan läuft es noch, aber nicht wenn die Sonne zu früh aufgeht.
CubieTruck mit FHEM 5.7
433MHz, 868MHz HMLan
div. Baumarktsteckdosen, 3x HM
div. MiLight's

Paul

Wie wäre es damit:

    define a15 at *{sunset("REAL",0,"06:00:00","06:00:10")} set lamp1 on
define aus at *{sunset("REAL",0,"06:00:11","10:00:10")} set lamp1 off



Ungetestet
Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic

Zrrronggg!

Okay.

Bestehst du auf
{sunrise("REAL",-10)}
? Faktisch wird es ja schon vorher hell.

man könnte sonst "isday" verwenden, das sich aber, wenn ich mich recht erinnere auf sunrise() bezieht.

Dann könnte  man folgendes machen:

define Licht_Flur_morgens_an at *06:01:10  {if (!isday()) {fhem("set Licht_Flur on")}}

Macht das Licht um 6.01 Uhr an, aber nur wenn noch nicht Sonnenaufgang (bzw. beginn bürgerlicher Dämmerung) war.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

yogiflop

Zitat von: Zrrronggg! am 06 Januar 2014, 19:50:16
Okay.

Bestehst du auf
{sunrise("REAL",-10)}
? Faktisch wird es ja schon vorher hell.

man könnte sonst "isday" verwenden, das sich aber, wenn ich mich recht erinnere auf sunrise() bezieht.

Dann könnte  man folgendes machen:

define Licht_Flur_morgens_an at *06:01:10  {if (!isday()) {fhem("set Licht_Flur on")}}

Macht das Licht um 6.01 Uhr an, aber nur wenn noch nicht Sonnenaufgang (bzw. beginn bürgerlicher Dämmerung) war.


genau da bin ich nun bei der Suche auch gelandet und habe die Zeilen mal etwas modifiziert.

define Licht_Flur_morgens_an at *06:00:10 { fhem("set Licht_Flur on") if(!isday()) }
define Licht_Flur_morgens_aus at *{sunrise("REAL",-10)} set Licht_Flur off

define Licht_Sofa_morgens_an at *06:01:00 { fhem("set Licht_Sofa on") if( !isday() && !$we) }
define Licht_Sofa_morgens_aus at *06:40:00 { fhem("set Licht_Sofa off") if(!$we) }
CubieTruck mit FHEM 5.7
433MHz, 868MHz HMLan
div. Baumarktsteckdosen, 3x HM
div. MiLight's

juppzupp

Warum willst du denn statisch um 6 einschalten?

Ich stehe z.b. nicht vor 7 auf, und hab mir darauf hin folgendes gebastelt.:

define Morgenlicht_On at *{sunrise("NAUTIC",0,"00:00","09:29")} { if ($we == 0 && $hour ~~ [7..9]) { fhem("set connair_ku_ambient on") } }

define Morgenlicht_Off at *{sunrise("REAL",300,"00:00","09:30")} { if ($we == 0) { fhem("set connair_ku_ambient off") } }

yogiflop

#8
Zitat von: juppzupp am 06 Januar 2014, 20:11:35
Warum willst du denn statisch um 6 einschalten?

Ich stehe z.b. nicht vor 7 auf, und hab mir darauf hin folgendes gebastelt.:


ich stehe in der Woche immer um 6 Uhr auf (Berufsbedingt) , daher die Uhrzeit ;-)

Der fertige Code sieht jetzt so aus, habe ihn etwas umgeschrieben und angepasst.


define Licht_Flur_morgens_an at *06:00:10 { if( !isday())  { fhem("set Licht_Flur on") }}
define Licht_Flur_morgens_aus at *{sunrise("REAL",-10)} set Licht_Flur off

define Licht_Sofa_morgens_an at *06:01:00 { if( !isday() && !$we) { fhem("set Licht_Sofa on") }}
define Licht_Sofa_morgens_aus at *06:40:00 { if( !$we) { fhem("set Licht_Sofa off") }}
CubieTruck mit FHEM 5.7
433MHz, 868MHz HMLan
div. Baumarktsteckdosen, 3x HM
div. MiLight's

Obermaster

Hallo

zum fertigen Code hätte ich noch eine Frage. Ich versuche gerade meine cfg ein wenig zu entschlacken und
das bringt mich zur nächsten Frage.
Die Lösung ist toll aber ich möchte wenn die Lampe eingeschaltet wird auch dirket den Ausschaltbefehl mitgeben
brauche aber aufgrund des wenigen Verständnis von PERL ein wenig hilfe
Ich dachte so

define Haustuerlampe_morgens_an at *07:00:00 { if( !isday() && !$we) { fhem("set Licht_Sofa on-till sunrise()") }}
oder so
define Haustuerlampe_morgens_an at *07:00:00 { if( !isday() && !$we) { fhem "set Licht_Sofa on-till" .sunrise() }}

kann mir jemand die korrekte Schreibweise erkären ??




Zrrronggg!

FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL