Wie geht ein Schwarmalarm zu programmieren?


#1

Die Schwarmsaison steht ins Haus. Wie/wo würde den im Hiveeyes-System ein Schwarmalarm programmiert? Ganz hinten in Grafana? Oder schon im Datenbus? Wenn letzteres: Wäre ich dann raus, wenn ich meine Daten per http einfließen lasse?
Toll wären Hinweise, wie ich einen Alarm programmieren kann nach dem Motto if Gewichtsabnahme > x im Zeitraum y1 (ggf.: und Temperatuzunahme im Zeitraum y0 vor der Gewichtsabnahme) dann Ereignis z (z.b. email).
gruß
markus


Monitoring in-flight data and the whole database for freshness
#2

Hi Markus,

hier bekommst Du ein paar Ideen, wie unser Alerting-/Notification Subsystem funktioniert:

Das ist leider noch recht technisch. Auf deutsch: Selber programmieren kann man es noch nicht, wir müssen es für Dich einrichten, was wir jedoch sehr gerne tun! Bei @mhies tut es bereits seine Dienste.

Keine Sorge, Du bist dabei! Deine über die HTTP Schnittstelle empfangenen Daten werden intern auf den MQTT Bus geschrieben, an dem wiederum mqttwarn hängt, das für die Alarmmeldungen verantwortlich ist. Du kannst Dir aus der Liste der verfügbaren Plugins gerne eine Benachrichtigungsvariante raussuchen. Wir haben bisher XMPP und SMTP im Einsatz.

Diesen Teil müssen wir vorerst noch bei uns auf dem Server konfigurieren, so sieht das derzeit ungefähr aus:

Es wird also ein Alarm ausgelöst, wenn zwischen zwei Meßintervallen eine Gewichtsdifferenz von 750 Gramm oder mehr erkannt wird (weight loss bzw. weight gain). Außerdem, wenn innerhalb eines Zeitfensters von zwanzig Minuten keine Daten mehr ankommen (data loss).

Mögliche Emails sehen dann folgendermaßen aus:

weight loss

Alarm from beehive "1".
Sensor value "Weight Total" lost 1.185526 kilos.

weight gain

Alarm from beehive "1".
Sensor value "Weight Total" gained 1.338791 kilos.

data loss

Alarm from beehive 1.
{"description": "Detected data loss."}

Viele Grüße,
Andreas.


#3

Teile uns also einfach per privater Nachricht hier im Forum oder über hello[at]hiveeyes.org Deinen network identifier und eine Emailadresse mit, dann schalten wir Dir den Schwarmalarm auf Deine Daten auf.


#4

Meine Wägezelle ist zwar bisher nur zu Hause im Couchmodus, aber ich habe in Grafana über eine DB Metrik einen Alarm erstellt. Leider kann ich den noch nicht richtig auf Zuverlässigkeit testen, da mir mein Wägegestell noch fehlt.

B: SELECT derivative("weight", 10m) FROM "pdm_testnode_sensors" WHERE $timeFilter
und für den Alert:
WHEN min () OF query (B, 1m, now) IS BELOW -2

Als Alarm-Kommunikator sind verschiedene Möglichkeiten zur Auswahl, die aber in Grafana noch konfiguriert werden müssen. Ich habe mir zB einen Telegram Bot dafür eingerichtet.


#5

Stimmt ja! Über das neue Grafana 4+ sind ebenfalls Alerts möglich. Das haben wir uns noch nicht näher angesehen. Danke, dass Du das erforschst, @Thias. Wir freuen uns über Deine Ergebnisse.


#6

guten abend,

ich versuche die bedingung entlang der anleitung zu lesen:

wenn der minimalwert von vor einer minute bis jetzt mehr als zwei unter (was?) liegt?
bzw. wenn der minimalwert in der letzten minute um mehr als zwei gesunken ist?
zwei was? kg?
oder bin ich ganz auf dem falschen dampfer?

es grüßt: markus


#7

Erstelle den Alarm auf die dafür angelegte derivative(weight) Metrik


#8

Gibt es bei Euch Neuigkeiten bzgl. der Benachrichtigung via Grafana? Läuft das gut? Wer von uns benutzt das denn bereits aktiv?


#9

mir war die einarbeitungsschwelle zu hoch. ich habs nicht hingekriegt,
das zu programmieren.
lg
markus

nachtrag: @Stefan hat das so schön einfach gemacht, dass ich es nachbauen konnte. eine email-benachrichtigung hab ich darüber hinaus eingerichtet. mal sehen ob das funktioniert, wie ich es mir vorstelle…