NEWS
Visu-Widget finden für Datenpunktauslösung
-
Liebe Gemeinde,
ich suche nun schon seit 2 Tagen nach dem Grund, warum meine Außenbeleuchtung ohne Grund eingeschalten wird.
- Außenbeleuchtung wird über einen Zigbee mmWaveSensor, ein JavaScript und einem Zigbee Relais geschalten:
const id_mmWAVE_Werkstatt_Tuer = 'zigbee.0.a4c1389f2f9084de.presence'; // Bewegungsmelder Eingang Werkstatt const id_Licht_Hof = 'zigbee.0.a4c1388b813d9b2d.state_l2'; // Spots Hof const switchTime_Hof = 15000; // Schaltzeit wie lange das Licht eingeschaltet bleibt let presence_mmWave_Hof = false; let switchTimer_Hof_back = null; // Timervariable // Trigger auf Änderung des Bewegungsmelders Werkstatttür on({ id: id_mmWAVE_Werkstatt_Tuer, change: 'ne' }, function (obj) { const bewegung = obj.state.val; // true oder false let idLUX = getState("zigbee.0.a4c138e5c24c26c5.illuminance_raw").val; //Lichtsensor mmWave Radar raw_Wert wird in Wert idLUX gelegt if (bewegung === true && idLUX <=100 ) { log(`Bewegung Werkstatttür mit ${idLUX} lux`); // Licht einschalten, falls es noch aus ist if (getState(id_Licht_Hof).val === false) { setState(id_Licht_Hof, true); mmWave_presence_Hof (true); log('Licht Hof EIN'); } } }); function mmWave_presence_Hof (wert) { presence_mmWave_Hof = wert; // Falls bereits ein Timer läuft, diesen vorher löschen if (presence_mmWave_Hof === true) { clearTimeout(switchTimer_Hof_back ); log(`Teimer Hof genullt`); // Nach 10 Minuten (600000 ms) auf false zurücksetzen switchTimer_Hof_back = setTimeout(function () { setState(id_Licht_Hof, false); presence_mmWave_Hof = false; log('Licht Hof AUS'); }, switchTime_Hof); // 10 Minuten in Millisekunden ==> 10sek } }Das gleichen Script nutze ich ebenfalls in der gleichen Konstellation am Hauseingang, beide Beleuchtungen werden über das eine Zigbee Relais geschalten.
Nun ist es so, dass das Hoflicht in der Nacht eingeschalten wird aber über den Timer nicht wieder aus.
Daher gehe ich davon aus, dass ich irgend wo in meiner Visu ein Widget habe, der mir den Relais-Ausgang schaltet und ich weiß nicht wo in der Visu.
Gibt es eine Möglichkeit über ein Script den Datenpunkt:
id_Licht_Hof = 'zigbee.0.a4c1388b813d9b2d.state_l2';
zu überwachen und somit den Auslöser zu finden? Oder habt Ihr noch eine andere Idee? Ich kann mir leider nicht mehr weiter helfen...Vielen DAnk und Grüße!
-
Liebe Gemeinde,
ich suche nun schon seit 2 Tagen nach dem Grund, warum meine Außenbeleuchtung ohne Grund eingeschalten wird.
- Außenbeleuchtung wird über einen Zigbee mmWaveSensor, ein JavaScript und einem Zigbee Relais geschalten:
const id_mmWAVE_Werkstatt_Tuer = 'zigbee.0.a4c1389f2f9084de.presence'; // Bewegungsmelder Eingang Werkstatt const id_Licht_Hof = 'zigbee.0.a4c1388b813d9b2d.state_l2'; // Spots Hof const switchTime_Hof = 15000; // Schaltzeit wie lange das Licht eingeschaltet bleibt let presence_mmWave_Hof = false; let switchTimer_Hof_back = null; // Timervariable // Trigger auf Änderung des Bewegungsmelders Werkstatttür on({ id: id_mmWAVE_Werkstatt_Tuer, change: 'ne' }, function (obj) { const bewegung = obj.state.val; // true oder false let idLUX = getState("zigbee.0.a4c138e5c24c26c5.illuminance_raw").val; //Lichtsensor mmWave Radar raw_Wert wird in Wert idLUX gelegt if (bewegung === true && idLUX <=100 ) { log(`Bewegung Werkstatttür mit ${idLUX} lux`); // Licht einschalten, falls es noch aus ist if (getState(id_Licht_Hof).val === false) { setState(id_Licht_Hof, true); mmWave_presence_Hof (true); log('Licht Hof EIN'); } } }); function mmWave_presence_Hof (wert) { presence_mmWave_Hof = wert; // Falls bereits ein Timer läuft, diesen vorher löschen if (presence_mmWave_Hof === true) { clearTimeout(switchTimer_Hof_back ); log(`Teimer Hof genullt`); // Nach 10 Minuten (600000 ms) auf false zurücksetzen switchTimer_Hof_back = setTimeout(function () { setState(id_Licht_Hof, false); presence_mmWave_Hof = false; log('Licht Hof AUS'); }, switchTime_Hof); // 10 Minuten in Millisekunden ==> 10sek } }Das gleichen Script nutze ich ebenfalls in der gleichen Konstellation am Hauseingang, beide Beleuchtungen werden über das eine Zigbee Relais geschalten.
Nun ist es so, dass das Hoflicht in der Nacht eingeschalten wird aber über den Timer nicht wieder aus.
Daher gehe ich davon aus, dass ich irgend wo in meiner Visu ein Widget habe, der mir den Relais-Ausgang schaltet und ich weiß nicht wo in der Visu.
Gibt es eine Möglichkeit über ein Script den Datenpunkt:
id_Licht_Hof = 'zigbee.0.a4c1388b813d9b2d.state_l2';
zu überwachen und somit den Auslöser zu finden? Oder habt Ihr noch eine andere Idee? Ich kann mir leider nicht mehr weiter helfen...Vielen DAnk und Grüße!
-
Du kannst mit einem zusätzlichen on auf diesen datenpunkt dann einfach den Inhalt von obj dir ins log ausgeben lassen um zu sehen wann der getriggert wird. Evtl steht auch drin von welcher Quelle die Änderung kommt
Du kannst mit einem zusätzlichen on auf diesen datenpunkt dann einfach den Inhalt von obj dir ins log ausgeben lassen um zu sehen wann der getriggert wird. Evtl steht auch drin von welcher Quelle die Änderung kommt
Danke für Deine Idee aber wie mache ich das... bin recht neu und wurschtle mich durch IOB und der Visu2 durch..
-
Du kannst mit einem zusätzlichen on auf diesen datenpunkt dann einfach den Inhalt von obj dir ins log ausgeben lassen um zu sehen wann der getriggert wird. Evtl steht auch drin von welcher Quelle die Änderung kommt
Danke für Deine Idee aber wie mache ich das... bin recht neu und wurschtle mich durch IOB und der Visu2 durch..
-
-
-
@mat-sche [sagte: muss mich bei JS noch einfuchsen....
Das Skript würde ich vereinfachen:
const id_mmWAVE_Werkstatt_Tuer = 'zigbee.0.a4c1389f2f9084de.presence'; // Bewegungsmelder Eingang Werkstatt const id_Licht_Hof = 'zigbee.0.a4c1388b813d9b2d.state_l2'; // Spots Hof const idLUX = 'zigbee.0.a4c138e5c24c26c5.illuminance_raw'; //Lichtsensor mmWave Radar const switchTime_Hof = 15000; // Schaltzeit wie lange das Licht eingeschaltet bleibt let switchTimer_Hof_back = null; // Timervariable // Trigger auf Erkennung Bewegung des Bewegungsmelders Werkstatttür on({ id: id_mmWAVE_Werkstatt_Tuer, val: true }, function () { const lux = getState(idLUX).val; log(`Bewegung Werkstatttür mit ${lux} lux`); if (lux <= 100) { // Licht einschalten, falls es noch aus ist if (!getState(id_Licht_Hof).val) { setState(id_Licht_Hof, true); log('Licht Hof EIN'); } clearTimeout(switchTimer_Hof_back ); // Nach 10 Minuten (600000 ms) auf false zurücksetzen switchTimer_Hof_back = setTimeout(function () { setState(id_Licht_Hof, false); log('Licht Hof AUS'); }, switchTime_Hof); // 10 Minuten in Millisekunden } }); -
-
Hallo,
ich denke mal, dass das Schalten des ZigBee Relais nicht aus dem Script gekommen ist, werde jetzt generell den Datenpunkt überwachen und weiß hoffentlich morgen mehr. Im Protokoll konnte ich nicht finden, dass es über einen Radar-Sensor gekommen ist.
Bis später! -
Guten Morgen,
Problem gelöst!
Ein Scheduler Widget, den ich irgendwo in der Visualisierung eingebaut hatte, hatte diesen Datenpunkt und den mir immer um 24:00 zugeschalten.
Ich hatte in der Visualisierung danach schon geschaut, aber ihn nicht gefunden, ich hatte diesen Verdacht als Verursacher. Ist es möglich den Pfad oder ähnliches heraus zu bekommen wo z.Bsp. solch Widget in der Visu angelegt wurde? Ich hatte jetzt den gesamten Schedule-Adapter gelöscht, ich konnte mir nicht anders behelfen. Zum Glück steige ich gerade erst in das ganze Thema ein....
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden