Milesight WS202: LoRaWAN PIR- & Lichtsensor

Milesight WS202 LoRaWAN PIR- & Lichtsensor: eigener ChirpStack/ThingsBoard-Decoder, dekodiertes Beispiel, präsenzbasierte Lichtsteuerung fürs Smart Office.

Milesight WS202
WS202Sensor
LoRaWAN
Class A, OTAA
Band / Port
EU868 / Port 85
Erkennung
Passiv-Infrarot (PIR), bis 8 m, 120 Grad horizontal / 100 Grad vertikal
Lichterfassung
Integrierter Tageslichtsensor (dunkel / hell)
Schutzart
IP30 (Innenraum)
Batterie
1x 1650 mAh ER14335 Li-SOCl2
Konfiguration
NFC (Milesight ToolBox)
Messgrößen

Was misst der WS202?

PIR-Bewegung

Passiv-Infrarot-Präsenzerkennung, meldet normal oder trigger.

Tageslicht

Integrierter Lichtsensor meldet einen Zustand dunkel oder hell für die Lichtlogik.

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++];

    // Device info (join / power-on): IPSO version, SN, hw/fw version, class
    if (channel === 0xff) { i += deviceInfoLen(type); continue; }

    if (channel === 0x01 && type === 0x75) {          // battery (%)
      data.battery = bytes[i]; i += 1;
    } else if (channel === 0x03 && type === 0x00) {   // PIR: 0 normal, 1 trigger
      data.pir = bytes[i] === 1 ? "trigger" : "normal"; i += 1;
    } else if (channel === 0x04 && type === 0x00) {   // daylight: 0 dim, 1 bright
      data.daylight = bytes[i] === 1 ? "bright" : "dim"; i += 1;
    } else {
      break;
    }
  }
  return { data: data };
}

function deviceInfoLen(type) {
  // 0xFF segment lengths from the published spec (skip device-info bytes)
  var map = { 0x01: 1, 0x08: 6, 0x09: 2, 0x0a: 2, 0x0b: 1, 0x0f: 1 };
  return map[type] || 1;
}

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

Kanalformat: 01 75 Batterie (%), 03 00 PIR (0 normal, 1 trigger), 04 00 Tageslicht (0 dunkel, 1 hell). Der Lichtwert ist ein binärer Tageslichtzustand, kein Lux-Wert. 0xFF-Kanäle übertragen Geräteinfos (Protokoll, Seriennummer, Hardware-/Firmware-Version, Klasse) beim Join oder Einschalten und werden übersprungen. Implementiert nach der veröffentlichten Milesight-Byte-Spezifikation. Für ThingsBoard wandert dieselbe Logik in einen Uplink-Converter.

Uplink (hex)

017564030001040001

Decoded JSON

{ "battery": 100, "pir": "trigger", "daylight": "bright" }
Aus der Praxis

Konfiguration & Stolpersteine

NFC-Einrichtung

Schlüssel, Meldeintervall und PIR-/Lichtverhalten werden vor dem Rollout per NFC mit der Milesight ToolBox gesetzt.

Montage und Reichweite

PIR erkennt Bewegung bis 8 m über ein horizontales Sichtfeld von 120 Grad. In empfohlener Höhe montieren und von Wärmequellen und Lüftungsauslässen weg ausrichten, um Fehlauslösungen zu vermeiden.

Tageslicht ist ein Zustand, kein Lux

Der Lichtkanal meldet dunkel oder hell, keinen kalibrierten Lux-Wert. Lichtregeln auf den Zustand aufbauen, keinen numerischen Helligkeitswert erwarten.

Ereignisgesteuerte Uplinks

Bewegungs- und Tageslichtänderungen werden als Ereignisse außerhalb des Heartbeat-Intervalls gesendet, daher sollten Dashboard-Regeln sie als priorisierte Präsenzereignisse behandeln.

Dein Partner

So unterstützt dich merkaio beim WS202

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

Pre-Staging & Provisioning

Wir konfigurieren den WS202, 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 zum Device-Profile hinzu und provisionieren das Gerät per OTAA.
Ja, für ChirpStack und ThingsBoard, implementiert nach der veröffentlichten Milesight-Byte-Spezifikation. Dieselbe Kanal-Logik wandert in einen ThingsBoard-Uplink-Converter.
Er meldet PIR-Bewegung (normal oder trigger) und einen Tageslichtzustand (dunkel oder hell) sowie den Batteriestand. Der Lichtwert ist ein binärer Tageslichtzustand, kein Lux-Wert.
Es ist ein Class-A-Gerät auf LoRaWAN-Port 85. Uplinks übertragen PIR- und Tageslichtereignisse sowie den Batteriestand.
Ja. Mit einem Milesight-Wandschalter oder dem WS558-Lichtcontroller steuert er präsenzbasierte Beleuchtung, schaltet bei Bewegung und nur wenn der Tageslichtzustand dunkel ist, was Energie spart.
Er läuft mit einer einzelnen 1650-mAh-ER14335-Li-SOCl2-Zelle, der Einsatz braucht also keine Verkabelung. Der Batteriestand wird als Prozentwert gemeldet, sodass Sie den Wechsel planen können.
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.