Milesight AM104: 4-in-1 LoRaWAN Raumklima-Sensor

Milesight AM104 4-in-1 LoRaWAN-Sensor: Temperatur, Feuchte, Bewegung und Licht mit eigenem ChirpStack/ThingsBoard-Decoder und dekodiertem Beispiel.

Milesight AM104
AM104Sensor
LoRaWAN
Class A, OTAA
Band / Port
EU868 / Port 85
Messgrößen
4-in-1: Temperatur, Feuchte, Bewegung, Licht
Temperatur
0 bis +50 °C Innenraum
Feuchte
0 bis 100 % rF
Stromversorgung
2x AA-Batterien, mehr als ein Jahr
Konfiguration
NFC (Milesight ToolBox)
Messgrößen

Was misst der AM104?

Temperatur

Raumlufttemperatur, INT16 Little-Endian, Faktor 10.

Feuchte

Relative Luftfeuchte 0 bis 100 % rF, in 0,5-%-Schritten.

Bewegung (PIR)

Passiv-Infrarot-Belegungszähler je Meldeintervall.

Licht

Beleuchtungsstärke in Lux plus sichtbare und infrarote Rohwerte.

Batteriestand

Wird als Prozentwert gemeldet, damit der AA-Wechsel planbar bleibt.

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 === 0x05 && type === 0x6a) {   // PIR activity counter
      data.activity = readUInt16LE(bytes, i); i += 2;
    } else if (channel === 0x06 && type === 0x65) {   // light: lux + visible/IR + IR
      data.illumination = readUInt16LE(bytes, i);
      data.infrared_and_visible = readUInt16LE(bytes, i + 2);
      data.infrared = readUInt16LE(bytes, i + 4);
      i += 6;
    } else {
      break;
    }
  }
  return { data: data };
}

function readUInt16LE(b, i) {
  return (b[i + 1] << 8) | b[i];
}
function readInt16LE(b, i) {
  var v = readUInt16LE(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), 05 6A Bewegung (UINT16 Little-Endian), 06 65 Licht (Beleuchtungsstärke Lux, sichtbar+infrarot, infrarot als drei UINT16 Little-Endian). Geräteinfo- und Downlink-Antwort-Frames auf Kanal 0xFF/0xFE enthalten keine Messwerte und können ignoriert werden. Für ThingsBoard wandert dieselbe Kanal-Logik in einen Uplink-Converter. Umgesetzt nach der veröffentlichten Milesight-Byte-Spezifikation.

Uplink (hex)

0175640367EB00046E056A0C0006656801A0011400

Decoded JSON

{ "battery": 100, "temperature": 23.5, "humidity": 55, "activity": 12, "illumination": 360, "infrared_and_visible": 416, "infrared": 20 }
Aus der Praxis

Konfiguration & Stolpersteine

NFC-Einrichtung

Schlüssel, Meldeintervall sowie PIR- und Licht-Schwellen werden vor dem Rollout per NFC mit der Milesight-ToolBox-App gesetzt.

AA-Batteriebetrieb

Der AM104 läuft mit zwei wechselbaren AA-Zellen. Smart-Hibernate-Zeitplan und Meldeintervall bestimmen die Laufzeit direkt, also realistisch einstellen.

PIR-Platzierung

Passiv-Infrarot braucht Sichtlinie und reagiert auf Montagehöhe und HVAC-Luftströmung. Den Sensor so ausrichten, dass der Erfassungskegel den belegten Bereich abdeckt.

Variante ohne Display

Der AM104 hat kein E-Ink-Display (anders als AM107/AM300). Alle Werte werden über LoRaWAN ausgelesen, also auf ein Dashboard statt auf eine lokale Anzeige setzen.

Dein Partner

So unterstützt dich merkaio beim AM104

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

Pre-Staging & Provisioning

Wir konfigurieren den AM104, 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 und keine Cloud nötig. Der Codec kommt ins Device-Profile, die Provisionierung läuft über OTAA.
Es ist ein 4-in-1-Raumklima-Sensor: Lufttemperatur, relative Feuchte, Bewegung (Passiv-Infrarot-Belegung) und Licht, dazu ein Batteriestand in Prozent.
Ja, für ChirpStack und ThingsBoard, umgesetzt nach 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 Uplink trägt die aktivierten Kanäle: Temperatur, Feuchte, Bewegung und Licht, der Batteriestand kommt periodisch dazu.
Der AM104 läuft mit zwei wechselbaren AA-Batterien, die über ein Jahr halten, je nach Meldeintervall und konfiguriertem Smart-Hibernate-Zeitplan.
Der Lichtkanal (06 65) trägt drei UINT16-Little-Endian-Werte: Beleuchtungsstärke in Lux, einen kombinierten sichtbar-plus-infrarot-Rohwert und einen Infrarot-Rohwert. Der Decoder gibt alle drei aus.
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.