Luke Roberts Lampe über Homebridge schaltbar ?

  • Hallo,


    ich habe einen Lampe von Luke Roberts

    "https://www.luke-roberts.com/" die Lampe ist echt cool. Leider nicht in Homekit einbindbar, ich habe nun durch zufall das Forum gefunden und mich etwas in das Thema homebridge eingelesen und nen homebridge Docker Container installiert. Ich habe nun einige Zeit nach einem Plugin für diese Lampe gesucht, leider nichts gefunden. Die Steuerung über alexa ist möglich, würde aber lieber über homekit steuern. Hat jemand eine Idee ?

  • Willkommen im Forum Had3s


    1. Warum postest Du im Bereich HomeKit? Und dazu noch im Unterbereich Lautsprecher?

    2. Die Luke Roberts F ist nicht besonders smart. Verwendet Bluetooth LE und bietet keine API o.ä.

    3. Nutzung über Homebridge/HomeKit nicht möglich. Lediglich Siri Shortcuts sollen mit der Luke Roberts App funktionieren.


    Falls Du wider Erwarten etwas anderes entdeckst, lass es uns natürlich gerne wissen.


    Viele Grüße und weiterhin viel Spaß und Erfolg hier.

    Hilfreich?

  • Anbei die Rest API, vielleicht hat ja jemand Lust oder kann mir Helfen ein Homebridge Plugin zu schreiben? :D


    Hier gibts schon ein Homeyplugin, welches man als Grundlage evtl hernehmen könnte:

    https://github.com/denniedegroot/com.luke.roberts


    Dürfte ja recht ähnlich sein (zumindest die API Connection).


    So Leute, ich habs zumindest zum Teil hinbekommen…

    Hier mal kurz mein Vorgang erklärt:


    1. altes iPhone als Bridge mit der Luke Roberts Cloud verbunden

    2. über diesen Link (https://cloud.luke-roberts.com/app) einen API Key angelegt

    3. in der Swagger API Authorisieren (https://cloud.luke-roberts.com/api/v1/documentation)

    4. Auslesen der Lampen ID per get/lamps (https://cloud.luke-roberts.com…mentation#/lamps/getLamps)

    5. Anlegen von Steuerscript auf Homebridge - Konsole

    Code
    sudo nano /usr/local/bin off.sh

    6. Eintragen des API Calls mit Lampen ID, API Key und Szenen ID (Szene 0 steht für abschalten), speichern mit ^O und ^X

    Code
    curl -X 'PUT' \
      'https://cloud.luke-roberts.com/api/v1/lamps/LAMPENID/command?access_token=APIKEY' \
      -H 'accept: application/json' \
      -H 'Content-Type: application/json' \
      -d '{
        "scene": 0
    }'

    7. installieren des „CMD Trigger“ Plugins (https://github.com/hallos/homebridge-cmdtrigger#readme)

    8. Anlegen eines Switches im Plugin mit Aufruf des angelegten Steuerscripts als „Zurücksetzender Button“

    Code
    {
        "debug": false,
        "name": "LR Off",
        "stateful": false,
        "command": "bash /usr/local/bin/off.sh",
        "accessory": "CmdTrigger"
    }

    9. Homebridge neu booten und Button in Home-App testen (evtl Fehlerlog in Homebridge beobachten)


    Leider gibt es noch folgende Probleme:

    - die get/scenes in der API liefert leider keine Liste der angelegten Szenen zurück, weshalb man die IDs der Szenen nur Raten kann, scheint aber Grundsätzlich zu klappen.(Problem umgangen, siehe unten)

    - ebenso kann ich mein „Hauptiphone“ nicht mehr mit der Luke Roberts Cloud syncen nachdem ich alle Szenen gelöscht habe um sie neu anzulegen (um die IDs zu testen)

    - eine Scriptparametrisierung hat nicht funktioniert weil es hier zu JSON Format Problemen kommt (um ggf einfach die Szenen ID als Script Parameter zu übergeben)(Problem gelöst, siehe unten)


    Letztendlich hab ich dem Support mein Problem geschildert und warte noch auf Feedback, ich halte Euch auf dem Laufenden. An sich scheint das aber der einfachste gangbare Weg zu sein, seine Luke Roberts 800 Euro Lampe ins Homekit zu bringen. War zwar lange Versprochen aber mehr als die Shortcuts haben wir nicht bekommen (und eine halbfertige API :( ). In Homekitszenen lässt sich der Schalter dann easy benutzen :)


    gruß Roman


    Update:


    Ich konnte das Script (habe es Luke.sh genannt) mit einem Argument versehen:

    Code
    curl -X 'PUT' \
      'https://cloud.luke-roberts.com/api/v1/lamps/LAMPENID/command?access_token=APIKEY' \
      -H 'accept: application/json' \
      -H 'Content-Type: application/json' \
      -d '{
        "named_scene": "'"$1"'"
    }';

    Der Aufruf über den CMD Trigger wäre dann wie folgt per Szenennamen und nicht mehr per ID:

    Code
    {
        "debug": false,
        "name": "Luke Off",
        "stateful": false,
        "command": "bash /usr/local/bin/luke.sh off",
        "accessory": "CmdTrigger"
    }

    Als Argument für das Script kann dann der bekannte Szenenname übergeben werden. Hier hat mir Luke Roberts eine umdokumentierte Funktion bzw Parameter verraten mit der man nicht die ID sondern den Szenennamen nutzen kann.

    Macht es etwas einfacher :)


    gruß Roman


    Update:


    Konnte das ganze noch minimal verbessern mit folgendem HB Plugin: https://github.com/hans-1/homebridge-cmdtriggerswitch#readme

    Da kann man Switches anlegen die für ON sowie OFF unterschiedliche Skripte triggern können. Wenn man hier also obiges Script von mir mit einer Szene (nennen wir sie mal "Off") aus der Luke-App aufruft, und im Off-Teil des Switches anlegt, dann kann man die Lampe im HomeKit auch als "Lampe" deklarieren. Dementsprechend ist das Luke Lämpchen jetzt halbwegs Smart und sogar bei "Licht an" und "Licht aus" enthalten.


    Code
                "name": "UFO Basic",
                "stateful": true,
                "onCmd": "bash /usr/local/bin/luke.sh basic",
                "offCmd": "bash /usr/local/bin/luke.sh off",
                "accessory": "CmdTriggerSwitch"


    Smarter bekomm ichs leider nicht, da ich keinen Pan habe wie man HB Plugins schreibt :D


    gruß Roman

    Dateien

    Homebridge, HomePod, HomePod Mini, AppleTV, iPhone, iPad, iWatch, Nanoleaf Bulbs, Meross LED Strips, Meross Plugs, SwitchBot

    6 Mal editiert, zuletzt von Freakazoidberg () aus folgendem Grund: Ein Beitrag von Freakazoidberg mit diesem Beitrag zusammengefügt.