Milesight WS558: LoRaWAN Lichtsteuerung

Milesight WS558 LoRaWAN Lichtsteuerung: eigener ChirpStack/ThingsBoard-Decoder, dekodiertes Beispiel, 8 Schaltkanäle, Energiemessung und Downlink-Steuerung.

Milesight WS558
WS558Sensor
LoRaWAN
Class C, OTAA
Band / Port
EU868 / Port 85
Schaltkanäle
8 (LN-Typ oder Schalter-Typ)
Messung
Spannung, Strom, Wirkleistung, Energie
Lokale Steuerung
Tasten am Gerät + Betrieb ohne Netz
Konfiguration
NFC (Milesight ToolBox)
D2D
Gerät-zu-Gerät-Steuerung ohne Gateway
Messgrößen

Was misst der WS558?

8 Schaltkanäle

Unabhängiger EIN/AUS-Zustand für jeden der acht Lichtstromkreise, gepackt in ein Bitfeld.

Spannung

Netzspannung in Volt, als UINT16 mit Faktor /10 übertragen.

Wirkleistung

Gesamte Wirkleistung in Watt (UINT32).

Energieverbrauch

Kumulierte Energie in Wattstunden zur Abrechnung und Einsparungskontrolle.

Gesamtstrom & Leistungsfaktor

Gesamtstrom in mA und Leistungsfaktor in Prozent zur Lastdiagnose.

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 === 0x03 && type === 0x74) {            // voltage (V)
      data.voltage = readUInt16LE(bytes, i) / 10; i += 2;
    } else if (channel === 0x04 && type === 0x80) {     // active power (W)
      data.active_power = readUInt32LE(bytes, i); i += 4;
    } else if (channel === 0x05 && type === 0x81) {     // power factor (%)
      data.power_factor = bytes[i]; i += 1;
    } else if (channel === 0x06 && type === 0x83) {     // power consumption (Wh)
      data.power_consumption = readUInt32LE(bytes, i); i += 4;
    } else if (channel === 0x07 && type === 0xc9) {     // total current (mA)
      data.total_current = readUInt16LE(bytes, i); i += 2;
    } else if (channel === 0x08 && type === 0x31) {     // 8 switch states (bit flags)
      var flags = bytes[i + 1];
      for (var s = 0; s < 8; s++) {
        data["switch_" + (s + 1)] = ((flags >> s) & 1) ? "on" : "off";
      }
      i += 2;
    } else {
      break;
    }
  }
  return { data: data };
}

function readUInt16LE(b, i) {
  return (b[i + 1] << 8) | b[i];
}
function readUInt32LE(b, i) {
  return ((b[i + 3] << 24) | (b[i + 2] << 16) | (b[i + 1] << 8) | b[i]) >>> 0;
}

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

Kanalformat: 03 74 Spannung (UINT16 little-endian, /10), 04 80 Wirkleistung (UINT32, W), 05 81 Leistungsfaktor (%), 06 83 Energieverbrauch (UINT32, Wh), 07 c9 Gesamtstrom (mA), 08 31 Schaltstatus, wobei das zweite Byte ein Bitfeld für die Schalter 1 bis 8 ist (Bit 0 = switch_1). Geräteinfo-Segmente auf Kanal 0xff (Version, Seriennummer, Class) und Downlink-Quittungen kommen separat; dieser Codec liest den periodischen Mess-Uplink. Implementiert nach der veröffentlichten Milesight-Byte-Spezifikation. Für ThingsBoard wandert dieselbe Kanal-Logik in einen Uplink-Converter.

Uplink (hex)

0374FC080480960000000581620683A911000007C98C0208310003

Decoded JSON

{ "voltage": 230, "active_power": 150, "power_factor": 98, "power_consumption": 4521, "total_current": 652, "switch_1": "on", "switch_2": "on", "switch_3": "off", "switch_4": "off", "switch_5": "off", "switch_6": "off", "switch_7": "off", "switch_8": "off" }
Aus der Praxis

Konfiguration & Stolpersteine

Class-C-Versorgung

Der WS558 hält sein Empfangsfenster für schnelles Downlink-Schalten offen und wird daher netzgespeist. Stabile Versorgung einplanen, kein Batteriebetrieb.

LN-Typ vs. Schalter-Typ

Die zur Verdrahtung passende Variante bestellen: Der LN-Typ schaltet die Last direkt, der Schalter-Typ ist ein potentialfreier Relaisausgang. Eine Verwechslung steuert die Lampen nicht.

Downlink-Schalten

Relais werden per Downlink auf demselben Port geschaltet. EIN/AUS- und Delay-Task-Befehle vor dem Rollout im Dashboard aufbauen und prüfen.

Energiezähler-Reset

power_consumption ist ein kumulierter Zähler. Differenzen im Dashboard bilden und Clear-Counter-Ereignisse speichern, damit die Auswertungen nachvollziehbar bleiben.

Dein Partner

So unterstützt dich merkaio beim WS558

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

Pre-Staging & Provisioning

Wir konfigurieren den WS558, 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-Class-C-Gerät, kein Milesight-Gateway und keine Cloud nötig. Der Codec kommt ins Device-Profil, die Provisionierung erfolgt 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.
Acht unabhängige Kanäle. Ihre EIN/AUS-Zustände kommen als Bitfeld auf Kanal 0x08, und jedes Relais lässt sich einzeln per Downlink schalten.
Ja. Er unterstützt das Milesight-D2D-Protokoll für Gerät-zu-Gerät-Steuerung mit sehr geringer Latenz und besitzt Tasten am Gerät sowie einen Selbsttest nach dem Einschalten, sodass sich Stromkreise auch ohne Netz schalten und prüfen lassen.
Ja. Er meldet Spannung, Gesamtstrom, Leistungsfaktor, Wirkleistung und kumulierten Energieverbrauch, sodass sich der Energieeinsatz je Installation und die Einsparungen verfolgen lassen.
Es ist ein Class-C-Gerät auf LoRaWAN-Port 85. Class C hält das Empfangsfenster dauerhaft offen, sodass Downlink-Schaltbefehle die Relais nahezu in Echtzeit erreichen.
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.