mit einem Notify etwas dimmen und schalten in Abhängikeit

Begonnen von Lucer, 28 Mai 2020, 18:54:11

Vorheriges Thema - Nächstes Thema

Lucer

Hi Leute,
ich möchte mit einem Bewegungsmelder hier genannt (Radarmeder_1)  das Terassenlicht hier (Dimmer_4) auf 40% dimmen und das Licht (2_Holzhaus_Eingang) schalten.
Alles unter der Bedingung motion und Dunkelheit und das für 40Sekunden dauer. 

unten mein code,  ist der richtig oder geht das einfacher?
Frage: was bedeutet $EVENT  habe im Wiki nichts brauchbares gefunden!

###-- Test Notify Bewegung Terasse dimmen und schalten --###
define Bewegung_Terasse notify Radarmelder_1:motion { fhem "set 2_Holzhaus_Eingang on-for-timer 40") if (ReadingsVal("Radarmelder_1","brightness",0) < 80)} $EVENT;;set Dimmer_4 40-for-timer 40") if (ReadingsVal("Radarmelder_1","brightness",0) < 80)}
attr Bewegung_Terasse group Terasse
attr Bewegung_Terasse room Notify

Pfriemler

Ausprobiert? Fehlermeldungen gelesen?
Es ist alles etwas inkonsistent.
- wenn Du auf die gleiche Helligkeit reagierst, kannst Du zu Beginn abfragen
- Ausführungsteil in { } bedeutet perl-Ebene -> fhem("set ...."), soweit ok.
- Was macht das singuläre $EVENT dort? das ist die verwendbare Variable, die das auslösende Event beinhaltet, hier vermutlich also "motion"
- doppelte ;; sind unnötig bei der (immer empfohlenen) Eingabe im DEF-Fenster. Im RAW-Fenster und in der fhem.cfg sind sie aber korrekt.
- das set Dimmer_4 steht in der perl-Ebene, da gehört wieder ein fhem(" davor
- 40-for-timer gibt es nicht.
Wenn es sich um einen HM-Dimmer handelt, gib Level und Leuchtzeit per pct-Befehl vor, da geht beides zusammen.

###-- Test Notify Bewegung Terasse dimmen und schalten --###
define Bewegung_Terasse notify Radarmelder_1:motion {
   if (ReadingsVal("Radarmelder_1","brightness",0) < 80) {
       fhem("set 2_Holzhaus_Eingang on-for-timer 40;set Dimmer_4 pct 40 40")
       }
    }

Ich persönlich bin ja ein Freund des IF:
###-- Test Notify Bewegung Terasse dimmen und schalten --###
define Bewegung_Terasse notify Radarmelder_1:motion IF ([Radarmelder_1:brightness] < 80)
     (set 2_Holzhaus_Eingang on-for-timer 40, set Dimmer_4 pct 40 40)


Wenn es sich um einen HM-Bewegungsmelder handelt, wirst Du bei 40 s Leuchtdauer für eine flüssige Operation allerdings noch im Bewegungsmelder das Register "minInterval" von default 4 Minuten auf 30s setzen müssen und vermutlich auch "captInInterval" auf "on", damit eine Verlängerung der Leuchtdauer nicht nur bei Bewegung in den Sekunden 30-40 erfolgt. Die Leuchtdauer verlängert sich aber entsprechend, so würde bei einer zweiten Bewegung auch in den ersten Sekunden des 30-s-Intervalls ein volles 40-Sekunden-Intervall nach Ablauf dieser 30s nachgetriggert.

Ohne diese Mods wird das Notify nur einmal funktionieren, wenn die letzte Bewegungserkennung nicht länger als 4 Minuten zurückliegt - d.h. auch bei fortwährender Bewegung würde das Licht nach 40s ausgehen und nach weiteren 3min 20s frühestens wieder an.

Habe ich was übersehen?
Fehler im Code dürfen behalten werden, ich habs nicht getestet...
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Lucer

Danke für den Code der ist wesentlich kürzer, habe ich gleich in meine .cfg eingefügt

Hier noch das Reading aus meinem HM-Bewegungsmelder
READINGS:
     2019-06-26 12:50:09   Activity        alive
     2020-05-09 18:36:54   CommandAccepted yes
     2017-06-08 14:45:33   D-firmware      1.6
     2020-05-05 21:40:21   D-serialNr      LEQ1278152
     2020-05-09 18:36:55   PairedTo        0x23A643
     2017-06-08 15:34:57   R-brightFilter  7
     2017-06-08 15:34:57   R-captInInterval off
     2017-06-08 15:34:57   R-evtFltrNum    1
     2017-06-08 15:34:57   R-evtFltrPeriod 1 s
     2017-06-08 15:34:57   R-minInterval   30
     2017-06-08 15:34:56   R-pairCentral   0x23A643
     2017-06-08 15:34:57   R-sign          off
     2020-05-09 18:36:55   RegL_00.        00:00 02:01 0A:23 0B:A6 0C:43
     2020-05-09 18:36:55   RegL_01.        00:00 01:12 02:71 08:00 22:00
     2020-05-29 15:31:58   battery         ok
     2020-05-29 15:31:58   brightness      180
     2020-05-29 15:31:58   cover           closed
     2020-05-29 15:33:08   motion          off
     2020-05-28 22:28:00   motionCount     7_next:30s
     2020-05-28 22:28:32   motionDuration  32
     2020-05-05 21:40:32   powerOn         2020-05-05 21:40:32
     2020-05-29 15:31:58   recentStateType info
     2020-05-29 15:33:08   state           noMotion
     2020-05-28 22:28:00   trigger_cnt     7


Ich zeichne auch einen Trend auf funktioniert super.




Lucer

Hallo es funktioniert immer noch nicht!

Ich möchte zwei Aktoren gleichzeitig  über ein Notify schalten.
Ein HM-Bewegungsmelder hier genannt "Radarmeder_1" soll das Notify bilden (Bewegung Terasse).
Bedingung zum ansteuern der Aktoren ist 
Helligkeit <80 , motion  und Einschaltdauer 40 Sek.  wobei ein Aktor "on-for-timer 40"  Befehl bekommt und ein Aktor (Dimmer_4_Terasse pct 40 40)  40% helligkeit für 40Sek. stellen soll.
Soweit o.k.  meine Programmierung funktioniert, allerdings nur mit dem Aktor (Dimmer_4_Terasse) sobald ich den zweiten Aktor ( 2_Holzhaus_Eingang)
mit einem ; als Trennung hinzufüge geht nichts mehr  :-\  !
sende ich in der Kommandzeile den Befehl  ( set 2_Holzhaus_Eingang on-for-timer 40;set Dimmer_4_Terasse pct 40 40 )  wird alles perfekt ausgeführt.
Binde ich das jedoch in mein Notify ein geht nichts.
Frage warum funktioniert es nicht sobald ich den Aktor (2_Holzhaus_Eingang on-for-timer 40) hinzufüge.
Ich hänge mal mein Notify das funktioniert hier an, es sollte erweitert werden um auch  (2_Holzhaus_Eingang on-for-timer 40) zu schalten.

#### Notify Radarmelder_1 Bewegung Terasse bei Dunkelheit 80 für 40Sek. #####
define Bewegung_Terasse notify Radarmelder_1:motion {fhem ("set Dimmer_4_Terasse pct 40 40") if (ReadingsVal("Radarmelder_1","brightness",0) < 80)}
setuuid Bewegung_Terasse 5d134de1-f33f-ea78-c3c6-5866e5cb6f20d929
attr Bewegung_Terasse group Terasse
attr Bewegung_Terasse room Notify


Hier das Notify welches nicht geht! wo habe ich da einen Fehler

#### Notify Radarmelder_1 Bewegung Terasse bei Dunkelheit 80 für 40 Sek. #####
define Bewegung_Terasse notify Radarmelder_1:motion {fhem ("set 2_Holzhaus_Eingang on-for-timer 40;set Dimmer_4_Terasse pct 40 40") if (ReadingsVal("Radarmelder_1","brightness",0) < 80)}
setuuid Bewegung_Terasse 5d134de1-f33f-ea78-c3c6-5866e5cb6f20d929
attr Bewegung_Terasse group Terasse
attr Bewegung_Terasse room Notify


Das ist bestimmt nur eine Kleinigkeit ???


TomLee

#4
Du zeigst doch Ausschnitte aus der fhem.cfg ?
Dort müssen es zwei ";" zwischen den Befehlen sein.

Das notify über den Raw-Editor oder die DEF erstellt bzw. bearbeitet, wär der Fehler erkannt worden nicht passiert.

Gruß

Thomas

MadMax-FHEM

Jep, wollte ich auch grad schreiben...

Also: Finger von der fhem.cfg per Editor... ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Lucer

Zitat von: TomLee am 01 Juni 2020, 13:26:13
Du zeigst doch Ausschnitte aus der fhem.cfg ?
Dort müssen es zwei ";" zwischen den Befehlen sein.

Das notify über den Raw-Editor oder die DEF erstellt bzw. bearbeitet, wär der Fehler erkannt worden nicht passiert.

Gruß

Thomas

Ja mache alles im Editor ,  in der Fhem.cfg  verweise ich mit include  auf meine   Device cfg Dateien

Lucer

Ich werde das mal testen mit  ";"  zwischen den Befehlen melde mich ob's geht
Danke

MadMax-FHEM

Zitat von: Lucer am 01 Juni 2020, 17:29:36
Ja mache alles im Editor ,  in der Fhem.cfg  verweise ich mit include  auf meine   Device cfg Dateien

Das solltest du noch mal (dringend!) überdenken!

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Lucer

Es funktioniert  es mussten ;; eingefügt werden !

Muss mich mal in den RAW Editor beschäftigen.

Ohne eure Hilfe hätte ich das nicht hinbekommen :)