Autor Thema: [Gelöst] Lichtsteuerung tageszeitabhängig und mit PIR  (Gelesen 360 mal)

Offline maddinthebrain

  • Full Member
  • ***
  • Beiträge: 265
[Gelöst] Lichtsteuerung tageszeitabhängig und mit PIR
« am: 06 Januar 2020, 18:26:25 »
    Hallo zusammen,

    ich setze als Zigbee Gateway den Conbee Stick ein. Dies funzt sehr gut. Die zur Konfiguration des Conbee Sticks verwendete Phoscon Software kann einfache Dinge schon selbst automatisieren. Leider ist das für einen Einsatz bei mir nicht mehr ausreichend. Daher möchte ich dies FHEM machen lassen.

    Es ist folgendes Einsatzszenario:
    Eine LED Stehlampe dimmbar (HUEDevice7) soll ausgelöst durch einen Bewegungsmelder (FL_OG_PIR) angehen
    • jedoch nur von Sonnenuntergang bis 22:00 mit 100% Helligleit
    • ab 22:00 bis 0:00 Uhr mit nur noch 50%
  • ansonsten gar nicht

Ich hätte das nun mit einem Notify und verschiedenen ifs gemacht:

FL_OG_PIR:motion
if ($hms >= sunset && $hms < 22:00:00){
set HUEDevice7 on-for-timer 300 : pct 100
}
else if ($hms >= 22:00:00 && $hms < 00:00:00){
set HUEDevice7 on-for-timer 300 : pct 50
}
usw.

Nur habe ich keine so rechte Idee, wie ich das mit den Zeiträumen in den Code bringe. Auch das mit dem sunset ist mir noch nicht so klar, ob das so richtig ist.

Kann mir jemand einen Tipp geben?

Vielen Dank Martin
« Letzte Änderung: 13 Januar 2020, 11:25:24 von maddinthebrain »
Viele Grüße

Martin

3x RP3 mit Raspian stretch, FHEM5.9, Signalduino 433MHz, Signalduino 868MHz, MAX!, HM_RPI_PCB, Homematic-Aktoren, Mysensors Ethernet Gateway und Mysensors Sensoren & Aktoren, CumulusMX, FHEM2FHEM, ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

Online Damian

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6867
Antw:Lichtsteuerung tageszeitabhängig und mit PIR
« Antwort #1 am: 06 Januar 2020, 20:42:06 »
Wenn du es in Perl machen willst, dann musst du dir noch etwas Wissen zu String-Vergleichen aneignen.

Alternativ kannst du es so lösen:

define di_pir DOIF ([FL_OG_PIR:"motion"] and [?{sunset}-20:00]) (set HUEDevice7 on-for-timer 300 : pct 100)
 DOELSEIF  ([FL_OG_PIR:"motion"] and [?20:00-00:00]) (set HUEDevice7 on-for-timer 300 : pct 50)

attr di_pir do always

Es gibt da auch elegantere Lösungen, wo nicht bei jeder Bewegung ein set-Befehl abgesetzt werden muss.
« Letzte Änderung: 06 Januar 2020, 20:45:25 von Damian »
Programmierte FHEM-Module: DOIF mit uiTable, DOIF-Perl, THRESHOLD, FHEM-Befehl: IF

Offline roedert

  • Sr. Member
  • ****
  • Beiträge: 749
Antw:Lichtsteuerung tageszeitabhängig und mit PIR
« Antwort #2 am: 08 Januar 2020, 18:48:56 »
Wenn die Zeitbereiche volle Stunden sind, reicht es mit einem if nur die Stunde abzufragen - das ist ein ganz normaler numerischer Vergleich ohne Uhrzeiten oder Strings.

if ($hour <= 22)
if ($hour > 22)
« Letzte Änderung: 08 Januar 2020, 18:50:28 von roedert »

Offline maddinthebrain

  • Full Member
  • ***
  • Beiträge: 265
Antw:Lichtsteuerung tageszeitabhängig und mit PIR
« Antwort #3 am: 10 Januar 2020, 21:46:11 »
So jetzt habe das mal mit dem DOIF eingerichtet:
([FL_OG_PIR:"motion"] and [?{sunset}-20:00]) (set HUEDevice7 on-for-timer 60 : pct 100) 
DOELSEIF  ([FL_OG_PIR:"motion"] and [?20:00-22:00]) (set HUEDevice7 on-for-timer 60 : pct 50)
DOELSEIF  ([FL_OG_PIR:"motion"] and [?22:00-00:00]) (set HUEDevice7 on-for-timer 60 : pct 5)

Nun kommt noch Idee: Ich hätte gerne eine Verlauf z.B. Für 60s 100%, dann für 180s 50% und danach aus.

Wäre wait ne Idee? Aber es wären ja pro if bzw. else if ja mehrere Befehle, wo erst einer und dann der nächste usw. ausgeführt werden sollen. Und ich verstehe wait ja so, dass das für jeweils für die ganzen Befehle in der Klammer gilt.

Grüße Martin

Viele Grüße

Martin

3x RP3 mit Raspian stretch, FHEM5.9, Signalduino 433MHz, Signalduino 868MHz, MAX!, HM_RPI_PCB, Homematic-Aktoren, Mysensors Ethernet Gateway und Mysensors Sensoren & Aktoren, CumulusMX, FHEM2FHEM, ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

Offline KyleK

  • New Member
  • *
  • Beiträge: 29
Antw:Lichtsteuerung tageszeitabhängig und mit PIR
« Antwort #4 am: 10 Januar 2020, 22:38:31 »
Das geht, indem eine Sequenz von commands pro Zweig gesetzt wird, ein Beispiel findest du hier: https://fhem.de/commandref_DE.html#DOIF_wait
FHEM 5.9 on Raspberry Pi 3B+
CUL868
7x MAX! Thermostat, 8x MAX! Fensterkontakte
Conbee II + deConz, TradFri Lampen, Osram Smart+ Steckdosen

Offline maddinthebrain

  • Full Member
  • ***
  • Beiträge: 265
Antw:Lichtsteuerung tageszeitabhängig und mit PIR
« Antwort #5 am: 10 Januar 2020, 22:56:57 »
Perfekt, das war genau, was ich gesucht habe. Viele Dank!
Viele Grüße

Martin

3x RP3 mit Raspian stretch, FHEM5.9, Signalduino 433MHz, Signalduino 868MHz, MAX!, HM_RPI_PCB, Homematic-Aktoren, Mysensors Ethernet Gateway und Mysensors Sensoren & Aktoren, CumulusMX, FHEM2FHEM, ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren