Hallo Zusammen,
ich habe null Ahnung vom Programmieren, schon gar nicht von pearl. Durch das Fhem Wiki und die Einsteiger-Lektüre bin ich für meine Verhältnisse aber schon weit gekommen. Vielen Dank dafür!!!
Jetzt scheint es aber ins Eingmachte (zumindest für mich!!!) zu gehen, und ich komme nicht wirklich weiter.
Im fhem wiki finde ich eine Twilight Lösung, die mir aber zu komplex ist....
Folgendes Ziel: einschalten der Gartenbeleuchtung auf Basis von Twilight mit dem Sonnenuntergang! > Ausschalten zu einer fixen Uhrzeit > 22:00Uhr
Twilight läuft mit Längen- und Breitengrad für Düsseldorf, auch die Yahoo Wetterdaten sind drin.
Ich nehme mal an, dass man mit notify und if Anweisungen jetzt weitermachen müsste..?!
also irgendwie....Define lampen_garten_An_Sonnenuntergang Notify <if sunset=true, oder light >=6 > set lampe_garten on.
Wer kann helfen, bin für jeden Codeschnipsel dankbar.
Danke & Guten Rutsch,
Bibo
Hallo Bibo,
ich ähnlich wenig Programmierkenntnisse, gelöst habe ich es folgendermaßen:
define Aussen_sunset_an at *{sunset("REAL")} set AuStr on
Hiermit schalte ich AuStr mit Sonnenuntergang ein. Man könnte das noch verzögern, wenn gewünscht.
define Hausfront_Strahler_off at *22:00 set AuStr off
Hier wird AuStr um 22:00 Uhr ausgeschaltet.
Ich denke, dass ist das was Du möchtest.
Das kann wahrscheinlich noch besser gemacht werden, aber für mich erfüllt es den Zweck.
Hoffe es hilft.
Gruß und guten Rutsch
Chrischan
versuch das mal.
myTwilight hast du ja definiert?
die zahl 4 oder 9 ist der heligkeitswert 0 ist zb. nacht
define Sonne dummy
define SonneAus notify myTwilight:light.* {\
if($value{myTwilight}==4){\
fhem("set Sonne on");;\
}\
}
define SonneAn notify myTwilight:light.* {\
if($value{myTwilight}==9){\
fhem("set Sonne off");;\
}\
}
define FileLog_Sonne FileLog ./log/Sonne-%Y.log Sonne
attr FileLog_Sonne logtype text
attr FileLog_Sonne room Logs
Gruß Markus und guten rutsch
Hallo Chrischan,
habe ich mal eingebunden, gibt keinen Fehler. teste das dann morgen....
Frage:
[quote title=chrischan schrieb am Mo, 31 Dezember 2012 17:34
define Aussen_sunset_an at *{sunset("REAL")} set AuStr on
Hiermit schalte ich AuStr mit Sonnenuntergang ein. Man könnte das noch verzögern, wenn gewünscht.
[/quote]
Wo kommen die Werte her, auf die {sunset("REAL")} zugreift? Ist das auch die "Twilight" oder diese "SUNRISE EL"? Diese Datei finde ich in meinem FHEM überhaupt nicht! Daher bin ich überhaupt auf die Twilight gekommen, weil ich hier Breiten und Längengrade auf meinen Standort anpassen konnte.
Idee?
Gruß
Bibo
Danke, Markus!
Was kommt nach dem Dummy? Irgendwo dahinter muss ich doch jetzt auf den Dummy zugreifen, um dann die "SET Lampe ON" zu definieren!?
Wieder über eine notify Funktion?
Danke.....und ich bin begeistert, wie das hier klappt! Tolle Sache mit dem Forum.
Zitat von: Markus schrieb am Mo, 31 Dezember 2012 18:12define Sonne dummy
define SonneAus notify myTwilight:light.* {\
if($value{myTwilight}==4){\
fhem("set Sonne on");;\
}\
}
define SonneAn notify myTwilight:light.* {\
if($value{myTwilight}==9){\
fhem("set Sonne off");;\
}\
}
define FileLog_Sonne FileLog ./log/Sonne-%Y.log Sonne
attr FileLog_Sonne logtype text
attr FileLog_Sonne room Logs
du kannst sonne einfach durch deinen aktor ersetzen, zb licht_wohnzimmer
grus Markus
Hi,
und die Lösung hat so einen weiteren Schönheitsfehler...im Hochsommer kann der errechnete Sonnenuntergang durchaus mal nach 22 Uhr erfolgen. Was dann? Lich gar nicht an? Licht die ganze Nacht an? Also entweder um 22 Uhr einen Dummy setzen und bei Sonnenaufgang zurücksetzen und diesen in die Abfrage mit einbauen oder einen zweiten Ausschaltbefehl auf einen Zeitpunk nach dem spätest möglichen Sonnenuntergang legen. Auf jeden Fall sollte so eine Funktion immer ein sicher definiertes Aus haben.
Gruß Andreas
Da hat Andreas natürlich recht, mein fhem hat noch keinen Sommer erlebt aber für die Weihnachtsbeleuchtung hat Twilight super Funktioniert.
Markus
Normalerweise dachte Ich das sunset("REAL"."60",:"22:00","24:00") so funktioniert das ein gerät anschaltet nach sunset aber nicht früher als 22:00 und nicht später als 24:00. (und wenn sunset "REAL" zwischen 2200 und 2400 liegt, wird erst bei sunset, und mit eine Verzögerung von 60 Sekunden angeschaltet).
Funktioniert erst den nächsten tag, nächster zeit wird mit +24 stdn weggeschrieben.
Johan
edit post wäre sinnvoll :)
sunset("REAL","60","22:00","24:00")
Zitat von: Markus schrieb am Di, 01 Januar 2013 12:33Da hat Andreas natürlich recht, mein fhem hat noch keinen Sommer erlebt aber für die Weihnachtsbeleuchtung hat Twilight super Funktioniert.
Markus
Die 3 Tage im Sommer, an denen die Sonne nach 22:00 untergeht, schalte ich die Lampen noch "old-school" aus. Falls über ipad und Soft-Button schon als old-school gilt ;-)
Es funktioniert auf jeden Fall, habe es getestet! Markus, vielen Dank!
Ich wünsche noch einen schönen Neujahrs-Tag!
Gruß Bibo
Hallo,
es ist eben die Frage ob es mit Twillight oder sunset gelöst wird. Eines begranzt die Zeiten, das andere nicht....
Und ja - Ipad ist Old-....(Von meinem IPad gesendet)
Gruß Andreas
Moin erstmal...
Wäre dieses Beispiel zu kurz gedacht und warum macht es nicht das, was es soll ?
NETIO_Socket4 ist vorher als Schalaktor definiert und lässt sich auch schalten.
---
define MyTwilight Twilight 52.278889 8.043056 3 683477
define Sonnenuntergang notify MyTwilight:light.* {\
if($value{MyTwilight}<4 ){\
fhem("set NETIO_Socket4 on");;\
}\
}
define Sonnenaufgang notify MyTwilight:light.* {\
if($value{MyTwilight}>=4){\
fhem("set NETIO_Socket4 off");;\
}\
}
---
Grüße...
Nilz
Hi Nilz!
Da du schon auf "light" abfragst, dann setzt du vielleicht besser:
if(ReadingsVal("MyTwilight","light","4") < 4
ein.
Hi!
Also ich habe es bei mir mit Twilight und einer TimeOffset-Funktion (diese stammt aus einem Post st hier im Forum).
Damit ist in diesem Beispiel das Schalten der Rollläden um 20min verschoben, aber spätestens 9:00 gehen die Rolläden auf.
Funktioniert bisher prima!!!
in Fhem.cfg:
define myTL Twilight 50.596 12.672 1 12831828
define FileLog_Twilight FileLog /usr/local/FHEM/var/log/Twilight-%Y.log myTL:light.*
attr FileLog_Twilight logtype Twilight:Plot,text
attr FileLog_Twilight room Notifys
define Rolll_Frueh at *{TimeOffset(ReadingsVal("myTL","sr","09:00:00"),+20)} {\
fhem("set Rollladen_EG Auf;;\
set Rollladen_Flur Auf;;\
sleep 10;;set Dimmer_Wozi off;;")}
attr Rolll_Frueh room Notifys
define Rolll_Daemm at *{TimeOffset(ReadingsVal("myTL","ss","17:30:00"),+40)} {\
fhem("set Rollladen_EG 1;;\
set Rollladen_Flur 5;;\
sleep 15;;set Dimmer_Wozi 50;;")}
attr Rolll_Daemm room Notifys
in myUtils.pm:
sub TimeOffset($;$)
{
my $PtimeOrg = shift;
my $Poffset = shift;
$PtimeOrg = "" unless(defined($PtimeOrg));
$Poffset = 0 unless(defined($Poffset));
my ($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst) = localtime;
if ($PtimeOrg !~ /[0-2][0-9]:[0-5][0-9]/ or substr($PtimeOrg,0,2) >= 24) {$PtimeOrg = $hour.":".$min;}
my $TimeP = mktime(0,substr($PtimeOrg,3,2),substr($PtimeOrg,0,2),$mday,$month,$year,$wday,$yday,$isdst);
my $TimePM = $TimeP + $Poffset * 60;
my ($Psec,$Pmin,$Phour,$Pmday,$Pmonth,$Pyear,$Pwday,$Pyday,$Pisdst) = localtime($TimePM);
my $ReturnText = sprintf("%02d:%02d:%02d", $Phour, $Pmin, $Psec);
}
MfG, MisterEltako