Hauptmenü

Philips Hue

Begonnen von stm, 26. Juli 2015, 18:07:34

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

stm

Hallo,

kürzlich hab ich mir Philips Hue LED-Leuchten zugelegt.

Die Steuerbarkeit über App ist ganz nett - nun würde ich gern die Teile über die SPS ansteuern können - Das API ist Dokumentiert http://www.developers.meethue.com/documentation/getting-started

So wie ich das lese geht der Zugriff über HTTP Aufrufe, die Vorgaben und Antworten sind XML formatiert.

Jetzt hab ich versucht, die notwendigen Bausteine zusammenzuklauben, scheitere allerdings bereits daran, dass ich in der OSCAT nur ein HTTP_GET finde, nicht allerdings das notwendige HTTP_PUT (und das wohl weniger notwendige HTTP_POST und HTTP_DELETE)

Jetzt frage ich, ob es hier im Forum jemanden gibt, der die Hues an der SPS am Laufen hat.

Mit meinen Kenntnissen ist der Weg zu weit - wenn ich nichts finde , muss ich an einem Plan B tüfteln - irgendwas das auf eine der auf der Hue Developer Seite als Library angegebenen Libraries aufbaut und als unabhängiges EXE mit den Hues "redet" und der SPS über einen TCP Port oder ADS zur Verfügung steht....

Bin gespannt .....

Danke einstweilen!

erdbeerschaeler

Hallo stm,

bist Du bezüglich der Anbindung von Hue an die Wago schon ein bisschen weiter gekommen?
Ich habe zwar noch die Möglichkeit über Xsolution, aber würde auch gerne den Weg über die Wago nehmen.

Gruß
Schwenn

Omalik

Leider ist das schon ein etwas älteres Thema. Hat jemand schon etwas in dieser Richtung mit HUE gemacht oder schon einen Ansatz.
Ich würde gerne mithelfen etwas zu entwickeln, wenn interesse vorhanden ist.

peewit

du kannst dich ja mal etwas ernster damit auseinander setzen

mach mal eine grundsatzanalyse
was kann man damit machen
was wäre für oscat machbar bzw. sinnvoll
sammle möglichst jegliche dokummentation
sammle code-beispiele von anderen programmiersprachen (javascript, vb etc...)

hast du eine philips hue ?
kannst du von verschiedenen befehlen einen wireshark aufzeichnung machen

denn fehlenden HTTP_PUT Befehl können wir ja nachrüsten......

Omalik

Hallo peewit

Toll dass sich jemand meldet!!
Ich werde mich zuerst einlesen wie das gehen soll und was von "extern" gesteuert werden kann.

Ich würde den Fokus auf Szenen sowie heller und dunkler setzen. Die Bedienung soll im Raum mit Wandtastern erfolgen. Nicht dass die von Phillips Hue genutzt werden müssen. Das Zieh von mir ist es dass im Haus alle Schalter gleich sind und nicht die "speziellen" von Philips Hue verwendet werden müssen.

Unter  http://www.developers.meethue.com/documentation/getting-started denke ich, dass alle Infos zu finden sind. (Anmeldung erforderlich).

melde mich

PS: Hue Set ist bestellt :)




peewit

Stelle die gesamte dokumenation die die findest hier online

stm

Hallo,

ich habe das Thema seinerzeit nicht weiter verfolgen können, kann evtl. noch von damals beitragen:

Die Hue Steuerung funktioniert über HTTP Kommandos an die Bridge:

HTTP_GET  für Stati
HTTP_PUT für Aktionen

und für Nebenfunktionen (Konfigurationsänderungen und andere "Nebenfunktionen" HTTP_POST, HTTP_DELETE).

Die Messages von und zu Bridge sind JSON Format.

Für Ein/Aus, Heller/Dunkler, und Szenenaufrufe sollten es HTTP_GET und HTTP_PUT tun.

Die Bridge hat ein Web-Interface mittels dem die Kommandos getestet werden können.

Von OSCAT Seite hatte mir seinerzeit ein HTTP_PUT Baustein gefehlt .....



linsenpago

Hallo!

Die möglichkeite die Phillips Hue Lampen über die SPS zu steuern würde mich auch dringend interessieren.
Nur leider habe ich die notwendigen Kenntnisse sowas selbst zu programieren nicht, aber ich bin lernwillig und würde natürlich bei der Entwicklung so gut wie möglich mithelfen.

Derzeit versuche ich das ganze mit einem Umweg über Modbus und FHEM zu lösen, aber da muss ich mich auch erst mal in MODBUS und FHEM einarbeiten.

Hat eventuell schon jemand HUE via SPS zum laufen gebracht?

Lg
Alex

FriedrichMiller

Moin,

ja mein Beckhoff kann die HUE Bridge ansprechen :)
Benötigte LIB: Oscat Basic 333; Oscat Network 1.21; TcpIpServer;
die Struktur 'URL' von Oscat Network braucht noch ein:    "COMMAND : STRING(STRING_LENGTH);"
Der rest ist als *.exp vorhanden.
-> PN an mich :)

Grüße

maxmummelmann

Hallo, kannst Du bitte den Export zur Verfügung stellen?

Automaty

#10
I have solution. Its not the best thing can be don but best i have made.
Using this batch and NT_StartProcess you can change on/off, hue, saturation, brightness, and temperature color.
It suport some other things but its not working i my PLC

https://github.com/Lanjelin/hue-batch

In 'KEY' you need input your oun hue key.
In PATHSTR and DIRNAME input your dir of bath files.

PROGRAM HUE_bat
VAR_INPUT
lamp2: BOOL;
lamp3: BOOL;
on: BOOL;
hue: DINT;
saturation: INT;
brightness: INT;
color: INT;

END_VAR
VAR
Key: STRING := 'key'; (*Insert Hue Key*)
Start_Process : NT_StartProcess :=( NETID:='',
PATHSTR:='C:\TwinCAT\PLC\Program\BOX\Bat\hue.bat',
DIRNAME:='C:\TwinCAT\PLC\Program\BOX\Bat',
TMOUT:=t#2s);
Pause : TOF:=( PT:=t#1s); (*Wait to execute bat.*)
Trig: R_TRIG;
bStart: BOOL;
CMD: STRING(MAX_STRING_LENGTH);
CMD_Old: STRING(MAX_STRING_LENGTH);
END_VAR


Start_Process(START:=bStart,
COMNDLINE:=CMD);
Pause(IN:=Trig.Q);
Trig;

CMD:=CONCAT('-k ',key);
CMD:=CONCAT(CMD, ' -l "');
IF lamp2 THEN
CMD:=CONCAT(CMD, '2');
END_IF
IF lamp3 THEN
CMD:=CONCAT(CMD, ' 3');
END_IF
CMD:=CONCAT(CMD, '" ');
CMD:=CONCAT(CMD, '-on ');
IF on=TRUE THEN
CMD:=CONCAT(CMD, 'true');
ELSIF on=FALSE THEN
CMD:=CONCAT(CMD, 'false');
END_IF
IF hue>0 THEN
CMD:=CONCAT(CMD, ' -h ');
CMD:=CONCAT(CMD,DINT_TO_STRING(hue));
END_IF
IF saturation>0 THEN
CMD:=CONCAT(CMD, ' -s ');
CMD:=CONCAT(CMD,INT_TO_STRING(saturation));
END_IF
IF brightness>0 THEN
CMD:=CONCAT(CMD, ' -b ');
CMD:=CONCAT(CMD,INT_TO_STRING(brightness));
END_IF
IF color>0 THEN
CMD:=CONCAT(CMD, ' -c ');
CMD:=CONCAT(CMD,INT_TO_STRING(color));
END_IF

Sergej

#11
Hallo Leute,

da ich keine Bibliothek gefunden habe, mit der ich die HUE-Leuchten direkt ansteuern kann, habe ich mit meinen begrenzten Mitteln und meinem begrenztem Wissen eine HUE Bibliotheke gebaut.  Damit kannn man ziemlich einfach HUE Lampen steuern. Wer interesse an der Bibliothek hat bitte was schreiben.

peewit

hallo

interesse besteht prinzipiell immer

kannst du bitte deine bauteine online stellen und soweit möglich eine beschreibung machen
oder beispielprojekte...

Sergej

Hallo,

anbei habe ich die Bibliothek hochgeladen.

In Bildern ist ein Funktionierendes Beispiel dargestellt. Es wird ein HUE-GW Baustein gebraucht pro Gateway.
Pro Lampe muss ein HUE_Lampe Baustein indiziert werden.
Über HUE_IO werden alle Bausteine miteinander verbunden.
Bei einer Änderung der Eingänge "bHelligkeit","wFarbe","wFarbtemperatur"an HUE_Lampe wird der entsprechende Wert ins Gateway gesendet (nur bei Änderung).

Eine steigende Flanke an "xImpuls_EIN" sendet einen Einschaltbefehl;
Eine steigende Flanke an "xImpuls_AUS" sendet einen Ausschaltbefehl;
Eine Statusänderung am "xStatus_EIN_AUS" sendet den Aktuellen Zustand des Eingangs. (0-> 1 EIN | 1-> 0 AUS)
Am Eingang "bLampe" soll die Nummer der Gewünschten Lampe eingestellt werden. (Nummer der Lampe im Gateway)


Wenn mehrere Lampen gleichzeitig geschaltet werden sollen, dann kommt es leider zu einer Verzögerung von mindestens 100 ms.
Die Bibliothek habe ich für mich geschrieben (für meine Bedürfnisse). Wenn jemand eine Funktion vermisst, oder Fehler finden oder insgesamt Fragen hat, dann bitte schreiben.

Die Ausgänge am Baustein "HUE_GW" waren für mich zum Testzweck und brauchen nicht beachtet werden. Es erfolgt im Moment noch keinerlei Rückmeldung ob die Befehle erfolgreich waren oder irgendwelche Fehler aufgetretten sind. Das werde ich irgendwann nachpflegen.

Ansonsten viel Spass damit.

annopief

Hallo Sergej,

vielen Dank für deine Hue.lib.

Kannst du eventuell auch das PW für die lib bereitstellen?
Das wäre super von Dir!!

Gruß
Alex