Senor-logfile lesen

Ich versuche das Sensorlog file von dSS zu lesen. Leider gelingt mir dies nicht. Mein Versuch war mit folgendem Skript:

<?
$url=‚https://192.168.1.xyz/logs/dss/js/system-sensor.log‘;
$auth = base64_encode(‚dssadmin: password‘);

$aContext = array(
‚http‘ => array(
‚header‘ => "Proxy-Authorization: Basic ".$auth),
„ssl“=>array(
„verify_peer“=>false,
„verify_peer_name“=>false,
)
);
$cxContext = stream_context_create($aContext);

$data=file_get_contents($url,false,$cxContext);

echo $data;
?>

Ich bekomme folgende Fehlermeldung:
Warning: file_get_contents(https://192.168.1.xyz/logs/dss/js/system-sensor.log): failed to open stream: HTTP request failed! HTTP/1.0 401 Unauthorized
in /var/lib/symcon/scripts/47817.ips.php on line 20

Ich würde gerne aus der Info dieses logfiles die Temperaturen updaten.

Moin!

Ist das denn wirklich eine Basic Auth da bei der Webseite? Hast du ein selbstsigniertes Zertifikat bei HTTPS oder ist das gültig?

Probier mal sowas in der Richtung:

<?
$url = "https://192.168.1.xyz";
$fileurl = "https://192.168.1.xyz/logs/dss/js/system-sensor.log";

$username = "admin";
$password = "123456";

// Anmeldung mit Basic Auth
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($ch, CURLOPT_USERPWD, '$username:$password');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$output = curl_exec($ch);
$info = curl_getinfo($ch);

// Nach der Anmeldung die Datei abrufen
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_URL, $fileurl);
$data = curl_exec($ch);

curl_close($ch);

print_r($data);
?>

…später könnte man das Script ggf. auch noch um ein Cookie erweitern, damit das Script sich nicht jedes Mal neu anmeldet…
Evtl. kannst du dir dazu hier was abschauen >> Vistapool // Pool-Steuerung über IPS

Grüße,
Chris

Bekomme leider folgende Fehlermeldung:

<!DOCTYPE html PUBLIC „-//W3C//DTD XHTML 1.0 Transitional//EN“
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>

400 - Bad Request

Moin!

Nicht umsonst sagte ich:

Und nur nicht zu viel schreiben…man könnte noch eine Idee bekommen was du da genau hast und was zu machen ist. Fragen beantworten oder noch ein paar mehr Infos zur Verfügung stellen wird ebenfalls völlig überbewertet :smiley:
Aber dann kommst du ja bestimmt auch allein auf die Lösung :slight_smile: Viel Erfolg dabei!

-Chris-

Absicht:

Ziel der ganzen Uebung wäre, eine Register Variable zu haben, welche ständig dieses log-file betrachtet. Damit könnte ich dann mit einem php-Skript die Temperaturwerte der Sensoren updaten.
Momentan kann ich dies nur über periodische Abfragen. Geräteabfragen sollte man bekannterweise möglichst unterlassen. Das Erstellen dieser Register Variable ist mir leider noch nicht gelungen. Deshalb versuchte ich zuerst eine einfachere Lösung. Aber scheinbar ist bereits das Lesen dieses log-files tückisch. Da die logfiles von dS weniger komplex gesichert sind, hoffte ich auf ein Gelingen. Ich vermutete diese log-files haben keine token-Abfrage. Vielleicht irre ich mich.

Ich würde gerne die Information, welche im dS Splitter im Debugger zu lesen ist auswerten. Kann man dies irgendwie?