Steuerung Philips Hue

Hi zusammen,

ich bin gerade ein wenig am basteln und gerade auf ein Problem gestoßen.
Ich möchte meine Philips Hue LED’s im Studio ansteuern. Die Bride hat eine API und diese bekomme ich auch außerhalb von Mairlist angesteuert.

Folgenden Befehl müsste ich abfeuern:

Mein Ansatz war jetzt folgender:

procedure OnExecuteCommand(Command: string);
begin

if Command = 'MIC2_ON' then begin
HTTP?????('https://192.168.3.147/api/iC79TpwujMQZO0Os3WVexlRuC6HcWDa4Yrxdf- 
Ar/lights/24/state', '{"on":false}');
end;

begin
end.

Aber ich komme mit der “PUT” Methode nicht klar. Da ich kein Programmierer bin und mich durch probieren vortaste wäre ich über jeden Tipp dankbar.

Vielen Dank :slight_smile:

2 Likes

Die passende Funktion wäre:

function HTTPPutRaw(iURL: string; iContentType: string; iData: AnsiString; iCustomHeaders: IStrings): string;

Demnach:

HTTPPutRaw('http://usw.', 'application/json', '{"on":"false"}', nil);
1 Like

Vielen Dank für die Antwort, das hat mich schonmal ein ganzes Stück weiter gebracht.
Aber es wäre einfach zu einfach gewesen wenn das Ding jetzt einfach geklappt hätte :smiley:

Das Script wird von Mairlist erfolgreich geladen, aber sobald ich die Funktion ausführe kommt:

12.04.2021 19:12:03 Fehler       Runtime error "Access violation at address 00BAA274 in module 'mAirList.exe'. Read of address 00000000" in background script D:\mAirList 6.3\scripts\HUE Control.mls, handling message: EXECUTE 04FA5D4D076BC883 MIC2_ON

Zur Systeminfo: v6.3.2 Built 4342 - Soll ich mal Updaten oder hat das damit nix am Hut?

Danke für die Mühen! (Uli gib Torben doch mal was zum Naschen :P)

Erstmal Update machen, wenn es da noch auftritt, dann forschen wir nach.

Nachtrag: Fehler gefunden, Snapshot 4428, dann müsste es gehen.

2 Likes

Extra ein Update nur für mich :smiling_face_with_three_hearts: - jetzt gehts!
Vielen lieben Dank! - Die Disco hat bald eröffnet :grin:

2 Likes

Das Thema ist grundsätzlich sehr spannend. Ich schaue schon in Richtung MQTT :wink:

3 Likes

Ich muss mich schon im Zaum halten, MIDI, DMX, ArtNet und jetzt Hue. Ich glaube das muss für zuhause langsam mal reichen :stuck_out_tongue:

1 Like

Hallo zusammen,
Gibt es dafür auch eine komplette Anleitung?

Danke

@niconline Das wäre doch jetzt nicht nötig gewesen… (Und warum gibt es kein Gummibärchen-Emoji?)

Wenn ich mal aushelfen darf:

pngegg(1)

2 Likes

Man muss sich mit manchen Leuten einfach gut stellen, ich hab noch mehr unnötigen Schwachsinn vor, aber leider zu wenig Ahnung :smiley: Ich hoffe ich habe den richtigen Geschmack getroffen :slight_smile:

1 Like

Wieso war mir das klar das ich nicht der einzige bin der son scheiß braucht :smiley: Man kann mit bissl ZigBee Controller halt echt einfache Sendeampeln bauen. Wenn @Torben über meinen Script später mal drüber schaut kann ich den Rest gerne mal bissl aufarbeiten und zu Verfügung stellen (für dich auch auf Fränkisch).

1 Like

Das wär Subba!
Freue mich jetzt schon drauf. Da könnte man ja die Couchlampe im Wohnzimmer bei Mikro an auf Rot schalten :slight_smile:

Danke Dir ich warte

Schritte um Zigbee/Hue Leuchten mit Mairlist zu steuern:

Es wird benötigt:

  • Philips HUE Bridge mit Netzwerkzugang

  • Eine oder mehere ZigBee oder HUE Leuchten

  • Mairlist 6.3.10 (Build 4428) oder neuer

  • Einen Steuerbefehl oder Event (in meinem Fall eine Logik vom DHD)

  • 1 KG Haribo

Schritte:

  1. IP Adresse der Bridge herausfinden. Dies geht am einfachsten über folgeden Link:
    https://discovery.meethue.com/ alternativ über die HUE App (Einstellungen–>Hue Bridges–>“i”–> Ip-Adresse

  2. Folgende Adresse aufrufen: https://<bridge ip address>/debug/clip.html

  1. Seite ausfüllen:
URL /api
Body {“devicetype”:“Studio#PC1”}
Method POST

  1. HUE Taste auf Bridge kurz drücken um einen Key zu generieren.

  1. Key (im Beispiel “1028d66426293e821ecfd9ef1a0731df”) wegspeichern.

  2. Anzusprechende Leuchte heraussuchen

URL /api/1028d66426293e821ecfd9ef1a0731df/lights
Method GET

Jetzt werden unten im Text alle Leuchten aufgelistet, jetzt muss nur noch die passende ID herausgesucht werden, in meinem Fall die 24

  1. Mairlist Script anlegen
  • Eine neue Datei im Explorer anlegen (Textdokument) und diese dann umbenennen z.B. HUE.mls (wichtig ist das vorher die Dateinamenerweiterungen angeschaltet sind, nicht das die datei dann HUE.mls.txt heißt :smiley: )

  • Diese öffnen und Script erstellen. In meinem einfachen Fall lautet dieser:

    procedure OnExecuteCommand(Command: string);
    begin
    if Command = 'Tisch_ON' then begin 
    HTTPPutRaw('https://192.168.3.147/api/iC79TpwujMQZO0Os3WVexlRuC6HcWDa4Yrxxf- 
    Ar/lights/24/state', 'application/json', '{"on":true}', nil);
    end;
    
    if Command = 'Tisch_OFF' then begin 
    HTTPPutRaw('https://192.168.3.147/api/iC79TpwujMQZO0Os3WVexlRuC6HcWDa4Yrxxf- 
    Ar/lights/24/state', 'application/json', '{"on":false}', nil);
    end;
    end;
    begin
    end.
    

Dieser Befehl schaltet die Lampe ein (true) bzw. aus (false) - um weitere Parameter zu änder kann man statt {“on”:true} auch {“on”:true, “sat”:254, “bri”:254,“hue”:10000} verwenden.

  1. Script in Mairlist laden → Konfiguration → Hintergrund-Scripts → Hinzufügen → Datei auswählen

Der HUE Teil wird hier ganz schön beschrieben: Get Started - Philips Hue Developer Program

Ich hoffe ihr kommt damit klar, falls nicht gerne melden :slight_smile:

3 Likes

DU bist der Admin und hast sicher die Möglichkeit, hier eigene Grafiken hinzuzufügen (u.a. auch das mAirList-Logo :wink:).
Ich kenne das von einer anderen Discourse-Plattform. hüstel

1 Like

Ist in dem Skript nicht ein

end;

zuviel?

Das dachte ich beim erstellen eigentlich auch, aber egal welches ich raus lösche, danach geht der Script nimmer.

Ich lag natürlich falsch. Das zweite end; ist das von der Prozedur selber.

Du kannst Dir (und anderen!) übrigens das Lesen von Code vereinfachen, indem Du ihn durch Einrückungen mittels jeweils zweier Leerzeichen gliederst. Ich hatte dazu mal eine kleine Hilfestellung verfaßt.

Solcherart gegliedert wäre mir (kein Vorwurf!) der „Fehler“ gar nicht aufgefallen.

Super, Danke Dir für Deine mühe. Bin gespannt ob ich hinbekomme.
Da geb ich Dir a mal a Moaß :beer: aus. :yum: :+1: :+1: