[BETA] Aqara Climate Sensor W100 Zigbee Driver

This custom driver connects your Aqara Climate Sensor W100 (Amazon link) directly to your Hubitat Elevation hub via Zigbee protocol. No additional hubs, bridges, or cloud dependencies required - just pure local control.

The driver can be installed manually from GitHub or using the community Hubitat Package Manager app. (TODO)

:no_entry_sign: No Aqara Hub Needed: Direct Zigbee connection to your Hubitat hub
:no_entry_sign: No Cloud Dependencies: Everything runs locally on your network
:zap: Easy Setup: Install driver, pair device via Zigbee, configure preferences - done
:wrench: Full Feature Support: All device capabilities work out-of-the-box (Temp/Humi & Buttons only for now)
:house: Native Hubitat Integration: Full support for Hubitat automations, dashboards, and apps
:battery: Battery Powered: Long-lasting battery operation with voltage monitoring
:iphone: Button Controls: Three physical buttons with multiple action types


Aqara Climate Sensor W100

Aqara Climate Sensor W100 Aqara Climate Sensor W100 Features:
• Zigbee 3.0 wireless protocol with local control
• Battery-powered operation with long life
Temperature: High-precision measurement with alerts
Humidity: Relative humidity monitoring with thresholds
LCD Display: Clear readings with auto-off feature
Button Controls: Plus, Center, Minus buttons with multiple actions
Temperature Range: -20°C to +60°C (-4°F to +140°F)
Humidity Range: 0-98% RH, no condensation
Advanced Configuration: Customizable reporting modes and intervals
Climate Monitoring Features:
• Real-time temperature and humidity monitoring
• High/low temperature and humidity alerts
• Configurable reporting thresholds and periods
• Internal and external sensor support
• Power outage detection and counting
• Device health monitoring with diagnostics
• Battery voltage reporting and percentage
• Multiple sampling rate options
W100 Dimensions
W100 Button Interface Multi-Function Button Controls:
Plus Button: Upper button for interactions
Center Button: Main control button
Minus Button: Lower button for adjustments
Action Types: Push, Hold, Double-tap, Release
Hubitat Integration: Full button capability support
Automation Ready: Use buttons for scene control and triggers
Advanced Features:
• Configurable sampling rates for optimal battery life
External sensor support for specialized monitoring
• Power outage detection and counting
• Comprehensive device health diagnostics
• Local Zigbee control without cloud dependencies
• Full Hubitat dashboard and automation integration
W100 Advanced Features

Driver Description

The Aqara Climate Sensor W100 Zigbee driver is a work in progress. The basic functionalities (temperature & humidity reporting and the three keys) are working, but adding the external sensor readings to the display and HVAC control is not available (yet).

Aqara W100 Commands and Attributes

Main Attributes

Core Climate Monitoring:
temperature: Current temperature reading in °C or °F
humidity: Relative humidity percentage (0-100% RH)
healthStatus: Device health status ['online', 'offline']

Display and Device Settings:
displayOff: LCD display auto-off setting ['disabled', 'enabled']
sensor: Active sensor mode ['internal', 'external']
sampling: Sensor sampling rate ['low', 'standard', 'high', 'custom']
period: Custom sampling period in seconds
Status: Device operational status

Temperature Configuration:
highTemperature: High temperature alert threshold
lowTemperature: Low temperature alert threshold
tempReportMode: Temperature reporting mode ['no', 'threshold', 'period', 'threshold_period']
tempPeriod: Temperature reporting period
tempThreshold: Temperature change threshold for reporting

Humidity Configuration:
highHumidity: High humidity alert threshold
lowHumidity: Low humidity alert threshold
humiReportMode: Humidity reporting mode ['no', 'threshold', 'period', 'threshold_period']
humiPeriod: Humidity reporting period
humiThreshold: Humidity change threshold for reporting

Button Interface:
numberOfButtons: Button count (3 buttons available)
supportedButtonValues: JSON array of supported button actions
pushed: Last pushed button number
held: Last held button number
doubleTapped: Last double-tapped button number
released: Last released button number

Network and Diagnostics:
rtt: Network round-trip time in milliseconds
powerOutageCount: Power outage detection counter (if available)
powerSource: Power source type ['battery']

Advanced Configuration Attributes

These additional attributes provide specialized functionality and can be configured through the device preferences:

External Sensor Support:
externalTemperature: External temperature sensor reading (when in external mode)
externalHumidity: External humidity sensor reading (when in external mode)

Battery and Power Management:
• Battery monitoring attributes are currently work-in-progress (W.I.P.)
powerSource: Shows 'battery' as the power source

Device Health and Diagnostics:
healthStatus: Real-time device connectivity status
rtt: Network latency measurement for troubleshooting
Status: Overall device operational status

Note: All temperature and humidity configuration attributes (thresholds, reporting modes, periods) are now exposed as main attributes and can be directly monitored and configured through the device interface.

Commands

Device Management:
configure() - Configure device settings and initialize Zigbee attributes
refresh() - Refresh all device attributes and current readings
ping() - Test network connectivity and measure round-trip time

Button Commands:
push() - Momentary push (simulates center button press)
push(buttonNumber) - Simulate a button push event (button number 1-3)
hold(buttonNumber) - Simulate a button hold event (button number 1-3)
doubleTap(buttonNumber) - Simulate a button double-tap event (button number 1-3)
release(buttonNumber) - Simulate a button release event (button number 1-3)

Configuration Commands:
*** LOAD ALL DEFAULTS *** - Load all default settings and preferences
Configure the device - Configure device settings and initialize Zigbee attributes
Reset Statistics - Reset device statistics and counters
Delete All Preferences - Remove all stored preferences (reset to factory defaults)
Delete All Current States - Clear all current device state information
Delete All Scheduled Jobs - Cancel all scheduled device tasks
Delete All State Variables - Clear all internal state variables
Delete All Child Devices - Remove any associated child devices

Note: Button commands accept button numbers 1, 2, or 3 corresponding to the Plus, Center, and Minus buttons respectively. These commands can be used for testing or automation purposes to simulate physical button presses.

Preferences

Aqara W100 Preferences

Basic Settings

Enable descriptionText logging (enabled) - Enable descriptive text logging for device events
Enable debug logging (enabled) - Enable debug logging for troubleshooting (auto-disables after 24 hours)
Enable trace logging (disabled) - Enable detailed trace logging for 30 minutes

Advanced Options

HealthCheck Method - Method to check device online/offline status

  • Options: Activity check, Every 4 hours
    HealthCheck Interval - Interval between health status checks
  • Options: Every 4 hours (and other intervals)
    Battery Voltage to Percentage (disabled) - Convert battery voltage to battery percentage

Device Profile and Display

Device Profile - Manually change the Device Profile if auto-detection fails

  • Options: Aqara Climate Sensor W100
    Display Off - Enable/disable automatic display shutdown
  • Options: Enabled/disabled auto display off

Temperature Configuration

High Temperature (60.0°C) - High temperature alert threshold

  • Range: 26.0-60.0°C
    Low Temperature (-20.0°C) - Low temperature alert threshold
  • Range: -20.0-20.0°C
    Temperature Report Mode (period) - How temperature changes are reported
  • Options: no, threshold, period, threshold_period
    Temperature Period (10.0 sec) - Temperature reporting period
  • Range: 1.0-10.0 seconds
    Temperature Threshold (0.5°C) - Temperature change threshold for reporting
  • Range: 0-3°C

Humidity Configuration

High Humidity (65.0%) - High humidity alert threshold

  • Range: 65.0-100.0%
    Low Humidity (30.0%) - Low humidity alert threshold
  • Range: 0.0-30.0%
    Humidity Report Mode (threshold) - How humidity changes are reported
  • Options: no, threshold, period, threshold_period
    Humidity Period (30.0 sec) - Humidity reporting period
  • Range: 1.0-10.0 seconds
    Humidity Threshold (3.0%) - Humidity change threshold for reporting
  • Range: 2.0-10.0%

Sampling Configuration

Sampling (high) - Temperature and humidity sampling settings

  • Options: low, standard, high, custom
    Sampling Period (2.0 sec) - Sampling period for custom mode
  • Range: 0.5-600.0 seconds

Device State

Default Current State - Set the default current state

  • Options: healthStatus (and others)

Advanced Features

Zigbee Attribute Control:
The driver provides direct access to all Aqara proprietary cluster (0xFCC0) attributes, allowing fine-grained control over device behavior including reporting modes, thresholds, and sampling rates.

Button Capabilities:
Full support for all three physical buttons with push, hold, double-tap, and release actions using the integrated buttonLib library. The driver provides comprehensive button capabilities including PushableButton, HoldableButton, DoubleTapableButton, ReleasableButton, and Momentary capabilities. Perfect for scene control and automation triggers with both physical button presses and programmatic button simulation.

External Sensor Support:
The W100 can work with external temperature and humidity sensors, with the driver automatically detecting and reporting readings from both internal and external sources.
(NOT working yet!)

Health Monitoring:
Comprehensive device health tracking including power outage detection, parent network tracking, uptime monitoring, and battery health reporting.

Local Control:
All functionality operates locally without cloud dependencies. The device communicates directly with your Hubitat hub via Zigbee protocol.


Installation and Setup

TODO


Troubleshooting

TODO

8 Likes

Reserved.

Good news! After many attempts, the secondary Temperature and Humidity sensor has shown up in HE! :tada:

4 Likes

Thank you for the driver. I just bought one and have it connected to Hubitat. Was hoping to use it to control individual room temps. Do you know if there is a way to use the three buttons to set a temperature for a room? In the documentation it states to hit button "o" and then use +/- to adjust but the functionality doesn't appear to work.

1 Like

Pairing the W100 with a thermostat is currently only supported within the Aqara ecosystem. Even Home Assistant / Zigbee2MQTT does not support it at this time...

What type of thermostat do you have? In HE, you can use the events generated from the three buttons in an RM5 rule. For example, you can turn the thermostat on or off using the middle button, and adjust the temperature using the top and bottom buttons.

1 Like