PhilIPS hue LED-Leuchten

Das ips auf dem Pi ist ja noch nicht so richtig fertig ,falls du in der Konsole eine Fehlermeldung bekommst , sollte man die mal an raketenschnecke weiterleiten.

Gesendet von meinem iPhone mit Tapatalk

AHA, jetzt versteh ich das ganze.
Jetzt ergibt das ganze einen Sinn.

Eine Frage noch:
Welche Variante würdet ihr mir empfehlen Basic oder …

Vielen Dank erstmal
Ich hab in den letzten Stunden sehr viel dazu gelernt.:slight_smile:

Basic reicht wenn du nur ein wenig Licht steuern willst , aus Erfahrung kann ich aber sagen das man schnell süchtig wird und dann lohnt schon eine höhere Version .

Gesendet von meinem iPhone mit Tapatalk

Hallo,

hat jemand einen tipp wie ich mit einem Script eine Szene schalten kann? bzw. auch wieder aus?

Danke Leute für die großartige arbeit hier im Forum!

Schöen grüße
Stephan

Hallo,

ich haben eben einen Hue-Tap (Schalter) eingebunden und bekomme bei der Ausführung der hue_query die folgende Fehlermeldung:

Notice:  Undefined property: stdClass::$hue in C:\IP-Symcon\scripts\hue_query.ips.php on line 33

Warning:  Cannot auto-convert to Integer from Variant. Error: Could not convert variant of type (Null) into type (Integer) in C:\IP-Symcon\scripts\hue_query.ips.php on line 33

Notice:  Undefined property: stdClass::$xy in C:\IP-Symcon\scripts\hue_query.ips.php on line 35

Warning:  Cannot auto-convert to Float from Variant. Error: Could not convert variant of type (Null) into type (Double) in C:\IP-Symcon\scripts\hue_query.ips.php on line 35

Notice:  Undefined property: stdClass::$xy in C:\IP-Symcon\scripts\hue_query.ips.php on line 36

Warning:  Cannot auto-convert to Float from Variant. Error: Could not convert variant of type (Null) into type (Double) in C:\IP-Symcon\scripts\hue_query.ips.php on line 36

Notice:  Undefined property: stdClass::$xy in C:\IP-Symcon\scripts\hue_query.ips.php on line 38

Notice:  Undefined property: stdClass::$xy in C:\IP-Symcon\scripts\hue_query.ips.php on line 38

Warning:  Division by zero in C:\IP-Symcon\scripts\hue_include.ips.php on line 224

Warning:  Division by zero in C:\IP-Symcon\scripts\hue_include.ips.php on line 225
Abort Processing during exceed of maximal ErrorCount: Undefined property: stdClass::$sat
   Error in Script C:\IP-Symcon\scripts\hue_query.ips.php on Line 46

Der Schalter wird auch nicht angelegt. Kann mir da jemand helfen?

LG
Tom

Hallo Tom,

in den Scripten waren die Taps noch nicht berücksichtigt.
Diese werden andere Eigenschaften und Attribute haben als die Leuchtmittel…
Daher die Fehler beim Auslesen.
Ich müsste mir das mal bei Zeiten anschauen, hab aber noch kein Tap hier…

Viele Grüße,
Michael

Hallo Michael,

wäre schön wenn Du Dir das mal ansehen könntest. Kann ich da Hilfestellung leisten? Eventuell Abfrage von Eigenschaften per Browser o.ä.?

Tom

ähnliches Problem gibt es ja auch mit den friends of hue, da gibts auch jede Menge Fehlermeldungen.

Gibts hierfür schon eine Lösung?

schöne Grüße
Stephan

ps. und danke für die tolle Arbeit hier im Forum!

Fehlermeldung:

Notice: Undefined property: stdClass::$hue in C:\IP-Symcon\scripts\hue_query.ips.php on line 54

Warning: Cannot auto-convert to Integer from Variant. Error: Could not convert variant of type (Null) into type (Integer) in C:\IP-Symcon\scripts\hue_query.ips.php on line 54

Notice: Undefined property: stdClass::$bri in C:\IP-Symcon\scripts\hue_query.ips.php on line 56

Warning: Cannot auto-convert to Integer from Variant. Error: Could not convert variant of type (Null) into type (Integer) in C:\IP-Symcon\scripts\hue_query.ips.php on line 56

Notice: Undefined property: stdClass::$sat in C:\IP-Symcon\scripts\hue_query.ips.php on line 57

Warning: Cannot auto-convert to Integer from Variant. Error: Could not convert variant of type (Null) into type (Integer) in C:\IP-Symcon\scripts\hue_query.ips.php on line 57

Notice: Undefined property: stdClass::$xy in C:\IP-Symcon\scripts\hue_query.ips.php on line 59

Warning: Cannot auto-convert to Float from Variant. Error: Could not convert variant of type (Null) into type (Double) in C:\IP-Symcon\scripts\hue_query.ips.php on line 59

Notice: Undefined property: stdClass::$xy in C:\IP-Symcon\scripts\hue_query.ips.php on line 60

Warning: Cannot auto-convert to Float from Variant. Error: Could not convert variant of type (Null) into type (Double) in C:\IP-Symcon\scripts\hue_query.ips.php on line 60
Abort Processing during exceed of maximal ErrorCount: Undefined property: stdClass::$colormode
Error in Script C:\IP-Symcon\scripts\hue_query.ips.php on Line 62

Ich hätte da auch noch ein Problem mit den HUE´s. (wer möchte es haben)
Ich habe die RGB Streifen. Ich habe die Scripte: huescrip0.3 erfolgreich eingebunden.
Die Lampen werden erkannt und auch die Werte und Zustände werden richtig wiedergegeben.
Wenn ich aber versuche eine Lampe per Web einzuschalten passiert nichts. nach 10 sec (Timer von hue_query)
wird dan wieder der Istzustand angezeigt. Das hue_Action Script wird auch ausgeführt wenn ich im Web die Schalter betätige. KA wo ich noch suchen soll.

Hat jemand eine Idee?

Gruß Der Hüsi

Ps
Das Script von der ersten Seite, um die Lampen ein/aus zu schalten, funktioniert einwandfrei.

pps
Ich habe eine Gruppe mit der HUE App erstellt. Die wird mir jetzt auch in IPS angezeigt. Die Gruppe kann problemlos über das Web angesteuert werden. (an/aus, Farben usw) Nur mit den Lampen direkt geht nichts. Hab ich da was falsch verstanden?

Ich habe jetzt noch den Export von Frauenhofer versucht. Leider klappt das auf dem Raspberry nicht ganz. Es wird alles soweit angelegt aber die Scripte bleiben leer bzw es steht irgendwas man soll die Scripte in Klammern setzen.

Nach wie vor habe ich das Problem das ich nur die Lampengruppen schalten kann, nicht aber die Lampen selbst.
Was mich auch wundert ist das wenn ich die „Status“ Variable einer der Gruppen per Befehl ändere die Variable zwar geändert wird (an/aus) aber die Lampen bleiben wie sie sind und nach ablauf des Timers (10sec) nimmt die Variable wieder den aktuellen ist Wert an.

Ich will mich wirklich nicht beklagen. Habe ja alles was ich brauche am laufen. Nur alles sehr umständlich. Damit mein WAF Factor nicht in den Keller geht habe ich zb das schaltscript von der ersten Seite mit „If“ Befehlen so umgebaut das ich auch mit den HM Schalter schalten kann. Ich poste da Script mal. Es geht bestimmt viel kürzer und schöner. Aber es tut was es soll :slight_smile:

<?

$bridge_ip = '192.168.123.12';
$lamp_no= 3; // Hier die Nummer der Leuchte die geschaltet werden soll
$key='DeinKey';

	$WZLILI = GetValue(38454 /*[Hue LED Steuerung\Lampengruppen\Wohnzimmer\Status]*/);
	if ($WZLILI== false)
	{
	
	//Licht 1
				$lamp_no= 1; // Hier die Nummer der Leuchte die geschaltet werden soll
		  		$json_url = 'http://'.$bridge_ip.'/api/'.$key.'/lights/'.$lamp_no.'/state';

            $json_string = '{"on":true
				}';  // "bri" = Helligkeit (0-254) "on" = ein/aus (true/false)

            $ch = curl_init( $json_url );
            // Configuring curl options
            $options = array(
                            CURLOPT_RETURNTRANSFER => false,
                            CURLOPT_CUSTOMREQUEST => 'PUT', // -X
                            CURLOPT_HTTPHEADER => array('Content-type: application/json') ,
                            CURLOPT_POSTFIELDS => $json_string
                            );


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

            // Getting results
            $result =  curl_exec($ch);
            
   //Licht 2
            $lamp_no= 2; // Hier die Nummer der Leuchte die geschaltet werden soll
		  		$json_url = 'http://'.$bridge_ip.'/api/'.$key.'/lights/'.$lamp_no.'/state';

            $json_string = '{"on":true
				}';  // "bri" = Helligkeit (0-254) "on" = ein/aus (true/false)

            $ch = curl_init( $json_url );
            // Configuring curl options
            $options = array(
                            CURLOPT_RETURNTRANSFER => false,
                            CURLOPT_CUSTOMREQUEST => 'PUT', // -X
                            CURLOPT_HTTPHEADER => array('Content-type: application/json') ,
                            CURLOPT_POSTFIELDS => $json_string
                            );


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

            // Getting results
            $result =  curl_exec($ch);
            
   //Licht 3
            $lamp_no= 3; // Hier die Nummer der Leuchte die geschaltet werden soll
		  		$json_url = 'http://'.$bridge_ip.'/api/'.$key.'/lights/'.$lamp_no.'/state';

            $json_string = '{"on":true
				}';  // "bri" = Helligkeit (0-254) "on" = ein/aus (true/false)

            $ch = curl_init( $json_url );
            // Configuring curl options
            $options = array(
                            CURLOPT_RETURNTRANSFER => false,
                            CURLOPT_CUSTOMREQUEST => 'PUT', // -X
                            CURLOPT_HTTPHEADER => array('Content-type: application/json') ,
                            CURLOPT_POSTFIELDS => $json_string
                            );


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

            // Getting results
            $result =  curl_exec($ch);
	}
	else // false
	{
		  	//Licht 1
				$lamp_no= 1; // Hier die Nummer der Leuchte die geschaltet werden soll
		  		$json_url = 'http://'.$bridge_ip.'/api/'.$key.'/lights/'.$lamp_no.'/state';

            $json_string = '{"on":false
				}';  // "bri" = Helligkeit (0-254) "on" = ein/aus (true/false)

            $ch = curl_init( $json_url );
            // Configuring curl options
            $options = array(
                            CURLOPT_RETURNTRANSFER => false,
                            CURLOPT_CUSTOMREQUEST => 'PUT', // -X
                            CURLOPT_HTTPHEADER => array('Content-type: application/json') ,
                            CURLOPT_POSTFIELDS => $json_string
                            );


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

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

   //Licht 2
            $lamp_no= 2; // Hier die Nummer der Leuchte die geschaltet werden soll
		  		$json_url = 'http://'.$bridge_ip.'/api/'.$key.'/lights/'.$lamp_no.'/state';

            $json_string = '{"on":false
				}';  // "bri" = Helligkeit (0-254) "on" = ein/aus (true/false)

            $ch = curl_init( $json_url );
            // Configuring curl options
            $options = array(
                            CURLOPT_RETURNTRANSFER => false,
                            CURLOPT_CUSTOMREQUEST => 'PUT', // -X
                            CURLOPT_HTTPHEADER => array('Content-type: application/json') ,
                            CURLOPT_POSTFIELDS => $json_string
                            );


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

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

   //Licht 3
            $lamp_no= 3; // Hier die Nummer der Leuchte die geschaltet werden soll
		  		$json_url = 'http://'.$bridge_ip.'/api/'.$key.'/lights/'.$lamp_no.'/state';

            $json_string = '{"on":false
				}';  // "bri" = Helligkeit (0-254) "on" = ein/aus (true/false)

            $ch = curl_init( $json_url );
            // Configuring curl options
            $options = array(
                            CURLOPT_RETURNTRANSFER => false,
                            CURLOPT_CUSTOMREQUEST => 'PUT', // -X
                            CURLOPT_HTTPHEADER => array('Content-type: application/json') ,
                            CURLOPT_POSTFIELDS => $json_string
                            );


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

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

?>

Natürlich noch einen Trigger auf den gewünschten HM Schalter auf Aktualliesierung.

Hallo axelp

Habe einen Fehler in der query Datei gefunden…

Die Datei hieß früher wohl mal IPSInstaller.ips.php zumindest stand sie so in dem Installer Script für das Philips Hue Script.
Aktuell heißt die Datei aber IPSInstaller.inc.php und sie sollte laut Scriptfehler auch unter C:\IP-Symcon\scripts zu finden sein. Habe sie dort hin kopiert und die Dateinamen im Script korrigiert.

Jetzt bekomme ich aber weitere Fehler:

Created Category Lights=30145

Warning:  Objekt hue_Action wurde nicht gefunden in C:\IP-Symcon\scripts\40037.ips.php on line 56
Created Instance Wohnzimmer - TV links=50517, ModuleID={485D0419-BE97-4548-AA9C-C083EB82E61E}

Warning:  Cannot auto-convert to Boolean from Variant. Error: Invalid argument in C:\IP-Symcon\scripts\IPSInstaller.inc.php on line 545
Created VariableId Status=41032

Warning:  Cannot auto-convert to Integer from Variant. Error: Invalid argument in C:\IP-Symcon\scripts\IPSInstaller.inc.php on line 545
Created VariableId Helligkeit=10745

Warning:  Cannot auto-convert to Integer from Variant. Error: Invalid argument in C:\IP-Symcon\scripts\IPSInstaller.inc.php on line 545
Created VariableId Sättigung=29225

Warning:  Profil mit Namen "hue_Hue" existiert nicht in C:\IP-Symcon\scripts\IPSInstaller.inc.php on line 533

Warning:  Cannot auto-convert to Integer from Variant. Error: Invalid argument in C:\IP-Symcon\scripts\IPSInstaller.inc.php on line 545
Created VariableId Hue=56239
Set VariableProfile='hue_Hue' for Variable='Hue' 

Warning:  Profil mit Namen "hue_Hue" existiert nicht in C:\IP-Symcon\scripts\IPSInstaller.inc.php on line 553

Warning:  Wrong parameter type for IPS_SetVariableCustomAction() in C:\IP-Symcon\scripts\IPSInstaller.inc.php on line 534
Created VariableId ID=48953

Warning:  Profil mit Namen "hue_Temperature" existiert nicht in C:\IP-Symcon\scripts\IPSInstaller.inc.php on line 533

Warning:  Cannot auto-convert to Integer from Variant. Error: Invalid argument in C:\IP-Symcon\scripts\IPSInstaller.inc.php on line 545
Created VariableId Temperatur=36994
Set VariableProfile='hue_Temperature' for Variable='Temperatur' 
Abort Processing during exceed of maximal ErrorCount: Profil mit Namen "hue_Temperature" existiert nicht
   Error in Script C:\IP-Symcon\scripts\IPSInstaller.inc.php on Line 553

Folgendes Problem:

Wenn ich das Action Script der Stati Variable zuweise kann ich auch schalten… wunderbar.
Wenn ich dann zur aktuellen Statusabfrage das Query Script per 10 sec Intervall triggere, wird meine Verknüpfung zum Action Script wieder gelöscht, da er ja anscheinen alle 3 Lampen immer wieder neu anlegt, statt nur den Status abzufragen.

Settigung / Status & Helligkeit kann ich mit dem Action Script verknüpfen. Was ist mit Temperatur ? Diese funktioniert nicht.
Hue und Temperatur ist kein Profil hinterlegt… Welches muss da hinterlegt werden ?

Hast du hier eventuell schon ein neues Script am laufen ?

Eventuell hätte ich auch eine einfachere Lösung wenn ich etwas Hilfe bekomme…

  1. Ich nehme einfach dein Query Script, mache ne Kopie davon und würde das erstellen der Instanzen etc gerne ausklammern und nur den aktualisierungs Quelltext für die Stati drin lassen wollen. Wenn ich nur wüsste was hier raus kann und was drin bleiben muss. So könnte ich dann das „neue Query“ script antriggern für die Statiaktualisierung.

  2. Welche Profile muss ich für die Hue und Temperatur nutzen ?

Ich bin dank „Frauenhofer“ (Marcel) schon mal einen Schritt weiter. Da die Installation auf dem Raspberry nicht richtig durch lief (Scripte wurden nicht gefüllt), Habe ich das auf einem Windows Rechner gemacht und die Scripte kopiert.

Ergebnis:
Auf dem Windows Rechner lassen sich die Lampen direkt schalten, auf dem Raspberry leider nicht.
Die Variable ändert sich zwar von „false“ auf true aber die Lampe bleibt aus. Nach ablauf des Timers wird die Variable richtigerweise wieder auf „false“ gesetzt (Weil das ja der Zustand ist)

@Raketenschnecke
Ich meine Deinen Namen mal im Zusammenhang mit den Raspberry gelesen zu haben.
Hast Du eine Idee woran das liegt bzw was ich ändern muss damit das funktioniert?
Ich habe keine Lust wieder auf Windows zu wechseln weil eigendlich alle soweit läuft.

Gruß
Thomas

Ich will Szenen auslesen um diese dann zu schalten. Hier erstmal die Ergänzungen die ich in der hue_query gemacht habe. Es werden alle Szenen ausgelesen und unterhalb der Kategorie Szenen angelegt.


$id = 0;
foreach ($result->scenes as $scenes) {
	$id=$id+1;
	$myScene = hue_createScene($id, $idCatScenes, utf8_decode ($scenes->name));
	SetValue(IPS_GetVariableIDByName ("Name", $myScene),$scenes->name);
	$lightsarray = $scenes->lights;
	$lights = implode(",", $lightsarray);
	SetValue(IPS_GetVariableIDByName ("Lights", $myScene),$lights);
	SetValue(IPS_GetVariableIDByName ("Aktiv", $myScene),$scenes->active);
}

function hue_createScene($id, $parentID, $name){
	$action_script = IPS_GetObjectIDByName("hue_ActionScene", IPS_GetParent($parentID));
	$item = @CreateInstance($name, $parentID, "{485D0419-BE97-4548-AA9C-C083EB82E61E}", $Position=0);
	$id_info = IPS_GetObject($item);
	@IPS_SetIdent ($item, $id);
	@CreateVariable("Name", 3, $item, 0, "~String", $action_script, "none");
	@CreateVariable("Lights", 3, $item, 1, "~String", $action_script, "none");
	@CreateVariable("Aktiv", 0, $item, 2, "~Switch", $action_script,true);
	return $item;
}

Der Code ist innerhalb der hue_query.ips.php einzufügen.

Ich habe das gleiche Verhalten und weiß nicht wie ich es beheben soll?!
Zusätzlich habe ich generell erhebliche Probleme mit dem Script-Paket 0.3. Ich habe das .zip-File entpackt und die Dateien entsprechend in IPS eingebunden. Ein mauelles Starten von „hue_query“ legt alle Kategorien an und befüllt auch die Lampen entsprechend. Aber sowohl die Lampengruppen als auch die Szenen sind leer. Ich sehe auch keine Möglichkeit da irgendwie Inhalt rein zu bekommen.
Gibt es hierzu einen Wiki Eintrag? Super gute Arbeit!!! (aber leider bisher nicht wirklich selbsterklärend)

Ich danke erstmal allen für die Scripts, Kommentare etc…
Hab meine 5 Hues jetzt einbinden und ansteuern können.

Einige Fragen haben sich bei mir herausgestellt. Sind aber auch bezüglich IPS Basics

  1. Ich musste die IPSInstaller.inc.php manuel in den Objektbaum hinzufügen (P-Symcon\scripts\IPSLibrary\install\IPSInstaller)
    Hätte der nicht automatisch dort sein sollen, nachdem ich die IPSLibrary installiert habe?

  2. Es scheint keine Möglichkeit mehr zu geben, mehrere Scripts auf einmal zu importieren.
    Ich habe also jedes einzeln erstellt und den Inhalt importiert. Gibt es eine andere bessere Möglichkeit?

  3. Scripts konnte ich dann nicht mehr über „include(„scriptname“);“ einbinden, da nicht gefunden. Musste immer über, z.B.
    include(IPS_GetScriptFile(27818 /[Hue\hue_include]/)/[Hue\hue_include]/);
    einbinden.
    Was ist nötig, damit das über den FileName funktioniert?

  4. Die IPSLibrary bietet auch Steuerung von Hues. Was bietet die IPSLibrary dahingehend mehr oder weniger als der hier angesprochene Ansatz?

Beste Grüße

Hast du eventuell eine funktionierende hue_query ? also wie oben von mir beschrieben ist die ursprüngliche so nicht mehr nutzbar. Wenn du eine funktionierende hast zeig doch mal bitte her :wink: Den Scenen Quelltext schau ich mir mal an ! Super Sache ! Danke Dir

Der Scenen Quelltext ist mit Vorsicht zu genießen (nichts für ungut!).
Wenn ich zwischen Scenen umschalte, dann kommt immer eine mehr hinzu.

Kann hierzu jemand der sich auskennt, oder das gleich Problem hatte und es gefixt hat, ein paar Worte zu verlieren. :wink:

Scripte laufen super! Endlich kann ich auch eine Rückmeldung der Lampen erhalten. Inzwischen habe ich dein script version 0.3 am laufen.

Ich habe ein Problem mit den Gruppen:

Ich habe im Thread das Script zur erstellen einer Gruppe ausgeführt. Nachdem das Query Script gelaufen ist tauchte diese auch direkt in der Struktur auf… Jedoch kann ich den variablen kein Script hinterlegen… Somit kann ich die Variablen nicht verlinken und auch nicht steuern… Hat hier jemand eine Idee? Die Lampen einzeln Steuern und eine Rückmeldung erhalten funktioniert super. Die Angelegte Gruppe jedoch nimmt nur werte auf kann aber keine schreiben.

Die Variablenprofile habe ich soweit alle laut der info in einem der Screenshots auch hinzugefügt.

Danke für deine klasse Arbeit!

Die Gruppen kommen nicht von mir. Hab das mittlerweile auch, aber nie verstanden wie das funktionieren soll. Ich habe die Code Basis mittlerweile erweitert und an meine Bedürfnisse angepasst. Sobald die PHP-MODULE für Windows verfügbar sind, werde ich versuchen, eine saubere Implementierung zu basteln.

Gruß, Axel