Philips hue

Forum over Homeseer scripts (DUTCH forum)

Moderators: TANE, Ruud

Rebel
Member
Member
Posts: 101
Joined: Mon Mar 24, 2008 5:03 pm
Location: Netherlands

Philips hue

Post by Rebel »

Hallo,

Ik wil graag een vb script gaan maken om de lampen te kunnen bedienen via HS.
Ben al een dag op internet aan het zoeken, maar kom er niet uit.
Via applescript heb ik al wel de benodigde md5 hash kunnen ophalen.
De weg naar de api is bekend en deze antwoord met een json object.
Het bedienen van de lampen zou moeten gaan via een HTTP PUT request to http://YourHueHub/api/key/lights/1/state
en het commando zou een json object moeten zijn met enkel de te veranderen atributen:
{"bri": 254, "on": true} // turn lamp on at full brightness
{"hue": 25000, "sat": 254} // hue 125°, saturation 100%
{"ct": 500, "bri": 254} // warm white, full brightness

Wie kan en wil mij op weg helpen?

Bron: http://rsmck.co.uk/hue/php

Arjo.
Rebel
Member
Member
Posts: 101
Joined: Mon Mar 24, 2008 5:03 pm
Location: Netherlands

Re: Philips hue

Post by Rebel »

Na lang zoeken en combineren heb ik toch wat kunnen vinden om de lampen te kunnen bedienen!
Het is met een zeer grote omweg en nog zeer basic, maar toch, het is me gelukt om de variabelen naar de bridge te sturen zonder tussenkomst van de iPhone app of meethue.com.

Wat ik gevonden heb is het volgende; easyphp (geen volwaardige server maar een ontwikkelomgeving) op de HS computer geinstalleerd, een php-script (everyhue.com) geladen en zo kan ik met bijvoorbeeld &hs.geturl("localhost","/hue.php?bulb=1&on=1&bri=254",false,8080) een lamp op volle sterkte aan zetten.

Voorlopig ga ik nu verder met een dimmer module en de kleur instelling laat ik nog maar aan de iPhone app over.
Wat wel een leuke bijkomstigheid van de iPhone app is dat deze via een vpn verbinding ook gewoon werkt!

Misschien komt er op deze manier een volwaardig vb.net script zonder tussenkomst van php of zelfs een plugin tot stand.

Tot zover,
Arjo
bartbakels
Advanced Member
Advanced Member
Posts: 515
Joined: Tue May 31, 2011 6:44 pm
Contact:

Re: Philips hue

Post by bartbakels »

Is er nog nieuws mbt eventueel een plugin, of meer scripting voorbeelden tbv de HUE lampen. Ik heb zojuist ook een setje besteld en wil deze graag opnemen in mijn homeseer systeem.

MVG

Bart
Software: HS3, HStouch, Plugwise , BLBackup, BLLatestImage, Zwave, JowiHUE, PHlocation, Netcam, Harmony Plugin, ThinkingCleaner, HSPhone, Eneco Toon Script, Pushover, Visonic Powermax LV Interface

(ON ESXI )on NUC
Rebel
Member
Member
Posts: 101
Joined: Mon Mar 24, 2008 5:03 pm
Location: Netherlands

Re: Philips hue

Post by Rebel »

Bart,

Ik ben er nog niet toe gekomen om HS meer te laten doen dan het aan en uitschakelen, de WAF bestaat hier op het moment nog uit het aan zetten van de lamp zoals hij uitgezet is, dat is met een gewone schakelaar niet mogelijk en met het iPhone appje wat lastiger. Maar ik ben zeker van plan om het dimmen, een paar standaard kleuren en status van de lampen te gaan verwerken in een script.

Arjo.
bartbakels
Advanced Member
Advanced Member
Posts: 515
Joined: Tue May 31, 2011 6:44 pm
Contact:

Re: Philips hue

Post by bartbakels »

Rebel,

Thanks, als het goed is krijg ik ze morgen binnen. Ik ga ook proberen ze t interfacen en mijn ervaringen delen.

Ideeen die ik zowieso wil implementeren;

Wakeuplight ( nu via een gedimmde halogeen)
Colorpresets
Colorfading
Discofuntie gelijkend aan de iphone app, echter running op me domoticaserver met mic.

Of dit allemaal te implementeren is in homeseer weet ik niet, ik ga ook kijken of het makkelijker is via labview, op dit moment maak ik hier ook gebruikvan ism homeseer.

Mvg

Bart
Software: HS3, HStouch, Plugwise , BLBackup, BLLatestImage, Zwave, JowiHUE, PHlocation, Netcam, Harmony Plugin, ThinkingCleaner, HSPhone, Eneco Toon Script, Pushover, Visonic Powermax LV Interface

(ON ESXI )on NUC
bartbakels
Advanced Member
Advanced Member
Posts: 515
Joined: Tue May 31, 2011 6:44 pm
Contact:

Re: Philips hue

Post by bartbakels »

Overigens een hoop info gevonden op http://rsmck.co.uk/hue

Mvg
Last edited by bartbakels on Mon Jan 14, 2013 6:21 pm, edited 1 time in total.
Software: HS3, HStouch, Plugwise , BLBackup, BLLatestImage, Zwave, JowiHUE, PHlocation, Netcam, Harmony Plugin, ThinkingCleaner, HSPhone, Eneco Toon Script, Pushover, Visonic Powermax LV Interface

(ON ESXI )on NUC
User avatar
nico_gh2
Member
Member
Posts: 133
Joined: Wed Apr 06, 2011 12:24 pm
Location: Betuwe, Netherlands
Contact:

Re: Philips hue

Post by nico_gh2 »

en hier is ook nog wel iets te vinden EveryHue
zou willen dat die dingen nu eindelijk eens gewoon leverbaar zijn in een normale shop
bartbakels
Advanced Member
Advanced Member
Posts: 515
Joined: Tue May 31, 2011 6:44 pm
Contact:

Re: Philips hue

Post by bartbakels »

Welke PHP HUE lib heb je gebruikt?

mvg

Bart
Software: HS3, HStouch, Plugwise , BLBackup, BLLatestImage, Zwave, JowiHUE, PHlocation, Netcam, Harmony Plugin, ThinkingCleaner, HSPhone, Eneco Toon Script, Pushover, Visonic Powermax LV Interface

(ON ESXI )on NUC
bartbakels
Advanced Member
Advanced Member
Posts: 515
Joined: Tue May 31, 2011 6:44 pm
Contact:

Re: Philips hue

Post by bartbakels »

iemand al eens de post actions in homeseer gebruikt?

http://www.homeseer.com/support/homesee ... action.htm

ik ben hier op dit moment mee aan t stoeien maar krijg het nog niet voor elkaar.
Software: HS3, HStouch, Plugwise , BLBackup, BLLatestImage, Zwave, JowiHUE, PHlocation, Netcam, Harmony Plugin, ThinkingCleaner, HSPhone, Eneco Toon Script, Pushover, Visonic Powermax LV Interface

(ON ESXI )on NUC
Rebel
Member
Member
Posts: 101
Joined: Mon Mar 24, 2008 5:03 pm
Location: Netherlands

Re: Philips hue

Post by Rebel »

Ik gebruik de simpele php gateway op de pagina http://www.everyhue.com/?page_id=38#/di ... hp-gateway Daar heb ik het script in het gele vlak genome. Hierbij moet ik wel opmerken dat aan het einde van regel 5
een " ; " weggevallen is.

Verder ben ik vanavond weer eens aan het werk geweest om met een dimmer module de hue lamp te bedienen,
Het script wat ik hiervoor gemaakt heb ziet er zo uit

Sub main()
 
Dim HDS
Dim HDV
Dim HUE
 
HDS = hs.DeviceStatus("A4")
HDV = round(hs.DeviceValue("A4")*2.54,0)
  
    Select case HDS
 
 case 2
  HUE = hs.geturl("localhost","/hue.php?bulb=1&on=1",false,8080)
  'hs.writelog "Hue" , HUE
 case 3
  HUE = hs.geturl("localhost","/hue.php?bulb=1&on=0",false,8080)
  'hs.writelog "Hue" , HUE
 case 4
  HUE = hs.geturl("localhost","/hue.php?bulb=1&on=1&bri=" & HDV, false,8080)
  'hs.writelog "Hue" , HUE
  
 
 case else
  'HUE = hs.geturl("localhost","/hue.php?bulb=1&on=0",false,8080)
  hs.writelog "Hue" , HUE
 
    End Select
 
End Sub
bartbakels
Advanced Member
Advanced Member
Posts: 515
Joined: Tue May 31, 2011 6:44 pm
Contact:

Re: Philips hue

Post by bartbakels »

rebel,

Ik had in eerste instantie het script wat erna gemeld staat gebruikt. Echter hier zaten enkele problemen in. O.a. wanneer ik aan en uit schakelde via homeseer kwam die op met standaard hue en sat waarden. Dit resulteerde bij een On command zonder verdere specificaties in de commandline in een rode huiskamer ;).

IK heb nu ook hetzefde script als jij gebruikt en heb hier nog de alert (command is select of lselect) functie aan toegevoegd, aangezien ik deze graag voor alarmmeldingen wil gebruiken (triggering van het huisalarm) Het php script dat ik nu gebruik is;

<?php
$bulb = $_GET["bulb"];

if (isset($_GET['hue'])) $arrData['hue'] = (int)$_GET['hue'];
if (isset($_GET['sat'])) $arrData['sat'] = (int)$_GET['sat'];
if (isset($_GET['trans'])) $arrData['transitiontime'] = (int)$_GET['trans'];
if (isset($_GET['bri'])) $arrData['bri'] = (int)$_GET['bri'];
if (isset($_GET['on'])) $arrData['on'] = (bool)$_GET['on'];
if (isset($_GET['alert'])) $arrData['alert'] = (string)$_GET['alert'];

$data = json_encode($arrData);

$url = 'http://IPADRES/api/HASH/lights/'.$bulb.'/state';

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
$response = curl_exec($ch);
echo $response;
?>

Ik ga dadelijk eens aan de slag met jouw dimmer script.

MVG

Bart
Software: HS3, HStouch, Plugwise , BLBackup, BLLatestImage, Zwave, JowiHUE, PHlocation, Netcam, Harmony Plugin, ThinkingCleaner, HSPhone, Eneco Toon Script, Pushover, Visonic Powermax LV Interface

(ON ESXI )on NUC
bartbakels
Advanced Member
Advanced Member
Posts: 515
Joined: Tue May 31, 2011 6:44 pm
Contact:

Re: Philips hue

Post by bartbakels »

rebel,

Heb enkele aanpassingen gemaakt n je script, maar dit werkt inderdaad. Ik kreeg alleen de round niet voor elkaar echter het functioneert ook zonder blijkbaar.

Sub Main(ByVal Data As String)

Dim HDS
Dim HDV
Dim HUE

HDS = hs.DeviceStatus("B81")
HDV = (hs.DeviceValue("B81")*2.54)
'hs.writelog("Hue" , HDV)

Select case HDS

case 2
HUE = hs.geturl("localhost","/hue.php?bulb=2&on=1",false,8888)
hs.writelog("Hue" , HUE)
case 3
HUE = hs.geturl("localhost","/hue.php?bulb=2&on=0",false,8888)
hs.writelog("Hue" , HUE)
case 4
HUE = hs.geturl("localhost","/hue.php?bulb=2&on=1&bri=" & HDV, false,8888)
hs.writelog("Hue" , HUE)


case else
HUE = hs.geturl("localhost","/hue.php?bulb=2&on=0",false,8888)
hs.writelog("Hue" , HUE)

End Select

End Sub

Heb nu 6 events, 2 voor aan en uitzetten alle hues en 3 voor het afzonderlijk aan/uit en dimmen van de Hues mbv bovenstaand script. en een voor alarmering flashing red op alle 3 de Hues

MVG

Bart
Software: HS3, HStouch, Plugwise , BLBackup, BLLatestImage, Zwave, JowiHUE, PHlocation, Netcam, Harmony Plugin, ThinkingCleaner, HSPhone, Eneco Toon Script, Pushover, Visonic Powermax LV Interface

(ON ESXI )on NUC
Rebel
Member
Member
Posts: 101
Joined: Mon Mar 24, 2008 5:03 pm
Location: Netherlands

Re: Philips hue

Post by Rebel »

Bart,

Leuk dat je het ook aan de praat gekregen hebt. Dat knipper effect is een goed idee, m'n ledstrips op de kasten hebben die functie ook. 4 meter strip en 3 lampen die rood knipperen!

Dat afronden had ik erin gezet omdat het dimmen niet wilde lukken en HDV dus 0 bleef, maar dit bleek aan de spatie tussen & en HDV te liggen.

Een paar vaste kleuren toekennen is niet zo moeilijk, de kleur maken met de hue app en dan vervolgens met
http://YourHueHub/api/key de waarden hue en sat af te lezen en die in het scipt te zetten. Hoe dit aan 1of meerdere dimmer modules te koppelen is de volgende uitdaging.

MVG
Arjo.
bartbakels
Advanced Member
Advanced Member
Posts: 515
Joined: Tue May 31, 2011 6:44 pm
Contact:

Re: Philips hue

Post by bartbakels »

rebel,

Het knipperen is heel makkelijk te regelen met de aanpassing die ik gedaan heb in het php script (alert=lselect) zorgt voor 10 sec knipperen. Ik ga het script nog iets universeler maken, door in de commandline de devicecode en hue number mee te geven. Tevens wil ik graag een extra dimmer control in homeseer toevoegen om de kleuren te kunnen aanpassen met een soort gelijk script.

Eigenlijk zou ik de put en get functies graag direct in homeseer script leggen maar weet even niet hoe.

MVG

Bart
Software: HS3, HStouch, Plugwise , BLBackup, BLLatestImage, Zwave, JowiHUE, PHlocation, Netcam, Harmony Plugin, ThinkingCleaner, HSPhone, Eneco Toon Script, Pushover, Visonic Powermax LV Interface

(ON ESXI )on NUC
bartbakels
Advanced Member
Advanced Member
Posts: 515
Joined: Tue May 31, 2011 6:44 pm
Contact:

Re: Philips hue

Post by bartbakels »

Rebel en andere Hue liefhebbers,

Ik heb mijn script wat universeler opgezet, het werkt nu via parameters die men tijdens het aanroepen opvoert. Per hue een lampmodule aangemaakt in homeseer (hue device). Tevens een Mode device aangemaakt met 4 modi via dropdown menu selecteerbaar (edit value pairs).

-Dimmer
-saturation
-Hue
-Colortemp

Vervolgens per lamp een event aangemaakt wat reageert op devicechange van de aangemaakte hue device. Vervolgens het script aanroepen met de volgende 3 parameters; Homeseer Hue deviceCode, Homeseer modus devicecode, Lamp no. to control.

Men kan nu met de Homeseer hue device de lamp aan en uit zetten, saturation, brightness, hue en colortemp aanpassen, afhankelijk wat er geselecteerd staat in het modus homeseer device en wat er met de dimmer homeseer control van het hue device geselecteerd is.

Ik geef toe het is niet de mooiste oplossing, maar hoop dat julie er iets aan hebben. Overigens heb tevens colortemp toegevoegd aan het php script. Op verzoek kan ik deze ook nog eens posten, maar ben hier nog mee bezig ivm mijn alert functie. Deze vind ik nog niet ideaal, stop na 10 seconden en wil hem laten knipperen tot een stop commando.

Rebel, ik ben ook een LED enthousiast, ik heb ca 15 meter binnen en buiten hangen. Het mooiste zou zijn als philips een losse hue RGBLEDcontrol zou uitbrengen of een andere koppelbare oplossing voor LED strips.

Code: Select all

'HueControl.vb
'by B. Bakels
'18 Jan 2013 - version 1.0 (first release)
'
'USAGE with HomeSeer
'Make an event and select script.
'For the parameter field use ("Main","B80;B90;1")
'
'where: ("Main","<DeviceCode Homeseer Control Device>;<DeviceCode mode Device>;<Hue Number to control> ")
'Main with a capital M
'


sub Main(byVal params As Object)


'Declare params
'=============================
Dim ACTION
Dim MODE
Dim status
DIM BRI
DIM SAT
DIM HUE
DIM COLTEMP
Dim Debug as boolean

'enable debug mode
'=============================
Debug = false


'read script execution additional parameters
'=============================

Dim strDeviceControl As String = hs.StringItem(Params, 1, ";") 
Dim strDeviceMode As String = hs.StringItem(Params, 2, ";")
Dim strHueNo As string = hs.StringItem(Params, 3, ";")


'Calculate Values and get devicestatus and value
'=============================

MODE = hs.DeviceValue(strDeviceMode)
ACTION = hs.DeviceStatus(strDeviceControl)
BRI = hs.DeviceValue(strDeviceControl)*2.54
SAT = hs.DeviceValue(strDeviceControl)*2.54
HUE = hs.DeviceValue(strDeviceControl)*655.35
COLTEMP = (hs.DeviceValue(strDeviceControl)*3.46)+154

'debug mode
'=============================

If Debug = true Then 

	hs.writelog("huecontrol","Device to Control :" & strDeviceControl)
	hs.writelog("huecontrol","Device for Mode :" & strDeviceMode )
	hs.writelog("huecontrol","Hue Number :" & strHueNo )
	hs.writelog("huecontrol","Action :" & ACTION )
	hs.writelog("huecontrol","Selected Mode :" & MODE )
	hs.writelog("huecontrol","calculated Brightness :" & BRI )
	hs.writelog("huecontrol","calculated Saturation :" & SAT )
	hs.writelog("huecontrol","calculated Hue :" & HUE )
	hs.writelog("huecontrol","calculated color temperature :" & COLTEMP )
end if

Select case ACTION

'Hue change to ON
'=============================
case 2
  status = hs.geturl("localhost","/hue.php?bulb=" & strHueNo & "&on=1",false,8888)
  hs.writelog("Hue" , status)

'Hue change to Off
'=============================
 case 3
  status = hs.geturl("localhost","/hue.php?bulb=" & strHueNo & "&on=0",false,8888)
  hs.writelog("Hue" , status)

'Hue change Dim value
'=============================
 case 4
  
	Select case MODE

	'DIMMER Mode
	case 0
		status = hs.geturl("localhost","/hue.php?bulb=" & strHueNo & "&on=1&bri=" & BRI, false,8888)
		hs.writelog("Hue" , status) 
 	
	'Saturation Mode
	case 100
  		status = hs.geturl("localhost","/hue.php?bulb=" & strHueNo & "&on=1&sat=" & SAT, false,8888)
		hs.writelog("Hue" , status) 
	
	'Hue Mode	
	case 200
  		status = hs.geturl("localhost","/hue.php?bulb=" & strHueNo & "&on=1&hue=" & HUE, false,8888)
		hs.writelog("Hue" , status)
	
	'Color Temperature Mode	
	case 300
  		status = hs.geturl("localhost","/hue.php?bulb=" & strHueNo & "&on=1&ct=" & COLTEMP, false,8888)
		hs.writelog("Hue" , status)	
	End Select

'every other case
'=============================

 case else
  status = hs.geturl("localhost","/hue.php?bulb=" & strHueNo & "&on=0",false,8888)
  hs.writelog("Hue" , HUE)
 
    End Select

End Sub

Software: HS3, HStouch, Plugwise , BLBackup, BLLatestImage, Zwave, JowiHUE, PHlocation, Netcam, Harmony Plugin, ThinkingCleaner, HSPhone, Eneco Toon Script, Pushover, Visonic Powermax LV Interface

(ON ESXI )on NUC
Post Reply

Return to “Homeseer Scripts Forum”