Milesight WS301: LoRaWAN Tür-/Fensterkontakt

Milesight WS301 LoRaWAN Tür-/Fensterkontakt: eigener ChirpStack/ThingsBoard-Decoder, dekodiertes Beispiel, Sabotagealarm und Zugangsüberwachung.

Milesight WS301
WS301Sensor
LoRaWAN
Class A, OTAA, Standard-Port 85
Bänder
EU868 / US915 / AS923 und weitere
Erkennung
Magnetischer Reedkontakt, schaltet innerhalb von etwa 2 cm
Sabotage
Integrierte Montage-/Demontageerkennung
Batterie
1200 mAh ER14250, bis zu ~6,8 Jahre (SF7)
Schutzart
IP20, für trockene Innenräume
Konfiguration
NFC (Milesight ToolBox)
Messgrößen

Was misst der WS301?

Tür-/Fensterzustand

Offen oder geschlossen, gemeldet bei jedem Zustandswechsel.

Sabotagestatus

Montage-/Demontageerkennung alarmiert beim Entfernen des Geräts.

Batteriestand

Prozentwert, periodisch zusammen mit dem Status-Heartbeat gemeldet.

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 === 0x00) {   // door / window state
      data.magnet_status = bytes[i] === 0 ? "close" : "open"; i += 1;
    } else if (channel === 0x04 && type === 0x00) {   // install / tamper state
      data.tamper_status = bytes[i] === 0 ? "installed" : "uninstalled"; i += 1;
    } else if (channel === 0xff) {                     // device info (join / power-on)
      i += deviceInfoLen(type);
    } else {
      break;
    }
  }
  return { data: data };
}

function deviceInfoLen(type) {
  // 0xFF channels carry version/SN/status fields of fixed length
  if (type === 0x01 || type === 0x0f || type === 0x0b || type === 0xfe) return 1; // ipso ver, class, status, reset
  if (type === 0x09 || type === 0x0a || type === 0xff) return 2;                  // hw, fw, tsl version
  if (type === 0x08) return 6;                                                    // serial number
  return 1;
}

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

Kanalformat: 01 75 Batterie (UINT8, %), 03 00 Tür-/Fensterzustand (0 geschlossen, 1 offen), 04 00 Montage-/Sabotagestatus (0 montiert, 1 demontiert). 0xFF-Kanäle übertragen Geräteinfos bei Join und Power-on. Implementiert aus der veröffentlichten Milesight-Byte-Spezifikation. Für ThingsBoard wandert dieselbe Kanal-Logik in einen Uplink-Converter.

Uplink (hex)

017564030001040001

Decoded JSON

{ "battery": 100, "magnet_status": "open", "tamper_status": "uninstalled" }
Aus der Praxis

Konfiguration & Stolpersteine

NFC-Einrichtung

Keys, Meldeintervall und Sabotageverhalten werden vor dem Rollout per NFC mit der Milesight ToolBox gesetzt.

Event vs. Heartbeat

Zustandswechsel werden sofort gesendet; ein periodischer Heartbeat bestätigt, dass das Gerät lebt. Dashboard-Regeln sollten das Wechsel-Event als primären Trigger behandeln.

Magnetausrichtung

Der Reedkontakt schaltet innerhalb von etwa 2 cm zum Magneten. Beide Hälften bündig und in Reichweite montieren, sonst meldet der Kontakt offen, obwohl die Tür zu ist.

Sabotagebehandlung

Die Montageerkennung sendet einen Uplink, wenn der Korpus von der Basis getrennt wird. tamper_status demontiert sollte auf einen Sicherheitsalarm gemappt werden, nicht nur ins Log.

Dein Partner

So unterstützt dich merkaio beim WS301

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

Pre-Staging & Provisioning

Wir konfigurieren den WS301, 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 oder -Cloud nötig. Sie fügen den Codec ins Device-Profil ein und provisionieren ihn 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 Class-A-Gerät auf LoRaWAN-Port 85. Jeder Zustandswechsel-Uplink trägt den Tür-/Fensterstatus, der Batteriestand wird periodisch gemeldet.
Einen magnetischen Reedkontakt, der offen oder geschlossen meldet, plus einen Sabotagestatus, der anschlägt, wenn das Gerät von seiner Montagebasis getrennt wird.
Er läuft mit einer austauschbaren 1200-mAh-ER14250-Zelle. Milesight gibt rund 6,8 Jahre bei SF7 und etwa 4,2 Jahre bei SF10 auf EU868 an, gerechnet mit langem Meldeintervall plus rund 30 Auslösungen pro Tag. In der Praxis hängt es von Datenrate und Öffnungshäufigkeit ab.
Ja. Zustandswechsel werden sofort als Event-Uplink gesendet, außerhalb des periodischen Heartbeats, sodass Dashboard-Regeln den Wechsel als Priority-Trigger behandeln sollten.
Nein. Der WS301 ist mit IP20 eingestuft, also ohne Schutz gegen Wasser oder Staub. Montieren Sie ihn im Innenbereich an trockenen Tür- und Fensterrahmen; für Außentore oder Nassräume eignet sich ein gekapselter Sensor besser.
Als Class-A-Gerät lauscht er nur in den beiden Empfangsfenstern direkt nach einem Uplink. Ein Downlink wie eine Intervalländerung wird daher in ChirpStack in die Warteschlange gelegt und beim nächsten Uplink zugestellt, nicht sofort.
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.