OSCAT Forum

network.lib => Modulentwicklung => Thema gestartet von: stm am 26. Juli 2015, 18:07:34

Titel: Philips Hue
Beitrag von: stm am 26. Juli 2015, 18:07:34
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!
Titel: Re: Philips Hue
Beitrag von: erdbeerschaeler am 20. September 2015, 14:18:19
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
Titel: Re: Philips Hue
Beitrag von: Omalik am 18. Mai 2016, 21:20:24
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.
Titel: Re: Philips Hue
Beitrag von: peewit am 19. Mai 2016, 07:14:20
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......
Titel: Re: Philips Hue
Beitrag von: Omalik am 19. Mai 2016, 12:39:37
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 :)



Titel: Re: Philips Hue
Beitrag von: peewit am 20. Mai 2016, 16:44:19
Stelle die gesamte dokumenation die die findest hier online
Titel: Re: Philips Hue
Beitrag von: stm am 11. Juni 2016, 18:32:52
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 .....


Titel: Re: Philips Hue
Beitrag von: linsenpago am 02. Oktober 2017, 10:05:58
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
Titel: Re: Philips Hue
Beitrag von: FriedrichMiller am 08. Oktober 2017, 15:54:41
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
Titel: Re: Philips Hue
Beitrag von: maxmummelmann am 18. Dezember 2018, 13:54:22
Hallo, kannst Du bitte den Export zur Verfügung stellen?
Titel: Re: Philips Hue
Beitrag von: Automaty am 19. Januar 2019, 17:06:07
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 (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
Titel: Re: Philips Hue
Beitrag von: Sergej am 01. Juni 2019, 11:31:05
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.
Titel: Re: Philips Hue
Beitrag von: peewit am 22. Juli 2019, 19:22:37
hallo

interesse besteht prinzipiell immer

kannst du bitte deine bauteine online stellen und soweit möglich eine beschreibung machen
oder beispielprojekte...
Titel: Re: Philips Hue
Beitrag von: Sergej am 26. Juli 2019, 18:51:51
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.
Titel: Re: Philips Hue
Beitrag von: annopief am 08. Oktober 2019, 16:44:59
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
Titel: Re: Philips Hue
Beitrag von: Sergej am 08. Oktober 2019, 20:42:57
probier mal "sergej123456g" ohne anführungszeichen.. Wenn jemand eine Verbesserung einbaut, würde ich um eine Rückmeldung bitten. Es funktioniert, damit ist es nicht mehr dringend für mich und ich komme wegen Zeitmangel nicht mehr dazu die Bibliothek weiter zu entwickeln.
Titel: Re: Philips Hue
Beitrag von: bartmarchand am 15. November 2019, 17:11:58
Hello,

I've tried to use the library of Sergej, sadly it is only for Wago.
Any support for Beckhoff?
Or can anyone give me an example how the string should look in the http-get demo?
Titel: Re: Philips Hue
Beitrag von: Sergej am 16. November 2019, 21:24:37
Hello bartmarchand
Unfortunately, I have no idea what the difference between Wago and Beckhoff is. I have never done anything with Beckhoff.
My library definitely needs the Ethernet.lib.
You can open my library with CodeSys. Password is here in the Thead.
Can you then look at how I did it. Maybe it will help you.
Titel: Re: Philips Hue
Beitrag von: bartmarchand am 17. November 2019, 14:16:34
Hi Sergej,

Thank you for the response.
ethernet.lib does not exists in Twincat. I'm stuck I think...
Titel: Re: Philips Hue
Beitrag von: Automaty am 06. Januar 2020, 22:09:01
Hi Sergej,

Can You Upload Ethernet.lib.
Titel: Re: Philips Hue
Beitrag von: mattsches am 07. Januar 2020, 12:59:43
This will not work. You cannot use a standard CODESYS Ethernet.lib on a Beckhoff PLC since Beckhoff implemented own mechanisms for hardware and communication. That's why there is a special version of the OSCAT network library.
Titel: Re: Philips Hue
Beitrag von: Sergej am 07. Januar 2020, 13:17:07
Ja, ich weiß auch nicht ob ich die Bibliothek einfach so hochladen darf. Ich weiß nicht wie da die Copyright sind. Deswegen mache ich es auch nicht.

Was allerdings bald kommt, ist eine neue Version von meine Hue.lib
Es wird dann möglich sein ein paar Parameter der Lampen auszulesen wie Name und Status. Und kann man dann ganze Räume schalten. (Raumbaustein)

Sollte jemand wünsche haben, bitte hier schreiben. Ich werde versuchen diese einzubringen, wenn es möglich ist.

Kann allerdings nicht viel Verprechen, da ich mich nur selten mit dem Thema beschäftigen kann.  Zumindest arbeite ich dran und bin schon relativ weit.
Titel: Re: Philips Hue
Beitrag von: Sergej am 07. Januar 2020, 13:22:24
Gibt es eine Network.lib die sowohl mit Wago (CodeSys) als auch mit Beckhoff geht?? Ich könnte ja versuchen meine Bibliothek darauf aufzubauen. 
Titel: Re: Philips Hue
Beitrag von: mattsches am 10. Januar 2020, 12:39:35
Nein. Die unterlagerten Systembibliotheken z. B. für den Zugriff auf die Ethernet-Schnittstelle unterscheiden sich.

Die OSCAT_NETWORK für CODESYS und Beckhoff TwinCAT stellt nach oben hin jedoch identische Schnittstellen zur Verfügung. Wenn du also nicht direkt auf die CODESYS-Systembibliotheken zugreifst, sondern über Bausteine aus der OSCAT_NETWORK.lib gehst, dann kann ein Beckhoff-Anwender deine Lib statt mit der OSCAT_NETWORK.lib für CODESYS mit der für TwinCAT betreiben, ohne deine Bibliothek ändern zu müssen.
Titel: Re: Philips Hue
Beitrag von: Sergej am 12. Januar 2020, 21:33:04
Ich wollte hier gerade meine neue Version der Bibliothek hochladen.. Kriege leider eine Fehlermeldung das das Uploadverzeichnis voll ist. Meine Datei hat eine Größe von nur 21 KB. Was kann ich da machen?
Also wenn jemand interesse. Nachricht an mich. Verschicke dann mit Mail.
Diese Funktionier nicht mit Beckhoff, die Portierung der OSCAT_NETWORK ist mir nicht gelungen. Bei erster Durchsicht habe keinen Baustein gefunden der für meine Zwecke geeignet ist.
Titel: Re: Philips Hue
Beitrag von: bartmarchand am 22. Januar 2020, 16:06:10
I think it is great what you guys are doing!
Looking out for the final result.
Titel: Re: Philips Hue
Beitrag von: SchorschGaggo am 10. Juli 2020, 09:43:36
Sergej,
Unterstützt deine Lib auch Szenen ? Ich möchte von der SPS nur Szenen aufrufen. Diese passe ich mit der Hue-App an.