prefixkit Ask an engineerAsk Support RU

Zigbee devices Temperature and humidity sensors

Tongou TOSA1-01WXJAT2A

Smart energy meter, two wire. Works with Zigbee2MQTT with no vendor hub or cloud: it pairs with a Zigbee stick and shows up in Home Assistant.

Vendor
Tongou
Model
TOSA1-01WXJAT2A
Type
Temperature and humidity sensors
Power
mains: usually a router that extends 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
EnergyenergykWhread only
VoltagevoltageVread only
CurrentcurrentAread only
PowerpowerWread only
AC frequencyac_frequencyHzread only
Power factorpower_factor%read only
Temperaturetemperature°Cread only
Eventeventnormal, over_current_trip, over_power_trip, high_temp_trip, over_voltage_trip, under_voltage_trip, over_current_alarm, over_power_alarm …read only
Over current settingover_current_settingIgnore, Alarmsettable
Over current thresholdover_current_thresholdA · 1…50settable
Over voltage settingover_voltage_settingIgnore, Alarmsettable
Over voltage thresholdover_voltage_thresholdV · 240…295settable
Under voltage settingunder_voltage_settingIgnore, Alarmsettable
Under voltage thresholdunder_voltage_thresholdV · 90…220settable
Temperature settingtemperature_settingIgnore, Alarmsettable
Temperature thresholdtemperature_threshold°C · -25…80settable
Over power settingover_power_settingIgnore, Alarmsettable
Over power thresholdover_power_thresholdW · 1000…26000settable

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:

{
  "energy": 3.21,
  "voltage": 230,
  "current": 0.06,
  "power": 12.4,
  "ac_frequency": 0,
  "power_factor": 0,
  "temperature": 21.6,
  "event": "normal",
  "over_current_setting": "Ignore",
  "over_current_threshold": 26,
  "over_voltage_setting": "Ignore",
  "over_voltage_threshold": 268,
  "under_voltage_setting": "Ignore",
  "under_voltage_threshold": 155,
  "linkquality": 120
}

Send commands to zigbee2mqtt/my_device/set:

mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"over_current_setting":"Alarm"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"over_voltage_setting":"Alarm"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"under_voltage_setting":"Alarm"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"temperature_setting":"Alarm"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"over_power_setting":"Alarm"}'

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: "Room too warm"
  mode: single
  triggers:
    - trigger: numeric_state
      entity_id: sensor.my_device_temperature
      above: 26
      for: "00:10:00"
  actions:
    - action: notify.notify
      data:
        message: "Temperature above 26 °C"

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?