Licht über Bewegungsmelder und manuell Schalten

Begonnen von andale77, 27 Dezember 2016, 11:31:30

Vorheriges Thema - Nächstes Thema

andale77

Hallo zusammen,

ich betreibe im FHEM mehrere Homematic Schaltaktoren und Steckdosen. Zwei Aktoren werden über Bewegungsmelder gesteuert.
Funktioniert alles prima.

Nun kommt mein kleines Problemchen. Wenn ich das Licht über das FHEM (Tablet oder Smartphone App) anschalte bleibt es auf "Daueran" allerdings nur bis jemand durch den Bewegungsmelder läuft. Ab dann läuft der Timer und das Licht geht aus.
Hat jemand eine Pfiffige Lösung wie ich das Licht auf Daueran schalten kann und der Bewegungsmelder dann deaktiviert ist?

Vielen Dank für Eure Hilfe!

Andreas

budy

Moin,

wenn du das über ein Notify regelst, dann kann du dem Notify einen Filter mitgeben, so dass es nur feuert, wenn der Aktor vorher aus war...

Gruß,
Stephan
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

Gollum2

#2
Moin..

sorg dafür, das dein Bewegungsmelder nur ON TIMER setzt, wenn der Timer läuft oder das Licht aus ist.
Ist das Licht ON und kein Timer läuft (also Manuel eingeschaltet), passiert nichts.

Anbei mein Beispiel:

FL_Bewegungsmelder_oben:motion:.on.* {
my $Helligkeit=(ReadingsVal("FL_Bewegungsmelder_oben","brightness",200));
my $Licht=(ReadingsVal("HW_HUT_Modul_Kanal2","state","off"));
my $Timer=(ReadingsVal("HW_HUT_Modul_Kanal2","timedOn","off"));
if (($Helligkeit < 38)  and (($Licht eq "off") or ($Timer eq "running")))
{
  {fhem "set HW_HUT_Modul_Kanal2 on-for-timer 80"}
  {Log 1, "NOTIFY:IF:FL_Licht_oben_An"}
}
}

Wichtig für dich ist die Variable:
or ($Timer eq "running")))

Der Wert kannst du so abfragen:
my $Timer=(ReadingsVal("HW_HUT_Modul_Kanal2","timedOn","off"));


Gruß Gollum

PS: Sprich der On Timer vom Bewegungsmelder  wird nur dann gesetzt, wenn noch kein Licht an ist und/oder schon ein Timer läuft. Der kommt dann vom Bewegungsmelder, denn dein normales schalten setzt nicht "timedOn":-)

PS2: Wenn du nur "nicht an" abfragst, wird dein Bewegungsmelder nicht verlängern...heist...das Licht geht nach x sec aus....und erst nach x sec danach wieder an.
"Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen."

Fhem auf Raspberry PI 2
HM LAN HM USB, CUL 433
IT Steckdosen, Diverse HM Aktoren und Sensoren, Yamaha Receiver, Panasonic TV, Harmony Hub

Chris8888

Hallo,

also ich habe das direkt in den Registern des Lichtschalters gemacht, ohne FHEM einzubinden.

Einfach das "manuelle Schalten" auch als "on for time" mit zB 10Std einstellen, der Timer wird dann bei Aktivierung des Bewegungsmelders nicht neu gestartet bzw auch die Zeit wird nicht überschrieben.

Viele Grüße
Christian
FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

Pfriemler

Mögliche (von mir noch ungeteste) Alternative (aber das wäre auch für mich eine Problemlösung):
Register "shOnTimeMode" für den betrefffenden Peer (den Bewegungsmelder) ändern von "absolute" auf "minimal". Damit sollte eigentlich eine längere bestehende Einschaltzeit (etwa durch einen zuvor betätigten Lichtschalter oder anderen Taster) nicht mehr überschrieben werden. War der Lichtschalter zuvor aus, leuchtets für die für den betreffenden Peer definierte shOnTime, bei aktivem Lichtschalter bliebe das dann ohne Funktion.
Werde ich auch mal testen, dammich, hätte ich auch eher drauf kommen können ...
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

igami

Habe ein ähnliches Szenario in meinem Flur. Hier die Raw definition

defmod HM_24074C_DOIF DOIF ([HM_24C9DA:"open"] or\
[HM_24074C_Btn_01:"Short"]\
)(\
  set HM_24074C_Sw_01 on\
)\
DOELSEIF\
([HM_24074C_Btn_02:"Short"]\
)(\
  set HM_24074C_Sw_01 off\
)\
DOELSEIF\
([HM_29F65B:"motion"] and \
([$SELF:cmd] != 1 or\
  [?HM_24074C_Sw_01:state] eq "off"\
) or\
[HM_24C9DA:"closed"]\
)(\
  set HM_24074C_Sw_01 on\
)(\
  set HM_24074C_Sw_01 off\
)
attr HM_24074C_DOIF alias Flur: Beleuchtung Automatik
attr HM_24074C_DOIF cmdState set on|set off|set on-for-timer,waiting
attr HM_24074C_DOIF do always
attr HM_24074C_DOIF group Beleuchtung
attr HM_24074C_DOIF icon time_automatic
attr HM_24074C_DOIF room Flur
attr HM_24074C_DOIF wait 0:0:0,30

HM_24C9DA ist die Flurtür
HM_24074C_Btn_01ist der ein-Taster
HM_24074C_Btn_02 ist der aus-Taster
HM_24074C_Sw_01 ist die Beleuchtung

Das DOIF sollte eignelich selbserklärend sein  ;)
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

martinp876

M.e. gibt es nur einen weg, es zu realisieren. In den Registern.
Ich habe dazu ein template erstellt, welches man auf den aktor, genauer die dem peer (Motion detect) zugeordneten Registern des aktors, noch genauer den short Part, anwenden sollte.
Keine weitere Aktion in fhem notwendig. Man kann das Licht über Buttons und Web dauer einschalten. Nur wenn es aus ist reagiert der aktor auf den BM.
Nutzt man das template muss man auch nichts über registerdetails wissen.

Gollum2

Moin..

wie schon gesagt...mit meinem Beispiel klappt es. Auch eine unterbrechungsfreie Weiterbeleuchtung, wenn die Zeit des Bewegungsmelders abgelaufen ist und er eine weitere "motion" meldet.

Das sehe ich bei Igams Beispiel nicht als gegeben an.

Zu den Registerspielen, kann ich nichts sagen..da fehlt mir das wissen.
Wäre aber interessant zu wissen, wenn und wie das funktioniert.
"Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen."

Fhem auf Raspberry PI 2
HM LAN HM USB, CUL 433
IT Steckdosen, Diverse HM Aktoren und Sensoren, Yamaha Receiver, Panasonic TV, Harmony Hub

stromer-12

Da schöne es über die Register zu lösen ist das es auch ohne FHEM funktioniert.
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

igami

Zitat von: Gollum2 am 28 Dezember 2016, 08:18:53
Das sehe ich bei Igams Beispiel nicht als gegeben an.
Ist aber durch das do always gegeben
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

martinp876

Nutzt man das template muss man nichts weiter wissen. On ist on. Motion on geht nur wenn der aktor Off ist.
On kann man von jedem Schalter oder web schalten. Man kann auch timedon schalten, also Treppenhauschaltung. Motion.on ist das letzte Glied und wird von allen überstimmt.

https://wiki.fhem.de/wiki/HomeMatic_HmInfo_Templates_erstellen#both

Mit Verkaub - alles andere ist komplizierter und unsicherer... Und nicht komplett.
Wenn das template schon zu Verfügung gestellt wird , wie einfach soll es noch sein? Hm, vielleicht ist die Anleitung komplexer als die Anwendung.

Morgennebel

Templates sind für die Uneingeweihten in etwa so kniffelig wie Maschinensprache direkt aus dem HEX-File zu verstehen - evtl. mit einem Handbuch auf Lochpapier zum Übersetzen der Kommandos.

Wir sind alle Klick-Bunti-Micky-Mouse-Commander Oberflächen gewöhnt - und die meisten von uns wollen die Lösung auch verstehen, um sie hinterher auf den eigenen Bedarf feintunen zu können...

Und deshalb landen dann viele wieder bei notifies und DOIF, auch wenn das Template die perfekte Lösung wäre.

Ciao, -MN

Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

Gollum2

Martin:

wie immer führen vier Wege nach Rom....mann muss jeden beschritten sein, um den Besten zu erkennen und zu kennen.
Das ist das Problem.

Man weis halt nicht immer was geht, was nicht geht und ....vor allem was die Beste Lösung ist.

Hier muss jeder selber immer mehr lernen und ausprobieren.

Weist ja selber, das ich auch in den letzten Tagen wieder dazugelernt habe:-)
Zum Lernen gehört aber auch Zeit, wenn man nicht für jede Problem einen Thread eröffnen will. Die fehlt meistens.

Um so wichtiger ist es, das es die Community gibt...

Daher an der Stelle Danke an alle die sich die Zeit nehmen, um anderen zu helfen!!!


"Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen."

Fhem auf Raspberry PI 2
HM LAN HM USB, CUL 433
IT Steckdosen, Diverse HM Aktoren und Sensoren, Yamaha Receiver, Panasonic TV, Harmony Hub

martinp876

Fhem bietet die Möglichkeit zu spielen wie man will. Und das ist gut so.
Das Templates kompliziert sind verstehe ich nicht - jedenfalls nicht die Anwendung.
Das erstellen ist Maschinen Sprache, klar. Das muss auch nicht jeder.
Jemand, der es versteht sollte es erstellen und kann es zu Verfügung stellen.
Das template fuer motiondetektor existiert. Es steht im wiki. Es ist nicht notwendig, Assembler zu programmieren, als Anwender. Das ist eine der Ideen, die anderen Vorteile sind beschrieben.
Natürlich kann man alles von der zentrale steuern. Das ist eine Implementierung, die Sinn macht. Allerdings ist mir fhem hierzu zu langsam und zu fragil. Und ich setze hm nicht um ein, um dessen Vorteile zu ignorieren.
Unklar allerdings, was an der ANWENDUNG eines templates kompliziert ist. Aber jedem das seine - das ist fhem.

Morgennebel

Zitat von: martinp876 am 29 Dezember 2016, 22:19:34
Das Templates kompliziert sind verstehe ich nicht - jedenfalls nicht die Anwendung.
[...]
Unklar allerdings, was an der ANWENDUNG eines templates kompliziert ist. Aber jedem das seine - das ist fhem.

Ich kann gerne im Januar die Wiki-Seiten für Templates "anfängerfreundlicher" gestalten, sobald ich mich selber im Detail eingelesen habe und es ausgetestet habe. Die Bewegungsmelder liegen hier auf dem Tisch und sind nicht konfiguriert - gute Gelegenheit...

Nur am Rande: gibt es ein Template, daß Treppenlicht und Bewegungsmelder mit einem Dimmer realisiert, d.h. in einem zu definierendem Zeitintervall "Nachts" das Licht nur auf einen kleinen Prozentwert (20%) hochdimmt...?

Danke, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA