+ Antworten
Ergebnis 1 bis 5 von 5
  1. #1
    Registriert seit
    Mar 2015
    Ort
    Zürich
    Beiträge
    162

    Standard 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.

  2. #2
    Registriert seit
    Sep 2014
    Ort
    Limeshain (Hessen)
    Beiträge
    5,302

    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:
    PHP-Code:
    <?
    $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($chCURLOPT_URL$url);
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
    curl_setopt($chCURLOPT_SSL_VERIFYPEER,false);
    curl_setopt($chCURLOPT_SSL_VERIFYHOST,false);
    curl_setopt($chCURLOPT_USERPWD'$username:$password');
    curl_setopt($chCURLOPT_HTTPAUTHCURLAUTH_BASIC);
    $output curl_exec($ch);
    $info curl_getinfo($ch);

    // Nach der Anmeldung die Datei abrufen
    curl_setopt($chCURLOPT_REFERER$url);
    curl_setopt($chCURLOPT_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
    IP-Symcon Module >> www.bayaro.net << Verfügbare Module: BatterieMonitor, BundesligaTabelle, Enigma2BY, HeizölPreise, Helios, Horoskop, HostMonitor, IPSInformations, MELCloud, Müllabfuhr, PJLink, RSS, TankerkönigSpritpreise, xREL
    IPS Unlimited, ~1200 Scripte, ~7000 Variablen

  3. #3
    Registriert seit
    Mar 2015
    Ort
    Zürich
    Beiträge
    162

    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

  4. #4
    Registriert seit
    Sep 2014
    Ort
    Limeshain (Hessen)
    Beiträge
    5,302

    Moin!

    Nicht umsonst sagte ich:
    Zitat Zitat von Bayaro Beitrag anzeigen
    Probier mal sowas in der Richtung
    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
    Aber dann kommst du ja bestimmt auch allein auf die Lösung Viel Erfolg dabei!

    -Chris-
    IP-Symcon Module >> www.bayaro.net << Verfügbare Module: BatterieMonitor, BundesligaTabelle, Enigma2BY, HeizölPreise, Helios, Horoskop, HostMonitor, IPSInformations, MELCloud, Müllabfuhr, PJLink, RSS, TankerkönigSpritpreise, xREL
    IPS Unlimited, ~1200 Scripte, ~7000 Variablen

  5. #5
    Registriert seit
    Mar 2015
    Ort
    Zürich
    Beiträge
    162

    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?

Ähnliche Themen

  1. Logfile deaktivieren
    Von Erwoolf im Forum Allgemeine Diskussion
    Antworten: 1
    Letzter Beitrag: 05.02.18, 09:10
  2. Stromverbrauch Logfile
    Von Ben Marloe im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 4
    Letzter Beitrag: 18.11.11, 21:06
  3. Logfile Bug?
    Von Hinti im Forum IP-Symcon WIIPS
    Antworten: 0
    Letzter Beitrag: 06.03.09, 12:54
  4. Logfile IP-SYMCON
    Von Torro im Forum Ideen & Anregungen
    Antworten: 4
    Letzter Beitrag: 23.08.05, 22:23

Stichworte