Projekt: Philips Hue mit HomeMatic steuern

Mit ** gekennzeichnete Links auf dieser Seite sind Affiliatelinks.

Projekt: Philips Hue mit HomeMatic steuern
Projekt: Philips Hue mit HomeMatic steuern
  • Matthias Kleine
  • 18.02.2018
  • Licht

Neue Kategorie. In diesem Bereich möchte ich kleinere, abgeschlossene, Projekte vorstellen. Diese setzen ein wenig mehr Vorwissen voraus, sind aber am Ende fertig und ergeben einen Anwendungsfall. Also nicht einfach nur eine “blinde” Integration von Komponenten, sondern die Logik hinter dem ganzen in Zusammenspiel mit anderen Komponenten. In diesem Projekt möchte ich also einfach mal vorstellen, wie man mit einem HomeMatic-Taster eine oder mehrere Philips Hue Lampen ansteuern kann. Die Idee: Oben einschalten, unten ausschalten. Oben länger drücken heller, unten dunkler.

Was wird benötigt?

  • Eine FHEM-Installation
  • Ein HomeMatic-Taster
  • Philips Hue mit ein paar Leuchtmitteln

Video

Hausbau-Kurs

Philips Hue White und Color Ambiance E27 LED Lampe Starter Set, zwei Lampen 4. Generation, dimmbar, steuerbar via App, kompatibel mit Amazon Alexa (Echo, Echo Dot) **

Philips Hue White und Color Ambiance E27 LED Lampe Starter Set, zwei Lampen 4. Generation, dimmbar, steuerbar via App, kompatibel mit Amazon Alexa (Echo, Echo Dot)

HomeMatic Funk-Wandtaster 2-fach, Aufputzmontage **

HomeMatic Funk-Wandtaster 2-fach, Aufputzmontage

Befehle

define n_SZ_BettButton notify SZ_BettButton_Btn_(Unten|Oben):(Short|Long).* {}
SZ_BettButton_Btn_(Unten|Oben):(Short|Long).* {
	Log3($SELF, 5, $EVENT);

	if ($EVENT =~ qr/(Short|Long) ([0-9]*)_.*/p) {
		my $targetDevs = "SZ_.*BettLicht";
		my $maxBri = 254;
		my $duration = $1;
		my $counter = $2;

		Log3($SELF, 5, 'Duration: ' . $duration . ' / Counter: ' . $counter);

		if ($NAME =~ /.*_Oben$/ && $duration eq 'Short') {
			# Kurz oben = Licht an
			fhem("set $targetDevs bri $maxBri; setreading $SELF bri-calc 100");

		} elsif ($NAME =~ /.*_Unten$/ && $duration eq 'Short') {
			# Kurs unten = Licht aus
			fhem("set $targetDevs off; deletereading $SELF bri-calc");

		} elsif ($duration eq 'Long') {
			# Lang unten = Licht dunkler
			my $addition = ($NAME =~ /.*_Unten$/ ? -10 : 10);

			my $currentBrightness = ReadingsNum($SELF, 'bri-calc', 100);
			my $targetBrightness = $currentBrightness + $addition;

			# Grenzen korrigieren
			$targetBrightness = 100 if ($targetBrightness > 100);
			$targetBrightness = 10 if ($targetBrightness < 10);

			my $targetBri = ceil($maxBri / 100 * $targetBrightness);

			fhem("set $targetDevs bri $targetBri; setreading $SELF bri-calc $targetBrightness");
		}
	}
}
Ich will mehr

Smart-Home-Training von A-Z

Steig noch tiefer in die Themen ein und meistere Deine Projekte!

ioBroker-Master-Kurs

ioBroker-Master-Kurs

Mehr Infos
Hausbau-Kurs

Hausbau mit KNX

Mehr Infos
Lox-Kurs

Lox-Kurs

Mehr Infos
NodeRed-Kurs

NodeRed-Kurs

Mehr Infos