Projekt: Philips Hue mit HomeMatic steuern

Mit ** gekennzeichne Links auf dieser Seite sind Affiliatelinks.

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

Arduino-Kurs

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");
        }
    }
}

Newsletter

Trage Dich jetzt in den Newsletter ein und genieße dadurch viele Vorteile:

  • 5€-Gutschein als Dankeschön
  • Zugang zu exklusiven Inhalten
  • Rabattaktionen für Kurse
  • Angebote für Produkte

* Durch Angabe meiner E-Mail-Adresse erkläre ich mich damit einverstanden, dass mir regelmäßig Informationen und Produktempfehlungen aus dem Fachgebiet Smart Home zugesendet werden. Mit dem Eintrag akzeptieren Sie unsere Datenschutzbestimmungen. Meine Einwilligung kann ich jederzeit widerrufen.

Matthias Kleine

Matthias Kleine

Großer Fan und Anhänger von OpenSource-Projekten und erweiterbaren Haus-Automatisierungskomponenten. Je offener und flexibler das System, desto besser. Ich lege mich nicht auf einzelne Protokolle oder Standards fest, sondern probiere aus allen Welten das Beste zu verheiraten. Unterwegs als Softwareentwickler, Trainer und Blogger im Bereich Smart Home.

Auf YouTube und hier im Blog gibt es bereits unzählige kostenlose Videos, Informationen und Tutorials. Wenn Dir das noch nicht reicht, ist ein Training genau das richtige für Dich! Die folgenden Trainings haben den Vorteil, dass immer von Anfang an gestartet wird und Du ohne Vorwissen teilnehmen kannst.