Milesight EM300-MCS: LoRaWAN-Magnetkontaktsensor

Milesight EM300-MCS LoRaWAN-Magnetkontaktsensor: eigener ChirpStack/ThingsBoard-Decoder, dekodiertes Beispiel, Auf/Zu-Alarme plus Temperatur und Feuchte.

Milesight EM300-MCS
EM300-MCSSensor
LoRaWAN
Class A, OTAA
Band / Port
EU868 / Port 85
Erfassung
Reed-Magnetkontakt (auf/zu)
Magnetabstand
Schaltet bei 20 bis 30 mm Abstand zum Magneten
Temperatur
-30 bis +70 °C (SHT30)
Feuchte
0 bis 100 % RH
Batterie
4000 mAh, über 10 Jahre (SF7, EU868)
Messgrößen

Was misst der EM300-MCS?

Magnetstatus

Offen- oder Zu-Zustand des Reed-Kontakts, gemeldet bei Änderung und im Intervall.

Temperatur

Sensirion SHT30, -30 bis +70 °C, hohe Genauigkeit.

Feuchte

Relative Feuchte 0 bis 100 % RH (nicht kondensierend).

Batteriestand

Wird als Prozentwert gemeldet, mit lokaler Speicherung und Wiederholung.

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 = {};

  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 === 0x67) {   // temperature (°C)
      data.temperature = readInt16LE(bytes, i) / 10; i += 2;
    } else if (channel === 0x04 && type === 0x68) {   // humidity (%RH)
      data.humidity = bytes[i] / 2; i += 1;
    } else if (channel === 0x06 && type === 0x00) {   // magnet contact
      data.magnet_status = bytes[i] === 0 ? "close" : "open"; i += 1;
    } else {
      break;
    }
  }
  return { data: data };
}

function readInt16LE(b, i) {
  var v = (b[i + 1] << 8) | b[i];
  return v > 0x7fff ? v - 0x10000 : v;
}

Implementiert nach der veröffentlichten Milesight-Byte-Spezifikation (Communication Protocol / User Guide).

Kanalformat: 01 75 Batterie (%), 03 67 Temperatur (INT16 Little-Endian, /10), 04 68 Feuchte (/2), 06 00 Magnetstatus (0 = zu, 1 = offen). Umgesetzt nach der veröffentlichten Milesight-Byte-Spezifikation. Das Gerät sendet zusätzlich History-Datensätze (Kanal 0x20) und Downlink-Bestätigungen (Kanal 0xFE/0xFF), die ein produktiver Decoder ergänzen kann. Für ThingsBoard kommt dieselbe Logik in einen Uplink-Converter.

Uplink (hex)

0175640367AD00046873060000

Decoded JSON

{ "battery": 100, "temperature": 17.3, "humidity": 57.5, "magnet_status": "close" }
Aus der Praxis

Konfiguration & Stolpersteine

NFC-Einrichtung

Schlüssel, Meldeintervall, Alarmoptionen und die Auf/Zu-Polarität werden vor dem Rollout per NFC mit der Milesight ToolBox gesetzt.

Magnetausrichtung

Der Reed-Schalter meldet zu, solange der mitgelieferte Magnet innerhalb von etwa 20 bis 30 mm Abstand sitzt. Sensor und Magnet auf feste und bewegliche Seite montieren, sodass sie im geschlossenen Zustand fluchten, sonst entstehen falsche Offen-Ereignisse.

Ereignis- vs. Intervallmeldung

Eine Statusänderung wird sofort gesendet, Temperatur und Feuchte folgen dem regulären Intervall. Dashboard-Regeln sollten Offen-Uplinks als Prioritätsereignis behandeln.

IP67-Belüftungsverzögerung

Das dichte Gehäuse gleicht Luft über eine Belüftungsmembran aus, daher kann es nach einem großen Temperatursprung rund eine Stunde dauern, bis sich der Temperaturwert einpendelt. Bei Alarmen auf schnelle Übergänge berücksichtigen.

Dein Partner

So unterstützt dich merkaio beim EM300-MCS

Von der Beschaffung bis zum laufenden Betrieb, alles aus einer Hand und auf eigener europäischer Infrastruktur.

Pre-Staging & Provisioning

Wir konfigurieren den EM300-MCS, 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 standardkonformes LoRaWAN-Gerät, kein Milesight-Gateway und keine Cloud nötig. Sie hinterlegen den Codec im Device-Profil und provisionieren das Gerät per OTAA.
Ja, für ChirpStack und ThingsBoard, umgesetzt nach der veröffentlichten Milesight-Byte-Spezifikation. Dieselbe Kanallogik kommt in einen ThingsBoard-Uplink-Converter.
Er meldet den Magnetkontaktstatus (offen oder zu) für Türen, Fenster und Gehäuse sowie integrierte Temperatur und Feuchte und den Batteriestand, sodass ein Gerät Zutritt und Klima abdeckt.
Es ist ein Class-A-Gerät auf LoRaWAN-Port 85. Eine Statusänderung wird sofort gesendet, Temperatur und Feuchte folgen dem konfigurierten Meldeintervall.
Es wird mit einer austauschbaren 4000-mAh-Batterie geliefert, die unter Standardbedingungen über zehn Jahre hält (SF7, EU868); eine 8000-mAh-Variante ist optional. Die tatsächliche Laufzeit hängt vom Meldeintervall und der Häufigkeit der Statuswechsel ab.
Ja. Das Gehäuse ist nach IP67 geschützt und der Betriebsbereich liegt bei -30 bis +70 °C, somit eignet es sich für Innentüren ebenso wie für Außentore und Kühlumgebungen.
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.