BienenWaagenManager

Node: ... | Version: Lade... | Board: ... | WebUI: V1_14_03

Status-Übersicht

Live-Status

Temp --
Vbat --
RH --
TX --
GPS --
DR --
Lat --
Lon --

Gewichte

Automatische Aktualisierung alle 3 Sekunden

RTC-Uhrzeit

Aktuelle Zeit: Lade...

Manuelle Zeitsynchronisation

Manuelle Zeitsynchronisation (UTC). Die RTC wird normalerweise automatisch via NTP beim Wartungsmodus-Start synchronisiert.

Vorausgefüllt mit der aktuellen lokalen Zeit Ihres Geräts (Browser).

Konfiguration

🔄 Betriebsmodus
Änderung wird nach Neustart des Geräts wirksam. Im Tracker-Modus sendet das Gerät im eingestellten Intervall (Standard 30 s) die GPS-Position an TTN.

Node-Identifikation

Legt fest, welche Waagennummern dieser Node meldet: Node 1 = Waage 1+2, Node 2 = Waage 3+4, Node 3 = Waage 5+6, Node 4 = Waage 7+8. Die Zuordnung wird beim Speichern automatisch mitgesetzt.

Neustart

Startet das Gerät neu.
📡 Uplink

GPS


Uplink-Modus

Aktiver Modus: Lade...


LoRa TX-Leistung

Sendeleistung 14–27 dBm. Der SX1262-Chip liefert bis 22 dBm; hoehere Werte sind nur mit externem PA (FEM) sinnvoll – lehnt der Chip einen Wert ab, faellt er automatisch auf 22 dBm zurueck. Hinweis: Bei aktivem ADR steuert der Netzwerkserver die TX-Leistung automatisch. Regulatorische Grenzen (EU868) selbst beachten.

Aktuelle Einstellung: Lade...

Wird beim nächsten Messzyklus oder LoRa-Init wirksam.

Uplink-Test im Wartungsmodus

Wenn aktiviert, wird beim Start des Wartungsmodus automatisch ein Uplink-Test durchgeführt.
🔑 Keys & Verbindung

BWM OTAA Keys

Keys vorhanden: Lade...

Individuelle Keys im NVS haben Priorität vor Default-Keys in der Firmware.

NwkKey gespeichert: Lade...

Nur bei LoRaWAN 1.1.0 erforderlich. Bei 1.0.x leer lassen.

TTN-Tracker Sendeintervall

Wie oft der Tracker die GPS-Position an TTN sendet (10–3600 Sekunden). TTN Fair-Use beachten.

TTN-Tracker OTAA Keys

Separate Keys für den TTN-Tracker. Falls leer, werden die Default-Keys aus der Firmware verwendet.

WLAN (für RTC-Sync & ThingSpeak)

Optional: Heimnetzwerk für NTP-Zeitsynchronisation und ThingSpeak-Modus.

SSID gespeichert: Lade...

Passwort gespeichert: Lade...


HotSpot-Konfiguration

Änderungen werden beim nächsten Start des Wartungsmodus wirksam.
⚠️ Das Standard-Passwort "bwm12345" wird für den WiFi-Sync zwischen Nodes verwendet. Bei Änderung funktioniert der automatische Waagen-Sync nicht mehr.

ThingSpeak (WiFi & LTE4g-Modus)

Write-API-Key deines ThingSpeak Channels. Nur bei Uplink-Modus "WiFi" relevant.

ThingSpeak API-Key gespeichert: Lade...


4G / LTE / Mobilfunk (APN)

APN des Mobilfunkanbieters. Nur bei Uplink-Modus "4G/LTE" relevant. Leer lassen für automatische APN-Erkennung durch das Modul.
Typische APNs: Telekom = internet.telekom, Vodafone = web.vodafone.de, O2 = internet, 1nce IoT = iot.1nce.net
🕐 Zeitplan

📊 Übertragungsprofil

Datenoptimiert: tagsüber nur bei Änderung >200 g, nachts aus, Winter wöchentlich. Das Lebenszeichen kommt im Winter dadurch ebenfalls nur wöchentlich – wer es täglich braucht, wählt „Individuell“. Regulär: tagsüber alle 10 min, nachts stündlich, Sep–März täglich. Individuell: alle Einstellungen frei wählbar. Beide Presets setzen das Winterende auf März.
Alle Zeitangaben in lokaler Zeit (MEZ = UTC+1, MESZ = UTC+2). Beispiel: 06:00 UTC = 07:00 MEZ / 08:00 MESZ. Werte werden beim nächsten Messzyklus wirksam.
Parameter Wert
Tagesbeginn (Lokalzeit)
Tagesende (Lokalzeit)
Intervall Tag
Intervall Nacht
Winterbeginn
Winterende
Intervall Winter
Intervall bei Unterspannung

Ermittlung der Tag-Zeiten nach:
Bei „Astronomisch“ werden Tag-Beginn und -Ende ganzjährig aus der GPS-Position berechnet. Bei fehlender GPS-Position wird automatisch auf feste Zeiten zurückgefallen. Auch im Winter wirkt die Einstellung: Sie bestimmt die Stunde, zu der der Node aufwacht und GPS versucht – die des Sonnenuntergangs.

Nachts senden

Deaktiviert schläft der Node nachts durch bis zum Sonnenaufgang – das spart deutlich Strom. Der Uplink zum Sonnenuntergang (inkl. GPS-Position) erfolgt weiterhin. Wirkt nur von März bis August: in den Wintermonaten gilt ohnehin der Winter-Schlafzyklus mit einem Uplink pro Tag.

Uplink bei Änderung

Wenn aktiviert, wird ein Uplink nur gesendet, wenn sich das Gewicht mindestens einer Waage um den konfigurierten Wert geändert hat. Verglichen wird gegen den zuletzt gesendeten Wert – langsame Veränderungen summieren sich also auf. Bei schwacher Batterie entfällt diese Prüfung, dafür sendet der Node dann gar nicht (WLAN/4G) bzw. nur einen verkürzten Datensatz ohne Gewichte (LoRa).
Typische Werte: 50–200 g. Kleinere Werte = häufigere Uplinks, größere Werte = weniger Uplinks.
Zusätzlicher Auslöser neben dem Gewicht: ein Uplink erfolgt auch, wenn sich die Temperatur um mindestens diesen Betrag geändert hat. Nur wirksam, solange „senden bei Änderung“ aktiv ist.
Sendet einmal täglich auch dann, wenn sich das Gewicht nicht geändert hat – so lässt sich ein stummer Node von einem defekten unterscheiden. Der Zeitpunkt ist die Stunde des Sonnenuntergangs, zusammen mit dem GPS-Versuch. Kann nie häufiger sein als der Aufwachrhythmus: Steht der Winter auf wöchentlich, kommt auch das Lebenszeichen nur wöchentlich.
Gleicht die Uhr spätestens alle 24 h per NTP ab. Im LoRa- und 4G-Betrieb gibt es sonst gar keinen Zeitabgleich außer dem täglichen GPS-Fix – bleibt der aus, läuft die Uhr weg und die Drift-Kompensation lernt nichts dazu. Der Versuch läuft erst nach dem Uplink, ein fehlgeschlagener Verbindungsaufbau kostet also keinen Messwert. Setzt konfigurierte WLAN-Zugangsdaten in Reichweite voraus. Im WiFi-Uplink-Modus läuft der Abgleich ohnehin, dort hat die Option keine Wirkung.
🎚️ Glättungsparameter

Steuerung der zyklusübergreifenden Messwert-Glättung (EMA) und der Sprungerkennung.

0.20
0.50
0.50

⚙️ System

LoRa-Session zurücksetzen

Löscht die gespeicherte LoRa-Session (Nonces, Session-Keys, Frame-Counter). Beim nächsten Messzyklus wird ein neuer OTAA-Join erzwungen.

Werksreset

Löscht alle gespeicherten Einstellungen: OTAA-Keys, WLAN-Credentials, Zeitplan, Kalibrierung, GPS-Cache und LoRa-Session. Das Gerät startet danach mit den Default-Werten aus der Firmware.

Firmware-Update (OTA)

Aktuelle Version: Lade...

Flash frei: Lade...

Firmware-Datei (.bin) aus der Arduino IDE exportieren: Sketch → Kompilierte Binärdatei exportieren. Nach dem Upload startet das Gerät automatisch neu.

Neustart

Startet das Gerät neu. Erforderlich nach Änderung des Betriebsmodus oder der Hotspot-SSID.

Waagen-Verwaltung

Aktive Waagen-Zuweisungen
Weise jeder Position eine kalibrierte Waage zu. Nur Waagen mit gültiger TP1-Kalibrierung sind auswählbar.
Slot Zugewiesene Waage Aktion
Lade...
Gewichtskorrektur (Tara)
Absolute Korrektur pro Slot in kg. Wird zum gemessenen Gewicht addiert. Beispiel: -8.5 kg für das Gewicht der Beute. Wird lokal gespeichert und nicht synchronisiert.
Gespeicherte Waagen
ID Name TP1 TP2 Drift Aktion
Lade...
Waagen synchronisieren

Automatischer Sync

Scannt nach anderen BWM-Nodes im Wartungsmodus und synchronisiert die Waagen-Daten automatisch (2 Runden: Pull + Push).
⚠ Nach Abschluss des BLE-Sync muss die WiFi-Verbindung zum BWM-Hotspot manuell neu hergestellt werden.
⚠ Nach Abschluss des WiFi-Sync muss die WiFi-Verbindung zum BWM-Hotspot manuell neu hergestellt werden.
Nodes die synchronisiert werden sollen müssen im Wartungsmodus sein.

Bluetooth (BLE): Standard-Variante. Bevorzugt verwenden. Kein WLAN-Verbindungsverlust während des Syncs. Funktioniert auch wenn das AP-Passwort nicht mehr dem Standard entspricht. Reichweite: ca. 10–30 Meter.

BLE-Status: --


WiFi: Alternative Methode. Smartphone-Verbindung wird kurzzeitig unterbrochen. Setzt voraus, dass alle Nodes das Standard-Passwort bwm12345 verwenden.

⚙ BLE und WiFi sind im Wartungsmodus für -- Minuten verfügbar.

Manueller Export

Alle Waagen als JSON exportieren:

Manueller Import

Waagen-Daten einfügen:
Bestehende Waagen mit gleicher ID werden aktualisiert, neue hinzugefügt.

Kalibrier-Wizard

🌡️ Temperatur-Korrektur DHT22
Korrektur der gemessenen Temperatur: Positiv = wärmer, negativ = kälter.
Lade...
⏱️ RTC-Drift-Kalibrierung
Die interne Uhr des ESP32 läuft im Schlaf auf einem RC-Oszillator und geht temperaturabhängig falsch. Die Firmware lernt diesen Gangfehler aus echten Zeitabgleichen. Im Normalbetrieb dauert das Wochen, weil pro Tag nur eine Stichprobe anfällt. Der Lernlauf sammelt stattdessen stündlich und ist meist nach ein bis zwei Tagen fertig.
–
Der Lauf endet von selbst, sobald das Modell vollständig ist – dafür werden mindestens 8 Stichproben und eine Temperaturstreuung von rund 2 K gebraucht. Steht der Node bei konstanter Temperatur, wird die Streuung nie erreicht; deshalb bricht der Lauf spätestens nach 7 Tagen ab. Der Offset ist dann trotzdem gelernt, nur der Temperaturterm fehlt. Bevorzugt wird WLAN; GPS dient nur als Rückfallebene, weil ein Fix unter dem Blechdeckel langsam und unsicher ist. Jeder Aufruf des Wartungsmodus verwirft die gerade laufende Messung – das verlängert den Lauf, schadet aber nicht.
⚖️ Kalibrierung der Waagen
Kalibrierung ist erst möglich, wenn das System vollständig gestartet ist (nach GPS-Fix und Uplink-Test). Vorher wird eine Fehlermeldung angezeigt.
Anleitung zur Kalibrierung
  1. Wichtig DHT22-Offset vor der Kalibrierung festlegen. Alternativ bei 0 lassen
  2. Waage und Temperaturpunkt auswählen, ggf. vorher in der Tabelle „Kalibrierwerte“ prüfen welche Daten vorhanden sind. Es ist egal ob TP1 oder 2 höher/niedriger ist
  3. Start klicken → zeigt aktuellen Rohwert und Temperatur
  4. Bekanntes Gewicht A (z.B. 0 kg = leer) auf die Waage legen
  5. Gewicht A eingeben und Speichern A klicken
  6. Bekanntes Gewicht B (z.B. 100 kg Referenz) auf die Waage legen
  7. Gewicht B eingeben und Speichern B klicken
  8. Für Temperaturkompensation: Bei anderer Temperatur (mind. 20 °C Differenz) mit TP2 wiederholen. Empfehlung: Dieselben Referenzgewichte wie bei TP1 verwenden, um Fehlerquellen zu minimieren. Andere Gewichte sind aber zulässig
Wenn aktiviert, wird eine neue Waage in der Registry erstellt statt die bestehende zu aktualisieren.
Nur bei Neuanlage. Leer lassen → automatisch „W<Slot>“. Später jederzeit in der Waagenverwaltung änderbar.

Status

Noch nicht gestartet.

Messpunkt A speichern

Messpunkt B speichern

🌡️ Theoretische Temperaturkompensation

Einfache Driftkompensation ohne TP2-Kalibrierung. Korrigiert den systematischen Temperaturdrift per einstellbarem Koeffizienten (kg/°C). Greift nur wenn kein TP2 vorhanden ist.

Typischer Bereich: ±0.02 bis ±0.05 kg/°C
Positiv = Waage zeigt bei Wärme zu viel. Negativ = Waage zeigt bei Wärme zu wenig.
Dezimalwerte mit Punkt eingeben (z.B. 0.04, nicht 0,04).
Optional: Quadratischer Koeffizient (a2) für nichtlinearen Drift. Typischer Bereich: ±0.0001 bis ±0.001 kg/°C². Bei 0 wird nur linear kompensiert.
Anleitung zur Ermittlung des Koeffizienten
  1. Waage mit TP1 kalibrieren (z.B. bei 15°C)
  2. Einige Tage Daten in ThingSpeak beobachten
  3. Drift ablesen: (Gewicht warm − Gewicht kalt) ÷ Temperaturdifferenz
  4. Beispiel: (50,6 kg bei 30°C − 50,0 kg bei 15°C) ÷ 15°C = +0.04 kg/°C
  5. Wert im Feld eintragen, Checkbox aktivieren, speichern
  6. Über die nächsten Tage beobachten und ggf. feintrimmen
🧠 Selbstlernende Temperaturkompensation

Die Waage ermittelt den Temperaturkoeffizienten selbst. Gelernt wird nur nachts, in der Stunde des Sonnenaufgangs und im Winter, weil sich das Gewicht dann nicht durch Bienenflug ändert. Die gleichmäßige Abnahme durch Verdunstung oder Futterverbrauch wird dabei herausgerechnet. Sobald der Wert sicher ist, wird er automatisch als Driftkoeffizient übernommen und danach laufend nachgeführt.

In der Kalibrierphase misst der Node nachts stündlich (ohne zu senden), meist ist nach etwa ein bis zwei Wochen ein sicherer Wert erreicht; spätestens nach 21 Tagen gilt wieder der normale Zeitplan. Solange das Lernen aktiv ist, wird ein von Hand eingetragener Koeffizient überschrieben und a2 auf 0 gesetzt. Nur für Waagen mit TP1 und ohne TP2.
📋 Kalibrierwerte
Waage Temp-Punkt Temperatur (°C) Steigung (a) Offset (b) Status Aktion
Lade...