FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: wendeling am 15 November 2017, 10:58:54

Titel: DoIf Abfrage (gelöst)
Beitrag von: wendeling am 15 November 2017, 10:58:54
Hallo zusammen,
heute habe ich eine Frage an die Spezialisten.

- Ich habe drei Bewegungsmelder HM_4F...
- Von einem Bewegungsmelder lese ich nur die  Helligkeit aus
- Bei den anderen Beiden die Bewegung
- es sollen zwei Lichter geschaltet werden HMW ...

Aufgabe meldet einer der beiden Bewegungsmelder eine Bewegung und die Helligkeit vom dritten ist <90 sollen die beiden Lampen eingeschaltet und dann später auch wieder ausgeschaltet werden.

Bei meiner Eingabe wird aber die Helligkeit des dritten Bewegungsmelder nicht berücksichtigt und die erste Lampe wird immer bei Bewegung eingeschaltet. Die zweite Lampe wird überhaupt nicht eingeschaltet.


([HM_4F9075] eq "motion" or [HM_4F95BE] eq "motion" and [HM_4F9540:brightness] <90 ) (; set HMW_IO_12_Sw7_DR_LEQ0117480_13 on and HMW_IO_12_Sw7_DR_LEQ0117480_14 on) DOELSEIF ([HM_4F9075] eq "noMotion" and [HM_4F95BE] eq "noMotion" ) (; set HMW_IO_12_Sw7_DR_LEQ0117480_13 off and HMW_IO_12_Sw7_DR_LEQ0117480_14 off)


wie muss ich die Eingabe verändern, damit es so funktionier wie ich es möchte ?

danke

mfg

 
Titel: Antw:DoIf Abfrage
Beitrag von: CoolTux am 15 November 2017, 11:03:32

(([HM_4F9075] eq "motion" or [HM_4F95BE] eq "motion") and [?HM_4F9540:brightness] <90 ) (set HMW_IO_12_Sw7_DR_LEQ0117480_13|HMW_IO_12_Sw7_DR_LEQ0117480_14 on) DOELSEIF ([HM_4F9075] eq "noMotion" and [HM_4F95BE] eq "noMotion" ) (et HMW_IO_12_Sw7_DR_LEQ0117480_13|HMW_IO_12_Sw7_DR_LEQ0117480_14 off)


Eventuell so.
Titel: Antw:DoIf Abfrage
Beitrag von: der_da am 15 November 2017, 11:05:07
Wenn du möchtest, dass das Licht nur eingeschaltet wird, wenn entweder der eine ODER der andere eine Bewegung detektiert, ABER IMMER auch das Licht ausgewertet werden soll, dann musst du das auch so schreiben:
(([HM_4F9075] eq "motion" or [HM_4F95BE] eq "motion") and [HM_4F9540:brightness] <90 )
Titel: Antw:DoIf Abfrage
Beitrag von: wendeling am 15 November 2017, 11:45:54
Danke für die Antworten :
Das mit der Helligkeit funktioniert jetzt, aber das zweite Licht geht immer noch nicht an .
Wer kann noch helfen ?


(([HM_4F9075] eq "motion" or [HM_4F95BE] eq "motion") and [HM_4F9540:brightness] <490 ) (; set HMW_IO_12_Sw7_DR_LEQ0117480_13 on and HMW_IO_12_Sw7_DR_LEQ0117480_14 on) DOELSEIF ([HM_4F9075] eq "noMotion" and [HM_4F95BE] eq "noMotion" ) (; set HMW_IO_12_Sw7_DR_LEQ0117480_13 off and HMW_IO_12_Sw7_DR_LEQ0117480_14 off)

Titel: Antw:DoIf Abfrage
Beitrag von: der_da am 15 November 2017, 11:55:13
set HMW_IO_12_Sw7_DR_LEQ0117480_13 on , set HMW_IO_12_Sw7_DR_LEQ0117480_14 on
Titel: Antw:DoIf Abfrage
Beitrag von: Otto123 am 15 November 2017, 12:03:58
Hi,

ist das hier Murmeltiertag? -> https://forum.fhem.de/index.php/topic,79534.msg715535.html#msg715535

Ich stelle nochmal die unangenehme Frage: Wozu dienen die semikolon nach der Klammer ?
Zitat(; set HMW_IO_12_Sw7_DR_LEQ0117480_13 on and HMW_IO_12_Sw7_DR_LEQ0117480_14 on)

Gruß Otto
Titel: Antw:DoIf Abfrage
Beitrag von: wendeling am 15 November 2017, 12:05:01
Hallo ,
habe es nun folgendermaßen gelöst


(([HM_4F9075] eq "motion" or [HM_4F95BE] eq "motion") and [HM_4F9540:brightness] <490 ) (; set HMW_IO_12_Sw7_DR_LEQ0117480_13|HMW_IO_12_Sw7_DR_LEQ0117480_14 on) DOELSEIF ([HM_4F9075] eq "noMotion" and [HM_4F95BE] eq "noMotion" ) (; set HMW_IO_12_Sw7_DR_LEQ0117480_13|HMW_IO_12_Sw7_DR_LEQ0117480_14 off)



vielen Dank an Alle !!
Titel: Antw:DoIf Abfrage
Beitrag von: Otto123 am 15 November 2017, 12:07:24
Aber das semikolon ist immer noch unnütz  ::)
Titel: Antw:DoIf Abfrage (gelöst)
Beitrag von: der_da am 15 November 2017, 12:10:31
Zitat von: Otto123 am 15 November 2017, 12:07:24
Aber das semikolon ist immer noch unnütz  ::)
Vielleicht braucht er mal eins, und dann kann er es dort bedenkenlos weg nehmen  ;D 8)
Titel: Antw:DoIf Abfrage (gelöst)
Beitrag von: Otto123 am 15 November 2017, 12:21:08
Von gestern zu Heute hat er schon eins weggenommen  ;D
Aber solche Dinge sind unter Umständen nicht nur unnütz sondern auch störend, z.B. stört häufig eine leere Zeile am Ende der DEF  ::)
Titel: Antw:DoIf Abfrage (gelöst)
Beitrag von: wendeling am 15 November 2017, 12:21:24

(([HM_4F9075] eq "motion" or [HM_4F95BE] eq "motion") and [HM_4F9540:brightness] <490 ) (set HMW_IO_12_Sw7_DR_LEQ0117480_13|HMW_IO_12_Sw7_DR_LEQ0117480_14 on) DOELSEIF ([HM_4F9075] eq "noMotion" and [HM_4F95BE] eq "noMotion" ) (set HMW_IO_12_Sw7_DR_LEQ0117480_13|HMW_IO_12_Sw7_DR_LEQ0117480_14 off)


:-) funktioniert genauso !!

DANKE!!
Titel: Antw:DoIf Abfrage (gelöst)
Beitrag von: CoolTux am 15 November 2017, 12:42:12
ich würde für die Helligkeit immer noch nur eine Abfrage machen und nicht drauf triggern.
Titel: Antw:DoIf Abfrage (gelöst)
Beitrag von: wendeling am 15 November 2017, 13:36:01
wie müsste das dann aussehen ?
Titel: Antw:DoIf Abfrage (gelöst)
Beitrag von: CoolTux am 15 November 2017, 15:17:29
Wie ich in meinem Codebeispiel gezeigt habe.
Titel: Antw:DoIf Abfrage (gelöst)
Beitrag von: der_da am 15 November 2017, 15:30:59
Zitat von: CoolTux am 15 November 2017, 11:03:32

(([HM_4F9075] eq "motion" or [HM_4F95BE] eq "motion") and [?HM_4F9540:brightness] <90 ) (set HMW_IO_12_Sw7_DR_LEQ0117480_13|HMW_IO_12_Sw7_DR_LEQ0117480_14 on) DOELSEIF ([HM_4F9075] eq "noMotion" and [HM_4F95BE] eq "noMotion" ) (et HMW_IO_12_Sw7_DR_LEQ0117480_13|HMW_IO_12_Sw7_DR_LEQ0117480_14 off)

Manchmal sind einzelne Zeichen nicht so richtig sinnvoll, z.B. überflüssige Semikolons. Manchmal haben einzelne Fragezeichen aber starke Auswirkungen. Habe ich auch letztens erst gelernt  8)
Mit dem Finger drauf zeig --> [?HM_4F9540:brightness]