Milesight EM300-CL: LoRaWAN Kapazitiver Füllstandsensor
Milesight EM300-CL LoRaWAN kapazitiver Füllstandsensor: eigener ChirpStack/ThingsBoard-Decoder, dekodiertes Beispiel und Füllstandalarme.
- LoRaWAN
- Class A, OTAA
- Band / Port
- EU868 / Port 85
- Erfassung
- Kapazitiv, berührungslos (Doppelelektrode)
- Schutzart
- IP67
- Behälterpassung
- Passt sich verschiedenen Tankformen und -größen an
- Batterie
- Wechselbar, bis zu 10 Jahre
- Konfiguration
- NFC (Milesight ToolBox)
Was misst der EM300-CL?
Füllstand-Status
Kapazitive Punkterkennung: voll, kritisch niedrig, unkalibriert oder Fehler.
Alarm bei kritischem Stand
Sofortiges Uplink, wenn der Pegel unter den kalibrierten Schwellwert fällt, mit Alarm- und Entwarnungs-Ereignis.
Kalibrierergebnis
Meldet, ob die letzte Behälterkalibrierung erfolgreich war oder fehlschlug.
Batteriestand
Wird periodisch als Prozentwert gemeldet, mit lokaler Speicherung und Neuübertragung.
Integration
Sensor / Controller
Misst oder steuert vor Ort und sendet LoRaWAN-Uplinks.
LoRaWAN-Gateway
Empfängt die Funkpakete und reicht sie an den Server weiter.
ChirpStack
Network-Server: verwaltet Sessions und decodiert das Payload.
ThingsBoard / Grafana
Dashboards, Alarme, Regeln und Reports.
function decodeUplink(input) {
var bytes = input.bytes;
var data = {};
var LIQUID = { 0: "uncalibrated", 1: "full", 2: "critical low level", 255: "error" };
var ALARM = { 0: "alarm release", 1: "critical low level alarm" };
var CAL = { 0: "failed", 1: "success" };
for (var i = 0; i < bytes.length; ) {
var channel = bytes[i++];
var type = bytes[i++];
if (channel === 0x01 && type === 0x75) { // battery (%)
data.battery = bytes[i]; i += 1;
} else if (channel === 0x03 && type === 0xed) { // liquid status
data.liquid = LIQUID[bytes[i]] || "unknown"; i += 1;
} else if (channel === 0x04 && type === 0xee) { // calibration result
data.calibration_result = CAL[bytes[i]] || "unknown"; i += 1;
} else if (channel === 0x83 && type === 0xed) { // liquid alarm
data.liquid = LIQUID[bytes[i]] || "unknown";
data.liquid_alarm = ALARM[bytes[i + 1]] || "unknown"; i += 2;
} else if (channel === 0xff) { // device info (join/power-on)
break;
} else {
break;
}
}
return { data: data };
}
Implementiert nach der veröffentlichten Milesight-Byte-Spezifikation (Communication Protocol / User Guide).
Kanalformat: 01 75 Batterie (%), 03 ed Füllstand-Status (0 unkalibriert, 1 voll, 2 kritisch niedrig, 255 Fehler), 04 ee Kalibrierergebnis (0 fehlgeschlagen, 1 erfolgreich), 83 ed Alarm bei kritischem Stand (Status-Byte plus Alarmtyp). Geräteinfo-Kanäle (0xFF, z. B. Protokoll/Firmware/Seriennummer beim Join) überspringt die Schleife. Implementiert aus der veröffentlichten Milesight-Byte-Spezifikation. Für ThingsBoard wandert dieselbe Kanal-Logik in einen Uplink-Converter.
Uplink (hex)
01756403ED01Decoded JSON
{ "battery": 100, "liquid": "full" }Einsatzszenarien
Smart-Restroom-Nachfüllung
Seifen- und Handwaschstand überwachen, damit Reinigungsteams nur bei Bedarf nachfüllen.
MehrVerbrauchsmaterial-Überwachung
Leere oder fast leere Spender und Behälter im ganzen Gebäude erkennen.
Facility-Betrieb
Alarme bei kritischem Stand ins Dashboard leiten, für planbares Nachfüllen.
Konfiguration & Stolpersteine
Kalibrierung ist Pflicht
Die kapazitive Erkennung funktioniert erst nach einer Behälterkalibrierung. Bis dahin meldet der Sensor unkalibriert, also vor dem Livegang gegen leeren und vollen Behälter kalibrieren.
NFC-Einrichtung
Schlüssel, Meldeintervall und Alarmschwellen werden vor dem Rollout per NFC mit der Milesight ToolBox gesetzt.
Alarme bei kritischem Stand
Werden sofort gesendet, außerhalb des Meldeintervalls. Dashboard-Regeln sollten 83 ed Alarm-Uplinks als Prioritätsereignisse behandeln.
Behälterpassung
Die Doppelelektroden-Sonde passt sich verschiedenen Tankformen an, aber die Flüssigkeitsart (Seife, Wasser, Öl) ändert die Kapazität. Bei Wechsel von Medium oder Behälter neu kalibrieren.
So unterstützt dich merkaio beim EM300-CL
Von der Beschaffung bis zum laufenden Betrieb, alles aus einer Hand und auf eigener europäischer Infrastruktur.
Pre-Staging & Provisioning
Wir konfigurieren den EM300-CL, setzen Keys, Intervalle und Alarme und liefern einsatzbereit aus.
Eigener Decoder
Payload-Codec für ChirpStack v4 und ThingsBoard, nach der Milesight-Spezifikation implementiert.
Integration ins Dashboard
Die Daten landen in deinem ThingsBoard oder Grafana, inklusive Alarmen und Reports.
Betrieb & Monitoring
Wir betreiben LoRaWAN-Stack und Dashboards auf europäischer Infrastruktur, du nutzt nur die Daten.
Häufige Fragen
Sprechen wir über Ihre Infrastruktur. Digital und vor Ort.
Ob IoT-Plattformentwicklung, Hardwareauswahl, Managed Hosting für ChirpStack, ThingsBoard, Grafana oder NetBird VPN, oder Migration von einem Self-Hosted-Setup - wir finden die passende Lösung für Ihren Anwendungsfall. Buchen Sie ein kostenloses 30-Minuten-Gespräch, unverbindlich.
Ihr Ansprechpartner
Timo Wevelsiep
Gründer, merkaio
15 Minuten, unverbindlich, direkt mit Timo.
Decoder für ChirpStack v4. merkaio ist unabhängiger Integrator und nicht mit Milesight affiliiert.