Fetch water monitoring data from NOAA NWPS (National Water Prediction Service) and expose real-time water stage, flow, and flood information in Home Assistant.
- Real-time Water Data: Stage, flow, and forecast data from NOAA NWPS
- Configurable Sensors: Choose which parameters to monitor (Stage, Flow, Forecast Stage/Flow, etc.)
- Flood Alerts: Binary sensors for observed and forecast flood conditions
- Multi-station Support: Monitor multiple water stations simultaneously
- Device Info: Includes station coordinates and metadata for map integration
- Open HACS in Home Assistant
- Click the three dots (⋮) → Custom repositories
- Add this URL:
https://github.com/ncecowboy/Home-Assistant-NWPS - Select Integration as the category
- Click Create
- Find "National Water Prediction Service" in HACS and click Install
- Restart Home Assistant
- Go to Settings → Devices & Services → Create Integration
- Search for and select National Water Prediction Service
- Enter your NOAA NWPS station ID (e.g.,
COCO3)
- Download or clone this repository
- Copy the
custom_components/nwps_waterfolder to your Home Assistantcustom_componentsdirectory:git clone https://github.com/ncecowboy/Home-Assistant-NWPS.git cp -r Home-Assistant-NWPS/custom_components/nwps_water ~/. homeassistant/custom_components/ - Restart Home Assistant
- Go to Settings → Devices & Services → Create Integration
- Search for and select National Water Prediction Service
- Enter your NOAA NWPS station ID
After installation, the integration will create sensors based on your selected parameters:
- Stage (feet) - Current water stage/level
- Flow (cfs) - Current water flow (cubic feet per second)
- Forecast Stage (feet) - Predicted water stage
- Forecast Flow (cfs) - Predicted water flow
- Observed Flood Category - Current flood status (None/Action/Minor/Moderate/Major)
- Forecast Flood Category - Predicted flood status
- Flood Thresholds - Minor, Moderate, and Major flood stage levels
- Station Metadata - Latitude, Longitude, Elevation, River Mile
- Observed Flood Active - True if current flood category >= Minor
- Forecast Flood Expected - True if predicted flood category >= Minor
- Visit NOAA NWPS API Documentation
- Use the
/gaugesendpoint to browse available stations - Look for your location and note the station ID (e.g.,
COCO3,SACR1) - Example station:
COCO3(Clackamas River near Oregon City, Oregon)
automation:
- alias: "Flood Warning Alert"
trigger:
platform: state
entity_id: binary_sensor.nwps_coco3_forecast_flood
to: "on"
action:
- service: notify.notify
data:
message: "Flood expected at COCO3 station!"
title: "NWPS Alert"- Check that your station ID is correct
- Verify the station is active on the NWPS API
- Check Home Assistant logs for API errors
- Note: The integration retains sensor data for up to 1 hour during temporary API unavailability. Sensors will only become unavailable if the API remains inaccessible for more than 1 hour.
- Some stations may not provide all data types
- The integration filters out sentinel values (-999) that indicate missing data
- Check your parameter selection in the integration options
By default, the integration polls every 300 seconds (5 minutes). You can adjust this in the integration options.
All data is provided by NOAA (National Oceanic and Atmospheric Administration) through the National Water Prediction Service API.
Learn more: NOAA Water Data
- Documentation: NWPS API Docs
- Issues: GitHub Issues
- Repository: GitHub
This integration is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
- 1.4.0 - Simplified entity IDs to use station ID format (e.g.,
sensor.coco3_stage); added 1-hour data retention during temporary API unavailability - 1.0.0 - Initial release with full NWPS integration support