Ankündigung

Einklappen
Keine Ankündigung bisher.

Webrequest Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Webrequest Problem

    Hi zusammen,

    ich habe heute den Tag damit verbracht, endlich Daten mier PV-Anlage mit iOBroker abrufen zu können.
    Nun würde ich diese Daten aber auch direkt durch denX1 per WebRequest-Baustein abrufen lassen.
    Könnt ihr mir erklären, wie ich dne WebRequest-Baustein konfigurieren muss?

    Das ioBroker Script lautet wie folgt:

    var TimeInterval = setInterval(MyJavascript, 5000);
    function MyJavascript() {
    var request = require('request');
    var user = "hycube";
    var password = "hycube";
    var options = {
    url: 'http://192.168.178.21/auth/',
    headers: {
    "Authorization": Buffer.from("Basic " + user + ":" + password).toString('base64')
    },
    body: '<?xml version="1.0" encoding="UTF-8" ?>[...]'
    };
    request.post(options, function (error, response, body) {
    if (error) {
    console.log("Ein Fehler ist aufgetreten ");
    } else {
    var auth_token = body;
    var url = require('request');
    var options = {
    url: 'http://192.168.178.21/get_values/',
    headers: {
    "Authorization": auth_token
    },
    body: '<?xml version="1.0" encoding="UTF-8" ?>[...]'
    };
    url.post(options, function (error, response, body) {
    if (error) {
    console.log("Ein Fehler ist aufgetreten ");
    } else {
    var result = JSON.parse(body);
    // Gesamte Antwort in einem Objekt speichern
    var Gesamt = {
    'AuthResponse': auth_token,
    'ApiResponse': result
    };
    // Setze die Werte in ioBroker
    setState('0_userdata.0.Hycube.Batterie', result["Battery_P"]);
    setState('0_userdata.0.Hycube.Grid', result["Grid_P"]);
    setState('0_userdata.0.Hycube.Hausverbrauch', result["Home_P"]);
    setState('0_userdata.0.Hycube.Solar', result["solar1_P"]);
    // Setze die gesamte Antwort in ioBroker
    setState('0_userdata.0.Hycube.Gesamt', JSON.stringify(Gesamt));
    }
    });
    }
    });
    }

    Ich hoffe ihr versteht, was ich meine...

    Danke vorab an alle die helfen (wollen).

    Tobias
Lädt...
X