NEWS
[gelöst] Trigger Statusänderungen
-
Hallo zusammen,
ich habe zur Überwachung meiner Fenster und der Temperaturen für drinnen und draußen Xiaomi Sensoren im Einsatz.
Aktuell haben ich zur Überwache ich jeden Sensor einzeln mit:on({id: Sensor, change: "ne"}, function (obj) { });
Nun möchte ich aber zzgl. einen Überprüfung einbauen, ob die Sensoren überhaupt erreichbar sind („reachable = true“). Und ich Frage mich, ob man das nicht besser lösen kann als eine „on..“ für jeden Wert.
Denn mittlerweile habe ich über 20 Sensoren…Hat jemand eine Idee?
-
Nun möchte ich aber zzgl. einen Überprüfung einbauen, ob die Sensoren überhaupt erreichbar sind
Was möchtest du auf dieser Basis entscheiden? Wenn (erreichbar / nicht erreichbar), dann ...?
@eumats sagte in Trigger Statusänderungen:
Denn mittlerweile habe ich über 20 Sensoren…
Da denke ich an ein Array mit den Sensor-IDs, das du bei Skriptstart in einer Schleife durchläufst und die benötigten Trigger erstellst.
-
Ich möchte folgendes Erreichen:
Wenn reachable = false, dann schicke Telgrammeldung, dass der Sensor nicht erreichbar ist. Genauso würde ich dann meine Fenster offen/geschlossen Erkennung gerne darauf umbauen. Also wenn Fenster offen, dann Telgrammeldung.
-
@eumats mach dir doch ein Blockly Script wenn false dann Telegram Nachricht
-
@eumats Dann brauchst du je einen Trigger für reachable und offen/zu. Die kannst du in etwa so bauen:
const sensorIDs = [ "sensor.0.id1", "sensor.0.id2", // ... ]; for (const sensor of sensorIDs) { on({id: sensor + ".reachable", change: "ne"}, (obj) => { //... Wertänderung verarbeiten }); // analog für Sensorwert }
-
@Andre-R sagte in Trigger Statusänderungen:
@eumats mach dir doch ein Blockly Script wenn false dann Telegram Nachricht
Du hast die Frage nicht gelesen, oder? Für 20 Sensoren wird das recht umständlich in Blockly
-
@AlCalzone sagte in Trigger Statusänderungen:
@Andre-R sagte in Trigger Statusänderungen:
@eumats mach dir doch ein Blockly Script wenn false dann Telegram Nachricht
Du hast die Frage nicht gelesen, oder? Für 20 Sensoren wird das recht umständlich in Blockly
Korrekt... Außerdem mag ich Blocky nicht so....
-
@AlCalzone doch hab ich schon gelesen. ich habs halt so gemacht. weil ich Anfänger bin und von Javascript keine Ahnung habe.
-
@Andre-R Das sei dir gegönnt, aber eumats hat explizit danach gefragt, wie er es in JS mit weniger Copy&Paste hinbekommt.
-
@AlCalzone
Vielen Danke für die schnelle Reaktion. Ich werde es mal versuchen für mich zu adaptieren... -
@AlCalzone
Kann ich den Namen eines Datenpunktes abfragen? Also z.B. Fenster Flur... -
@eumats Der name steht in
getObject(id).common.name
. Wenn du das häufiger brauchst, macht es Sinn, die Namen einmal zu Skriptstart zu lesen und in einer Variable zu merken. -
@AlCalzone
Danke!