So, alles installiert, das Objekt dem Skript zugewiesen und in VIS über eine Boolean abgefragt.
Technisch funktioniert alles, nur scheint das Skript bei mir nicht richtig zu reagieren.
Ich habe es für meine Küche mit 2 Fenstersensoren verwendet. Es erkennt die richtige Anzahl der Sensoren und auch einen Statuswechsel. Allerdings zeigt mir das Skript bei jeder Änderung, dass alle Fenster geschlossen sind. Egal ob ich öffne oder schließe.
! ` > 22:32:24.962
[info]
javascript.0 script.js.Verschluss_Kueche: registered 2 subscriptions and 0 schedules
22:32:27.328
[info]
javascript.0 Stop script script.js.Verschluss_Kueche
22:32:40.258
[info]
javascript.0 Start javascript script.js.Verschluss_Kueche
22:32:40.259
[info]
javascript.0 script.js.Verschluss_Kueche: registered 2 subscriptions and 0 schedules
22:32:58.392
[info]
javascript.0 script.js.Verschluss_Kueche: Status aller Küchenfenster: geschlossen
22:33:01.642
[info]
javascript.0 script.js.Verschluss_Kueche: Status aller Küchenfenster: geschlossen
22:33:15.888
[info]
javascript.0 script.js.Verschluss_Kueche: Status aller Küchenfenster: geschlossen
22:33:27.403
[info]
javascript.0 script.js.Verschluss_Kueche: Status aller Küchenfenster: geschlossen `
Das Skript sieht bei mir wie folgt aus :
! ` > var sensors = $('channelstate.id=*.STATE(functions=Verschluß)');
function getCurrentState() {
var commonState = 0;
sensors.each(function (id) {
if (id.indexOf('Statistik') != -1) return;
var val = toInt(getState(id).val);
// Find the maximum (2 - opened, 1 - tilted, 0 - closed)
if (val > commonState) commonState = val;
});
return commonState;
}
// On change
sensors.on(function(obj) {
if (obj.id.indexOf('Statistik') == -1) setState('Status.Küche.Fenster.alle', getCurrentState());
setState("javascript.0.Status.Küche.Fenster.alle"/Status.Küche.Fenster.alle/, getCurrentState());
var zustand = ['offen','gekippt','geschlossen'];
log('Status aller Küchenfenster: ' + zustand[getState('Status.Küche.Fenster.alle').val]);
});
createState('Status.Küche.Fenster.alle', getCurrentState(), {
name: 'alle Fenster Küche',
type: 'number',
min: 0,
max: 3,
def: 0,
role: 'value'
}); `
Hat jemand einen Tipp für mich, was hier flasch läuft ?
VG