HI!
Wenn ich 2 Bewegungsmelder mit einem Schaltern peere... auf welche Helligkeitswerte reagiert dann der Melder? Oder schaltet er dann immer wenn Bewegung ist, egal wie hell oder Dunkel es ist...?
Es geht mir darum, das der Bewegungsmelder das Licht auch dann schalten soll wenn FHEM mal aussteigt... Aber halt nur ab einer gewissen Dunkelheit...
VIelen Dank!
Ein HM Bewegungsmelder sendet erkannte Bewegungen je nach Programmierung unterschiedlich oft, aber immer unabhängig von der Helligkeit. Dabei sendet er jedoch einen (je nach Typ unterschiedlich empfindlichen) aktuellen Helligkeitswert mit.
Der Aktor entscheidet je nach Registerprogrammierung, ob er daraufhin schaltet oder nicht (und teilt diese Entscheidung der Zentrale auch mit).
Natürlich tut er das auch ohne Fhem.
Details müsste es im Wiki geben. Siehe auch Templates.
:-\ Hmm... okay... es steht viel drin, aber verstehen tue ich nicht wie ich meinen Fall lösen kann...
Der Punkt ist folgender: Die Bewegungsmelder (2Stück) sollen Kanal1 von einem 2-Kanal Schalter für 120Sek einschalten WENN es unter brightness:100 ist und Bewegung erkannt wurde.
WENN ich aber den Schalter Manuell einschalte damit das Licht immer an ist, darf mir keiner der beiden Bewegungsmelder den zustand nach 120sek wieder auf off setzen...
Ist sowas möglich?
Mit einem DOIF ist es kein Problem, aber ob und wie man das peert verstehe ich nicht...
Im Wiki findet sich beim diesem Bewegungsmelder einiges interessantes, was für alle verfügbaren Typen auch gilt:
https://wiki.fhem.de/wiki/HM-Sec-MDIR_Funk-Bewegungsmelder_innen#Spezielle_Konfigurationen
Besonders wesentlich sind diese Punkte:
set Kueche_Lampe regSet shOnTime 180 Kueche_Bewegungsmelder
# Setzt den on-for-Timer auf 180 Sec
für die Festlegung der Laufzeit.
Ebenso wichtig ist ein Eingriff in die Sprungtabelle:
set Kueche_Lampe regSet shSwJtOn on Kueche_Bewegungsmelder
# sorgt dafür, dass der Aktor nicht beim zweiten Impuls des Bewegungsmelders wieder aus-, sondern immer wieder eingeschaltet wird (Zeitverlängerung)
Schließlich wird der Triggerlevel (=maximaler Helligkeitswert, alles darunter schaltet den Aktor ein) mit diesem Register gesetzt (ersetze 0 durch den gewünschten Wert)
set Kueche_Lampe regSet shCtValLo 0 Kueche_Bewegungsmelder
# Legt fest, ab welcher "Dunkelheit" der Schaltaktor schalten soll
Normalerweise ersetzt ein neuer Einschalt-Trigger die Werte für das vorherige Einschalten, auch wenn sie von anderen peers kommen. Ganz richtig: ein manuell eingeschalter Schalter würde nach dem obigen Beispiel nach einer einmaligen erkannten Bewegung nach 180 Sekunden ausschalten. Das lässt sich aber ändern mit dem Register "shOnTimeMode": das default "absolut" gilt sozusagen immer, während "minimum" dann nur eine Laufzeit für diesen Peer vorgibt - gab es zuvor noch andere, längere Timer, so werden diese im Hintergrund weitergeführt. Konkret heißt das: War der Schalter zuvor eingeschaltet (was man ja üblicherweise mit unbegrenzter Laufzeit tut), dann bleibt der Aktor weiterhin an.
set Kueche_Lampe regSet shOnTimeMode minimum Kueche_Bewegungsmelder
BTW: bei Dimmern kann man zudem mit "shOnMinLevel" einen Dimmerlevel vorgeben und mit "shOnLvlPrio" dessen Bedeutsamkeit: "low" bedeutet, dass sein Wert untergeordnet gilt. So kann man z.B. eine Lampe bewegungsmeldergesteuert dezent dimmen und dennoch per Schalter jederzeit höher dimmen - ist die Lampe zum Zeitpunkt des Eintreffens des Bewegungsmeldertriggers heller als "shOnMinLevel", dann wird die Lampe eben nicht dunkler - war die Lampe vorher dunkler, wird sie aber auf diesen Wert angehoben.
Deine Wünsche klappen also mit HM-Bordmitteln ohne DOIF - und das sollte man auch immer anstreben.
Wichtig: Du musst diese Einstellungen für beide Bewegungsmelder getrennt vornehmen. Das bedeutet aber auch, dass Du für beide Bewegungsmelder unterschiedliche Werte angeben kannst.
Hammer! Das ist eine super erklärung! Denke so bekomme auch ich es hin. Vielen Dank!
Aber noch eine Frage:
Wenn du schreibst:
set Kueche_Lampe regSet shCtValLo 0 Kueche_Bewegungsmelder
Wie muss ich das verstehen? Das regSet wird am Küeche_Lampe Aktor gesetzt und die "Kueche_Bewegungsmelder" ist die quasi verknüpfung zum Bewegungsmelder? Also muss ich alle regSet einträge immer am LampenAktor durchführen? Falls ja, dann verstehe ich das nicht:
Zitat
Wichtig: Du musst diese Einstellungen für beide Bewegungsmelder getrennt vornehmen. Das bedeutet aber auch, dass Du für beide Bewegungsmelder unterschiedliche Werte angeben kannst.
Wie betrachte ich beide Bewegungsmelder?
So?:
set Kueche_Lampe regSet shCtValLo 0 Bewegungsmelder1,Bewegungsmelder2
Willkommen in der spannenden Welt der Homematic-Registermanipulation! Du brauchst dringend ein paar Grundlagen... Einsteigerdoc-Anhang.
Für die Registermanipulation gibt es übrigens von User papa dieses geniale Plugin (https://forum.fhem.de/index.php/topic,94412.msg871192.html#msg871192) (Hinweis: Version aus Beitrag #42 (https://forum.fhem.de/index.php/topic,94412.msg880255.html#msg880255) verwenden), was das Einstellen in FHEM sehr ähnlich zur CCU macht und die Befehlssyntax auf ein paar dropdowns vereinfacht. Ich benutze es schon sehr lange ohne irgendwelche Probleme.
Zitat von: misux am 30 November 2019, 15:59:26
Wie muss ich das verstehen? Das regSet wird am Küeche_Lampe Aktor gesetzt und die "Kueche_Bewegungsmelder" ist die quasi verknüpfung zum Bewegungsmelder?
Wieso "quasi"? Im Beispiel ist Kueche_Bewegungsmelder bereits direktverknüpft (gepeert) mit dem Aktor Kueche_Lampe.
Und ja, das Verhalten einer Verknüpfung wird bei Homematic immer am Aktor festgelegt - Taster, Bewegungsmelder, Fensterkontakte, ... liefern nur Auslöser.
Demzufolge:
Zitatmuss ich alle regSet einträge immer am LampenAktor durchführen?
Bis auf die, die das Triggersendeverhalten betreffen, ja. Am Bewegungsmelder musst Du bspw. einstellen, wie oft er bei erkannter Bewegung sendet. Ob daraufhin ein Licht angeht und für wie lange, ist dann Einstellung am Aktor.
set Kueche_Lampe regSet shCtValLo 0 Bewegungsmelder1,Bewegungsmelder2
geht so leider nicht. Du musst die Befehle getrennt für beide Bewegungsmelder absetzen.
0 dürfte im übrigen gar nicht funktionieren. Die untere Triggerschwelle "Lo" liegt üblicherweise bei 50 (und wird eigentlich nur für die Bewegungsmeldertrigger abhängig von der Helligkeit geändert, vll. noch bei Thermometern, weiß ich jetzt nicht genau). Der hier verwendete Trigger gilt als erfüllt, wenn sein Wert unter der Schwelle liegt (ltLo = less than Lo). Kleiner als 0 geht aber nicht.
Achte bei deinen Bewegungsmeldern auf das reading "brightness". Es ändert sich bei jeder erkannten (und gesendeten) Bewegung. Ermittle diesen Wert bei der Helligkeit, unter der das Licht eingeschaltet werden soll, und verwende diese Zahl beim Setzen der shCtValLo.
Alles klar! Langsam kommt Licht ins Dunkel. Werde es mal versuchen und gebe bescheid! Vielen Dank!!! 8)