Licht morgens anschalten aber nur wenn es dunkel ist

Begonnen von ArduPino, 29 September 2016, 12:24:59

Vorheriges Thema - Nächstes Thema

ArduPino

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 ?

DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Hauswart

#2
Ansonsten wäre auch ein DOIF sehr einfach umzusetzen: http://fhem.de/commandref_DE.html#DOIF bzw. hier fast dein Fall: 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
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

ArduPino

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.

Ellert

Die Wochentage kannst Du bei der Zeitspanne mit angeben: Wochentagsteuerung

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