Milesight EM300-CL: LoRaWAN Kapazitiver Füllstandsensor

Milesight EM300-CL LoRaWAN kapazitiver Füllstandsensor: eigener ChirpStack/ThingsBoard-Decoder, dekodiertes Beispiel und Füllstandalarme.

Milesight EM300-CL
EM300-CLSensor
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)
Messgrößen

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.

Daten ins Dashboard

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.

ChirpStack v4 · decodeUplink
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)

01756403ED01

Decoded JSON

{ "battery": 100, "liquid": "full" }
Wofür

Einsatzszenarien

Smart-Restroom-Nachfüllung

Seifen- und Handwaschstand überwachen, damit Reinigungsteams nur bei Bedarf nachfüllen.

Mehr

Verbrauchsmaterial-Ü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.

Aus der Praxis

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.

Dein Partner

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

Ja. Es ist ein Standard-LoRaWAN-Gerät, kein Milesight-Gateway und keine Cloud nötig. Sie hinterlegen den Codec im Device-Profile und provisionieren das Gerät per OTAA.
Ja, für ChirpStack und ThingsBoard, implementiert aus der veröffentlichten Milesight-Byte-Spezifikation. Dieselbe Kanal-Logik wandert in einen ThingsBoard-Uplink-Converter.
Es ist ein kapazitiver Punkt-Füllstandsensor: Er meldet als Status, ob die Flüssigkeit über oder unter dem kalibrierten Erkennungspunkt liegt (voll, kritisch niedrig), nicht eine kontinuierliche Höhe in Zentimetern. Die Doppelelektroden erfassen das Medium berührungslos durch die Behälterwand.
Es ist ein Class-A-Gerät auf LoRaWAN-Port 85. Jedes Uplink trägt den Füllstand-Status; der Batteriestand wird periodisch als Prozentwert gemeldet.
Die kapazitive Erkennung muss zuerst auf den konkreten Behälter und das Medium kalibriert werden. Vor dieser Kalibrierung meldet das Gerät einen unkalibrierten Status, also führen Sie die Kalibrierung per NFC durch, bevor Sie sich auf die Messwerte verlassen.
Es kommt mit einer wechselbaren Batterie, ausgelegt für bis zu zehn Jahre, je nach Meldeintervall und Häufigkeit der Alarme bei kritischem Stand.
Ja. Fällt die Flüssigkeit unter den kalibrierten Punkt, sendet das Gerät ein sofortiges 83 ed Alarm-Uplink und ein separates Entwarnungs-Ereignis, wenn sich der Stand erholt, daher sollten Dashboard-Regeln beide als Prioritätsereignisse behandeln.
Aus derselben Serie

Verwandte Geräte

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.

Timo Wevelsiep

Ihr Ansprechpartner

Timo Wevelsiep

Gründer, merkaio

15 Minuten, unverbindlich, direkt mit Timo.

Mit dem Absenden stimmen Sie unserer Datenschutzerklärung zu.

Decoder für ChirpStack v4. merkaio ist unabhängiger Integrator und nicht mit Milesight affiliiert.