• Hallo Bezoeker, Het is ons opgevallen dat je nog geen bericht gemaakt hebt! Waarom neem je niet even de tijd om jezelf voor te stellen en nieuwe vrienden te maken.

Het smarthome en IoT topic!

broodro0ster

Administrator
Home-Theater Goud
24 apr 2014
4.101
320
113
Kun je die sharen aub? Ik krijg het op mn heupen dat stotteren
Vero zegt dat het aan de app ligt want ze zien niks in logs en van de maker vd addon krijg ik geen reply dus ik zoek een andere manier om te zien of het aan die addon ligt.
Ik zal het proberen begin deze week te doen. Gisteren is het huis van de buren uitgebrand en mijn distributie kabel liep over hun gevel. Die is helemaal gesmolten dus kheb niks van internet meer op mijn vaste PC en server waar de scriptjes op staan.
Normaal wordt het maandag hersteld.
 

Jake

Well-Known Member
19 feb 2013
1.184
88
56
Bon ,gisterenavond voor de eerste keer onze nieuwe buitenverlichting Philips Hue Lily Starter Pack (3 stuks) Prikspot getest in onze tuin en het ziet er goed uit.
Na wat plaatsen en verplaatsen en richten en wat herrichten kwamen we tot een mooi resultaat .
Maar...we kwamen al snel tot de conclusie dat er 1 of 2 van Hue buitenlampen zullen moeten bijkomen...:unsure:
Eens dat je daar mee begint..
 

jvanhambelgium

Well-Known Member
25 feb 2013
2.673
207
73
Bon ,gisterenavond voor de eerste keer onze nieuwe buitenverlichting Philips Hue Lily Starter Pack (3 stuks) Prikspot getest in onze tuin en het ziet er goed uit.
Na wat plaatsen en verplaatsen en richten en wat herrichten kwamen we tot een mooi resultaat .
Maar...we kwamen al snel tot de conclusie dat er 1 of 2 van Hue buitenlampen zullen moeten bijkomen...:unsure:
Eens dat je daar mee begint..

Idd, was nu net ook es aan het kijken wat er tegenwoordig in het HUE gamma zit, maar als je dat gaat beginnen optellen spendeer je snel héél veel centen voor wat ... voor een lampke basically ... zo'n setje 3 Lily White & Color ambiance grondspotjes met pin ... 300 euro ?! Really ? Is er een beetje over...
 

Jake

Well-Known Member
19 feb 2013
1.184
88
56
Idd, was nu net ook es aan het kijken wat er tegenwoordig in het HUE gamma zit, maar als je dat gaat beginnen optellen spendeer je snel héél veel centen voor wat ... voor een lampke basically ... zo'n setje 3 Lily White & Color ambiance grondspotjes met pin ... 300 euro ?! Really ? Is er een beetje over...

Is idd wel duur ,maar het is wel kwaliteit imo en gebruiksgemak hé.
Onze vorige tuinverlichting (2 simpele halogeen lampen ) mochten we al na enkele jaren wegsmijten.En die kon je ook maar aan en uit zetten(1 kleur) door naar onze tuinhuis te wandelen en daar de kabel in te pluggen.
Als ik nu zie wat je kan met die Hue ,tsja ,dag en nacht verschil.
En madam is ook content ;)
 
  • Vind ik leuk
Reactions: Skank

ToothLess

Well-Known Member
Home-Theater Goud
11 dec 2013
1.297
123
73
Ik heb die lightmanager mini nog.
Ik gebruik in mijn ht wel geen harmony meer
Kun je wat meer uitleg geven?
Wat en hoe ik het moet instellen met die callbacks.. 0,0 ervaring hier

Eerst u eens verdiepen hoe de Hue api werkt denk ik zo. Dat doe je via https://www.developers.meethue.com/philips-hue-api
Ge moet u daar registeren. Eens dat je toegang hebt, kan je daar terugvinden hoe Hue precies werkt en hoe je vanuit uw browser uw lichten/groepen kan sturen, met alle toeters en bellen.

Als je dan callbacks in uw Kodi opzet, kan je via het PUT commando direct naar uw Hue api een commando sturen die uw lichten instelt bij bepaalde acties. “Probleem” is dat je per actie maar 1 commando kan meesturen. Stel dat je verschillende licht groepen hebt in uw room, waarvan je wenst dat ze zich anders gedragen bij het uitvoeren van een actie, ja dan hebt ge een probleem. Als oplossing kan je dan bv die PUT verwijzen naar een php scriptje, waar ge dan per group van lichten instopt wat ge wilt.

Op de nas draait daarvoor dan een php webserver. In callbacks verwijs ik per actie naar een php “pagina/script”. In die php pagina worden er eigenlijk PUT commando’s gestuurd naar de Hue api.

Kodi_phpfiles.jpg


Zo heb ik voor de acties in Kodi (opstarten, afsluiten Kodi, spelen, pauze, stoppen van film) die ik nodig acht een php fileke dat callbacks dan uitvoert bij een bepaalde Kodi actie.

Simpel gezegd: callbacks runt de php file, de php file roept naar de Hue hub doe dit of dat.

PHP:
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Toothless HT HUE Setup</title>
</head>
<body>
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

// The light group ID that we need to target
$groups1 = array(5); //eerste groep(en) - HT Dak
$groups2 = array(7); //tweede groep(en) - Hifi Mode

// Zet de Hue eigenschappen voor $groups1
$status = true;
$hue = 39503;
$sat = 50;
$bri = 40;
$tra = 20;
$ct = 369;

// Zet de Hue eigenschappen voor $groups2
$status2 = true;
$hue2 = 47000;
$sat2 = 254;
$bri2 = 254;
$tra2 = 20;
$ct2 = 500;

// Maak een array met de gekozen properties
$data = array("on" => $status, "hue" => $hue, "sat" => $sat, "bri" => $bri, "transitiontime" => $tra,"ct" => $ct);
$data2 = array("on" => $status2, "hue" => $hue2, "sat" => $sat2, "bri" => $bri2, "transitiontime" => $tra2,"ct" => $ct2);

// Maak een JSON string van de gekozen properties in de arrays
$data_string = json_encode($data);   
$data_string2 = json_encode($data2);   
//echo $data_string; 

// Stuur een PUT request naar de Hue Bridge voor elke groep in de groups1 array
foreach ($groups1 as $group) {
    $ch = curl_init("http://XXX/api/YYY/groups/$group/action");   
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");                                                                     
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                                                                 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                     
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                         
    'Content-Type: application/json',                                                                               
    'Content-Length: ' . strlen($data_string))                                                                       
    );                                                                                                                   

    $result = curl_exec($ch);
    print_r($result);   
}                                                           

// Stuur een PUT request naar de Hue Bridge for elke groep in de groups2 array
foreach ($groups2 as $group1) {
    $ch2 = curl_init("http://XXX/api/YYY/groups/$group1/action");   
    curl_setopt($ch2, CURLOPT_CUSTOMREQUEST, "PUT");                                                                     
    curl_setopt($ch2, CURLOPT_POSTFIELDS, $data_string2);                                                                 
    curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);                                                                     
    curl_setopt($ch2, CURLOPT_HTTPHEADER, array(                                                                         
    'Content-Type: application/json',                                                                               
    'Content-Length: ' . strlen($data_string2))                                                                       
    );                                                                                                                   

    $result = curl_exec($ch2);
    print_r($result);   
}     
?>
</body>
</html>

Als ge dat niet nodig hebt (verschillende lichtacties per actie), wel dan stopt ge gewoon uw hue commando als PUT in 1 enekel callback taak.

XXx staat hier voor het ip adres van uw Hue bridge, YYY is het user profile ID dat gebruikt wordt in de hue api en waaronder uw lichten/groepen van lichten zitten (zie uitleg over de hue api site)

Bv om de lichten hier allemaal met delay te schakelen, is het commando:

http://XXX/api/YYY/groups/7/actionPUT:{"on":false,"sat":255,"bri":255,"hue":46920,"transitiontime":150}

Ge kunt zoiets direct in een browser plakken en testen, zien wat het geeft. Als ik dat commande dus toewijs in de callbacks op die taak die Kodi aflsuit en pc uitzet, dan vallen de lichten uit met delay van 15 sec, of komt er meer licht of whatever...

De manier waarop je dat in Cinemavision doet is ook best via actionscripts, zgn cvaction files. Je hebt in de Cinemavision folder een submap Actions, daarin ga je in de actionfile eigenlijk hetzelfde doen, nml de Hue api aansturen:

Code:
# This CinemaVision Action file uses a PUT method to turn off Philips Hue lights
#
# Visit "http://www.developers.meethue.com/" for more information on Philips Hue lights
# Visit "http://www.developers.meethue.com/documentation/configuration-api#71_create_user" to learn how to generate a <hue-bridge-user>
# Brightness values can be any number between 0 and 255
# The minimum brightness does not turn off the light
#
# Replace <hue-bridge-ip> with the IP address of your Hue system
# Replace <hue-bridge-user> with the username that has access to the resource
# Replace <hue-light-group> with the group number that your hue lights are in
http://XXX/api/YYY/groups/7/action
PUT:{"on":false,"sat":255,"bri":255,"hue":46920,"transitiontime":150}


Die actions kan je dan in de Cinemavision in een sequence steken en bepalen hoe de lichten zich dus moeten gedragen bij elkeen van die acties.
Bv, bij trailers afspelen heb ik nog wat blauw licht op de muur naast het scherm schijnen, in het dak is verlichting uit. Maar als de film begint valt alles uit of whatever...

Mbt de lightmanger air, via airstudio dan, kan je uw "schakelaars" en Scenes gaan opzetten. Die scene koppel je dan een een knop op je remote (app) bijvoorbeeld.

Airstudio1.jpg


Airstudio2.jpg


1 is hier weer uw ip van de hue hub, 2 de user account.

In principe is het altijd hetzelfde he, PUT commando naar de Hue api en hup lichten zijn ingesteld. Wat ge in uw put commando stopt, da's up to you. Belangrijkste van heel dit gedoe is gewoon snappen hoe de Hue api werkt en ge zijt vertrokken. Je kan de PUT commando's via uw browser testen, eens ze op punt staan (naar uw goesting) sla je ze als commando op in uw applicatie (callbacks, php file, cinemavision action file etc) en that's it.

"Duur" is altijd relatief :) Bediening kan via "dummy" way, maar je krijgt er die api bij he en daarmee kan je de lampen sturen met oneinidg veel mogelijkheden.
 

broodro0ster

Administrator
Home-Theater Goud
24 apr 2014
4.101
320
113
en dat allemaal om een lampke aan of uit te doen.....pfffff
En daarvoor betalen ons klanten ons met plezier :)
1 keer investeren om alles automatisch te laten gaan ;-)

ToothLess ToothLess Merci om het zo goed uit te leggen! Ik kan er niks meer aan toevoegen :)
 
  • Vind ik leuk
Reactions: ToothLess

Chr1st0f

Well-Known Member
Home-Theater Goud
19 feb 2013
1.910
242
73
Je kan toch ook de commando’s rechtstreeks naar de Lightmanager Air sturen en die kan ook rechtstreeks de Hue lampen bedienen of niet? Ik vind alleen het ‘programmeren’ van de Lightmanager nogal omslachtig met die markers.
 

ToothLess

Well-Known Member
Home-Theater Goud
11 dec 2013
1.297
123
73
Je kan toch ook de commando’s rechtstreeks naar de Lightmanager Air sturen en die kan ook rechtstreeks de Hue lampen bedienen of niet? Ik vind alleen het ‘programmeren’ van de Lightmanager nogal omslachtig met die markers.

Wat bedoel je precies met rechtstreeks naar de lightmanager sturen? Je moet toch altijd eerst een schakelaar opzetten? Daarin zet je dan uw commando he? Zie "schakelaar beheer" prentje, nee?

Het "moeilijkste" van heel dit gedoe is achterhalen wat de configuratie instellingen zijn van een lamp of groep van lampen (de code zeg maar achter een instelling). Maar ook daar heb je een oplossing voor: gebruik een of andere hue app. Daar kan je dan groepen maken, eigenschappen instellen etc.... die groep kan je dan terugvinden in de hue api en daarvan zie je dan ook de code...

Het is misschien wat schrikken als je daar moet aan beginnen, maar eens je het snapt is het gewoon cut and paste stuff denk ik zo.
 
Laatst bewerkt:

Chr1st0f

Well-Known Member
Home-Theater Goud
19 feb 2013
1.910
242
73
Ik bedoel de Kodi/CinemaVision commando's rechtstreeks naar het IP adres van de Lightmanager sturen en in de Lightmanager defineer je een schakelaar met een GET.
 

ToothLess

Well-Known Member
Home-Theater Goud
11 dec 2013
1.297
123
73
Dan kunt ge gewoon direct naar Hue bridge ne put sturen ook he? da's snelste denk ik zo
 

Skank

Well-Known Member
19 feb 2013
18.707
418
98
Earth
Eerst u eens verdiepen hoe de Hue api werkt denk ik zo. Dat doe je via https://www.developers.meethue.com/philips-hue-api
Ge moet u daar registeren. Eens dat je toegang hebt, kan je daar terugvinden hoe Hue precies werkt en hoe je vanuit uw browser uw lichten/groepen kan sturen, met alle toeters en bellen.

Als je dan callbacks in uw Kodi opzet, kan je via het PUT commando direct naar uw Hue api een commando sturen die uw lichten instelt bij bepaalde acties. “Probleem” is dat je per actie maar 1 commando kan meesturen. Stel dat je verschillende licht groepen hebt in uw room, waarvan je wenst dat ze zich anders gedragen bij het uitvoeren van een actie, ja dan hebt ge een probleem. Als oplossing kan je dan bv die PUT verwijzen naar een php scriptje, waar ge dan per group van lichten instopt wat ge wilt.

Op de nas draait daarvoor dan een php webserver. In callbacks verwijs ik per actie naar een php “pagina/script”. In die php pagina worden er eigenlijk PUT commando’s gestuurd naar de Hue api.

Kodi_phpfiles.jpg


Zo heb ik voor de acties in Kodi (opstarten, afsluiten Kodi, spelen, pauze, stoppen van film) die ik nodig acht een php fileke dat callbacks dan uitvoert bij een bepaalde Kodi actie.

Simpel gezegd: callbacks runt de php file, de php file roept naar de Hue hub doe dit of dat.

PHP:
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Toothless HT HUE Setup</title>
</head>
<body>
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

// The light group ID that we need to target
$groups1 = array(5); //eerste groep(en) - HT Dak
$groups2 = array(7); //tweede groep(en) - Hifi Mode

// Zet de Hue eigenschappen voor $groups1
$status = true;
$hue = 39503;
$sat = 50;
$bri = 40;
$tra = 20;
$ct = 369;

// Zet de Hue eigenschappen voor $groups2
$status2 = true;
$hue2 = 47000;
$sat2 = 254;
$bri2 = 254;
$tra2 = 20;
$ct2 = 500;

// Maak een array met de gekozen properties
$data = array("on" => $status, "hue" => $hue, "sat" => $sat, "bri" => $bri, "transitiontime" => $tra,"ct" => $ct);
$data2 = array("on" => $status2, "hue" => $hue2, "sat" => $sat2, "bri" => $bri2, "transitiontime" => $tra2,"ct" => $ct2);

// Maak een JSON string van de gekozen properties in de arrays
$data_string = json_encode($data);  
$data_string2 = json_encode($data2);  
//echo $data_string;

// Stuur een PUT request naar de Hue Bridge voor elke groep in de groups1 array
foreach ($groups1 as $group) {
    $ch = curl_init("http://XXX/api/YYY/groups/$group/action");  
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");                                                                    
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                                                                
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                    
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                        
    'Content-Type: application/json',                                                                              
    'Content-Length: ' . strlen($data_string))                                                                      
    );                                                                                                                  

    $result = curl_exec($ch);
    print_r($result);  
}                                                          

// Stuur een PUT request naar de Hue Bridge for elke groep in de groups2 array
foreach ($groups2 as $group1) {
    $ch2 = curl_init("http://XXX/api/YYY/groups/$group1/action");  
    curl_setopt($ch2, CURLOPT_CUSTOMREQUEST, "PUT");                                                                    
    curl_setopt($ch2, CURLOPT_POSTFIELDS, $data_string2);                                                                
    curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);                                                                    
    curl_setopt($ch2, CURLOPT_HTTPHEADER, array(                                                                        
    'Content-Type: application/json',                                                                              
    'Content-Length: ' . strlen($data_string2))                                                                      
    );                                                                                                                  

    $result = curl_exec($ch2);
    print_r($result);  
}    
?>
</body>
</html>

Als ge dat niet nodig hebt (verschillende lichtacties per actie), wel dan stopt ge gewoon uw hue commando als PUT in 1 enekel callback taak.

XXx staat hier voor het ip adres van uw Hue bridge, YYY is het user profile ID dat gebruikt wordt in de hue api en waaronder uw lichten/groepen van lichten zitten (zie uitleg over de hue api site)

Bv om de lichten hier allemaal met delay te schakelen, is het commando:

http://XXX/api/YYY/groups/7/actionPUT:{"on":false,"sat":255,"bri":255,"hue":46920,"transitiontime":150}

Ge kunt zoiets direct in een browser plakken en testen, zien wat het geeft. Als ik dat commande dus toewijs in de callbacks op die taak die Kodi aflsuit en pc uitzet, dan vallen de lichten uit met delay van 15 sec, of komt er meer licht of whatever…


.


Maw als ik die php overneem , en dan het ipadres wijzig en de naam vd groepen moet dit lukken?
 

broodro0ster

Administrator
Home-Theater Goud
24 apr 2014
4.101
320
113
Skank Skank
Hier zijn mijn scriptjes die ik gebruik in combinatie met Callbacks 2 in Kodi.
Ik heb maar 1 groep Hue lampen op zolder, maar als je meerdere groep ID's in die array plaats, zou het moeten blijven werken.

Als mijn lampen dimmen, haal ik eerst hun huidige brightness op, zodat ze altijd even snel dimmen.
Want als je kiest voor een fade time van 5 seconden en je lampen branden maar op 5%, dan is dat heel traag (1% per seconde). En als ze 100% branden, dan zou dit 20% per seconde zijn.
Door eerst te kijken hoe fel ze branden, kan je dus te weten komen hoelang ze dimmen om altijd een constante "dimrate" te hebben. In mijn script dimt een lamp die op 100% sterkte brandt ongeveer 5 seconden voor ze uit is. En 2.5 seconden als ze maar op 50% brandt.

Je sowieso er even de API docs moeten bijhalen om een API token te krijgen van de bridge. En als je ze wilt customizen kan je daar ook de parameters vinden.
Succes er mee!

Dit is mijn play script (lampjes uit)
PHP:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

// The group ID's that we need to target
$groups = array(3); //Zolder

// Get the current lamp settings. We need the brightness to determine the right transition time
$json = file_get_contents('http://192.168.X.X/api/YOURAPIKEYGOESHERE/groups/3');
$properties = json_decode($json, true);

$brightness = $properties['action']['bri'];

// Set the light properties
$on = false;
$transitiontime = round($brightness/5);
$ct = 447;

// Create an array with the chosen properties
$data = array("on" => $on, "ct" => $ct, "transitiontime" => $transitiontime);
   
// Create a JSON string of the properties
$data_string = json_encode($data);  

// Send a PUT request to the Hue Bridge to set the properties
foreach ($groups as $group) {
    $ch = curl_init("http://192.168.X.X/api/YOURAPIKEYGOESHERE/groups/$group/action");  
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");                                                                    
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                                                                
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                    
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                        
    'Content-Type: application/json',                                                                              
    'Content-Length: ' . strlen($data_string))                                                                      
    );                                                                                                                  

    $result = curl_exec($ch);  
}                                                          

?>

En het stop/pause script. Lichtjes terug aan op 50%.
PHP:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

// The group ID's that we need to target
$groups = array(3); //Zolder

// Set the light properties
$on = true;
$bri = 127;
$transitiontime = round($bri/5);

// Create an array with the chosen properties
$data = array("on" => $on, "bri" => $bri, "transitiontime" => $transitiontime);

// Create a JSON string of the properties
$data_string = json_encode($data);    

// Send a PUT request to the Hue Bridge for each group
foreach ($groups as $group) {
    $ch = curl_init("http://192.168.X.X/api/YOURAPIKEYGOESHERE/groups/$group/action");  
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");                                                                    
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                                                                
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                    
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                        
    'Content-Type: application/json',                                                                              
    'Content-Length: ' . strlen($data_string))                                                                      
    );                                                                                                                  

    $result = curl_exec($ch);
}                                                          

?>