Einschalten der Beleuchtung bei 3 Voraussetzungen

Begonnen von MandelHL, 14 Oktober 2020, 22:01:29

Vorheriges Thema - Nächstes Thema

MandelHL

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

betateilchen


defmod Bewegung_Vorgarten_Haustuer notify Bewegungssensor_(1|2):motion.* {CommandSet(undef,'Haustuerbeleuchtung on-for-timer 600') if(ReadingsVal('Haustuerbeleuchtung','state','') eq 'off')}
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

MandelHL

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

betateilchen

#3
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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

MandelHL

Danke. Ich hatte es nicht zu Ende kopiert und die Klammer händisch eingefügt.
Und dann haben die Augen versagt  ::)

Sorry  :-\

Klappt  :)

MandelHL

#5
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

betateilchen

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())}
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

MandelHL

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?

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

MandelHL

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

MadMax-FHEM

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

MandelHL

#11
&& 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

amenomade

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??
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

MadMax-FHEM

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

MadMax-FHEM

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