FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ArduPino am 29 September 2016, 12:24:59

Titel: Licht morgens anschalten aber nur wenn es dunkel ist
Beitrag von: ArduPino am 29 September 2016, 12:24:59
Hallo.
Ich möchte eine Lampe (Steckdose_A) um 7:25 einschalten, aber nur wenn es dunkel ist und um 8:00 Uhr wieder ausschalten.
Ein bestehendes at was nur per Uhrzeit geschaltet hat, habe ich nun versucht zu ändern:
Das Twilight device heißt LichtWetter bei mir.

*07:25:00 if {twilight("LichtWetter","state",<6)} set Steckdose_A on
oder
*07:25:00 {if {twilight("LichtWetter","state",<6)} {fhem("set Steckdose_A on")}}

If kenn eich aus BASIC / C / Arduino, hier das mit den Klammern ist schon seltsam.
Generell weiß ich aber auch nicht, wie man an solche Infos ran kommt. Die commandref hilft mir da gar nicht weiter.
Hab zwar einiges an Beispielen im Internet gefunden, aber meist nur was mit Sonnenuntergang oder zu einer bestimmten Zeit.

Kann mir hierzu jemand weiterhelfen ?
Titel: Antw:Licht morgens anschalten aber nur wenn es dunkel ist
Beitrag von: DeeSPe am 29 September 2016, 12:33:38
Perl Code kommt in geschweifte Klammern.
if, elsif und else Statements kommen in normale Klammern.
An bestimmte Readings kommst Du mit ReadingsVal(...).
{fhem "set ..... on" if(ReadingsVal("T","light",0)<5)}

Gruß
Dan
Titel: Antw:Licht morgens anschalten aber nur wenn es dunkel ist
Beitrag von: Hauswart am 29 September 2016, 13:13:51
Ansonsten wäre auch ein DOIF sehr einfach umzusetzen: http://fhem.de/commandref_DE.html#DOIF (http://fhem.de/commandref_DE.html#DOIF) bzw. hier fast dein Fall: http://fhem.de/commandref_DE.html#DOIF_checkReadingEvent (http://fhem.de/commandref_DE.html#DOIF_checkReadingEvent) oder http://fhem.de/commandref_DE.html#DOIF_Kombination_von_Ereignis_und_Zeitsteuerung_mit_logischen_Abfragen

Z.B
define di_light DOIF ([07:25-08:00] and [LichtWetter:light] < 6 and !$we) (set Steckdose_A on) DOELSE (set Steckdose_A off)


Edit: Soll denke ich nur unter der Woche angeschaltet werden um 07:25.
Edit2: Code optimiert
Titel: Antw:Licht morgens anschalten aber nur wenn es dunkel ist
Beitrag von: ArduPino am 30 September 2016, 01:58:00
Super ! Das DOIF gefällt mir.
Und ja, gute Idee das mit den Wochentagen !
Ist eine Lampe im Außenbereich, und jetzt wenn es morgens noch dunkel ist, kann die an sein, wenn die Kinder zu Schule gehen.
Titel: Antw:Licht morgens anschalten aber nur wenn es dunkel ist
Beitrag von: Ellert am 30 September 2016, 04:31:58
Die Wochentage kannst Du bei der Zeitspanne mit angeben: Wochentagsteuerung (http://fhem.de/commandref_DE.html#DOIF_Wochentagsteuerung)

define di_light DOIF ([07:25-08:00|8] and [LichtWetter:light] < 6) (set Steckdose_A on) DOELSE (set Steckdose_A off)