FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: MandelHL am 14 Oktober 2020, 22:01:29

Titel: Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MandelHL am 14 Oktober 2020, 22:01:29
Hallo,

ich habe meine Gartenbeleuchtung im Vorgarten an und möchte, dass bei Bewegung auch zusätzlich die Beleuchtung an der Haustür angeht.
Dafür gibt es einen Bewegungssensor am Carport, der am Grundstückseingang steht und einen, der oberhalb der Haustür angebracht ist.

Nun möchte ich, dass sich die Haustürbeleuchtung einschaltet, wenn Bewegungsmelder 1 oder 2 Bewegungen registriert und gleichzeitig das Haustürlicht ausgeschaltet ist.

Gedacht habe ich mir das im DEF-Fenster so:
([Bewegungssensor_1:motion.*"] or ([Bewegungssensor_2:motion.*] and [Haustuerbeleuchtung:off])) (,,set Haustuerbeleuchtung on-for-timer 600")

In der fhem.cfg sieht das so aus:
define Bewegung_Vorgarten_Haustuer DOIF ([Bewegungssensor_1:motion.*"] or ([Bewegungssensor_2:motion.*] and [Haustuerbeleuchtung:off])) (,,set Haustuerbeleuchtung on-for-timer 600")
setuuid Bewegung_Vorgarten_Haustuer 5f874a2d-f33f-ef18-4cc8-eb98d8b86f3c1c79


Klingt für mich logisch. Ich sehe, dass die Bewegung registriert wird, die Beleuchtung aber leider auf ,,off" stehen bleibt.

Kann mir jemand helfen?

Danke und viele Grüße
Mandel
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: betateilchen am 14 Oktober 2020, 22:16:26

defmod Bewegung_Vorgarten_Haustuer notify Bewegungssensor_(1|2):motion.* {CommandSet(undef,'Haustuerbeleuchtung on-for-timer 600') if(ReadingsVal('Haustuerbeleuchtung','state','') eq 'off')}
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MandelHL am 14 Oktober 2020, 22:23:44
Danke, betateilchen.

Ich habe meinen Eintrag gelöscht und gegen Deinen ersetzt.

Ich habe trage das über das Def Raw-Fenster ein und erhalte die folgende Fehlermeldung:
syntax error at (eval 34850) line 1, near "))"
Missing right curly or square bracket at (eval 34850) line 1, at end of line
syntax error at (eval 34850) line 1, at EOF


Was habe ich falsch gemacht?

Grüße
Mandel
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: betateilchen am 14 Oktober 2020, 22:52:25
Doppelte runde Klammer kommt in meinem Code nicht vor.

Kopiere die ganze Zeile und übertrage sie in die FHEM Befehlszeile.
Funktioniert bei mir problemlos und fehlerfrei.
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MandelHL am 14 Oktober 2020, 23:00:46
Danke. Ich hatte es nicht zu Ende kopiert und die Klammer händisch eingefügt.
Und dann haben die Augen versagt  ::)

Sorry  :-\

Klappt  :)
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MandelHL am 16 Oktober 2020, 13:05:12
Nun ist mir aufgefallen, dass durch den Befehl das Licht der Haustür zu jeder Helligkeit angeht.

Also habe ich versucht das zu ändern:
defmod Bewegung_Vorgarten_Haustuer notify Bewegungssensor_(1|2):motion.* {CommandSet(undef,'Haustuerbeleuchtung on-for-timer 600') if(ReadingsVal('Haustuerbeleuchtung','state','') eq 'off') && (Lichtsensor_(1|2)<80)}

Klappt aber leider nicht und die Suche hat auch nicht geholfen.

Das sollte bedeuten, dass die Beleuchtung der Haustür angeht, wenn Bewegung signalisiert wird und der Helligkeitswert der Lichtsensoren 1 oder 2 unter 80 ist.

Danke noch mal,
Mandel
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: betateilchen am 16 Oktober 2020, 13:21:55
Zitat von: MandelHL am 16 Oktober 2020, 13:05:12
(Lichtsensor_(1|2)<80)

Klappt aber leider nicht und die Suche hat auch nicht geholfen.

Fehlende perl Grundlagen... die haben nix mit FHEM zu tun. Du solltest auch den Helligkeitswert des/der Lichtsensoren mit ReadingsVal() verarbeiten und in die logische Bedingung einbauen.

Noch simpler kannst Du es aber lösen, wenn Du das Schalten einfach auf den Zeitraum zwischen Sonnenuntergang und Sonnenaufgang begrenzt:


defmod Bewegung_Vorgarten_Haustuer notify Bewegungssensor_(1|2):motion.* {CommandSet(undef,'Haustuerbeleuchtung on-for-timer 600') if(ReadingsVal('Haustuerbeleuchtung','state','') eq 'off' && !isday())}
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MandelHL am 16 Oktober 2020, 14:15:16
Das mit dem Sonnenuntergang wollte ich aber gerade nicht machen, weil es später im Winter durchaus auch mal um 14 Uhr stockdunkel ist. Dann ist die Sonne noch nicht untergegangen. Oder morgens um 9 Uhr noch dunkel ist und die Sonne längst aufgegangen ist.
Deshalb wollte ich ganz gerne mit den Helligkeitswerten arbeiten und habe deshalb auch die beiden Bewegungs-/Lichtsensoren.

Wie würde das mit dem Schwellenwert unter 80 aussehen?
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: betateilchen am 16 Oktober 2020, 14:16:59
Zitat von: MandelHL am 16 Oktober 2020, 14:15:16
Wie würde das mit dem Schwellenwert unter 80 aussehen?

hatte ich doch schon geschrieben...

Zitat von: betateilchen am 16 Oktober 2020, 13:21:55
Du solltest auch den Helligkeitswert des/der Lichtsensoren mit ReadingsVal() verarbeiten und in die logische Bedingung einbauen.
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MandelHL am 16 Oktober 2020, 14:35:32
Du solltest auch den Helligkeitswert des/der Lichtsensoren mit ReadingsVal() verarbeiten und in die logische Bedingung einbauen.

Das habe ich mit meiner einfachen Denkweise und der damit verbundenen Programmierung versucht:
defmod Bewegung_Vorgarten_Haustuer notify Bewegungssensor_(1|2):motion.* {CommandSet(undef,'Haustuerbeleuchtung on-for-timer 600') if(ReadingsVal('Haustuerbeleuchtung','state','') eq 'off') && (Lichtsensor_(1|2)<80)}
Aber das klappt ja leider nicht.

&& !isday())}
Dieser Teil scheint sich ja in der Tat auf das Tageslicht gemäß Sonnenuntergang zu beziehen.

Danke,
Mandel
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MadMax-FHEM am 16 Oktober 2020, 14:41:35
Zitat
Das habe ich mit meiner einfachen Denkweise und der damit verbundenen Programmierung versucht:

(Lichtsensor_(1|2)<80)

Aber das klappt ja leider nicht.

Wo ist hier (wie von betateilchen angemerkt) das ReadingsVal!?

Bzw. da numerischer Wert bzw. numerischer Vergleich eher sogar ReadingsNum...


&& ReadingsNum("Lichtsensor_1","LichtwertReading",100) < 80 && ReadingsNum("Lichtsensor_2","LichtwertReading",100) < 80


Gruß, Joachim
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MandelHL am 17 Oktober 2020, 00:08:14
&& ReadingsNum("Lichtsensor_1","LichtwertReading",100) < 80 && ReadingsNum("Lichtsensor_2","LichtwertReading",100) < 80
Das Licht geht leider bei der Haustür nicht an, sondern bleibt aus.

Grüße,
Mandel
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: amenomade am 17 Oktober 2020, 00:19:09
Zitat von: MandelHL am 17 Oktober 2020, 00:08:14
&& ReadingsNum("Lichtsensor_1","LichtwertReading",100) < 80 && ReadingsNum("Lichtsensor_2","LichtwertReading",100) < 80
Das Licht geht leider bei der Haustür nicht an, sondern bleibt aus.

Grüße,
Micha

LichtwertReading, so heissen die Readings von deinen Lichtsensoren? Wirklich??
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MadMax-FHEM am 17 Oktober 2020, 01:36:51
Zitat von: amenomade am 17 Oktober 2020, 00:19:09
LichtwertReading, so heissen die Readings von deinen Lichtsensoren? Wirklich??

Nein, vermutlich nicht!

Aber da ich ja nicht weiß wie es heißt, habe ich es halt so benannt...

@Micha/MandelHL: also etwas mitdenken ist schon erlaubt! Oder: du lieferst ALLE Infos die wir brauchen!

Gruß, Joachim
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MadMax-FHEM am 17 Oktober 2020, 01:38:57
Zitat von: MandelHL am 17 Oktober 2020, 00:08:14
&& ReadingsNum("Lichtsensor_1","LichtwertReading",100) < 80 && ReadingsNum("Lichtsensor_2","LichtwertReading",100) < 80
Das Licht geht leider bei der Haustür nicht an, sondern bleibt aus.

Grüße,
Micha

Und jetzt sollen wir hellsehen oder wie!? ;)

Also etwas mehr Infos wären schon hilfreich!

Steht etwas im Log!?

Sind die Werte überhaupt BEIDE (weil &&) unter 80!?

Usw.

lists der beteiligten Devices würden helfen!

Dann müsste ich auch nicht Reading-Namen "raten"... ;)

Gruß, Joachim
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MandelHL am 17 Oktober 2020, 08:20:13
Sorry, ich dachte, ,,LichtwertReading" wäre auch ein Befehl  ::)

Ich habe das jetzt umbenannt in ,,Helligkeitswert_Bewegungssensor_1" und ,,Helligkeitswert_Bewegungssensor_2".

Sind die Werte überhaupt BEIDE (weil &&) unter 80!?
Das soll so nicht sein. Ich hatte das daher erst mit ,,|" programmiert.
Sagen möchte ich damit ,,Wenn Helligkeitssensor_1 oder Helligkeitssensor_2 kleiner als 80 ist und die Haustürbeleuchtung aus ist, dann schalte die Haustürbeleuchtung ein."

Danke und noch mal,
Mandel
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MadMax-FHEM am 17 Oktober 2020, 10:04:20
Wo sind die lists!!?

Also von mind. einem Bewegungsmelder (besser beide), weil ich nicht glaube, dass die READINGS unterschiedlich heißen!

Bitte mal nachschlagen wie ReadungsVal und ReadingsNum funktionieren!!!

ReadingsNum("DeviceName","ReadingName", Ersatzwert)

Und auch noch mal ein list (bzw. immer nach Änderungen) auch vom notify etz.!

Weil wir spielen hier kein "Blindschach", wo wir gedanklich "nachspielen" wollen was du schreibst, dass du geändert hast...

Oder dann halt so:
&& (ReadingsNum("Lichtsensor_1","LichtwertReading",100) < 80 || ReadingsNum("Lichtsensor_2","LichtwertReading",100) < 80)

EDIT: und Perl lernen wäre auch geschickt! Und auch den Unterschied zu Regex! Dein "gedachtes Oder" war ein "Oder" bzgl. Regex, was an der Stelle überhaupt keinen Sinn macht (und nat. auch nicht funktioniert)!

ESIT: d.h. dein "Oder" war bzgl. der beiden Werte bzgl. Helligkeit, also der oder der ABER dein Perl war mit && also ja, nimm den Werr von dem und dem anderen und beide müssen größer 80 sein... Daher hab ich nur umgesetzt, was du "falscher Nutzung" (Regex statt richtige Perl Befehle) geschrieben hattest... ;)

Gruß, Joachim
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MandelHL am 17 Oktober 2020, 10:43:44
Danke für Deine Antworten. Ich taste mich ran und komme mit der Benutzerfläche immer besser zurecht.
Ich hatte das sonst immer direkt per Editor in die fhem.cfg geschrieben, ohne Ahnung davon zu haben.
Dabei habe ich mehr Wirres als mir lieb war geschrieben.
Es ist also wohl tatsächlich gut, dass die Root-Rechte nicht mehr so leicht zu bekommen sind.
Das erspart Euch wohl noch mehr Arbeit mit uns Anfängern, die Ihr eh schon habt  :-\

defmod Helligkeitswert_Bewegungssensor_1 dummy
attr Helligkeitswert_Bewegungssensor_1 alias - Sensor 1 Haustür
attr Helligkeitswert_Bewegungssensor_1 group Bewegungssensor Helligkeitswert
attr Helligkeitswert_Bewegungssensor_1 room Außenbeleuchtung,Helligkeitswerte

setstate Helligkeitswert_Bewegungssensor_1 169
setstate Helligkeitswert_Bewegungssensor_1 2020-10-17 10:18:24 state 169


defmod Helligkeitswert_Bewegungssensor_2 dummy
attr Helligkeitswert_Bewegungssensor_2 alias - Sensor 2 Carport
attr Helligkeitswert_Bewegungssensor_2 group Bewegungssensor Helligkeitswert
attr Helligkeitswert_Bewegungssensor_2 room Außenbeleuchtung,Helligkeitswerte

setstate Helligkeitswert_Bewegungssensor_2 164
setstate Helligkeitswert_Bewegungssensor_2 2020-10-17 10:28:49 state 164


Ich hoffe, dass es das ist, was Du meintest.

Und auch noch mal ein list (bzw. immer nach Änderungen) auch vom notify etz.!
Was meinst Du damit? Soll ich das für mich zur Kontrolle machen oder hier posten?
Wie sieht der Befehl dann genau aus? ,,list .* notify"?
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MadMax-FHEM am 17 Oktober 2020, 10:49:59
Zitat von: MandelHL am 17 Oktober 2020, 10:43:44
Danke für Deine Antworten. Ich taste mich ran und komme mit der Benutzerfläche immer besser zurecht.
Ich hatte das sonst immer direkt per Editor in die fhem.cfg geschrieben, ohne Ahnung davon zu haben.
Dabei habe ich mehr Wirres als mir lieb war geschrieben.
Es ist also wohl tatsächlich gut, dass die Root-Rechte nicht mehr so leicht zu bekommen sind.
Das erspart Euch wohl noch mehr Arbeit mit uns Anfängern, die Ihr eh schon habt  :-\

Mach dir mal keinen Kopf!

Ist ja schon gut, wenn "Anfänger" etwas "übernehmen" ;)



Zitat von: MandelHL am 17 Oktober 2020, 10:43:44
Ich hoffe, dass es das ist, was Du meintest.

NEIN! ;)

Sondern: list DeviceName

Weil beim list sieht man auch die Readings, aktuellen Werte etc.
Bei deinem "define-Ausschnitt" sieht man nix (all das [wichtige] nicht ;)  )...


EDIT: weil bei deinen "define-Ausschnitten" sieht man zwar den DeviceNamen Helligkeitswert_Bewegungssensor_2 bzw. Helligkeitswert_Bewegungssensor_1 den braucht man auch für das ReadingsVal/ReadingsNum ABER eben auch den ReadingNamen, wo eben die Helligkeit, die du ja vergleichen willst (kleiner 80) drin steht und das braucht man eben AUCH für ReadingsVal/ReadingsNum!


Zitat von: MandelHL am 17 Oktober 2020, 10:43:44

Und auch noch mal ein list (bzw. immer nach Änderungen) auch vom notify etz.!
Was meinst Du damit? Soll ich das für mich zur Kontrolle machen oder hier posten?
Wie sieht der Befehl dann genau aus? ,,list .* notify"?

Gleiches wie oben, list ist immer:

list Devicename

Hier halt dann list notifyName ;)
(beim notify ginge "zur Not" auch der "define-Ausschnitt" ;) )

Gruß, Joachim
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MandelHL am 17 Oktober 2020, 11:30:12
Ist es das?
Internals:
   DEF        2A00FD
   FUUID      5f842189-f33f-ef18-3ca9-e0faef00bafb6919
   HMLANGW_MSGCNT 34
   HMLANGW_RAWMSG 05010045ED84102A00FD25788A0601B100
   HMLANGW_RSSI -69
   HMLANGW_TIME 2020-10-17 11:17:52
   IODev      HMLANGW
   LASTInputDev HMLANGW
   MSGCNT     34
   NAME       Bewegungssensor_1
   NOTIFYDEV  global
   NR         22
   STATE      noMotion
   TYPE       CUL_HM
   chanNo     01
   lastMsg    No:ED - t:10 s:2A00FD d:25788A 0601B100
   protLastRcv 2020-10-17 11:17:52
   protRcv    34 last_at:2020-10-17 11:17:52
   protSnd    2 last_at:2020-10-17 10:28:06
   protState  CMDs_done
   rssi_at_HMLANGW cnt:34 min:-69 max:-69 avg:-69 lst:-69
   READINGS:
     2020-10-14 10:25:13   D-serialNr      LEQ0240195
     2020-10-12 18:30:29   PairedTo        0x25788A
     2020-10-12 18:30:30   R-brightFilter  7
     2020-10-12 18:30:30   R-captInInterval off
     2020-10-12 18:30:30   R-evtFltrNum    1
     2020-10-12 18:30:30   R-evtFltrPeriod 1 s
     2020-10-12 18:30:30   R-minInterval   240
     2020-10-12 18:30:29   R-pairCentral   0x25788A
     2020-10-12 18:30:30   R-sign          off
     2020-10-12 18:30:29   RegL_00.        00:00 02:01 0A:25 0B:78 0C:8A
     2020-10-12 18:30:30   RegL_01.        00:00 01:12 02:74 08:00 22:00
     2020-10-17 11:17:52   battery         ok
     2020-10-17 11:17:52   brightness      177
     2020-10-12 18:24:15   cfgState        updating
     2020-10-17 10:28:06   commState       CMDs_done
     2020-10-17 11:17:52   cover           closed
     2020-10-17 10:32:08   motion          off
     2020-10-17 10:28:06   motionCount     77_next:240s
     2020-10-17 10:32:08   motionDuration  242
     2020-10-12 18:13:23   powerOn         2020-10-12 18:13:23
     2020-10-17 11:17:52   recentStateType info
     2020-10-17 10:32:08   state           noMotion
     2020-10-17 10:28:06   trigDst_25788A  noConfig
     2020-10-17 10:28:06   trigger_cnt     77
   helper:
     HM_CMDNR   237
     mId        005D
     peerFriend peerAct,peerVirt
     peerOpt    4:motionDetector
     regLst     0,1,4p
     rxType     28
     supp_Pair_Rep 0
     cmds:
       TmplKey    :no:1602915154.18322
       TmplTs     1602915154.18322
       cmdKey     1:1:0::Bewegungssensor_1:005D:01:
       cmdLst:
         assignHmKey noArg
         clear      [(readings|trigger|register|oldRegs|rssi|msgEvents|{msgErrors}|attack|all)]
         deviceRename -newName-
         fwUpdate   -filename- [-bootTime-]
         getConfig  noArg
         getDevInfo noArg
         getRegRaw  (List0|List1|List2|List3|List4|List5|List6) [-peerChn-]
         peerBulk   -peer1,peer2,...- [({set}|unset)]
         peerChan   -btnNumber- -actChn- [({single})] [({set}|unset)] [actor|remote|both]
         raw        -data- [...]
         regBulk    -list-.-peerChn- -addr1:data1- -addr2:data2-...
         regSet     [(prep|{exec})] -regName- -value- [-peerChn-]
         reset      noArg
         sign       [(on|{off})]
         tplDel     -tplDel-
         trgEventL  -peer- -condition-
         trgEventS  -peer- -condition-
         trgPressL  [(-peer-|{all})]
         trgPressS  [(-peer-|{all})]
         unpair     noArg
       lst:
         condition  slider,0,1,255
         peer       
         peerOpt   
         tplDel     
       rtrvLst:
         cmdList    [({short}|long)]
         deviceInfo [({short}|long)]
         param      -param-
         reg        -addr- -list- [-peerChn-]
         regList    noArg
         regTable   noArg
         regVal     -addr- -list- [-peerChn-]
         saveConfig [-filename-]
         tplInfo    noArg
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     io:
       newChn     +2A00FD,00,00,00
       nextSend   1602926272.33612
       prefIO     
       rxt        2
       vccu       
       p:
         2A00FD
         00
         00
         00
     mRssi:
       mNo        ED
       io:
         HMLANGW:
           -65
           -65
     prt:
       bErr       0
       sProc      0
       sleeping   1
       rspWait:
     q:
       qReqConf   
       qReqStat   
     role:
       chn        1
       dev        1
     rssi:
       at_HMLANGW:
         avg        -69
         cnt        34
         lst        -69
         max        -69
         min        -69
     tmpl:
Attributes:
   IODev      HMLANGW
   alias      Bewegungssensor 1 Carport
   autoReadReg 4_reqStatus
   expert     defReg,rawReg
   group      Bewegungssensor
   model      HM-Sen-MDIR-O
   modelForce HM-Sen-MDIR-O
   peerIDs    00000000,
   room       y
   serialNr   LEQ0240195
   subType    motionDetector


Internals:
   DEF        2A00DD
   FUUID      5f8421ac-f33f-ef18-789f-e0a87eabde6e0679
   HMLANGW_MSGCNT 36
   HMLANGW_RAWMSG 0501003FF484102A00DD25788A0601B000
   HMLANGW_RSSI -63
   HMLANGW_TIME 2020-10-17 11:26:55
   IODev      HMLANGW
   LASTInputDev HMLANGW
   MSGCNT     36
   NAME       Bewegungssensor_2
   NOTIFYDEV  global
   NR         23
   STATE      noMotion
   TYPE       CUL_HM
   chanNo     01
   lastMsg    No:F4 - t:10 s:2A00DD d:25788A 0601B000
   protLastRcv 2020-10-17 11:26:55
   protRcv    36 last_at:2020-10-17 11:26:55
   protSnd    2 last_at:2020-10-17 10:27:51
   protState  CMDs_done
   rssi_at_HMLANGW cnt:36 min:-64 max:-60 avg:-62.8 lst:-63
   READINGS:
     2020-10-14 10:20:17   D-serialNr      LEQ0240227
     2020-10-12 19:52:47   PairedTo        0x25788A
     2020-10-12 19:52:47   R-brightFilter  7
     2020-10-12 19:52:47   R-captInInterval off
     2020-10-12 19:52:47   R-evtFltrNum    1
     2020-10-12 19:52:47   R-evtFltrPeriod 1 s
     2020-10-12 19:52:47   R-minInterval   240
     2020-10-12 19:52:47   R-pairCentral   0x25788A
     2020-10-12 19:52:47   R-sign          off
     2020-10-12 19:52:47   RegL_00.        00:00 02:01 0A:25 0B:78 0C:8A
     2020-10-12 19:52:47   RegL_01.        00:00 01:12 02:74 08:00 22:00
     2020-10-17 11:26:55   battery         ok
     2020-10-17 11:26:55   brightness      176
     2020-10-12 19:38:17   cfgState        updating
     2020-10-17 10:27:51   commState       CMDs_done
     2020-10-17 11:26:55   cover           closed
     2020-10-17 10:31:53   motion          off
     2020-10-17 10:27:51   motionCount     72_next:240s
     2020-10-17 10:31:53   motionDuration  242
     2020-10-12 18:04:25   powerOn         2020-10-12 18:04:25
     2020-10-17 11:26:55   recentStateType info
     2020-10-17 10:31:53   state           noMotion
     2020-10-17 10:27:51   trigDst_25788A  noConfig
     2020-10-17 10:27:51   trigger_cnt     72
   helper:
     HM_CMDNR   244
     mId        005D
     peerFriend peerAct,peerVirt
     peerOpt    4:motionDetector
     regLst     0,1,4p
     rxType     28
     supp_Pair_Rep 0
     cmds:
       TmplKey    :no:1602915154.21697
       TmplTs     1602915154.21697
       cmdKey     1:1:0::Bewegungssensor_2:005D:01:
       cmdLst:
         assignHmKey noArg
         clear      [(readings|trigger|register|oldRegs|rssi|msgEvents|{msgErrors}|attack|all)]
         deviceRename -newName-
         fwUpdate   -filename- [-bootTime-]
         getConfig  noArg
         getDevInfo noArg
         getRegRaw  (List0|List1|List2|List3|List4|List5|List6) [-peerChn-]
         peerBulk   -peer1,peer2,...- [({set}|unset)]
         peerChan   -btnNumber- -actChn- [({single})] [({set}|unset)] [actor|remote|both]
         raw        -data- [...]
         regBulk    -list-.-peerChn- -addr1:data1- -addr2:data2-...
         regSet     [(prep|{exec})] -regName- -value- [-peerChn-]
         reset      noArg
         sign       [(on|{off})]
         tplDel     -tplDel-
         trgEventL  -peer- -condition-
         trgEventS  -peer- -condition-
         trgPressL  [(-peer-|{all})]
         trgPressS  [(-peer-|{all})]
         unpair     noArg
       lst:
         condition  slider,0,1,255
         peer       
         peerOpt   
         tplDel     
       rtrvLst:
         cmdList    [({short}|long)]
         deviceInfo [({short}|long)]
         param      -param-
         reg        -addr- -list- [-peerChn-]
         regList    noArg
         regTable   noArg
         regVal     -addr- -list- [-peerChn-]
         saveConfig [-filename-]
         tplInfo    noArg
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     io:
       newChn     +2A00DD,00,00,00
       nextSend   1602926815.72546
       prefIO     
       rxt        2
       vccu       
       p:
         2A00DD
         00
         00
         00
     mRssi:
       mNo        F4
       io:
         HMLANGW:
           -59
           -59
     prt:
       bErr       0
       sProc      0
       sleeping   1
       rspWait:
     q:
       qReqConf   
       qReqStat   
     role:
       chn        1
       dev        1
     rssi:
       at_HMLANGW:
         avg        -62.8055555555556
         cnt        36
         lst        -63
         max        -60
         min        -64
     tmpl:
Attributes:
   IODev      HMLANGW
   alias      Bewegungssensor 2 Haustür
   autoReadReg 4_reqStatus
   expert     defReg,rawReg
   group      Bewegungssensor
   model      HM-Sen-MDIR-O
   modelForce HM-Sen-MDIR-O
   peerIDs    00000000,
   room       y
   serialNr   LEQ0240227
   subType    motionDetector


Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MadMax-FHEM am 17 Oktober 2020, 11:46:13
Ja, naja zum Teil ;)

Es wäre halt noch gut ein list des aktuellen notify zu haben...

Ansonsten kann ich halt nur "meinen Teil" anpassen:


&& (ReadingsNum("Bewegungssensor_1","brightness",100) < 80 || ReadingsNum("Bewegungssensor_2","brightness",100) < 80)


EDIT: bedeutet (jetzt), dass einer der beiden unter 80 sein muss (bzw. einer unter 80 "reicht")...

Wobei aktuell (also zur Zeit des lists) BEIDE Werte ÜBER 80 sind ;)

Gruß, Joachim
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MandelHL am 17 Oktober 2020, 12:15:08
Es wäre halt noch gut ein list des aktuellen notify zu haben...
Ich weiß nicht, welches Device ich hinter ,,notify" eingeben muss  :(
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MadMax-FHEM am 17 Oktober 2020, 12:49:42
Zitat von: MandelHL am 17 Oktober 2020, 12:15:08
Es wäre halt noch gut ein list des aktuellen notify zu haben...
Ich weiß nicht, welches Device ich hinter ,,notify" eingeben muss  :(

Du musst doch wissen WIE du dein notify beim define genannt hast! ;)

Wenn du dem Vorschlag von betateilchen gefolgt bist, dann könnte es Bewegung_Vorgarten_Haustuer heißen.

Also:


list Bewegung_Vorgarten_Haustuer


Ansonsten hilft u.U. auch:


list TYPE=notify


Gruß, Joachim
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: betateilchen am 17 Oktober 2020, 13:06:55
Zitat von: MandelHL am 17 Oktober 2020, 12:15:08
Ich weiß nicht, welches Device ich hinter ,,notify" eingeben muss  :(

Da hat wohl jemand das Grundprinzip eines notify überhaupt noch nicht verstanden.
Vielleicht wirfst Du einfach nochmal einen Blick in die commandref zum Thema notify.

Ohne ein bisschen Grundlagenwissen machst Du es allen Leuten extrem schwer, die Dir helfen wollen.
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MadMax-FHEM am 17 Oktober 2020, 13:11:00
Jetzt bin ich verwirrt ;)

Ich hatte gedacht, dass er nicht weiß wie sein notify heißt, weil er sollte doch ein list liefern ;)

Wir werden sehen...

Gruß, Joachim
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: betateilchen am 17 Oktober 2020, 13:14:52
Zitat von: MadMax-FHEM am 17 Oktober 2020, 13:11:00
Jetzt bin ich verwirrt

Ich hatte gedacht, dass er nicht weiß wie sein notify heißt, weil er sollte doch ein list liefern

ok, ich präzisiere... da hat wohl jemand das Grundprinzip von notify oder/und FHEM noch nicht verstanden...
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MadMax-FHEM am 17 Oktober 2020, 13:27:46
Zitat von: betateilchen am 17 Oktober 2020, 13:14:52
ok, ich präzisiere... da hat wohl jemand das Grundprinzip von notify oder/und FHEM noch nicht verstanden...

Ging (in erster Linie) nicht "gegen" dich ;)

War mir nur auf deine Anmerkung hin nicht mehr sicher wo nun das Problem mit dem notify oder dem list dazu liegt ;)

Gruß, Joachim
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MandelHL am 17 Oktober 2020, 17:10:24
Ohne ein bisschen Grundlagenwissen machst Du es allen Leuten extrem schwer, die Dir helfen wollen.
... und mir auch ...

Internals:
   DEF        defmod Bewegung_Vorgarten_Haustuer notify Bewegungssensor_(1|2):motion.* {CommandSet(undef,'Haustuerbeleuchtung on-for-timer 600') if(ReadingsVal('Haustuerbeleuchtung','state','') eq 'off') && ReadingsNum("Lichtsensor_1","Helligkeitswert_Bewegungssensor_1",100) < 80 || ReadingsNum("Lichtsensor_2","Helligkeitswert_Bewegungssensor_2",100) < 80
   FUUID      5f8765a3-f33f-ef18-d921-17d2ef80686ed22c
   NAME       Bewegung_Vorgarten_Haustuer
   NR         95
   NTFY_ORDER 50-Bewegung_Vorgarten_Haustuer
   REGEXP     defmod
   STATE      active
   TYPE       notify
   READINGS:
     2020-10-17 08:12:29   state           active
Attributes:

Ich dachte, das ist das gleiche wie das, das ich schon gepostet hatte - nur ohne den ,,List"-Befehl.
Deshalb hatte ich das nicht noch mal gepostet.
Es sei denn, Ihr sagt, dass das auch wieder falsch ist  ::)

Grüße,
Mandel
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: amenomade am 17 Oktober 2020, 17:25:47
Bitte nicht blind kopieren / schreiben, sondern auch versuchen, es zu verstehen.

ReadingsNum("Lichtsensor_1","Helligkeitswert_Bewegungssensor_1",100)
ReadingsNum("<DEVICE>","<READING DES DEVICES>",100)

Bedeutet numerischen Wert vom Reading "Helligkeitswert_Bewegungssensor_1" des Devices namens "Lichtsensor_1"

Hast Du ein Device, das "Lichtsensor_1" heisst? Ich dachte es wäre "Bewegungssensor_1" laut Post hier:
https://forum.fhem.de/index.php/topic,115020.msg1093207.html#msg1093207

Hat dieses Device Bewegungssensor_1 ein Reading "Helligkeitswert_Bewegungssensor_1"? Ich dachte es hätte eher ein Reading "brightness".
ZitatInternals:
   DEF        2A00FD
   FUUID      5f842189-f33f-ef18-3ca9-e0faef00bafb6919
   HMLANGW_MSGCNT 34
   HMLANGW_RAWMSG 05010045ED84102A00FD25788A0601B100
   HMLANGW_RSSI -69
   HMLANGW_TIME 2020-10-17 11:17:52
   IODev      HMLANGW
   LASTInputDev HMLANGW
   MSGCNT     34
   NAME       Bewegungssensor_1
   NOTIFYDEV  global
   NR         22
   STATE      noMotion
   TYPE       CUL_HM
...
   rssi_at_HMLANGW cnt:34 min:-69 max:-69 avg:-69 lst:-69
   READINGS:
...
     2020-10-12 18:30:30   RegL_01.        00:00 01:12 02:74 08:00 22:00
     2020-10-17 11:17:52   battery         ok
     2020-10-17 11:17:52   brightness      177
     2020-10-12 18:24:15   cfgState        updating
     2020-10-17 10:28:06   commState       CMDs_done
     2020-10-17 11:17:52   cover           closed

Siehe Post von Joachim hier: https://forum.fhem.de/index.php/topic,115020.msg1093212.html#msg1093212
Zitat&& (ReadingsNum("Bewegungssensor_1","brightness",100) < 80 || ReadingsNum("Bewegungssensor_2","brightness",100) < 80)

Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MadMax-FHEM am 17 Oktober 2020, 17:28:27
Ist das komplett kopiert?

Da fehlen am Ende Klammern.
Und: du musst die beiden ODER-Bedingungen klammern!
(so wie ich es gepostet hatte)

Und/and/&& vor Oder/or/||

Wie bei Mathe: Punkt vor Strich!

Und: deine verwendeten ReadingsVal stimmen doch auch nicht!
Und warum ReadingsVal, wenn ich schon mindestens 2x ReadingsNum gepostet hatte UND auch erläutert habe warum (in diesem Fall) ReadingsNum "besser" ist...

Also bitte: in Ruhe noch mal unsere Posts lesen!
Nachdenken und einlesen!

Und dann in Ruhe richtig zusammenbauen...

Das Ergebnis ausprobieren.
Wenn es tut, dann posten für die "Nachwelt" und wenn nicht, dann damit wir weiterhelfen können...

Gruß, Joachim
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: juergen012 am 17 Oktober 2020, 17:43:11
(OFFTOPIC) Ich bewundere eure Geduld!!!!!
Gruß
Jürgen K.
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MandelHL am 17 Oktober 2020, 23:45:31
Zitat(OFFTOPIC) Ich bewundere eure Geduld!!!!!
Ja, tatsächlich offtopic. Ich bewundere Eure Geduld auch. Danke dafür.

ZitatHast Du ein Device, das "Lichtsensor_1" heisst? Ich dachte es wäre "Bewegungssensor_1" laut Post hier:
Ja, habe ich:

Internals:
   DEF        ((Bewegungssensor_1:motion.*)|(Bewegungssensor_2:motion.*)) {
     if (((Value("Lichtsensor_1") eq "dunkel") || (Value("Lichtsensor_2") eq "dunkel")) && (ReadingsVal("Garten_links","state","off") eq "off")) {
fhem "set SchalterBeleuchtungVorgarten on-for-timer 600";
fhem "set Haustuerbeleuchtung on-for-timer 600";
fhem "set Schuppen_Garten on-for-timer 600";
fhem "set Hochbeet_rechts on-for-timer 600";
fhem "set Hochbeet_links on-for-timer 600";
fhem "set Garten_links on-for-timer 600";
fhem "set Garten_rechts on-for-timer 600";
DebianMail('hinrichsen@lubeca.eu','Gartenbeleuchtung wurde aufgrund von Bewegung eingeschaltet','Die Beleuchtung im Garten wurde fuer 10 Minuten eingeschaltet.');
       }
}
   FUUID      5f842846-f33f-ef18-46c7-ba35198668bf9428
   NAME       Bewegung_Vorgarten
   NR         64
   NTFY_ORDER 50-Bewegung_Vorgarten
   REGEXP     ((Bewegungssensor_1:motion.*)|(Bewegungssensor_2:motion.*))
   STATE      2020-10-17 23:02:52
   TRIGGERTIME 1602968572.643
   TYPE       notify
   READINGS:
     2020-10-17 22:41:47   state           active
Attributes:
   group      y_notify_Aussenlicht_Bewegung_Vorgarten
   room       y


Ich habe zwar keine Fehlermeldung, aber mir fällt gerade auf, dass in der ersten Zeile wohl ein ,,|" fehlt.

ZitatUnd warum ReadingsVal, wenn ich schon mindestens 2x ReadingsNum gepostet hatte UND auch erläutert habe warum (in diesem Fall) ReadingsNum "besser" ist...
Habe ich doch so eingesetzt, wie Du es geschrieben hast. Mir war nicht klar, dass das auch für meinen Teil gelten soll, weil da ja kein numerischer Wert abgefragt wird.
if(ReadingsVal('Haustuerbeleuchtung','state','') eq 'off') &&
Hier ist doch ,,ReadingsVal" richtig, oder?

Ich werde mich weiter einlesen und wollte erst einmal die offenen Punkte aufklären.
Ich hoffe, ich habe nichts vergessen.

Viele Grüße
Mandel
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MadMax-FHEM am 17 Oktober 2020, 23:56:22
Warum jetzt plötzlich Value()!!?
Woher kommt das denn!!?

Value frägt STATE ab!
Also das INTERNAL!

Hat das überhaupt den Zustand "dunkel"!?

Und nein in der ersten Zeile fehlt KEIN | weil dort ist es RegEx und kein Perl ODER...

Und ich dachte "dunkel" bedeutet, dass "brightnes" unter 80 sein soll!!?

Das war mein Vorschlag und auch von amenomade...

Wenn du einfach immer irgendwas neues (von wo auch immer) hier lieferst, wird das nie was...
...weil langsam verliere ICH den Überblick was du willst, welche Devices und Readings beteiligt sind etc.

EDIT: ich würde auch für den "Ersatzwert" NICHT den Wert nehmen, mit dem ich danach vergleiche: (ReadingsVal("Garten_links","state","off") eq "off") weil wenn es das Reading nicht gibt oder beim Auslesen ein Fehler auftritt, dann ist die Bedingung trotzdem wahr und das kannst du doch nicht wollen. Drum habe ich bei meinem Vorschlag bewusst die 100 bei Prüfung auf kleiner 80 gewählt...

EDIT: und die Regex von deinem notify war doch auch schon mal "schlanker": Bewegungssensor_(1|2):motion.* siehe https://forum.fhem.de/index.php/topic,115020.msg1093296.html#msg1093296 warum jetzt wieder so "anders"!!!?

EDIT: warum baust du eigentlich von Post zu Post immer komplett um, neue Sachen rein usw.!? So ist helfen eigentlich unmöglich... Da hilft auch kein Popcorn... ;) Obwohl schon lecker! :)

Sorry, Joachim
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: amenomade am 17 Oktober 2020, 23:59:56
Naja... bisher war es immer von irgendwas <80 die Rede. Jetzt hast Du die Anforderungen geändert, dann natürlich ändert sich auch die Lösung.

Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: betateilchen am 18 Oktober 2020, 00:00:27
ich geh mal Popcorn holen...
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MandelHL am 18 Oktober 2020, 00:13:56
ZitatWenn du einfach immer irgendwas neues (von wo auch immer) hier lieferst, wird das nie was...
...weil langsam verliere ICH den Überblick was du willst, welche Devices und Readings beteiligt sind etc
Mein USB-Stick ist vor paar Monaten kaputt gegangen. Bis dahin lief das System. Aber die Programmierung ist lange her. Ich habe also die einzelnen Dateien wieder eingespielt und dabei teilweise auf alte Backups zurückgreifen müssen. Leider hatte ich nämlich danach keine Sicherungen gehabt.
Bisher hatte ich alles über WINSCP gemacht und in der fhem.cfg mit ,,include"-Befehlen gearbeitet.
Dabei kamen dann einige Configs raus:
Aktoren_Schalter.cfg, Aktoren_Sensoren.cfg, Beleuchtung_Aussenbereich.cfg
Das sind die Dateien, die die Beleuchtung betreffen.

Jetzt habe ich alles über die fhem-Oberfläche eingespielt. Das hat auch nach der Anleitung von Otto ganz gut geklappt.

Ich habe also nichts Neues eingebracht, allenfalls erst jetzt gepostet. Die Configs sind aber schon ewig so da.

Kurzum und zum Thema ,,Popcorn": Ich gebe auf.
Es funktioniert ja, wenn ich die weitere Bedingung mit der Dunkelheit weglasse. Dann geht das Licht eben auch während des Tages bei Bewegung für 10 Minuten an:
defmod Bewegung_Vorgarten_Haustuer notify Bewegungssensor_(1|2):motion.* {CommandSet(undef,'Haustuerbeleuchtung on-for-timer 600') if(ReadingsVal('Haustuerbeleuchtung','state','') eq 'off')}

Danke für Eure Geduld,
Mandel
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: MadMax-FHEM am 18 Oktober 2020, 00:23:32
Deine Kopier-Orgie habe ich schon auch verfolgt... ;)

Aber jetzt mal ehrlich!
Lies dir doch deine Posts mal durch bzw. vergleiche mal deine geposteten Schnipsel...

Da ist zwischen den einzelnen Posts HIER im Thread (da rede ich ja gar nicht von dem anderen Thread) ja wohl wenig Übereinstimmung...

Das meinte ich mit "immer neuen Dingen"...

Und das mit dem Einschalten bei Dunkelheit wäre ganz einfach zu ergänzen, wenn:

du posten würdest was schon geht (gut da nehme ich mal an das was zuletzt gepostet wurde) und dann WIE du erkennst/erkennen könntest bzw. willst, dass es dunkel ist...

EDIT: weil bzgl. "Dunkel-Erkennung" hab ich echt den Überblick verloren... ;)

Aber wenn es dir so reicht: auch gut...

Gruß, Joachim
Titel: Antw:Einschalten der Beleuchtung bei 3 Voraussetzungen
Beitrag von: betateilchen am 18 Oktober 2020, 11:00:27
Zitat von: MandelHL am 18 Oktober 2020, 00:13:56
Kurzum und zum Thema ,,Popcorn": Ich gebe auf.
Es funktioniert ja, wenn ich die weitere Bedingung mit der Dunkelheit weglasse. Dann geht das Licht eben auch während des Tages bei Bewegung für 10 Minuten an:

Naja, zumindest eine funktionierende einfache Lösung, die das Einschalten auf die Zeit zwischen Sonnenuntergang und Sonnenaufgang begrenzt, gibt es ja immerhin hier im Thread.

Und tagsüber wird es selten so dunkel, dass man im Garten unbedingt Licht braucht.