Philips Hue - Homematic Taster

Hallo zusammen. Ich hab mich gerade mal an das Einschaltscript gemacht. Leider passieret hier gar nichts. Möchte eine HM Tasterschnittstelle nutzen die bei Variablenaktualisierung schaltet. Leider passiert hier gar nichts. Ich sehe, das bei Druck auf den Taster, die Aktualisierung statt findet auch wird das Script ausgelöst. Die Lampe jedoch bleibt aus.

Jemand eine Idee?

Ich habe mir nun die halbe Nacht um die Ohren geschlagen. Ich habe Stephan´s Script auf meine Lampe angepasst:

<?
 ##### Project Exporter Comment: Script Version Stand 23.04.2014 11:39 #####

if(file_exists(IPS_GetKernelDir()."\\scripts\\IPSInstaller.ips.php"))
    require_once(IPS_GetKernelDir()."\\scripts\\IPSInstaller.ips.php");
INCLUDE ("hue_include.ips.php");



        $childs = IPS_GetChildrenIDs(40273 /*[Hue\Hue LED Steuerung\Lampen\Couch\Status]*/);
echo $childs;
        foreach($childs as $child)
        {
            $var = GetValue($child);
           if(is_string($var))
           {
              $data = explode("#",$var);
              if(count($data == 2)) hue_SendLampCommand($data[0], $data[1]);
           }
        }




?>

Die Variable 40273 die hier angesprochen wir ist der Status der Hue, der im Webfront die Lampe ein und ausschaltet.

Das Script läuft sauber durch. Es kommt lediglich folgende Notice:

Notice:  Array to string conversion in C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\37762.ips.php on line 11
Array

Die Lampe jedoch bleibt aus. Kann mir jemand auf die Sprünge helfen und mein Wochenende retten?

Viele Grüße

Flo

Sag mal,

du hast schon mal den einfachen weg probiert ?

HUE_SetValue(42645 /[Smarthome\Hardware\Beleuchtung\HUE\Essecke Kugelleuchte]/, „STATE“, true);
HUE_SetValue(42645 /[Smarthome\Hardware\Beleuchtung\HUE\Essecke Kugelleuchte]/, „STATE“, false);

So schalte ich über einen 6-fach Taster.

Benutzt Du das Hue Skript von Peter? Oder bist Du schon auf 4.0 und hast Deine Hue über das 4.0er eingebunden

Ich bin noch auf 3.4 und habe meine Hue über Peter’s Skript installiert. Ich denke ich kann die Hue_setvalue damit nicht nutzen, oder?

Sorry,

hatte ich nicht gelesen, dass du 3.4 hast.

Dann benötigst, du sowas:

<?

$bridge_ip = getvalue (39956 /[Smarthome\W27\Hardware\Beleuchtung\HUE\Bridge\IP]/);
$lamp_no = 2; // Hier die Nummer der Leuchte die geschaltet werden soll
$key = getvalue (22343 /[Smarthome\W27\Hardware\Beleuchtung\HUE\Bridge\KEY]/);

        $json_url = 'http://'.$bridge_ip.'/api/'.$key.'/lights/'.$lamp_no.'/state';
        $json_string = '{"alert": "lselect",  "bri":254,"hue":2000, "on":true}';  // "bri" = Helligkeit (0-254) "on" = ein/aus (true/false)
        
        $ch = curl_init( $json_url );
        // Configuring curl options
        $options = array(
                        CURLOPT_RETURNTRANSFER =&gt; true,
                        CURLOPT_CUSTOMREQUEST =&gt; 'PUT', // -X
                        CURLOPT_HTTPHEADER =&gt; array('Content-type: application/json') ,
                        CURLOPT_POSTFIELDS =&gt; $json_string
                        );


        // Setting curl options
        curl_setopt_array( $ch, $options );

        // Getting results
        $result =  curl_exec($ch);

?>

mit dem $json_string musst du halt spielen. findest du aber alles hier im forum.

Dieses ist rotes blinken.

Ich hoffe, das überfordert mich nicht [emoji4] gehöre immer noch der Copy’n’Paste Fraktion an

Die kleinen Anpassungen wirst Du auch selber hinbekommen :wink:

Da bin ich mir sicher!

Ich hätte ja auch den initialen Thread aufmerksamer lesen können und dann hätte ich das von Dir gepostete Script auch dort gefunden :slight_smile: Und ich glaube auch, dass ich da jetzt mit json_string klar komme

Leider hab ich aber ein anderes Problem, welches mich überhaupt nicht zum testen lässt:

Parse error:  syntax error, unexpected '$lamp_no' (T_VARIABLE) in C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\37762.ips.php on line 3
Abort Processing during Fatal-Error: syntax error, unexpected '$lamp_no' (T_VARIABLE)
   Error in Script C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\37762.ips.php on Line 3

Irgendwie kommt der mit der $lamp_no nicht klar. Muss das Script an eine bestimmte Stelle geschoben werden oder etwas inkludiert werden?

Kommando zurück! Funktioniert bestens!

Ich hatte keine Variablen angelegt für die IP und den Key und dachte, es reicht wenn ich diese einfach in das Script eintrage. Reicht bestimmt auch, wusste nur nicht in welche Zeichen ich es setzen sollte.

Hab dann jetzt mal Variablen angelegt und siehe da: Es funktioniert!

Danke nochmal für Deine Hilfe Gosef!