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
  • 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 & Color Ambiance E27 2er Starter Set 2x800lm, bis zu 16 Mio. Farben, dimmbar, steuerbar via App, kompatibel mit Amazon Alexa (Echo, Echo Dot) **

Homematic Funk-Wandtaster 2-Fach, Aufputzmontage, 131774, 2 Tasten **

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");
		}
	}
}
Du willst mehr?

Smart-Home-Trainings von A-Z

Steig' noch tiefer in die Themen ein und meistere Deine Projekte! Über 14.000 Teilnehmer konnten sich schon von der Qualität der Online-Kurse überzeugen.

ioBroker-Master-Kurs

ioBroker-Master-Kurs

Mehr Infos
Hausbau-Kurs

Hausbau mit KNX

Mehr Infos
Lox-Kurs

Lox-Kurs

Mehr Infos
Node-RED-Master-Kurs

Node-RED-Master-Kurs

Mehr Infos