NEWS
Trigger für Javascript 1x mal abfragen vor Programmausführung
-
Hallo, ich habe ein kleines Problem mit meinem Alarmanlagenscript.
Oder besser gesagt mit dem Trigger für die Anwesenheitserkennung.
Anwesnheit wird über den Tr-64 Adapter mittels wlan Teilnehmer also Mobiltelefon erkannt.
Mit einem kleinen Script setze ich ein State für jemand da.
Leider kommt es öfters zu Fehlaktivierungen, weil der state jemand da auf false gesetzt wurde….
Jetzt zur Frage, wie kann ich diesen Trigger State nach einer Zeit x ein 2. mal abfragen bevor das Hauptscript losläuft?
Mir würde einfallen mittels Variable
> var Abfrage2 = getstateDelayed('javascript.0.Anwesenheit.jemandda,1000).val;
und diesen in die start Bedingung mit einbauen…Oder gehts auch schöner?
-
Jetzt zur Frage, wie kann ich diesen Trigger State nach einer Zeit x ein 2. mal abfragen bevor das Hauptscript losläuft?
Mir würde einfallen mittels Variable
> var Abfrage2 = getstateDelayed('javascript.0.Anwesenheit.jemandda,1000).val;
und diesen in die start Bedingung mit einbauen… `
getStateDelayed tut nicht was du hier erwartest. Ich vermute du willst sowas:// 1\. Abfrage var abfrage1 = getState('javascript.0.Anwesenheit.jemandda').val; var abfrage2; // Der eigentliche Programmablauf ist innerhalb der main-Funktion function main() { // Eigentliches Skript } // den folgenden Code-Schnipsel nach 1000ms ausführen: setTimeout(() => { // Status nochmal abfragen abfrage2 = getState('javascript.0.Anwesenheit.jemandda').val; // Eigentliches Skript ausführen main(); }, 1000);
Die zweite Abfrage kannst du auch in die main-Funktion schieben:
// 1\. Abfrage var abfrage1 = getState('javascript.0.Anwesenheit.jemandda').val; var abfrage2; // Der eigentliche Programmablauf ist innerhalb der main-Funktion function main() { // Status nochmal abfragen abfrage2 = getState('javascript.0.Anwesenheit.jemandda').val; // ... Eigentliches Skript ... } // Die main-Funktion nach 1000ms ausführen: setTimeout(main, 1000);
-
ja, super vielen Dank, werde es dann gleich mal einbauen und testen.
-
Ich denke dein Problem wird aber leider ein anderes sein…
Öfters ist es das ein Handy, um Akku zu sparen, das WLAN kurzfristig austellt sobald es nicht benutzt wird. Genau deshalb wird es wohl zu deinen Fehlaktivierungen kommen.
Ich habe dieses Problem selber schon beobachtet und es ist egal ob es IOS oder Android ist.
Daher musste ich mir leider einen kleinen Umweg gehen:
Habe einfach ein Gerät als "Ping" genommen was auf jeden Fall an ist, wenn ich zuhause bin. Ich denke da lässt sich als Trigger bestimmt irgendein Gerät finden was wirklich auch nur an ist wenn man zuhause ist.
Wollte ich nur mal als kleinen Tipp in den Raum werfen..
-
Das wäre natürlich schlecht….
Mir fällt aber nix ein was unbedingt an ist wenn ich zu Hause bin... Hinzu kommt das hier mehrere Personen täglich ein und ausgehen.
Nicht jeder verwendet die gleichen Verbraucher..Die Idee ist gut, aber für mich leider nicht realisierbar...
Was bringt die Beste alarmanlage wenn dann einer vergisst diese zu aktivieren...Deshalb die Idee mit dem Handy... und autoaktivierung...
Zur Not dann eben doch der gute alte Funkhandsender...
-
Mir fällt aber nix ein was unbedingt an ist wenn ich zu Hause bin… `
Ich verwende dafür seit einiger Zeit den radar-Adapter mit Bluetooth-Erkennung. Das geht auch im Haus ganz gut mit momentan einem BananaPi, der als Slave diese Aufgabe erledigt. Wenn eine noch größere Reichweite nötig ist, dann können ja noch weitere Slaves dazukommen.
Über entsprechende Steuerungen, die die einzelnen Familienmitglieder, bzw. deren An- oder Abwesenheit als Voraussetzung haben, habe ich mit der Zeit auch alle dazu gebracht, Bluetooth immer anzulassen. (Ja ich weiß, da gibts auch Sicherheitslücken usw. :roll: )
Enrico
-
An Bluetooth hatte ich auch schon gedacht, dafür gibt es ja auch schon dongle für den Schlüsselbund.
Die Reichweite und die Abhängigkeit einer weiteren Funkverbindung hat mich dann aber davon abgehalten.
Aber der Faktor Frau und Akzeptanz ist natürlich auch immer wieder ein Problem. :twisted: Wenn ich jetzt noch mit nem Feldtest und Bluetooth anfange ist es ganz vorbei… :roll: Ich wurde schon genötigt die Aktivierung und Deaktivierung nur noch manuell einleiten zu lassen, nachdem die Anlage sich dann Selbstständig machte, weil sich das Telefon abmeldete... Also entweder über vis oder Funkfernbedienung... Und das ist ja schon realisiert.