Schwarmalarm & Wartungsmodus via Telegram

Hallo,

Ich verwende Telegram zur Alarmierung bei einem Schwarm Abgang, als auch zum setzten des „Wartungsmodus“.

Im folgenden ist der Ablauf grob skizziert.

Der Wartungsmodus /Wartung, setzt das Messintervall auf 60 min hoch. Somit kommt es während der Arbeit an den Bienen zu keinen unschönen Messwerten & Ausreißern in den Graphiken.

Nach Ablauf des Wartungsfensters wird das Messintervall wieder automatisch auf 5min Meßintervall zurück gesetzt.

So ist sicher gestellt, das man nicht dauerhaft im Wartungsmodus bleibt.

Zusätzlich besteht die Möglichkeit mit /ResetWartung den Wartungsmodus vorzeitig zu beenden und wieder zum normalen Meßintervall zurückzukehren. Ein ggfs. ausgelöster Schwarm (Fehl) Alarm wird damit ebenso zurückgesetzt.

Der Schwarmalarm hat erst mal ein paar Fragen aufgeworfen:

Wie hoch ist der Gewichtsverlust durch einen Schwarm Abgang und
Wie lange dauert der Schwarm Abgang?

Um das Thema Dauer möglichst flexibel zu gestalten, behelfe ich mir wie folgt:

Das Gewichts Delta zwischen aktueller & letzter Messung werden in ein Array im Ring geschrieben.
Über dieses Array wird die Summe gebildet und damit die Gewichtsveränderung über alle Meßwerte im Array gebildet.
Ist der Wert größer als das definiertes Schwarm Gewicht erfolgt eine Meldung via Telegram.
Der Zeitraum ergibt sich aus der Anzahl der Werte des Arrays und dem Meßintervall.

Ich habe diese Art „Ringpuffer“ gewählt, da er die Möglichkeit bietet einen Schwarm Abgang zu ermitteln - egal ob er jetzt 5 min, oder 60 min dauert.

Hier noch ein Screenshot (Meßwerte sind nicht valide :-)

Für Rückmeldungen bzgl. Dauer & Gewicht eines Schwarms wäre ich dankbar.
Bei Interesse stelle ich gerne auch Code (Schnipsel) zur Verfügung.

Viele Grüße
Stefan

2 Likes

Sehr schön - laßt uns mehr von derlei Ansätzen zusammentragen!

Kleiner Hinweis: wir haben am kotori ja auch mqttwarn angebunden, und das hat ebenfalls ein Telegram-plugin (GitHub - jpmens/mqttwarn: Subscribe to MQTT topics (with wildcards) and notifiy pluggable services) . Man könnte diese Infos also auch an anderer Stelle ausleiten bzw. Wartungsevents maskieren.

Siehe auch (loosely related):

1 Like

Sehr cool Stefan, genau so hatte ich das mit dem Inspektions-Modus schon mal konzeptionell angedach. Nur wollte ich eine normale Website dafür verwenden. Telegram /WhatsApp / SMS ist aber auch eine gute Idee, spart man sich das Design des User interfaces, nur muss man halt etwas kryptisch - wie auf der Kommandozeile - sich Anweisungen merken.

Wenn der Node zwischenzeitlich schläft ist der Rückkanal etwas schwierig, daher war meine Idee den Inspektionsmodus und die Verwaltung auf backend-Seite zu verschieben: Sprich ich sage dem einfach nehme für x Minuten einfach keine Daten an, dann ist mir wurscht was der node macht und ich brauche auch keine Verbindung num noce. Einzig ein direkt vom Node ausgelöster Schwarmalarm wäre damit nicht zu kontrollieren, sprich der node schickt bei delta 500 g in 30 Minuten eine SMS direkt - ohne übers backend zu gehen. Das wäre aber eh nur möglich, wenn der node GSM/GPRS hätte.

Delta beim Schwarm würde ich ab 1 kg machen, wenn man jeden Mini-(Nach-)Schwarm haben möchte vielleicht auch 500 g aber weniger macht imo keinen Sinn, der Schwarmakt dauert nicht lange, ein delta der Zeit von 10 bis 20 Minuten sollte ausreichen.

Hier sind zwei Dinge gemixed, die ich gerne gesondert anschauen möchte: Jede Art von Push-Nachricht wie Diebstahl, Schwarm-Alarm, gerne über SMS, Telegram, whatever …

Als Eingabemöglichkeit für einen Wartungsmoduns o.ä. finde ich das aber super un(!)praktisch! Da musst du wieder Kommandos “lernen”, kennen. Warum nicht auf der eh vorhandenen Weboberfläche (Grafana, Beep, …) einen Button um den Wartungsmodus zu aktivieren? Das kann dann auch für

  • einen Stand
  • für ein Volk
  • für alle Völker eines Imkers

geschehen

C&C Steuerung über Bot

Ich vermutete, dass die Kommandos direkt interaktiv über die Legende erreichbar wären? Zusammen mit der “Inline Doku” könnte es an dieser Stelle kaum besser gelöst sein:

image

Davon bin ich w.g. immer ausgegangen - sowohl hier als auch bei @ThiasHiveeyes data in Telegram Bot - daher hatte ich Dein Argument an der Stelle nie ganz verstanden, @clemens: Man kann die Kommandos hier genauso “anklicken” wie Buttons auf einer Webseite oder einem beliebigen anderen Userinterface.

C&C Steuerung über Webseite

Bei Hiveeyes gibt es ja nun noch keine Weboberfläche, daher hinkt “eh schon vorhanden” ein wenig. Eine Bot-Steuerung finde ich an dieser Stelle eigentlich eine wunderbare Alternative, v.a. wenn sie so selbsterklärend gelöst ist wie hier von @Stefan und von @Thias bei Hiveeyes data in Telegram Bot vorgemacht.

Definitiv ist auf einer Webseite aber mehr Platz und mehr Spielraum für gute(!) Interaktivität, daher dürfen die Knöpfe zur Interaktion natürlich auch gern bei Gelegenheit zusätzlich bzw. unabhängig davon auf einer Webseite platziert werden, sobald wir die Infrastruktur dafür haben. Auch @einsiedlerkrebs, @vinz und ich machen uns im Rahmen des GitHub - hiveeyes/terkin-datalogger: Datalogger for MicroPython and CPython. gerade wieder Gedanken dazu.

Fazit und Ausblick

  • [1] Eine Benutzerschnittstelle, die headless arbeitet, finde ich generell ausgesprochen sinnvoll und reizvoll. Bot-basierte Benutzerschnittstellen gehen genau in diese Richtung und sorgen implizit für Kohärenz und Konvergenz in der Systemarchitektur.
  • [2] Eine Web-Komponente, die das gleiche tut und entweder auf einer standalone Webseite oder als Panel innerhalb der vorhandenen Grafana Umgebung untergebracht werden kann, fände ich ganauso toll, insbesondere wenn sie intrinsisch auf die Kommunikationsarchitektur von [1] aufsetzt.

Noch zur Ergänzung:

Die Kommandos sind wie Andreas schreibt “interaktiv” - d.h. drauftippen und das Kommando wird gesendet.
Zusätzlich bietet der Telegram-Bot noch die Möglichkeit sich ein “Keyboard” mit vorgelegten befehlen anzeigen zu lassen, die dann ebenfalls interaktiv sind.

d.h. das memorieren der Kommandos beschränkt sich im wesentlichen auf “/start”
und von da an kann man sich “durchklicken”

1 Like

Ok, kenne das bisher nur vom hiveeyes-community-bot und da ist nichts interaktiv. Gut! Dennoch ist ein Service in Telegram deutlich weniger flexibler als eine Website, die jeder aufrufen kann, hier muss wieder Telegram installiert werden.

Für mich wäre eine Webschnittstelle erste Wahl und dann kämen application-spezifische Lösungen, aber gerne Telegram wenn als Alternative gar nix da ist! ;-)

Was ich noch nicth kapiert habe. Wie funktioniert die Verknüpfung von Dashboard / Bienenvolk / Stand mit einem Telegram-channel. auch da brauche ich doch wieder ein UI um das irgendwo zu verknüpfen, oder? Vielleicht ist ein Knopf in Grafana dann doch einfacher implementiert?! Just loud thinking!