on-for-timer nur wenn lampe aus

Begonnen von blixx, 06 September 2020, 13:54:32

Vorheriges Thema - Nächstes Thema

blixx

Hi zusammen,
hab FHEM schon länger im Einsatz, komme aber regel,äßig an ein Problem, das bestimmt ganz einfach zu lösen ist:

Ein Bewegungsmelder (Garten) soll mehrere Lampen (Garten,Garageneingang,Garteneingang, Haustür) einschalten über FHEM.
So dass zum Beispiel ab einer bestimmten Uhrzeit mehr Lichter eingeschaltet werden.
Diese Lampen werden aber auch von anderen Aktionen (Haustür auf, Gäste da, etc.) und Bewegungsmeldern gesteuert und entsprechend mit "on" bzw. "on-for-timer" belegt.

Wenn jetzt der Bewegungsmelder auslöst und mein notify ein on-for-timer auf die Lampen setzt, dann gehen nach dem on-for-timer alle Lampen aus. Auch die, die grad vielleicht dauerhaft eingeschaltet sein sollen, oder auf die ein längerer on-for-timer liegt.

setex funktioniert scheinbar nicht mit on-for-timer.

Was würdet ihr empfehlen?

TomLee

#1
Mit devspec -> http://fhemip:port/fhem/docs/commandref_DE.html#devspecdevspec mein ich verstanden zu haben könnte man das angehen, ohne ein Beispiel wie das notify genau aufgebaut ist gesehen zu haben.

set <gerätename>:FILTER=<readingname>=off on-for-timer 60

Mach nur einen on-for-timer an dem Gerät wenn es auch gerade aus ist.

Gruß

Thomas

miot

Alternativ: Die betreffenden Notify's der Bewegungsmelder / Sensoren inaktiv setzen, wenn die Gartenbeleuchtung manuell eingeschaltet wird.

Gruss
Michael

blixx

Zwei gute Vorschläge, bei letzterem würde ich mich wahrschinlich verzetteln, deshalb probiere ich mal
"set LichtVorne:FILTER=state=off on-for-timer 120"

DANKESCHÖN:)

miot

Eine kleine Ergänzung: Die von Dir bevorzugte Variante führt dazu, dass 'LichtVorne' nach dem Einschalten erst wieder ausgehen muss bevor sie erneut durch den Bewegungsmelder wieder eingeschaltet werden kann.  Das heißt nach - in deinem Fall - 120 Sekunden steht man für einen unbestimmten Zeitraum im Dunkeln bevor der Bewegungsmelder evtl erneut einschaltet.

Gruss
Michael

blixx

jap, stimmt. Auch nicht schön. Ich merke - ganz so einfach ist es doch nicht.
Das inaktiv setzen des Bewegungsmelders führt zu "Randeffekten": Weil die Lampen trotzdem mit nem on-for-timer belegt werden, die auf "on" stehen. Die gehen also aus, obwohl sie dauerhaft an bleiben sollten.
Wharscheinlich wäre bei schalten vomn "on" ein eigenes reading das Beste, das gesetzt wird, wenn die Lampe dauerhaft brennen soll und dann wird on-for-timer nicht ausgeführt wenn das reading gesetzt ist.
Ich rpobiere weiter...

laberlaib

Gude,

Könnte man nicht zwei "sets" per devspec machen?
Das angegebene und eines, welches auf das Reading "timedOn = on" prüft und da dann das o-f-t erneuert?
Zumindest meine Homematicgeräte haben dieses Reading.

Bei einer Lampe, wobei das wohl nur das Beispiel ist und der Gerätenameteil des devspec wohl noch einen regex bekommt (?), würde ich (ich beherrsch notify etc nicht) sogar auf devspec verzichten und DOIF, DOELSEIF etc. nehmen.


Aber  eigentlich mach ich inzwischen alles, was mit Bewegungsmeldern und abhängiges Schalten zu tun hat, inzwischen mit "Homezone: Zonen-basierte Anwesenheitserkennung und -steuerung"

https://forum.fhem.de/index.php/topic,98594.0.html

Ich habe verschiedene Typen von Bewegungsmeldern, welche unterschiedliche (mit Sicherheit auch konfigurierbare) Cooldowns haben. Diese überwachen den selben Ort. Spätestens dann wird es mir zu bunt mit o-f-t und der bereits genannten Problematik.
Außerdem bin ich dann frei von o-f-t-Fähigkeiten und kann beim verlassen der Zone / nicht Bewegung auch komplizierter reagieren (Musik ausmachen, Alarmanlage anschalten, etc).
--
Proxmox, Homematic, G-Tags, Zigbee2MQTT, Rhasspy Sprachsteuerung im Aufbau (beta)

amenomade

Zitat von: miot am 08 September 2020, 18:15:00
Eine kleine Ergänzung: Die von Dir bevorzugte Variante führt dazu, dass 'LichtVorne' nach dem Einschalten erst wieder ausgehen muss bevor sie erneut durch den Bewegungsmelder wieder eingeschaltet werden kann.  Das heißt nach - in deinem Fall - 120 Sekunden steht man für einen unbestimmten Zeitraum im Dunkeln bevor der Bewegungsmelder evtl erneut einschaltet.

Gruss
Michael

Wenn das Device ein "on-for-timer" in state oder STATE merkt, kann man
set LichtVorne:FILTER=STATE!=on on-for-timer 120
machen


Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus