Bewegungsmelder bedingt schalten lassen

Begonnen von rainer042, 22 September 2013, 18:31:41

Vorheriges Thema - Nächstes Thema

rainer042

Hallo,

ich möchte eine Lampe für meinen Balkon mit einem externen Bewegungsmelder (wohl diesem hier: http://www.elv.de/homematic-funk-ir-bewegungsmelder-aussen.html ) anschalten lassen. Die Lampe sitzt außen unterm Dachgiebel, daher möchte ich den Bewegungssensor von der Lampe getrennt, "optimaler" anbringen können.

In meiner Vorstellung könnte das Schalten prinzipiell gehen, indem ich ein notify schreibe, das auf ein Bewegungs-Event des Bewegungsmelders anspricht und dann eben die Lampe über einen Funk-Aktor anschaltet und durch einen Timer wieder abschaltet.

Nun möchte ich aber an einer klaren Sternennacht vom Balkon auch ungestört in den Himmel  blicken können, ohne das das Licht angeht und mich blendet indem ich die Lampe "manuell", also im Webfrontend bzw der Andoid-FHEM App ausschalte.

Damit das mit einem Schaltaktor klappen kann, müßte ich mir also in FHEM merken können (z.B. in einer FHEM-Variablen) das ich z.B. im Web-Interface zuvor die Lampe  manuell ausgeschaltet/eingeschaltet  habe und der Schaltvorgang nicht durch ein event des Bewegungsmelders ausgelöst wurde.

Ich hab allerdings keine Idee, wie ich eine Variable nennen wir sie mal "lampstatus" auf z.B. "manual" setzen kann, wenn ich die Lampe manuell im Webfrontend oder der FHEM-Android-App ausgeschaltet habe und auf z.B. "auto" wenn ich die Lampe manuell  (also nicht aus dem notify heraus) angeschaltet habe.

Ginge das aber irgendwie, könnte ich im notify-command für den Bewegungsmelder dann etwas in der Art sagen wie: if( movement && $lampstatus eq "auto" ) { fhem("set lamp on") } .

Wäre $lampstatus gleich "manual" würde eben einfach nicht geschaltet werden und die Lampe bliebe auch bei Bewegungsmeldung aus.

Falls das alles Unsinn ist was ich mir da vorstelle, gibts dann einen anderen Weg das Ziel zu erreichen?


Viele Grüße
Rainer

rudolfkoenig

Fuer das manuelle einstellen wuerde ich ein dummy verwenden, und in der notify dessen "Value" abfragen

rainer042

Zitat von: rudolfkoenig schrieb am So, 22 September 2013 19:32Fuer das manuelle einstellen wuerde ich ein dummy verwenden, und in der notify dessen "Value" abfragen


Wenn es einfach über eine Variable geht, dann war ja meine Frage wie ich diese denn setzen kann, wenn ich im Webfrontend manuell einen Schaltvorgang auslöse. Man muß ja unterscheiden können ob ein Schaltvorgang manuell oder durch ein Event des Bewegungsmelders ausgelöst wurde, sonst funktioniert das Grundprinzip nicht was ich mir vorgestellt hatte. Leider weiß ich eben nicht wie/ob ich eine Variable aufgrund eines Schaltvorgangs im Webfrontend setzen kann ... Kann ja sein das das trivial ist, aber im Moment hab ich keine Idee.

Grüße
Rainer

fiedel

Hier mal noch ein nettes Beispiel, wie du das dann per Mausklick oder Touchscreen umschalten kannst:


(siehe Anhang / see attachement)




# Test Schalter mit webCmd:
define mySchalter dummy
attr mySchalter group Schalter
attr mySchalter room 6_Spielwiese
attr mySchalter webCmd Anwesend:Haus_verlassen:Garten:Schlafen

define mySchalter2 dummy
attr mySchalter2 group Schalter
attr mySchalter2 room 6_Spielwiese
attr mySchalter2 webCmd 1:2:3:4



Dazu muss webCmd unter "attr global" definiert sein. Dann kannst du per Mausklick oder Touch auf einen der Zustände den Zustand des Dummies umschalten.
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

fiedel

ZitatKann ja sein das das trivial ist, aber im Moment hab ich keine Idee.

Ist auch einfach: In das Notify vom Melder



set Status Auto

#oder

{fhem("set Status Auto")}



einfügen, wenn "Status" der Name des Dummy ist.

Wie ein Notify aufgebaut wird, steht im Einsteiger- PDF... ;o)
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

rainer042

Hallo fiedel,

danke für den Tip.

Die Lösung besteht also darin sich einen sozusagen virtuellen Schalter in FHEM zu definieren ("virtuell", da ja kein physikalischer Schalter direkt gesteuert wird), der es erlaubt eine Variable zu setzen, die im notify für den Bewegungsmelder ausgewertet werden kann.

Vielen Dank
Rainer