Hallo,
ich habe getestet und auch etwas verändert.
ich spare mir den DP: 'javascript.0.lmair.szenenr.01'
Fazit:bisher läuft gut
const idVis = 'javascript.0.lmair.marker.01'; // ID des Datenpunktes, der auf Vis reagiert (false/true)
const idMarker = 'javascript.0.lmair.marker.01';
const request = require('request');
const url = 'http://192.168.10.71/control?key=';
const js = 'system.adapter.javascript.' + instance;
on({id: idVis, change: 'ne', fromNe: js}, function(dp) { // Triggern bei Wertänderung durch Vis
var key = '08'; // aus
if(dp.state.val) key = '07'; //ein
request(url + key, function(error, response, body) {
if(error) log('Fehler Request Steckdose', 'error');
});
});
ich reagiere jetzt nur auf den Markerpunkt, für den VIS Button und die Visualisierung
const idVis = 'javascript.0.lmair.marker.01'; // ID des Datenpunktes, der auf Vis reagiert (false/true)
const idMarker = 'javascript.0.lmair.marker.01';
das brauche ich nicht mehr (glaube ich)
/*on(idMarker, function(dp) { // Triggern bei Wertänderung
setState(idMarker, dp.state.val, true);
});*/
MARKER HOL Script
Um den Lightmanager nicht unnötig zu belasten, gibt es denn die Möglichkeit, dass Script welches sich die Marker zustände holt nicht permanent laufe zu lassen, sondern nur wenn die VIS Button gedrückt werden, bzw. nur alle Minute etc.
Das Script holt sich alle Marker Daten
javascript.0.scriptEnabled.Lightmanager.params_json
aktuell steht das im Script
// Start und Intervall:sekunden
// --------------------------------------------------------------------------
setTimeout(DatenAuslesen, 1000); //
schedule('*/15 * * * * *', DatenAuslesen); //
das scheint für den LM schon etwas viel, oder was bedeutet das - ich interpretiere 15 Sekunden. wenn es weniger wird, dann dauert es zu lange bis die buttons ihre status ändern.