Fehlermeldung in Hue-Script nach Update auf 3.1

Moin,

heute habe ich auf 3.1 aktualisiert. Wenn ich jetzt meine Hue-Scripte starte, funktionieren sie zwar noch, ich bekomme aber immer eine Fehlermeldung. Leider steht in der Meldung nicht drin, was das Problem sein könnte ist. :frowning:

Hat jemand eine Idee?

(Liebe Entwickler von IP-Symcon, muss das sein, dass Ihr nichts-sagende Fehlermeldungen erzeugt? Denkt doch bitte auch mal an Eure Benutzer deren Zeit Ihr verschwendet, nur weil Ihr zu faul seid Euch ein bisschen Mühe zu geben. Dafür habe ich – angesichts des hohen Preises für die Software – überhaupt kein Verständnis!)

Schau mal hier: http://www.ip-symcon.de/forum/threads/24292-Ausgabe-von-quot-Fehler-quot-im-Webfront-ohne-ersichtlichen-Grund-(seit-Version-3-1)

paresy

Ja, nur das ist es leider nicht.

Ich hatte am Ende überall eine Zeilenschaltung dahinter, aber nur bei einigen Skripts bekomme ich diese Meldung. bei anderen nicht.

Jetzt habe ich alle Zeilenschaltungen weggenommen, aber es ändert nichts an den Meldungen. Sie erscheinen weiterhin.

Hast Du auch Include-Skripts bereinigt sofern welche eingebunden sind?

Ich habe keine include-Scripte, ich wusste gar nicht, dass das geht.

Wenn die Fehlermeldung wenigstens irgendetwas aussagen würde … aber es heißt einfach nur „Fehler“! :frowning:
Und wenn ich sie im Script-Fenster ausführe, werden sie anstandslos ausgeführt.

Wie ich inzwischen festgestellt habe, setzt IP-Symcon selbst die Zeilenschaltungen ans Ende. Denn sie sind alle wieder da. Ich nehme sie raus, sichere das Script, schließe es, öffne es neu, und die Zeilenschaltung ist wieder drin.

Hier mal eines der betroffenen Scripte (Benutzer auf der Bridge ist ausge-X-t):

<?
function lampe_set($bridge_ip,$key,$lamp_no,$lamp_state) {
$json_url = 'http://'.$bridge_ip.'/api/'.$key.'/lights/'.$lamp_no.'/state';
$json_string = $lamp_state;

echo $json_url."
";
echo $json_string."

";

$ch = curl_init( $json_url );

$options = array(
                CURLOPT_RETURNTRANSFER => true,
                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);


//print_r ($result);
    usleep(300000);
}
/********************************************************

    PhilIPS hue LED Leuchte Schalten
    Ersteller: peterchrisben
    Datum: 08.02.2013
    Version: 0.1

*/
$bridge_ip = '10.0.1.137'; // IP-Adresse der Bridge
$key='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; // Benutzer auf der Bridge


$lamp_no = 7; // WC ü. Sitz
$lamp_state = '{
		"on": true,
		"bri": 255,
		"hue": 14922,
		"sat": 144,
		"reachable": true
	}';
lampe_set($bridge_ip,$key,$lamp_no,$lamp_state);

$lamp_no = 10; // WC ü. Spüle
$lamp_state = '{
		"on": true,
		"bri": 255,
		"hue": 14922,
		"sat": 144,
		"reachable": true
	}';
lampe_set($bridge_ip,$key,$lamp_no,$lamp_state);

?>

Das ist eine „Unsitte“ des Editors, macht aber für die Funktion nix aus. Es sind wirklich händisch eingefügte Leerzeichen, vor oder hinter Anfang und Ende. Passiert auch gerne beim Kopieren von kompletten Skripten.

Gruß
Bruno

Hi,

Deine Ausgabe im WebFront kommt von diesen beiden Zeilen:


echo $json_url."
";
echo $json_string."

";

es dürfte sich hier um Debug Meldungen handeln, die dann im WebFront als Fehler angezeigt werden.
Nimm die beiden Zeilen raus und es sollte funktionieren …

Und das sollte vor der 3.1 auch schon so gewesen sein. Echos wurde schon immer beim starten eines Skriptes als Popup angezeigt. Nur zwischenzeitlich war das mal als Bug verschwunden. :wink:

BINGO! Ja, das war es. Vielen lieben Dank! :slight_smile: