NEWS
Anwesenheit über Radar
-
Moin zusammen,
ich beschäftige seit Anfang des Jahres immer mal wieder mit meinem kleinen Projekt. Bin bislang dank des guten Forums ohne viel nachzufragen gut durchgekommen.
Aber nun begreife ich mein Problem einfach nicht.
Ich möchte gerne Anwesenheit übers Handy (Bluetooth) via Radar realisieren.
In Objekten wird der Status geändert.
Wenn die Tür aufgeht soll entweder die Begrüßung oder Hausarlam ausgelöst werden.
Aber Irgendwie habe ich da noch Anfänger Denkfehler….
// Anwesenheit über Radar - S7 function Sprechen( Text) { setState("alexa2.0.Echo-Devices.G090LF11749xxxx.Commands.speak"/*speak*/, Text ); } on(({id: "hm-rpc.0.OEQ042xxxxx.1.STATE"/*Tür.STATE*/, val : true}), function (obj) { var thomas = getSate("radar.0.S7.btHere"/*S7.btHere*/).val; var value = obj.state.val; var oldValue = obj.oldState.val; console.log('Türsensor'); setTimeout(function() { // Ausführen nach 10 Sek. if (thomas === false) { sendTo("pushover", "send", { message: 'Hausarlam', sound: "siren", priority: 1 } ); Sprechen('Alarm'); console.warn("pushover: " + 'Hausarlam'); } else if (thomas === true){ Sprechen('Moin Thomas'); console.log(`Anwesend`);} }, 10000); } );
Danke für die Unterstützung
-
Die 2. Klammer bei on() ist zuviel.
on({id: "hm-rpc.0.OEQ042xxxxx.1.STATE"/*Tür.STATE*/, val: true}, function() {
Ansonsten ist zu bemängeln, dass überflüssige Befehle enthalten sind und das Skript schlecht lesbar ist (sinnvolle Einrückungen fehlen).
-
danke für die Antwort.
was ist über. wie könnte es aussehen?
bin wie gesagt gerade dabei ?
danke
Gesendet von meinem SM-G930F mit Tapatalk
-
Überflüssig ist dei Deklaration von Variablen (value, oldValue), die nie benutzt werden.
@thomson:wie könnte es aussehen? `
!
// Anwesenheit über Radar - S7 ! function Sprechen( Text) { setState("alexa2.0.Echo-Devices.G090LF11749xxxx.Commands.speak"/*speak*/, Text ); } ! on({id: "hm-rpc.0.OEQ042xxxxx.1.STATE"/*Tür.STATE*/, val : true}, function() { var thomas = getState("radar.0.S7.btHere"/*S7.btHere*/).val; console.log('Türsensor'); setTimeout(function() { // Ausführen nach 10 Sek. if(!thomas) { sendTo("pushover", "send", { message: 'Hausarlam', sound: "siren", priority: 1 }); Sprechen('Alarm'); console.warn("pushover: " + 'Hausarlam'); } else { Sprechen('Moin Thomas'); console.log(`Anwesend`); } }, 10000); }); !
-
Danke für die Optimierung. Werde da zukünftig drauf achten.
MFG