Hilfe: Script für CCU.IO zum Auslesen von Werten aus PHP
Verfasst: 25.09.2015, 11:23
Guten Morgen liebe alle,
bislang bin ich mit suchen im Web und dann "zusammenkopieren" und "anpassen" immer weitergekommen, aber nun ist Ende
Da es hier ja aber viele gibt, die sich mit Javascript und Scripts allgemein auskennen brauche ich nun mal eure spezifische Hilfe für das Problem.
Aaaaaaaaaalso: Ich habe nen Senec Stromspeicher (das Thema hatten wir schon), ein Freund hat mir nun eine PHP Datei geschrieben, die ich auf meinem lokalen Webserver liegen habe, welches die Werte aus dem Webportal davon ausliest.
Ich habe dann das Kostal Javascript als Vorlage genommen und versucht damit die Werte einzulesen. Leider ohne Erfolg.
Hier nun der Code von dem Javascript:
Und hier die Ausgabe der akku.php:
Vielleicht ist der Weg mit dem Javascript auch total unsinnig und es gibt eine viel bessere Variante, um aus der PHP-Ausgabe die Werte herauszubekommen?
Besten Dank und Grüße
Marcel
(PS: In diesem aktuellen Beispiel ist die "Ladung" des Akku bei 7,65%)
bislang bin ich mit suchen im Web und dann "zusammenkopieren" und "anpassen" immer weitergekommen, aber nun ist Ende
Da es hier ja aber viele gibt, die sich mit Javascript und Scripts allgemein auskennen brauche ich nun mal eure spezifische Hilfe für das Problem.
Aaaaaaaaaalso: Ich habe nen Senec Stromspeicher (das Thema hatten wir schon), ein Freund hat mir nun eine PHP Datei geschrieben, die ich auf meinem lokalen Webserver liegen habe, welches die Werte aus dem Webportal davon ausliest.
Ich habe dann das Kostal Javascript als Vorlage genommen und versucht damit die Werte einzulesen. Leider ohne Erfolg.
Hier nun der Code von dem Javascript:
Code: Alles auswählen
// Hier ggf erste ID einstellen
var firstId = 302000;
// Variablen anlegen
setObject(firstId, {
Name: "Senec.Akkustand",
TypeName: "VARDP",
_persistent: true
});
function readSenecAkku() {
var cheerio = require('cheerio');
var request = require('request');
console.log("Read Senec");
request('http://192.168.123.240/akku.php', function (error, response, body) {
console.log(JSON.parse(response));
var data = JSON.parse(response);
console.log(data.fuelgauge);
setState(firstId,data.fuelgauge);
});
}
// Einmal bei Scriptstart ausführen
readSenecAkku();
schedule({second: [150]}, readSenecAkku);
Code: Alles auswählen
{"batterycurrent":"37","batteryvoltage":"52.94","fuelgauge":"7.65","capacity":100,"bars":"empty","lastupdated":1443172719,"client_id":"56015c09e06de","client_firstname":"Christian","client_lastname":"Arned","client_email":"info@info.info","val":[[[1443086622000,54.66],[1443086922000,55],[1443087222000,54.56],[1443087522000,55.17],[1443087822000,53.45],[1443088122000,53.62],[1443088422000,55.34],[1443088722000,55.52],[1443089022000,54.83],[1443089322000,54.66],[1443089622000,55],[1443089922000,55.34],[1443090222000,54.22],[1443090522000,54.14],[1443090822000,53.97],[1443091122000,53.97],[1443091422000,53.11],[1443091722000,52.84],[1443092022000,52.94],[1443092322000,53.97],[1443092622000,54.14],[1443092922000,53.11],[1443093222000,52.84],[1443093522000,53.11],[1443093822000,53.62],[1443094122000,54.14],[1443094422000,54.56],[1443094722000,55]
Besten Dank und Grüße
Marcel
(PS: In diesem aktuellen Beispiel ist die "Ladung" des Akku bei 7,65%)