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...
-
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.
-
@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.
-
@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?
-
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?
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden