• Hi,

    ich möchte gerne meine Hue Ambiance Lampe als Aufwachlicht nutzen. Es gibt diverse Apps für iOS die das können, aber ich finde sie umständlich zu nutzen. Am liebsten würde ich dafür einen Schalter in HomeKit einrichten.

    Hat jemand eine Lösung parat?


    Viele Grüße

  • meinst du einfach einschalten oder langsam hochdimmen?


    normal einschalten geht simpel zeitgesteuert über die Homekit App... langsam hochdimmen funktioniert zb. mit einer Hue Lab-Szene in der Philips Hue App.

  • Hallo Smartseppel,


    ich habe mir vor einiger Zeit ein WakeUp-Light ohne Verbindung zu einer iOS App erstellt.


    Grundsätzlich funktioniert es so:


    Softwareseitige Steuerung (das wird einmal eingerichtet)

    Raspberry Pi --> Homebridge-Plugin cmdSwitch2 --> aktivieren des WakeUp-Light Skripts --> Skript steuert Lampe [Inhalt: Lampennummer, Farbe, Helligkeit, Licht)


    restliche Steuerung in HomeKit/Eve App


    Zeitschalter [Automation: Überprüfung des WakeUp-Schalters jeden morgen zur gewünschten Uhrzeit] (wann soll das Licht angehen?) --> WakeUp-Schalter (soll das Aufwachlicht morgen leuchten?) --> WeckerOn-Schalter aktivieren (aktiviert das Skript auf dem Raspberry Pi) --> Lichteffekt startet


    Das hört sich jetzt alles ein wenig umständlich an. Aber eigentlich aktivere/deaktiviere ich jeden Abend nur den WakeUp-Schalter. Da ich jeden Tag um die gleiche Uhrzeit aufstehe, geht mein Zeitschalter auch immer zur gleichen Zeit an. Möchte ich mal zu einer anderen zeit geweckt werden, dann verstelle ich die Zeit in der Automation (Home-App)


    WakeUp-Light Schalter:


    WeckerOn- und Zeitschalter:



    Automation (Startzeit) für WakeUp-Light:


    Einmal editiert, zuletzt von svk () aus folgendem Grund: Anleitung hinzugefügt

  • 1. Sonnenaufgangs-Skript erstellen

    1.1 Plugin Library auf Raspberry installieren (siehe Anleitung auf GitHub):

    https://github.com/studioimaginaire/phue

    1.2 Skript erstellen:

    Code
    sudo nano HueSunriseLamp.py

    1.3 Skript mit Inhalt füllen: [Das Skript ist doch sehr schlampig, aber funktionierte auf die schnelle, darum wurde es nie wieder angepasst:)]

    Achtung: Im Skript muss folgendes angepasst werden:

    - IP-Adresse

    - Lampen-Nummer [xx]


    Die Lampennummer kann über 2 Wege herausgefunden werden:

    1. Hue App:

    Einstellungen – Über – (Nummer vor der Lampenbezeichnung = ID)


    2. HueSunriseLamp.py Code

    Aktiveren der Codezeile,

    Code
    lights = b.get_light_object('id')

    starten des Skriptes und lesen der Ausgabe (Beispiel:

    pi@hbridge2:~ $ HueSunriseLamp.py

    {1: <phue.Light object "Deckenlampe Wohnzimmer" at 0x766f4e70>, 2: <phue.Light object "Deckenlampe Schlafzimmer" at 0x766f4e10>, })



    Info: „Hue“ gibt den Farbton wieder. Es sind Farben von 0 bis 60000(?) möglich

    Eine Tabelle für die Farbnummern gibt es nicht

    Die Farbnummern können wie folgt herausgefunden werden: mit der HUE iPhone App eine Farbe auswählen (Lampe geht an). Dann folgenden Befehl innerhalb des Skriptes aktivieren:

    Code
    hue_Abfrage = lampe[2].hue
    brightness_Abfrage = lame[2].brightness
    print hue_Abfrage
    print brightness_Abfrage

    Im Terminal wird beim ausführen des Skripts die passende Farbnummer ausgegeben.

    1.4 Skript ausführbar machen:

    Code
    sudo chmod +x HueSunriseLamp.py

    1.5 Skript testen:

    Code
    ./HueSunriseLamp.py

    Achtung: bei Fehler „Press Button“ muss zunächst der Knopf auf der Hue-bridge gedrückt und innerhalb von 60 Sekunden das Skript neugestartet werden. Dabei verbindet sich das Skript das erste Mal mit der Bridge und ist fortan als Gerät angemeldet.

    1.6 Skript verschieben damit das „./“ nicht mehr nötig ist (kann zu Inkompatibilität im späteren Verlauf führen):

    Code
    sudo mv HueSunriseLamp.py /usr/local/bin

    1.7 Skript testen:

    Code
    HueSunriseLamp.py

    Das Skript kann nun jederzeit über

    Code
    sudo nano /usr/local/bin/HueSunriseLamp.py

    angepasst werden.


    2. Ansteuerung des Skriptes über Homebridge

    2.1 Homebridge Plugin cmdswitch2 installieren (https://www.npmjs.com/package/homebridge-cmdswitch2):

    Code
    npm install –g homebridge-cmdswitch2

    2.2 Homebridge config öffnen:

    Code
    sudo nano /var/homebridge/config.json

    2.3 cmdswitch2 hinzufügen und folgendes ergänzen:

    Code
    „Name" = WeckerOn,
    „cmd_on" = „HueSunriseLamp.py"

    Nun sollte nach dem Start von Homebridge ein zusätzlicher Schalter namens „WeckerOn“ vorhanden sein. Beim Betätigen wird das Skript sofort ausgeführt.

    3. Automation Sonnenaufgang (zu gewünschter Tageszeit)

    3.1 Für die Automation sind zusätzliche Schalter notwendig

    3.1.1 Homebridge Plugin Dummy (https://github.com/nfarina/homebridge-dummy) installieren und einen Schalter Namens „Zeitschalter“ sowie Einen Namens „WakeUp Light“ erstellen

    Plugin installieren:

    Code
    npm install homebridge-dummy -g

    in der config

    Code
    sudo nano /home/pi/.homebridge/config.json

    folgendes ergänzen:

    Code
    {
          "accessory": "DummySwitch", 
          "name": "Zeitschalter 1"
    },{
          "accessory": "DummySwitch",
          "name": "WakeUp Light",
          "stateful": true
    }

    Info: Der Zeitschalter wird zum Schluss zur vorgegebenen Zeit (über die Home iPhone App [Automation]) aktiviert und startet dabei eine andere Automation (Trigger). Die Bedingung ist der „WakeUp Light“-Schalter. „WakeUp Light“ wird zukünftig der Schalter sein, der in Homebridge (de-)aktiviert wird um den Sonnenaufgang für den Folgetag zu (de-)aktivieren. Das Ergebnis wird mittels „WeckerON“ das Skript ausführen. Mehr dazu später.

    3.2 Automation in der Home iPhone App erstellen

    3.2.1 Home App öffnen

    3.2.2 Automation öffnen und neue Automation hinzufügen

    3.2.3 Uhrzeit bei der die „Sonne aufgehen soll“ eingeben

    3.2.4 Als Gerät den Schalter „Zeitschalter“ auswählen und aktivieren

    3.2.5 UPDATE: der „Zeitschalter“ setzt sich automatisch 1s nach aktivierung zurück, da er „stateful“ ist (siehe Homebridge-dummy Plugin) ALT: Zusätzlich in der Funktion „Deaktivieren“ 2 Minuten einstellen

    3.2.6 Weitere Automation erstellen

    3.2.7 Gerät „WeckerOn“ [deaktivieren], Uhrzeit: 11:00 Uhr (Setzt zukünftig den Schalter zurück)

    3.3 Regel in der Eve iPhone App erstellen

    3.3.1 Eve App öffnen

    3.3.2 Szenen – Szenen – Bearbeiten – Neue Szene hinzufügen

    3.3.3 Name: „WakeUp Light Szene“, Aktionen: „WeckerOn“ [Ein] und Lampe auf eine kräftige rote Farbe stellen. <- Das ist notwendig um der Lampe von Anfang ein einen satten Rotton zu übergeben. Lässt man diese Aktion weg, kann es dazu kommen, dass wenn vor dem aktivieren des Skriptes die Lampe auf einer weniger gesättigten Farbe (weiß) stand, der gesamte „Sonnenaufgang“ ebenfalls farblich nicht kräftig genug ist.

    3.3.4 Szenen – Regeln – Regel hinzufügen

    3.3.5 Name der Regel: „WakeUp Light Regel“, Auslöser: Zeitschalter [Ein], Bedingung: WakeUp Light [Ein], Aktion: WakeUp Light Szene [Ein]


    Zusammenfassung:

    Über die Home iPhone App wird über Automation/Zeitschalter vorgegeben, wann die Sonnenaufgangsfunktion gestartet werden soll. Diese Aktion ist jedoch an die Bedingung eine Bedingung gekoppelt. Sprich, der Schalter „WakeUp Light“ muss zu der gewünschten Sonnenaufgangszeit auch eingeschaltet sein. Ist er das nicht, geht das Licht nicht an. Tipp: Definiere den Schalter „WakeUp Light“ als Favorit. Die anderen Schalter nicht, denn diese müssen zukünftig nicht manuell bedient werden.

    5 Mal editiert, zuletzt von svk ()

  • Wow besten Dank! Entschuldige die späte Antwort, ich dachte ich bekomme eine Mail als Hinweis für einen neuen Beitrag.

    Schaue es mir morgen genauer an!

  • Hast du es schon mit

    Code
    sudo easy_install phue

    oder


    Code
    pip install phue


    versucht? Bei mir ging eins von beiden (weiß leider nicht mehr welches) ohne Probleme durch.

  • Danke, musste erst "pip" installieren.

    Eine Frage, wie kann ich die Lampennummer herausfinden? Habe mit Python noch nicht programmiert. Würde mir gerne erstmal eine Liste der Lampen in meinem HUE System ausgeben wollen, um die Lampennummer/ID zu erfahren.


    Gibt es dazu eine Abfrage?

  • smartseppel

    Ich hab es gerade nicht im Kopf, aber startete das Skript und schaue dir dazu den log an. Es könnte sein dass dort alle hue Lampen angezeigt werden.

    Ich bin leider momentan nicht daheim und kann nicht überprüfen ob man die ID auch über die hue iPhone App angezeigt bekommt.


    Kann dir gerne morgen im Laufe des Tages weiterhelfen.

  • smartseppel

    Es gibt 2x Möglichkeiten:

    1. Hue App:

    Hue App starten - Einstellungen – Über – (Nummer vor der Lampenbezeichnung = ID)


    2. Über den HueSunriseLamp-Code:

    In der HueSunriselamp.py findest du folgende Codezeilen:

    Code
    lights = b.get_light_objects('id')
    hue_Abfrage = lights[2].hue
    brightness_Abfrage = lights[2].brightness
    print hue_Abfrage
    print brightness_Abfrage

    Da vor keiner Codezeile eine Raute # ist, werden diese 5x Zeile alle ausgeführt. Diese dienen nur zur schnellen Überprüfung meines Codes und geben mir kurze Info über die Lampen. Grundsätzlich können diese Deaktivert (Raute # hinzufügen) werden.

    Was jedoch die erste Zeile

    Code
    lights = b.get_light_objects('id')

    macht ist, sie zeit die alle id´s von den verfügbaren Lampen an. Und genau das möchtest du. Also starte bitte dein HueSunriseLamp.py Skript über das Terminal mit

    Code
    HueSunriseLamp.py 

    und schaue dir die Ausgabe an. Bei mir erscheint so etwas:

    Code
    pi@hbridge2:~ $ HueSunriseLamp.py
    {1: <phue.Light object "Deckenlampe Wohnzimmer" at 0x766f4e70>, 2: <phue.Light object "Deckenlampe Schlafzimmer" at 0x766f4e10>, 3: <phue.Light object "Deckenlampe Küche" at 0x766f4e50>, 4: <phue.Light object "Osram CLA 60 RGBW" at 0x766f4f10>, 5: <phue.Light object "Osram On/Off" at 0x766f4ed0>, 6: <phue.Light object "Stehlampe Oben" at 0x766f4f70>, 7: <phue.Light object "Stehlampe Mitte" at 0x766f4ef0>, 8: <phue.Light object "Stehlampe Unten" at 0x76742d50>, 9: <phue.Light object "Deckenlampe Flur 1" at 0x767b7c50>, 10: <phue.Light object "Deckenlampe Flur 3" at 0x766f4e30>, 11: <phue.Light object "Deckenlampe Flur 4" at 0x7674de30>, 12: <phue.Light object "Deckenlampe Flur 2" at 0x766f4e90>, 13: <phue.Light object "Todesstern Lampe" at 0x766f4eb0>}

    Hier siehst du die ID´s. (Deckenlampe Wohnzimmer hat die ID 1, Deckenlampe Schlafzimmer die ID 2, usw)

    Einmal editiert, zuletzt von svk ()

  • Vielen Dank für die Erläuterung. Dann habe ich wohl einen grundsätzlichen Fehler in der Verbindung zu HUE. Hatte den Knopf gedrückt und dann das Skript gestartet, es kommt keine Meldung, dass ich den Knopf gedrückt habe.

    Dies ist die Ausgabe:

  • Die Lampen ID hast du wohl hinterlegt= und das ist die ID = 8.

    es scheint wohl so, als ob es diese nicht gibt. Kann hier der Fehler sein?


    hast du die Lampen ID auch bei den folgenden Zeilen geändert=


    # begin sunrinse lamp. This will last

    b.set_light(2, red)


    (hier steht die 2 für die Lampen ID)


    Jede Zeile muss hier angepasst werden


    ggf. Deaktivierst du mal die Zeile lights = b.get_light_objects('id') mit einem #

  • Ich habe mal die ganze Transition rausgeworfen und möchte jetzt einfach nur eine Ausgabe aller Lampen, so wie bei dir beschrieben. Aber print hue_Abfragegibt in deinem Code doch nur eine Info über die eine Lampe (id=2 bei dir, bei mir 8) aus. Wie gebe ich denn alles in der Schleife aus?


    So sieht aktuell mein Code aus:

  • Du hast recht, hue-Abfrage gibt nur die Werte für die Lampe 8 aus.

    Willst du die Werte für alle Lampen ausgeben kannst du eine fir Schleife drum machen. Diese soll so haufig wiederholt werden wie viele Lampen du hast. Bin leider momentan mobil unterwegs und kann dir den Code nicht schicken.


    Grundsätzlich brauchst du die Zeilen hue-Abfrage und brightness-Abfrage aber überhaupt nicht. Die Zeilen habe ich nur im Code stehen, damit ich sehe ob der Code ausgeführt wird und ob ich die richtige Lampen ID abgegeben habe?

  • Richtig ? Aber ich glaube, dass er die IDs nicht richtig ausliest, bzw. das IDs bei mir nicht stimmen. Wie auch immer, wenn du mir die Schleife später schicken könntest, das wäre klasse. Eilt aber nicht!

  • Hast du es mal über die hue App versucht?


    Versuche es mal hiermit. (habe deinen Code angepasst). Die Schleife wird 10 mal durchlaufen. Am besten gibst du hier von Anfang an die Anzahl der HUE-Lampen von dir an um Fehler vorzubeugen.

    Einmal editiert, zuletzt von svk ()

  • Hi,

    die for-schleife ist glaube ich falsch, so ist sie glaube ich richtig:

    Code
    # Die Schleife wird 10 mal durchlaufen
    for i in range(1,10):
        hue_Abfrage = lights[i].hue
        brightness_Abfrage = lights[i].brightness
        print hue_Abfrage
        print brightness_Abfrage

    Jedenfalls bekomme ich folgende Ausgabe:

    Es ist schon sehr komisch. Ist das Skript vielleicht nicht richtig in der HUE Bridge angelegt? Ich habe mal ein Screenshot der Lampen gemacht. Die erste Zahl ist die "id"? Sehr merkwürdig.

  • Kann es vll sein, dass du "nur" eine Hue White dimmable hast?


    Dann funktioniert der Code nicht. Der Farbverlauf geht von Rot über Orange nach Weiß

  • Moinsen,


    hat schon jemand das Hochdimmen mit den GU10 Ambiance Leuchtmitteln von Ikea Tradfri ausprobiert?! Diese können ja auch 3 Modi.

    Oder klappt dies nur vernünftig mit den Hue White Ambiance?