Skip to content

Devices and what they report

Which hardware Omaya decodes out of the box, what each model measures, and the standard reading names to use when you teach it a new one.

Read out of the platform

This page is generated from the code that runs your instance, so it cannot drift from what the platform actually does.

A model in this list needs no configuration: add the device, pick the model, and its packets are decoded. A model that is not in this list is not a dead end — Sensor onboarding (/admin/manage/device/onboarding) walks you through teaching Omaya a new one from its own live packets, and the reading names in the last section are the vocabulary that page expects.

What each model reports

Kind is how Omaya treats the device: a tag moves with a person or an asset and is positioned; a sensor sits still and reports readings; a beacon only advertises so other things can be positioned against it; a tracker carries its own GPS; an actuator is switched rather than read.

VendorModelSlugKindReports
MinewMSR01-Aminew_msr01asensorpeople_count, radar_position
MinewMSR01-Bminew_msr01bsensorenter_exit
MinewMWC01minew_mwc01tagpresence, battery, button_press, motion_trigger
MinewS1minew_s1sensorpresence, battery, temperature, humidity
MinewE7minew_e7beaconpresence, battery
MinewMS50-SFminew_ms50sfsensorpresence, battery
MinewMTB02 Paper-battery Asset Tagminew_mtb02tagpresence, battery
MinewE8 Beaconminew_e8beaconpresence, battery
Minewi7 Beaconminew_i7beaconpresence, battery
MinewBeacon (other / generic)minew_beaconbeaconpresence, battery
DusunBGXdusun_bgxbeaconpresence, battery
DusunDSB-F1dusun_dsb_f1sensorpresence, battery
DusunDSB-D50Bdusun_dsb_d50bbeaconpresence, battery
KontaktID14 Beaconkontakt_id14beaconpresence, battery
KontaktTough Beacon 2kontakt_tmbeaconpresence, battery
KontaktBracelet Tag S18-3kontakt_ustagpresence, battery
MilesightWL-101milesight_wlsensorpresence, battery
MilesightVS133 Countermilesight_vs133sensorpeople_count
MilesightTS201 Temp/Humiditymilesight_ts201sensortemperature, humidity, battery
MikrotikTG-BT5-INmikrotik_tbt5intagpresence, battery
MikrotikTG-BT5-HLmikrotik_tbt5hltagpresence, battery
MikrotikTG-BT5-Minimikrotik_tbt5mitagpresence, battery
Moko SmartLW001-BG Promoko_lw001trackergps, battery
Moko SmartLW004-PBmoko_lw004trackergps, battery
Moko SmartMK-B5moko_mkb5beaconpresence, battery
Moko SmartSO2Rmoko_so2rsensordistance, battery
Moko SmartH4 Promoko_h4prosensortemperature, humidity
Moko SmartB2 Buttonmoko_b2tagpresence, battery, button_press
Moko SmartBeaconX Pro BXP-Cmoko_bxp_cbeaconbattery
Moko SmartBeaconX Pro BXP-Dmoko_bxp_dbeaconbattery, button_press
Moko SmartBeaconX Pro BXP-DHmoko_bxp_dhsensorbattery, temperature, humidity
Moko SmartH2 BeaconX Promoko_h2beaconbattery
Moko SmartH5 BeaconX Promoko_h5sensorbattery, temperature, humidity
Moko SmartBeaconX (other / generic)moko_beaconxbeaconbattery
AqaraPresence MultiSensor FP300aqara_fp300sensorpresence, temperature, humidity, illuminance, battery
AqaraMotion Sensor P1aqara_p1sensorpresence, battery
AqaraWall Switch AK059aqara_ak059actuator
Home AssistantHome Assistant (Generic)home_assistantpresence, battery, temperature, humidity, illuminance, co2, energy_kwh, power_w
ExternalExternal people counter (API)external_countersensorpeople_count
OtherOther / Genericother

A dash under Reports means the model declares nothing. Such a device is still registered, positioned and tracked — it just contributes no readings, either because there is nothing to read (an actuator is switched, not measured) or because it is a generic entry standing in for hardware nobody has identified yet: aqara_ak059, other.

Some device types are created by apps rather than chosen by hand, so they are not in the picker above but you will see them on device records: toilet_supply (sensor), toilet_occupancy (sensor), toilet_stall (sensor), toilet_safety (sensor), staff_badge (tag).

The capability names

Every name that appears in the Reports column above, and how many models declare it. Most of these are descriptive — they tell you what to expect from a model, and the device page shows them as chips. Two do real work: people_count and radar_position are how Omaya knows a device can count people in a zone, which is what makes that zone report an occupancy figure from the sensor rather than from the BLE tags it can see.

CapabilityModels
battery33
button_press3
co21
distance1
energy_kwh1
enter_exit1
gps2
humidity7
illuminance2
motion_trigger1
people_count3
power_w1
presence23
radar_position1
temperature7

Standard reading names for a custom decoder

When you teach Omaya a device it does not know — through Sensor onboarding, or by writing a decoder spec by hand — each field you pull out of the payload is given one of these names. Use the standard name and the reading lands in the right report with the right unit; invent your own and it is stored, but nothing knows what to do with it.

ReadingUnitStored as
battery_percent%battery
button_pressedbutton_press
co2ppmsensor
current_aAenergy
distance_mmmmdistance
energy_kwhkWhenergy
humidity%sensor
illuminanceluxsensor
noise_dbadBAsensor
occupiedpresence
people_countpeoplepeople_count
power_wWenergy
pressurehPasensor
temperature°Csensor
voltage_vVenergy

Field types

How to read the bytes a reading comes from. be/le is byte order — big-endian first, which is the common case for BLE manufacturer data; check the datasheet when a value comes out absurdly large.

uint8 · int8 · uint16_be · uint16_le · int16_be · int16_le · uint24_be · uint24_le · int24_be · int24_le · uint32_be · uint32_le · int32_be · int32_le · float32_be · float32_le · bool · bit · bits · hex · ascii

Last updated:

Omaya platform documentation