Hallo mein Name ist Mark, ich bin recht Neu im Thema Fhem.
Ich würde gerne folgendes realisieren, wir haben eine Hofeinfahrt mit einem Tor, hier würde ich gerne einen Lichtschranke FS20 IRL ca 50cm über den Boden installieren damit diese nicht bei jeder Katze die durchläuft schaltet;-)
Über die Lichtschranke möchte ich zum einen unsere Außenbeleuchtung schalten aber auch nur wenn es Dunkel ist, denn Tagsüber brauchen die Lampen ja nicht leuchten ;-) und zum 2. Möchte ich eine optische und akustische Meldung erhalten wenn jemand die Lichtschranke passiert.
Die Lichtschranke FS20 IRL habe ich bereits mit einer FS20 ST-4 Schaltsteckdose kombiniert sodass beim auslösen der Lichtschranke für ca. 4 Minuten die entsprechende Beleuchtung einschaltet, wir fehlt aber eine Idee wie ich der Lichtschranke mitteile, dass sie nur bei Dunkelheit das Licht schalten soll oder muss ich noch einen Dämmerungsschalter dazwischen setzen?
Hat da vielleicht einer von euch eine Idee die auch ein Fhem-Neuling versteht?
Gruß Mark
Hallo MarkJ.
du kannst das mit sunset und sunrise realisieren, ähnlich wie bei einer rolladen steuerung
Mach dir einen Dummy, den du mit sunset setzt. In abhängigkeit von davon kann dann dein hoflicht eingeschaltet werden oder auch nicht.
So sieht das bei mir mit dem Rolladen aus. Wenn du das abänderst, kannst du damit deinen Dummy schalten.
define Kuechenfenster_runter at *{sunset("CIVIL",0,"19:30:00","22:00:00")} {fhem("set Rolladen_Fenster off")}
Hallo,
das habe ich schon versucht, trotzdem schaltet die Beleuchtung dann auch Tagsüber ein.
define Sonnenaufgang at *05:45:00 {my $Sonnenaufgang = sunrise("REAL",0);; Log 3, "Sonnenaufgang ist: $Sonnenaufgang Uhr"}
define Sonnenuntergang at *05:45:00 {my $Sonnenuntergang = sunset("REAL",0);; Log 3, "Sonnenuntergang ist: $Sonnenuntergang Uhr"}
define HofbeleuchtungAn at *{sunset(0,"17:00","19:00")} set Hofbeleuchtung on
define HofbeleuchtungAus at *{sunrise(0,"08:00","09:00")} set Hofbeleuchtung off
oder habe ich hier einen Denkfehler drin?
Gruß Mark
Ich schätze, du müsstest den ganzen Code posten, der dein Licht anwerfen soll, ebenso den, der die Lichtschranke auswertet.
Ich habe ein anderes Szenario, was aber auf etwas ähnliches rausläuft:
Bei einem bestimmten Lichtwert soll eine Lampe angeworfen werden wenn ein Ereignis auftritt.
Ich versuche es zu erklären:
define Flur2_Licht_AN notify OG_fl2_BM:motion { \
my $Helligkeit=(ReadingsVal("CUL_HM_HM_Sen_MDIR_O_1A8306","brightness",99));;\
fhem ("set OG_fl2_DIM_LICHT pct 30 45") if ($Helligkeit <= 110);;\
}
Flur2_Licht_An <= Name des notify
OG_fl2_BM:motion <= wenn mein Bewegungsmelder Bewegung erkennt (bei dir also deine Lichtschranke)
{ \ <= jetzt kommen mehrere Befehle, in der nächsten Zeile geht es weiter
my $Helligkeit=(ReadingsVal("CUL_HM_HM_Sen_MDIR_O_1A8306","brightness",99));;\ <= Ich lese aus CUL_HM_HM_Sen_MDIR... den Wert brightness aus, der wird in $Helligkeit geschrieben (das ist bei mir ein weiterer Bewegungsmelder, der die Helligkeit ebenfalls kennt, bei dir käme hier dein Sunset ins Spiel
fhem ("set OG_fl2_DIM_LICHT pct 30 45") if ($Helligkeit <= 110);;\ <= die Auswertung: Licht auf 30% für 45 Sekunden setzen, wenn die Helligkeit kleiner gleich 110 ist
} <= wir müssen diesen Befehlsblock den wir oben angefangen haben auch beenden
Hallo,
ich Glaube ich habe meinen Denkfehler, die Lichtschranke FS20 IRL ist ja mit der FS20-ST-4 verbunden, ich bekomme zwar im Fhem angezeigt ob das Licht an oder aus ist die Schaltung erfolgt aber ja direkt von der Lichtschranke zur Funk-Schaltsteckdose.
Habe es gerade getestet in dem ich meine RasPi ausgeschaltet habe und das Licht trotzdem anging.
Am besten fange ich noch mal bei Null an.
Wie lerne ich denn die FS20 ST-4 Funk-Schaltsteckdose an meinen RasPi mit COC Erweiterung von Busware an ohne das ich diese direkt mit der Lichtschranke verbinde?
Gruß Mark
Hallo,
ZitatWie lerne ich denn die FS20 ST-4 Funk-Schaltsteckdose an meinen RasPi
So wie jeden anderen FS20-Empfänger auch.
Entweder per FS20-Fernbedienung oder direkt in FHEM.
Ein FS20-Device definieren, die ST4 in den Anlernmodus bringen und in fhem on oder off klicken.
Grüße
Hallo,
also die FS20 St-4 wird nun erkannt und lässt sich über das Fhem schalten,
die Lichtschranke wird auch erkannt, jetzt muss ich nur noch den Code zusammen basteln richtig?
Gruß Mark
Hallo,
Zitatjetzt muss ich nur noch den Code zusammen basteln richtig
Wenn beide unter bestimmten Voraussetzungen miteinander zusammen arbeiten sollen wäre das der logische nächste Schritt.
Grüße
Hallo,
hier mal meine derzeitige Codezeile für das Hoflicht
define HoflichtAn notify Lichtschranke_K2:on set Hoflicht on-for-timer 240
aber wie bekomme ich es jetzt hin, das die Lampen auch nur bei Dunkelheit angehen?
die Definition für Sonnenuntergang und Aufgang habe ich ja aber wie baue ich das zusammen?
Gruß Mark
Hallo,
sieh mal hier nach: http://www.fhemwiki.de/wiki/Sunset_Sunrise
Da ist alles genau und gut beschrieben.
Gruß Holgi
Oder du benutzt isday
Hallo Holgi,
die sunset/sunrise Funktion kenne ich schon habe mit dieser auch schon getestet, für die Wegbeleuchtung zum Haus ist das auch ok.
Aber für die Schaltung an der Einfahrt mit der Lichtschranke klappt das noch nicht, hier geht dann auch Tagsüber die Hofbeleuchtung an auch geht die Hofbeleuchtung bei Dämmerung an und bleibt an ohne das die Lichtschranke ausgelöst hat.
Hier muss ich wohl noch etwas testen.
Gruß Mark
@Paul,
werde es mal testen
Gruß Mark
So, nach einigen Test habe ich es jetzt erstmal so am Laufen
define HoflichtAn notify Lichtschranke_K2:on.* { if($hour > 16|| $hour < 7) { fhem "set Hoflicht on-for-timer 240" } }
Mit isday klappe es auch nicht, werde aber noch mal weiter testen.
Gruß Mark
Hallo,
ich hab so ein ähnliches Problem wie der Theadersteller.
Folgender sachverhalt: Ein Tür kontakt schaltet die Wegbeleuchtung ein und ein Lichtschalter der manuel betätigt werden kann, macht genau das gleiche.
Der Türkontkakt funktioniert und schaltet das Licht bereichts über FHEM ein.
Jetzt mein Problem: Der Türkontakt darf das licht nur bei Dunkelheit einschalten oder zum Beispiel erst ab 18 Uhr.
Mein Türkontakt heißt in FHEM: Kontakt.Haustuere
Meine Wegbeleuchtung heißt in FHEM: Wegbeleuchtung
Kann mir bitte jemand helfen? Hab schon diverse Codes hier aus dem Thead ausprobiert aber leider ändert sich nichts, der Kontakt schaltet auch Tagsüber.
Zitat von: Mortas am 15 Februar 2016, 12:23:51
Hallo,
ich hab so ein ähnliches Problem wie der Theadersteller.
Folgender sachverhalt: Ein Tür kontakt schaltet die Wegbeleuchtung ein und ein Lichtschalter (LS) der manuel betätigt werden kann, macht genau das gleiche.
Der Türkontkakt (TK) funktioniert und schaltet das Licht bereichts über FHEM ein.
Jetzt mein Problem: Der Türkontakt darf das licht nur bei Dunkelheit einschalten oder zum Beispiel erst ab 18 Uhr.
Mein Türkontakt heißt in FHEM: Kontakt.Haustuere
Meine Wegbeleuchtung heißt in FHEM: Wegbeleuchtung
Kann mir bitte jemand helfen? Hab schon diverse Codes hier aus dem Thead ausprobiert aber leider ändert sich nichts, der Kontakt schaltet auch Tagsüber.
Mit DOIF kannst Du komplexe Zusammenhänge darstellen, s. http://fhem.de/commandref_DE.html#DOIF
define di DOIF ([?18:00-23:00] and ([TK] eq "on" or [LS] eq "on") and [?Licht] eq "dunkel") (set Lampe on)
und das Attribut
do always
Falls auch ausgeschaltet werden soll, dann das DOIF mit einem entsprechenden DOELSEIF Zweig ergänzen.
Hallo
Danke für deine Antwort. Aber leider gibt es keine änderung. Der Türkontakt schaltet immer noch das Licht ein.
ich habe das jetzt so angelegt:
define Weglicht.Test DOIF ([18:00-23:00] and ([HM_40566E] eq "open" or [test.licht] eq "on") and [test.licht] eq "dunkel") (set test.licht on-for-timer 1)
attr do always
HM_40566E = Türkontakt
test.licht = HM-LC-Sw1-FM schaltet das Licht über einen Lichtschalter und über den Türkontakt.
Das spuckt mir DOIF aus:
ZitatInternals:
CFGFN
DEF ([18:00-23:00] and ([HM_40566E] eq "open" or [test.licht] eq "on") and [test.licht] eq "dunkel") (set test.licht on-for-timer 1)
NAME Weglicht.Test
NR 3491
NTFY_ORDER 50-Weglicht.Test
STATE initialize
TYPE DOIF
Readings:
2016-02-15 16:15:01 Device test.licht
2016-02-15 16:14:59 e_HM_40566E_STATE open
2016-02-15 16:15:01 e_test.licht_STATE off
2016-02-15 16:03:56 state initialize
2016-02-15 16:03:37 timer_1_c1 15.02.2016 18:00:00
2016-02-15 16:03:37 timer_2_c1 15.02.2016 23:00:00
Condition:
0 DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"") and (InternalDoIf('HM_40566E','STATE','',AttrVal($hash->{NAME},'notexist',undef)) eq "open" or InternalDoIf('test.licht','STATE','',AttrVal($hash->{NAME},'notexist',undef)) eq "on") and InternalDoIf('test.licht','STATE','',AttrVal($hash->{NAME},'notexist',undef)) eq "dunkel"
Days:
Devices:
0 HM_40566E test.licht
all HM_40566E test.licht
Do:
0:
0 set test.licht on-for-timer 1
1:
Helper:
event deviceMsg: off (to CUL1),level: 0,pct: 0,off,timedOn: off
globalinit 1
last_timer 2
sleeptimer -1
triggerDev test.licht
triggerEvents:
deviceMsg: off (to CUL1)
level: 0
pct: 0
off
timedOn: off
Internals:
0 HM_40566E:STATE test.licht:STATE
all HM_40566E:STATE test.licht:STATE
Interval:
0 -1
1 0
Itimer:
Localtime:
0 1455555600
1 1455573600
Readings:
Realtime:
0 18:00:00
1 23:00:00
Regexp:
0:
All:
State:
Time:
0 18:00:00
1 23:00:00
Timecond:
0 0
1 0
Timer:
0 0
1 0
Timers:
0 0 1
Trigger:
Triggertime:
1455555600:
localtime 1455555600
Hash:
1455573600:
localtime 1455573600
Hash:
Attributes:
do always
Mache ich was falsch oder warum schaltet sich das Licht immer noch ein? Gibt es noch eine möglichkeit dies umzusetzten?
Vielen dank
Das Ergebnis mit der Uhrzeit steht genau über deiner Frage
ja aber das funktioniert bei mir leider nicht. Hab schon wie gesagt dieverse codes ausprobiert aber das licht über den Türsensor wird trotzdem bei Helligkeit eingeschaltet.
define Lichtan notify HM_40566E.open {if ($hour > 18 || $hour < 7) { fhem "set test.licht on" }}
Danke.
Wenn ich deinen Code verwende und den Türkontakt schalte, dann geht der Schalter an. Wenn ich nochmal den Türkontakt schalte dann geht der Schalter für ne halbe sekunde auf aus und dann gleich wieder auf an.
Ich möchte das der Schalter nur von z.B. 18 bis 23 Uhr das Licht einschaltet und in der Restlichen zeit den Türschalter ignoriert auch wenn die Tür geöffnet wird.
Wäre sowas möglich?
Ich bin schon seit einer Woche am Probieren aber leider ohne erfolg
Warum beim 2ten öffnen deines Türkontaktes das Licht kurz ausgeht kann ich nicht nachvollziehen.
Beim schalten von 18 bis 23 Uhr musst du dann $hour > 17 && $hour < 23 schreiben.
Edit: Hast du den Türkontakt mit dem Schalter gepeert?
Zitat von: Mortas am 15 Februar 2016, 16:16:55
Hallo
Danke für deine Antwort. Aber leider gibt es keine änderung. Der Türkontakt schaltet immer noch das Licht ein.
ich habe das jetzt so angelegt:
define Weglicht.Test DOIF ([18:00-23:00] and ([HM_40566E] eq "open" or [test.licht] eq "on") and [test.licht] eq "dunkel") (set test.licht on-for-timer 1)
attr do always
HM_40566E = Türkontakt
test.licht = HM-LC-Sw1-FM schaltet das Licht über einen Lichtschalter und über den Türkontakt.
Das spuckt mir DOIF aus:
Mache ich was falsch oder warum schaltet sich das Licht immer noch ein? Gibt es noch eine möglichkeit dies umzusetzten?
Vielen dank
Mit [?Licht] eq "dunkel" meinte ich einen Helligkeitssensor, Twilight oder ähnliches und nicht den Lichtschalter.
Bitte beachte die Fragezeichen im Code.
Dann schaltet das DOIf, zwischen 18 und 23 Uhr und wenn der TK oder der Schalter betätigt wird und es dunkel ist, so habe ich dies verstanden:
ZitatEin Tür kontakt schaltet die Wegbeleuchtung ein und ein Lichtschalter der manuel betätigt werden kann, macht genau das gleiche.
Der Türkontkakt funktioniert und schaltet das Licht bereichts über FHEM ein.
Der Türkontakt darf das licht nur bei Dunkelheit einschalten oder zum Beispiel erst ab 18 Uhr.
Zitat von: Paul am 15 Februar 2016, 22:14:58
Warum beim 2ten öffnen deines Türkontaktes das Licht kurz ausgeht kann ich nicht nachvollziehen.
Beim schalten von 18 bis 23 Uhr musst du dann $hour > 17 && $hour < 23 schreiben.
Edit: Hast du den Türkontakt mit dem Schalter gepeert?
Ich habe den Türkontakt und den Aktor mit FHEM gepeert und dann über den befehl
set HM_40566E peerChan 0 test.licht single
miteinander verknüpft.
War das Falsch? Muss ich die 2 geräte direkt miteinander peeren?
Zitat von: Ellert am 15 Februar 2016, 22:48:17
Mit [?Licht] eq "dunkel" meinte ich einen Helligkeitssensor, Twilight oder ähnliches und nicht den Lichtschalter.
Bitte beachte die Fragezeichen im Code.
Dann schaltet das DOIf, zwischen 18 und 23 Uhr und wenn der TK oder der Schalter betätigt wird und es dunkel ist, so habe ich dies verstanden:
Genau so möchte ich es eigenltich auch haben. War mein fehler hab das mit dem ? leider übersehen. Habs aber gerade ergänzt und ausporbiert. Leider immer noch ohne erfolg. Der TK schaltet trotzdem auf an. Habs mit dem befehl angelegt:
define Weglicht.Test DOIF ([18:00-23:00] and ([HM_40566E] eq "open" or [test.licht] eq "on") and [Twilight] eq "dunkel") (set test.licht on-for-timer 1)
Twilight ist bei mir am laufen und scheint zu funktionieren. Es zeigt bei STATE 6 an und laut meiner Information soll das ja Hell bedeuten.
Sonst noch wer eine Idee?
Zitat von: Mortas am 16 Februar 2016, 08:33:59
Genau so möchte ich es eigenltich auch haben. War mein fehler hab das mit dem ? leider übersehen. Habs aber gerade ergänzt und ausporbiert. Leider immer noch ohne erfolg. Der TK schaltet trotzdem auf an. Habs mit dem befehl angelegt:
define Weglicht.Test DOIF ([18:00-23:00] and ([HM_40566E] eq "open" or [test.licht] eq "on") and [Twilight] eq "dunkel") (set test.licht on-for-timer 1)
Twilight ist bei mir am laufen und scheint zu funktionieren. Es zeigt bei STATE 6 an und laut meiner Information soll das ja Hell bedeuten.
Sonst noch wer eine Idee?
Wenn der Türkontakt öffnet = open dann schaltet er auf an, das ist doch beabsichtigt oder?
Twilight eq "dunkel" funktioniert nur wenn der Status von Twilight auch den Wert "dunkel" annimmt, das ist nur ein Beispiel, zur Abfrage musst Du natürlich den tatsächlichen Wert vervenden.
Ist test.licht die Lampe oder der Schalter (LS) ?
Ja das ist beabsichtigt aber es soll eben nur auslösen wenn es dunkel ist.
test.licht ist der Aktor(FM-LC-Sw1-FM) der das licht einschaltet und an dem ist ein Schalter (Taster) über den man das Licht zusätzlich einschalten könnte.
der Aktor und der Türkontakt sind über FHEM miteinander gepeert und die schaltung löst aus sobald die Türe geöffnet wird aber der Türkontakt soll eben nur bei dunkelheit auslösen.
Mir würde es ja schon reichen wenn die schaltung in der Uhrzeit 18:00 - 23:00 schaltet und sonst das licht nicht angeht
Hallo,
ich habe das so gelöst:
define HoflichtAn notify Lichtschranke:on.* {if(ReadingsVal("T","light","4")<3){fhem "set Hoflicht on-for-timer 240 ;;set Eingang on-for-timer 240"}}
Gruß Mark
Zitat von: MarkJ. am 16 Februar 2016, 09:37:29
Hallo,
ich habe das so gelöst:
define HoflichtAn notify Lichtschranke:on.* {if(ReadingsVal("T","light","4")<3){fhem "set Hoflicht on-for-timer 240 ;;set Eingang on-for-timer 240"}}
Gruß Mark
habe das so definiert:
define wegbeleuchtung.nur.bei.dunkelheit notify HM_40566E:open.* {if(ReadingsVal("Twilight","light","4")<3){fhem "set test.licht on-for-timer 1"}}
aber leider ohne erfolg. Der schaltet immer noch die ganze Zeit ein
Zitat von: Mortas am 16 Februar 2016, 08:25:03
Ich habe den Türkontakt und den Aktor mit FHEM gepeert und dann über den befehl
set HM_40566E peerChan 0 test.licht single
miteinander verknüpft.
War das Falsch? Muss ich die 2 geräte direkt miteinander peeren?
Du musst das peer rückgängig machen. Durch das peeren schaltet der Schalter immer!
Zitat von: Paul am 16 Februar 2016, 09:55:36
Du musst das peer rückgängig machen. Durch das peeren schaltet der Schalter immer!
Habe ich jetzt gemacht. Jetzt schaltet der Türkontakt das licht garnicht ein auch wenn ich die Uhrzeit z.B von 08:00 - 23:00 setze mit diesem code:
define Lichtan.test notify HM_40566E:open {if ($hour > 08 || $hour < 23) { fhem "set test.licht on" }}
hat noch jemand eine idee?
Zitat von: Mortas am 16 Februar 2016, 09:21:37
Ja das ist beabsichtigt aber es soll eben nur auslösen wenn es dunkel ist.
test.licht ist der Aktor(FM-LC-Sw1-FM) der das licht einschaltet und an dem ist ein Schalter (Taster) über den man das Licht zusätzlich einschalten könnte.
der Aktor und der Türkontakt sind über FHEM miteinander gepeert und die schaltung löst aus sobald die Türe geöffnet wird aber der Türkontakt soll eben nur bei dunkelheit auslösen.
Mir würde es ja schon reichen wenn die schaltung in der Uhrzeit 18:00 - 23:00 schaltet und sonst das licht nicht angeht
Verstehe ich dich richtig?
Es gibt einen Türkontakt HM_40566E, der ist mit FM-LC-Sw1-FM gepeert.
Es gibt einen mechanischen Schalter, der ist mit dem FM-LC-Sw1-FM verdratet.
Davon ausgehend würde ich sagen, dass das Peer als Einheit betrachtet werden muss und der FM-LC-Sw1-FM immer schaltet, wenn der Türkontakt betätigt wird. Das kann man nicht zeitlich einschränken.
Es würde funktionieren, wenn du das Peer auflöst und den Aktor dann über DOIF schaltest (eventuell mit einem virtuellen Aktor), etwa so:
([HM_40566E] eq "open") (set FM-LC-Sw1-FM on)
DOELSEIF ([HM_40566E] eq "closed") (set FM-LC-Sw1-FM off)
wenn Du das zeitlich einschränken möchtest dann so:
([?18:00-23:00] and [HM_40566E] eq "open") (set FM-LC-Sw1-FM on)
DOELSEIF ([HM_40566E] eq "closed") (set FM-LC-Sw1-FM off)
Mit dem Fragezeichen verhinderst Du, dass um 18 Uhr eingeschaltet wird falls der Türkontakt offen ist.
Die mechanische Verbindung zwischen Schalter und FM-LC-Sw1-FM kannst Du zeitlich nicht begrenzen.
Da ich den FM-LC-Sw1-FM nicht kenne, kann es natürlich sein, dass der FM-LC-Sw1-FM intern eine Zeitsteuerung vorsieht, wie zum Beispiel der HM-CC-RT-DN.
Danke danke das war es. Jetzt funktionierts mit dem 2 befehl.
([?18:00-23:00] and [HM_40566E] eq "open") (set FM-LC-Sw1-FM on)
DOELSEIF ([HM_40566E] eq "closed") (set FM-LC-Sw1-FM off)
Der feste Lichtschalter ist nur für alle fälle da und es ist so gewollt das er immer schaltet.
Vielen dank für eure Unterstützung ihr seit super