NEWS
Sensorstatus per Telegram schicken
-
Hallo Zusammen,
wie im Titel beschrieben, würde ich mir gerne 1x täglich den Status einiger, ausgewählter Sensoren (aktuell nur Zigbee, soll aber erweitert werden) per Telegram schicken lassen. Dazu zum Beispiel Batterie- und Verbindungsstatus.
Derzeit habe ich ein Blockly, das mit jeden Sensorwert in einen Text zusammen fasst. Ist natürlich recht aufwändig.
Kann man so eine Art "Schleife" erstellen, in der alle Geräte ausgelesen werden? Das wäre eventuell für die VIS-Darstellung auch brauchbar.
Habt ihr da etwas in die Richtung, wie ich weiter kommen würde?LG Stefan
-
In Blockly geht das nach dem folgenden Muster:
d
Am Ende kannst du die Variable "MessageText" per Telegramm verschicken. Natürlich kannst du im "create list with" Baustein noch mehr Einträge erzeugen. Für den "for each" Baustein danach ist egal wieviele es sind, er geht durch alle durch.
Ohne Blockly (mit JS) kannst du ggf. die Liste der gewünschten Datenpunkte durch einen oder mehrere "Selektoren" automatisch generieren lassen. Das hier zu erklären sprengt aber den Rahmen, deswegen nur das Beispiel aus der Doku:
$('channel[role=switch][state.id=*.STATE](rooms=Wohnzimmer)').each(function (id, i) { console.log(id); if (i == 1) return false; });
Da müsstest du dann an stelle des "console.log(id)" nen getState(id) machen und die Werte jeweils zu einem String zusammen bauen. Wie sinnvoll das ist hängt ab von
- der Anzahl der Objekte die du Überwachen willst
- wie gut sich diese über einen Selektor auswählen lassen
-
@Asgothian
Danke, das werde ich heute Abend ausprobieren.
Beim Blockly: Das heißt, dein Blockly unter einen Trigger hängen und danach den Telegram anhängen? -
@Stefan_NK Du solltest den Trigger zwischen das "set list of datapoints to" und "for each item" setzen, damit die Liste nicht bei jedem Trigger neu erstellt wird. Und ich hoffe du planst das auf Uhrzeit zu triggern.
A.