NEWS
Innerhalb von 24h zählen und dann Meldung absetzen
-
Hallo Leute! Ich bin leider noch ein blutiger Anfänger was Blockly angeht und mir fehlt leider der Ansatz wie ich das umsetzen kann.
Ich möchte die Anzahl des Einschaltens eines Shelly Adapters innerhalb von 24h zählen und bei erreichen einer gewissen Anzahl eine Meldung absetzen.
Also so etwas wie IF Shelly X 3mal innerhalb von 24h eingeschalten, dann pushover "Achtung, hier stimmt etwas nicht!".
Ich hoffe es kann mir hier jemand helfen...
-
@cyborgxxl Ich kenne mich mit Blockly nicht aus....
Aber als Ansatz:
einen neuen Datenpunkt erstellen, wo die Einschaltevorgänge aufsummiert werden.
Trigger auf den Shelly Power Datenpunkt mit Prüfung auf Größer als vorheriger Wert.
Wenn ja dann Datenpunkt = Datenpunkt +1
Wenn Datenpunkt >= Grenzwert, Nachricht senden.Zusätzlich würde ich einen cron-Trigger auf 0:01 Uhr/täglich setzten, der den Datenpunkt wieder auf 0 setzt. Sofern deine 24h ein Tag sein sollen.
Wenn es 24 Studen ab dem ersten Einschalten sein sollen, müsstest du die erste Einschaltezeit noch in einen weiteren Datenpunkt speichern und gegen diesen prüfen, ob 24h rum sind.
-
@chrunchy sagte in Innerhalb von 24h zählen und dann Meldung absetzen:
@cyborgxxl Ich kenne mich mit Blockly nicht aus....
Aber als Ansatz:
einen neuen Datenpunkt erstellen, wo die Einschaltevorgänge aufsummiert werden.
Trigger auf den Shelly Power Datenpunkt mit Prüfung auf Größer als vorheriger Wert.
Wenn ja dann Datenpunkt = Datenpunkt +1
Wenn Datenpunkt >= Grenzwert, Nachricht senden.Zusätzlich würde ich einen cron-Trigger auf 0:01 Uhr/täglich setzten, der den Datenpunkt wieder auf 0 setzt. Sofern deine 24h ein Tag sein sollen.
Wenn es 24 Studen ab dem ersten Einschalten sein sollen, müsstest du die erste Einschaltezeit noch in einen weiteren Datenpunkt speichern und gegen diesen prüfen, ob 24h rum sind.
Der Ansatz ist schon schön, aber:
- ich würde mir den CRON Trigger sparen. Den Tagwechsel kannst Du im Trigger erkennen.
- Wenn du nicht bei jedem Schaltvorgang > Grenzwert eine Meldung haben willst musst du das mit einer Variablen Puffern.
Also in etwa so (mit Grenzwert von 50 Schaltvorgänge):
Nachtrag:
mehr als 3 Schaltvorgänge innerhalb von 24 stunden (nicht an einen Tag gebunden) geht mit einer Liste:
Die Liste speichere ich hier nur in einer Variablen, sprich die Überwachung geht davon aus das das Skript durchläuft - ansonsten müsste man die Liste noch in einen State schreiben und aus einem State restaurieren.
Wichtig:
- die 8640000 sind 24 Stunden, da der Zeitstempel in ms angegeben ist. (24 * 60 * 60 * 1000)
- Die Bausteine "Zeitstempel" und "Vorheriger Zeitstempel" sind identisch, stammen aus dem "Trigger" Bereich und sind da mit "Objekt ID" Vorbelegt - müssen halt auf Zeitstempel und Vorheriger Zeitstempel umgestellt werden.
-
Sorry, ich hatte beruflich einiges um die Ohren und konnte mir das erst jetzt ansehen... Vielen Dank, das hilft mir schon sehr!
Was mich aber ein wenig verwundert hat ist das Element mit dem "größer als" (>) am Ende wo dann das "Länge von Zeitleiste" und "3" dranhängt. Was ist das für ein Element und wo finde ich das?
-
@cyborgxxl Das ist das normale Logik element mit >. Ich habe zur Übersichtlichkeit nach einem Rechtsklick "externe eingänge" ausgewählt.
A.