FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: andale77 am 27 Dezember 2016, 11:31:30

Titel: Licht über Bewegungsmelder und manuell Schalten
Beitrag von: andale77 am 27 Dezember 2016, 11:31:30
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
Titel: Antw:Licht über Bewegungsmelder und manuell Schalten
Beitrag von: budy am 27 Dezember 2016, 17:41:43
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
Titel: Antw:Licht über Bewegungsmelder und manuell Schalten
Beitrag von: Gollum2 am 27 Dezember 2016, 18:42:58
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.
Titel: Antw:Licht über Bewegungsmelder und manuell Schalten
Beitrag von: Chris8888 am 27 Dezember 2016, 22:28:45
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
Titel: Antw:Licht über Bewegungsmelder und manuell Schalten
Beitrag von: Pfriemler am 28 Dezember 2016, 00:04:01
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 ...
Titel: Antw:Licht über Bewegungsmelder und manuell Schalten
Beitrag von: igami am 28 Dezember 2016, 05:56:22
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  ;)
Titel: Antw:Licht über Bewegungsmelder und manuell Schalten
Beitrag von: martinp876 am 28 Dezember 2016, 06:36:02
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.
Titel: Antw:Licht über Bewegungsmelder und manuell Schalten
Beitrag von: Gollum2 am 28 Dezember 2016, 08:18:53
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.
Titel: Antw:Licht über Bewegungsmelder und manuell Schalten
Beitrag von: stromer-12 am 28 Dezember 2016, 13:43:39
Da schöne es über die Register zu lösen ist das es auch ohne FHEM funktioniert.
Titel: Antw:Licht über Bewegungsmelder und manuell Schalten
Beitrag von: igami am 28 Dezember 2016, 17:20:53
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
Titel: Antw:Licht über Bewegungsmelder und manuell Schalten
Beitrag von: martinp876 am 28 Dezember 2016, 21:27:17
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.
Titel: Antw:Licht über Bewegungsmelder und manuell Schalten
Beitrag von: Morgennebel am 29 Dezember 2016, 16:10:08
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

Titel: Antw:Licht über Bewegungsmelder und manuell Schalten
Beitrag von: Gollum2 am 29 Dezember 2016, 16:25:10
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!!!


Titel: Antw:Licht über Bewegungsmelder und manuell Schalten
Beitrag von: martinp876 am 29 Dezember 2016, 22:19:34
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.
Titel: Antw:Licht über Bewegungsmelder und manuell Schalten
Beitrag von: Morgennebel am 30 Dezember 2016, 09:57:04
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