Bewegungsmelder im Bad „blind“

Advertisements

Ich nutze in meinem Badezimmer die smarte Lichtsteuerung. Ausgelöst durch einen Fibaro Bewegungsmelder im Bad werden damit Licht und Musik gesteuert. Die Zeiten sind mittlerweile an die Bedürfnisse in unserem Haus angepasst und es funktioniert wirklich gut. Solange sich jemand im Bad bewegt bleibt das Licht aktiv und Sonos spielt die gewünschte Musik. Spätestens 3 Minuten nach dem Verlassen wird alles ausgeschaltet. Aber es gibt Umstände in denen man doch im Dunkeln steht und wild mit den Armen fuchteln muss. Das Stichwort ist Glas.

Bewegungsmelder im Bad

Bewegungsmelder im Bad

Glas macht Bewegungsmelder „blind“

Wir haben eine Duschkabine aus Echtglas und der Motion Sensor ist mit Blickrichtung auf diese montiert. Ist nun jemand unter der Dusche, wird er vom Bewegungsmelder nicht wahrgenommen und steht nach Ablauf der Zeit im Dunkeln. Aber warum?

Dies hängt mit den Wellen zusammen die von passiven infrarot Bewegungsmeldern ausgesendet werden um Bewegung zu registrieren. Glas ist bis zu einer Wellenlänge von 4,5 µm (Mikrometer) durchlässig. Die üblichen Bewegungsmelder „gucken“ aber mit einer Wellenlänge von 8 bis 14 µm und können somit das Glas nicht durchdringen.

Globale Variable sorgt für Abhilfe

In der Szene zur Steuerung der Beleuchtung ist ein Feature integriert welches eine Abschaltung des Lichtes unter bestimmten Bedingungen verhindert. Die Funktion heißt extraOffChecks. Solange diese Funktion den Wert true zurückgibt, bleibt das Licht an. Dies habe ich mit einer globalen Variable mit dem Namen BadStayOn mit den Werten stay und normal realisiert.

Globale Variable BadStayOn für Bewegungsmelder

Globale Variable BadStayOn für Bewegungsmelder

Vor dem Duschen wird die Variable auf den Wert stay gesetzt und das Licht bleibt beim nächsten Auslösen der Szene einfach an. Und zwar bis der Wert der Variable wieder auf normal gesetzt wird. Somit steht niemand mehr unfreiwillig ohne Licht da.

Meine extraOffChecks Funktion:

extraOffChecks = function()
  --return true to keep lights on.
local BadStayOn			= fibaro:getGlobalValue("BadStayOn")
  if (BadStayOn == "Stay") then
	fibaro:debug("Stay On")
	return true;
  else
	return false;
  end
end

Geht das auch smarter?

So wirklich smart ist das jetzt aber nicht, oder? Jeden Morgen vor dem Duschen das Handy oder Tablet suchen um die Variable zu ändern war mir zu lästig. Daher musste eine Szene her. Diese musste erkennen, wann jemand unter der Dusche steht. Zuerst kam mir ein zweiter Motion Sensor in den Sinn. Geschickt platziert würde dieser über die Duschkabine hinweg eventuell funktionieren. Nun sind die Sensoren nur bedingt für Feuchträume geeignet und auf Dauer im Dunst der Dusche überlebt er wahrscheinlich keine 3 Monate. Ging also nicht. Die globale Variable musste also doch manuell getriggert werden. Das aber möglichst elegant.

Ein ausgedienter Lichtschalter

Für meine Flurbeleuchtung nutze ich ebenfalls die smarte Lichtsteuerung. Dort ist eine Wechselschaltung mit insgesamt 3 Schaltern verbaut. Also habe ich kurzer Hand den am Eingang zum Bad befindlichen Schalter aus der Schaltung entfernt und mit einem eigenen Fibaro Dimmer 2 versehen. Mit dem Dimmer 2 können mittels sceneActivation Szenen gestartet werden.

Kein Dimmer ohne Verbraucher

Gesagt, getan. Den Dimmer in der Unterputzdose platziert und alles für die SceneActivation eingerichtet und getestet. Allerdings ohne Erfolg, denn der Dimmer funktioniert nicht ohne Verbraucher. Die kleine LED blinkte fröhlich rot vor sich hin und nichts passierte. Die Lösung war dann der ByPass 2 (FGB-002). Dieser ist eigentlich für den Anschluss von Niedervoltlampen und LEDs gedacht. Der Widerstand allein reicht aber um dem Dimmer 2 die SceneActivation zu entlocken.

SceneActivation aktivieren

Um dem Dimmer 2 das Triggern von Szenen zu ermöglichen muss der Parameter 28 entsprechend angepasst werden. Anschließend steht sceneActivation als Trigger zur Verfügung.

Dimmer 2 sceneActivation

Dimmer 2 sceneActivation

Szene zur Steuerung der Variable

--[[
%% properties
168 sceneActivation
%% events
%% globals
--]]


local BadStayOn		= fibaro:getGlobalValue("BadStayOn")
local sceneId 		= tonumber(fibaro:getValue(168, "sceneActivation"))


if sceneId == 11 then
	fibaro:setGlobal("BadStayOn", "Normal")
  	fibaro:debug("11 - Normal")
elseif sceneId == 10 then
	fibaro:setGlobal("BadStayOn", "Stay")
  	fibaro:debug("10 - Stay")
end

Weitere Verwendungsmöglichkeiten

Mit Hilfe der globalen Variable lassen sich natürlich auch weitere Aktionen starten die für den längeren Aufenthalt im Badezimmer nützlich sind. So habe ich den nervigen Luftentfeuchter bzw. Einzelraumlüftung mit einem Fibaro Relais versehen und lasse diesen nur laufen, wenn auch geduscht oder gebadet wird. Außerdem spielt der Sonos Lautsprecher eine bestimmte Playlist. Diese auch noch lauter als die übliche Radiowiedergabe im Bad.

Selbstverständlich sind noch viele weitere Dinge damit steuerbar. Ich denke in erster Linie an Heizungen und Warmwasseraufbereitungen, etc.

Zusammenfassung

Wenn nun jemand unter die Dusche oder in die Badewanne geht, wird der Schalter betätigt und damit die globale Variable auf stay gesetzt. Das Licht und die Musik bleiben an und auch ausgiebiges Duschen und Baden ist ohne zwischenzeitliches Winken möglich. Dazu gibt es noch die passende Musik und das Raumklima wird auch gleich mit optimiert.

Posted in Sonstiges and tagged .

8 Comments

  1. Ich hatte eine ähnliche Situation. Lösung: Über den Wasserfluß am Zähler. Wenn Der Bewegungsmelder ausschalten will, aber noch Wasser > x l/s bezogen wird, bleibt es für ein weiteres Prüfintervall an.
    Bei mir ist es der Hauszähler. Daher sind andere Verbraucher als Fehler (Waschmaschine usw) tolerabel.
    WAF gesteigert um 100 %

  2. Pingback: OpenRemote meine Visualisierung - Artikelserie Teil 4 | Mein kleiner Smart Home Blog

  3. Hallo Bastian
    Lässt sich das evt. auch mit der Luftfeuchtigkeit koppeln. Sprich: Während dem Duschen steigt die Feuchtigkeit, somit soll das Licht eingeschaltet bleiben. Danach wird ja wieder eine Bewegung erkannt und somit bleibt das Licht weiterhin eingeschaltet.
    evt. wäre das eine Alternative…

    Gruss
    Yvan

    • Hallo Yvan,

      danke für Deinen Input. Um die Steuerung mit der Luftfeuchtigkeit zu realisieren braucht es einen Sensor der zeitnah die Veränderung meldet. Ausserdem muss der Anstieg eindeutig identifizierbar sein, da sonst das Licht bei jedem Anstieg eingeschaltet bleibt. Stelle ich mir schwierig vor hier eine Abgrenzung zu finden die für eine solche Steuerung brauchbar ist.

      Gruß
      Bastian

  4. Pingback: OpenRemote Visualisierung | Mein kleiner Smart Home Blog

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Ich akzeptiere