NEWS
[Gelöst] Javascript schreibt nicht in Datenpunkt
[Gelöst] Javascript schreibt nicht in Datenpunkt
-
Das ist ein Array mit einem Element. Was ergibt ?
log(result.e2powerstate.e2instandby[0] + ' ' + typeof result.e2powerstate.e2instandby[0]); ```` `Das ergibt:
! javascript.0 script.js.common.Dreambox_OG.Standby_Status_DB_OG: false string
Wenn ich es so mache, scheint es zu gehen:
stateDB = JSON.parse(result.e2powerstate.e2instandby);Ist das okay?
Kann ich ein Javascript via Blockly starten / stoppen?
-
Hier mein Script um die Dreambox (Enigma2) den Standby Status abzufragen:
! const request = require('request');
! const parser = require('xml2js').parseString;
! createState('javascript.0.Dreambox_OG_Standby_Status', false, {
! read: true,
! write: true,
! desc: "DB500 Standby Status",
! type: "object",
! def: false
! });
! function getDB500Status(xml) {
! parser(xml, function (err, result) {
! if(err) log('Fehler XML-Parsen: ' + err, 'error');
! else {
! var stateDB;
! stateDB = JSON.parse(result.e2powerstate.e2instandby);
! setState('javascript.0.Dreambox_OG_Standby_Status', stateDB);
! console.log(JSON.parse(result.e2powerstate.e2instandby));
! }
! });
! }
! function getXML() {
! request('http://root:%2A%2A%2A%2A%2A%2A%2A%2A@192.168.178.220:88/web/powerstate', function (error, response, body) {
! if (error) log("Fehler beim Herunterladen: " + error, 'error');
! else getDB500Status(body);
! });
! }
! schedule('* * * * *', getXML); // jede Minute -
createState('javascript.0.Dreambox_OG_Standby_Status', false, {
read: true,
write: true,
desc: "DB500 Standby Status",
type: "object",
def: false
}); `
Der Datenpunkt-Typ ist falsch !createState('javascript.0.Dreambox_OG_Standby_Status', false, { read: true, write: true, desc: "DB500 Standby Status", type: "boolean", def: false });
