Hofbeleuchtung über Lichtschranke aber Dämmerungsabhängig

Begonnen von MarkJ., 08 Januar 2014, 09:28:58

Vorheriges Thema - Nächstes Thema

Ellert

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.

Mortas

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

Paul

Das Ergebnis mit der Uhrzeit steht genau über deiner Frage
Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic

Mortas

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.


Paul

define Lichtan notify HM_40566E.open {if ($hour > 18 || $hour < 7) { fhem "set test.licht on" }}
Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic

Mortas

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


Paul

#21
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?
Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic

Ellert

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.



Mortas

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?

Mortas

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?

Ellert

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) ?

Mortas

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

MarkJ.

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
Rasberry Pi COC Busware Fhem 5.6
Rasberry Pi  HM-CFG-LAN Fhem 5.6
FB7490 Fhem 5.6 Fhem2Fhem
FS20 IRL, FS20 AS4 ,FS20 ST-4, FS20 PIRA,
HMS100TFK, HMS100T, FS20 RPT-3 ,Fritz DECT200, FRITZ520E, FRITZ 546E, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-Sec-SD, HM-Sec-SC-2

Mortas

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

Paul

#29
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!
Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic