Home Assistant custom integration for Moen Smart Water Network irrigation controllers. Communicates with Moen's IoT API and uses AWS IoT MQTT for real-time device state updates.
- Real-time irrigation status via AWS IoT MQTT shadow and
/asynctopics - Zone enable/disable controls
- Schedule monitoring
- Device connectivity and watering state sensors
- Manual watering service
| Platform | Description |
|---|---|
binary_sensor |
Device connectivity and watering state |
sensor |
Device status, currently running zone |
switch |
Zone enable/disable, zone run status, schedule state |
| Service | Description |
|---|---|
moen_smart_water_network.start_watering |
Start a manual watering run on a zone |
- Copy the
custom_components/moen_smart_water_network/directory into your Home Assistantcustom_components/folder. - Restart Home Assistant.
- Go to Settings -> Devices & Services -> Add Integration and search for "Moen Smart Water Network".
- Enter your Moen OAuth2 access token and refresh token.
Add this repository as a custom repository in HACS, then install from there.
Configuration is done via the Home Assistant UI. You will need:
- Access token from Moen's OAuth2 flow
- Refresh token for automatic token renewal
Tokens can be obtained by intercepting the Moen mobile app's API traffic.
The integration uses a standalone moen_api package that separates:
auth— OAuth2 token management and AWS Cognito credential provisioningclient— REST API client for devices, zones, schedules, and irrigationmqtt— MQTT connection with shadow topics and/async/{DUID}for real-time irrigation run updatesmodels— TypedDict definitions for all API data structures
If you want to contribute to this please read the Contribution guidelines