Antwort
Aug 07, 2019 - 09:03
Welche Version wird eingesetzt? Die aktuelle 2.4.5?
Ich habe den Skript eingestellt, um im Intervall die Temperatur in eine Variable (string) einzutragen. Ich habe dafür die Vorlage aus dem Forum genutzt, den ich meiner Umgebung entsprechend angepasst habe.
var values = '';
var maxItems = 30;
var shortenItems = function(status) {
var items = String(status).split(';');
var numItems = items.length;
if (numItems > maxItems) {
items = items.slice(numItems - maxItems, numItems);
}
return items.join(';');
};
var getCurrentTrend = function(cb) {
getDeviceStatus(
"Netatmo",
"GS-Stromberg (Auβenraum)",
{"value":"tempTrend","options":["up","down","stable"]},
function(err, status) {
err && console.error(err.message);
if (err || !status) {
console.error('Temperatur konnte nicht abgefragt werden.');
return;
}
cb(status);
}
);
}
var getCurrentTemp = function(cb) {
getDeviceStatus(
"Netatmo",
"GS-Stromberg (Auβenraum)",
{"value":"temp"},
function(err, status) {
err && console.error(err.message);
if (err || !status) {
console.error('Temperatur konnte nicht abgefragt werden.');
return;
}
cb(status);
}
);
}
var setDiagrammData = function(values) {
executeDeviceCommand(
'NEO Server',
'Daten01',
{ value: 'setValue', ext: values },
function(err) {
err && console.error(err.message);
if (!err) {
console.log('Daten01 wurden aktualisiert.');
}
}
);
};
getDeviceStatus(
'NEO Server',
'Daten01',
{ value: 'state' },
function(err, status) {
err && console.error(err.message);
if (err) {
console.error('Daten01-Systemvariable konnte nicht abgefragt werden.');
return;
}
values = shortenItems(status);
getCurrentTemp(function(temp) {
values += temp + ';';
setDiagrammData(values);
});
}
);
var setDiagrammData2 = function(values) {
executeDeviceCommand(
'NEO Server',
'Daten02',
{ value: 'setValue', ext: values },
function(err) {
err && console.error(err.message);
if (!err) {
console.log('Daten02 wurden aktualisiert.');
}
}
);
};
getDeviceStatus(
'NEO Server',
'Daten02',
{ value: 'state' },
function(err, status) {
err && console.error(err.message);
if (err) {
console.error('Daten02-Systemvariable konnte nicht abgefragt werden.');
return;
}
values = shortenItems(status);
getCurrentTrend(function(temp) {
values += temp + ';';
setDiagrammData2(values);
});
}
);
Der Skript funktioniert wenn ich ihn manuell auslöse und er schreibt auch die Daten in die Systemvariablen.
Wenn ich nun diesen Skript durch einen Task im AM auslösen will klappt das nicht. Ich habe einen Test angelegt und da meine Wohnzimmerlampe getoggelt, um zu sehen ob der Task funktioniert. Die Lampe schaltet alle 30 Sekunden aber der Skript scheint nicht zu reagieren, denn ich sehe keine neue Daten in der Variablen.
Ich habe das Forum in Bezug auf Skripts komplett durchsucht aber ich habe leider nichts gefunden.
Eventuell kann mir ja jemand weiterhelfen, der ein ähnliches Problem schon gelöst hat.
Vorab vielen DANK!
LG Guenter
Haben Sie die gleiche Frage? Dieser Frage folgen
Aug 07, 2019 - 09:03
Von
Hallo Sebastian!
Vielen Dank für die schnelle Reaktion.
Der NEO SERVER läuft auf einem Raspberry PI Version 2.4.0
Von
So, ich habe die Ver 2.4.5 installiert und jetzt funktioniert es - vielen DANK!
Neuen Kommentar hinzufügen