prefixkit Ask an engineerAsk Support RU

Zigbee devices Other devices

Aqara ACN002

Smart Toilet T1. Works with Zigbee2MQTT with no vendor hub or cloud: it pairs with a Zigbee stick and shows up in Home Assistant.

Vendor
Aqara
Model
ACN002
Type
Other devices
Power
mains: usually a router that extends the mesh
Firmware updates (OTA)
yes, through Zigbee2MQTT

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
Lid switchlid_switch—settable
Seat switchseat_switch—settable
Night lightnight_light—settable
Seat tempseat_tempOff, Temp_31C, Temp_33C, Temp_35C, Temp_37C, Temp_39Csettable
Cleaning modecleaning_modeStop, Rear, Rear_Moving, Female, Female_Moving, Childsettable
Water tempwater_tempOff, Temp_31C, Temp_33C, Temp_35C, Temp_37C, Temp_39Csettable
Water pressurewater_pressureWeak, Slightly_Weak, Middle, Slightly_Strong, Strongsettable
Nozzle positionnozzle_positionBack, Slightly_Back, Middle, Slightly_Front, Frontsettable
Dryer tempdryer_tempOff, Normal, Low, Mid_Low, Middle, Mid_High, Highsettable
Nozzle cleannozzle_cleanOff, Auto, Manualsettable
Occupancy statusoccupancy_status—read only
Stop buttonstop_buttonSTOPsettable
Flush bigflush_bigFLUSHsettable
Flush smallflush_smallFLUSHsettable
Foam shieldfoam_shieldRELEASEsettable
Pre mist switchpre_mist_switch—settable
Auto foam on sitauto_foam_on_sit—settable
Auto foam on leaveauto_foam_on_leave—settable
Child seat modechild_seat_mode—settable
Foot sensor switchfoot_sensor_switch—settable
Auto flush after leaveauto_flush_after_leave—settable
Beeper switchbeeper_switch—settable

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:

{
  "lid_switch": false,
  "seat_switch": false,
  "night_light": false,
  "seat_temp": "Off",
  "cleaning_mode": "Stop",
  "water_temp": "Off",
  "water_pressure": "Weak",
  "nozzle_position": "Back",
  "dryer_temp": "Off",
  "nozzle_clean": "Off",
  "occupancy_status": false,
  "stop_button": "STOP",
  "flush_big": "FLUSH",
  "flush_small": "FLUSH",
  "linkquality": 120
}

Send commands to zigbee2mqtt/my_device/set:

mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"lid_switch":true}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"seat_switch":true}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"night_light":true}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"seat_temp":"Temp_31C"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"cleaning_mode":"Rear"}'

Watch the topics live from the browser: MQTT client.

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?