NEWS
[gelöst] Skript Fenster offen mit ZWave Sensoren
-
@sunny-0 sagte: bekomme dann aber eine Warnmeldung:
Was steht im Tab "Log" noch zu diesen Warnmeldungen?
Logs bitte in Code tags posten! -
@paul53
folgende Datenpunkte habe ich durch das bisherige Skript:
-
@sunny-0 sagte: folgende Datenpunkte habe ich durch das bisherige Skript:
Dann müssten sie auch befüllt werden, es sei denn, Du hast rechts oben in den Debug-Modus geschaltet.
-
@paul53
Der Debug Modus ist nicht angeklickt:
Und in der Log zeigt er mir keine Warnung oder ähnliches an, aber die Datenpunkte werden nur angelegt aber nicht befüllt:
Hab jetzt Zeile 5 von deinem Skript geändert und das würde jetzt schonmal gehen:
-
@sunny-0 sagte: die Datenpunkte werden nur angelegt aber nicht befüllt:
Sie werden befüllt! Öffne mal ein/zwei Fenster.
-
-
@sunny-0 sagte: Hab jetzt noch eine Zeile bei deinem Skript hinzugefügt
Welche?
-
@paul53
Ich habe es wie folgt angepasst:const idsFenster = $('zwave*.Sensor_1(functions=fenster)'); const idAnzahl = 'zählen_Fenster.anzahlFensterauf'; const idText = 'zählen_Fenster.textFensterauf'; setState('zählen_Fenster.anzahlFenster', idsFenster.length, true); setState('zählen_Fenster.anzahlFensterauf', idAnzahl.length, true); function countFenster() { var textFensterauf = []; idsFenster.each(function (id, i) { // Schleife für jedes gefundenen Element im Gewerk Fenster if(getState(id).val) { // Zustand offen textFensterauf.push(getObject(id).common.name); // Name zum Array hinzufügen } }); // die ermittelten Werte werden als javascript.0. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS) setState(idText, textFensterauf.join(', '), true); // Schreibt die aktuelle Namen der offenen Fenster setState(idAnzahl, textFensterauf.length, true); // Schreibt die aktuelle Anzahl der offenen Fenster } countFenster(); // Script start idsFenster.on(function() { // bei Wertänderung im Gewerk Fenster countFenster(); });
Eine Frage hätte ich noch: Wenn jetzt Sensoren dazukommen, die z.B. Switch_1 als ID haben, schreibe ich das dann einfach noch hinten dran?
const idsFenster = $('zwave*.Sensor_1(functions=fenster)';'zwave*.Switch_1(functions=fenster)');
-
@sunny-0 sagte: schreibe ich das dann einfach noch hinten dran?
Nein, aber so könnte es funktionieren:
const idsFenster = $('zwave*.Sensor_1|.Switch_1(functions=fenster)');
@sunny-0 sagte in Skript Fenster offen mit ZWave Sensoren:
Ich habe es wie folgt angepasst:
Zeile 6 ist umsonst: Schreibt die Anzahl der Zeichen in der ID in den Datenpunkt.
-
ok, ist gelöscht.
Das andere probiere ich, sobald die anderen Fenstersensoren angebracht sind