prefixkit Ask an engineerAsk Support RU

Zigbee devices Lights and bulbs

Halo Smart Labs HALO+

Halo+ smart smoke & CO detector with weather radio. Works with Zigbee2MQTT with no vendor hub or cloud: it pairs with a Zigbee stick and shows up in Home Assistant.

Vendor
Halo Smart Labs
Model
HALO+
Type
Lights and bulbs
Power
battery: an end device, does not extend the mesh
Firmware updates (OTA)
no

Find it in shops: AliExpress

Links open a search in the shop; some are affiliate links: buying through them costs you nothing extra and supports this site. We do not sell devices or get them from manufacturers.

What it exposes

FeaturePropertyValuesControl
Smokesmoke—read only
Carbon monoxidecarbon_monoxide—read only
Tampertamper—read only
Low batterybattery_low—read only
Testtest—read only
Mains power connectedmains_power_connected—read only
Halo alert statehalo_alert_statesafe, pre_smoke, smoke, carbon_monoxide, weather, interconnect_smoke, interconnect_carbon_monoxide, silenced …read only
Roomroomnone, basement, bedroom, den, dining_room, downstairs, entryway, family_room …settable
Halo test resulthalo_test_resultidle, running, success, fail_ion, fail_photo, fail_co, fail_temperature, fail_weather …read only
Test in progresstest_in_progress—read only
Halo hush statehalo_hush_stateready, success, timeout, disabledread only
Hush activehush_active—read only
Hushhushstart, stopsettable
Test cycletest_cyclestart, cancelsettable
Co ppmco_ppmppmread only
Light (light)state, brightness, color_hson / off, brightness, colour (hue/sat)settable
Batterybattery% · 0…100read only
VoltagevoltagemVread only
Temperaturetemperature°Cread only
Humidityhumidity%read only
PressurepressurehParead only
Weather alertweather_alert—read only
Current weather alertcurrent_weather_alertNONE, AVA, AVW, BZW, CFA, CFW, DSW, EQW …read only
Weather alerts interestweather_alerts_interest—read only
Weather locationweather_location—settable
Weather stationweather_station1…7settable
Weather frequencyweather_frequency—read only
Weather playing stateweather_playing_statequiet, playingread only
Weather playbackweather_playbackplay, stopsettable

MQTT: state and commands

Zigbee2MQTT publishes the device state to zigbee2mqtt/my_device (my_device is the name you give the device). An example message:

{
  "smoke": false,
  "carbon_monoxide": false,
  "tamper": false,
  "battery_low": false,
  "test": false,
  "mains_power_connected": false,
  "halo_alert_state": "safe",
  "room": "none",
  "halo_test_result": "idle",
  "test_in_progress": false,
  "halo_hush_state": "ready",
  "hush_active": false,
  "hush": "start",
  "test_cycle": "start",
  "state_light": "ON",
  "brightness_light": 180,
  "linkquality": 120
}

Send commands to zigbee2mqtt/my_device/set:

mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"state_light":"ON","brightness_light":180}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"color":{"hex":"#ff8800"}}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"state_light":"OFF","transition":2}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"room":"basement"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"hush":"stop"}'

Watch the topics live from the browser: MQTT client.

Home Assistant automation example

Zigbee2MQTT creates Home Assistant entities from the device name. If it is called my_device, an automation in automations.yaml can look like this:

- alias: "Light at sunset"
  mode: single
  triggers:
    - trigger: sun
      event: sunset
      offset: "-00:15:00"
  actions:
    - action: light.turn_on
      target:
        entity_id: light.my_device
      data:
        brightness_pct: 70

Check the YAML: YAML checker.

How to pair it

  1. In Zigbee2MQTT click Permit join.
  2. Put the device in pairing mode: usually a long press of the reset button (5–10 s) until the LED blinks; bulbs: switch the power off and on 5–6 times.
  3. Keep the device close to the coordinator or a router while pairing.
  4. Give it a clear name: MQTT topics and Home Assistant entities are built from it.

Exact procedure and model notes: the device page in the Zigbee2MQTT docs. No coordinator yet: coordinator picker.

Similar devices

Idea?