Milesight WS101: LoRaWAN SOS- & Smart-Button

Milesight WS101 LoRaWAN SOS-Button: eigener ChirpStack/ThingsBoard-Decoder, dekodierte Tastendrücke, Batteriemeldung und Panik-Alarm-Integration.

Milesight WS101
WS101Sensor
LoRaWAN
Class A, OTAA
Band / Port
EU868 / Port 85
Tastendrücke
Kurz, lang, doppelt
Rückmeldung
LED-Anzeige + Summer
Reichweite
Bis 15 km bei Sichtverbindung
Batterie
Wechselbar, mehrere Jahre
Konfiguration
NFC (Milesight ToolBox)
Messgrößen

Was misst der WS101?

Tastenereignis

Kurzer Druck, langer Druck und Doppeldruck, jeweils als eigener Statuscode.

Batteriestand

Wird als Prozentwert gemeldet, damit Dashboards warnen, bevor die Zelle leer ist.

Gerätestatus

Klasse, Firmware und Seriennummer beim Join, nützlich für das Flotteninventar.

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 === 0xff && type === 0x2e) {     // press event
      data.button_event = readButtonEvent(bytes[i]); i += 1;
    } else if (channel === 0xff && type === 0x01) {     // IPSO version
      data.ipso_version = bytes[i]; i += 1;
    } else if (channel === 0xff && type === 0x09) {     // hardware version
      i += 2;
    } else if (channel === 0xff && type === 0x0a) {     // firmware version
      i += 2;
    } else if (channel === 0xff && type === 0x0b) {     // device status
      i += 1;
    } else if (channel === 0xff && type === 0x0f) {     // LoRaWAN class
      i += 1;
    } else if (channel === 0xff && type === 0x08) {     // serial number
      i += 6;
    } else {
      break;
    }
  }
  return { data: data };
}

function readButtonEvent(v) {
  if (v === 1) return "short press";
  if (v === 2) return "long press";
  if (v === 3) return "double press";
  return "unknown";
}

function readUInt16LE(b, i) {
  return (b[i + 1] << 8) | b[i];
}

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

Kanalformat: 01 75 Batterie (%), FF 2E Tastenereignis (1 kurz, 2 lang, 3 doppelt). Der FF-Kanal liefert beim Join zusätzlich Geräteinfos (IPSO-, Hardware- und Firmware-Version, Seriennummer, Klasse), die der Decoder über die Länge überspringt. Implementiert nach der veröffentlichten Milesight-Byte-Spezifikation. Für ThingsBoard wandert dieselbe Logik in einen Uplink-Converter.

Uplink (hex)

017564FF2E01

Decoded JSON

{ "battery": 100, "button_event": "short press" }
Aus der Praxis

Konfiguration & Stolpersteine

NFC-Einrichtung

Keys, Meldeintervall sowie das LED-/Summer-Verhalten werden vor dem Rollout per NFC mit der Milesight ToolBox gesetzt.

Jeden Drucktyp abbilden

Kurz, lang und Doppeldruck kommen als 1, 2 und 3 an. Legen Sie fest, welcher Druck der Notfall ist und welcher nur eine Szene auslöst.

Heartbeat vs. Ereignis

Die meisten Uplinks sind Tastenereignisse; die Batterie wird in eigenem Takt gemeldet, ein fehlendes Batteriefeld ist also kein Fehler.

D2D-Failsafe

Der WS101 kann ein anderes Milesight-Gerät direkt ohne Gateway auslösen. Bei einem D2D-Befehl sendet das Gerät eventuell keinen normalen Uplink, im Monitoring berücksichtigen.

Dein Partner

So unterstützt dich merkaio beim WS101

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

Pre-Staging & Provisioning

Wir konfigurieren den WS101, 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 hinterlegen den Codec im Device-Profil 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.
Das Tastenereignis kommt auf dem Kanal FF 2E als einzelnes Statusbyte: 1 für kurzen Druck, 2 für langen Druck und 3 für Doppeldruck, sodass Sie jede Aktion separat verarbeiten können.
Es ist ein Class-A-Gerät auf LoRaWAN-Port 85. Tastenereignisse werden sofort beim Druck gesendet, der Batteriestand wird in eigenem Takt gemeldet.
Ja. Ein Druck löst sofort einen Alarm aus, was ihn für Pflege, Hotelzimmer, Schulen und die Sicherheit von Alleinarbeitern geeignet macht. LED und Summer bestätigen den Druck vor Ort.
Das Gerät kommt mit einer wechselbaren Batterie, die je nach Druckhäufigkeit und den per NFC gesetzten Meldeeinstellungen mehrere Jahre hält.
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.