[RELEASE] New Netatmo Weather Station Integration
I put together a new Hubitat integration for Netatmo Weather Station devices: Netatmo Weather Station Connect.
This is for Netatmo Weather Station base stations and modules. It does not support other Netatmo product lines.
I built this partly as a learning project and partly because I wanted a fresh implementation centered around current OAuth handling, discovery, polling, and child devices after recurring issues with authentication using another integration. This isn't meant as criticism of existing community work; it's simply another option.
The main design goal was to keep responsibilities separated: the parent app handles Netatmo OAuth, API calls, discovery, polling, data normalization, and child-device management, while the child drivers only consume normalized data and publish Hubitat events. That should make the integration easier to troubleshoot and maintain over time.
Supported devices
- Base Station
- Outdoor Module
- Additional Indoor Module
- Rain Gauge
- Wind Gauge
Features
- OAuth-based Netatmo authentication, with no callback URL or Redirect URI to configure
- Guided setup that hides what you can't use yet, finds your devices automatically after authorization, and tells you if a step is incomplete
- Station/module discovery and selection
- Child devices for supported modules
- Scheduled polling and manual refresh
- Diagnostics for troubleshooting missing/stale values
- App-level unit preferences for temperature, pressure, rain, wind speed, and wind direction display
- Daily min/max temperature values where Netatmo provides them
Installation
Install with Hubitat Package Manager (HPM) by searching for Netatmo Weather Station Connect.
If you prefer not to use HPM, you can also install manually from the source files in GitHub. Install the drivers you need first, then the parent app.
Setup takes two stages: create an application at dev.netatmo.com to get a Client ID and Client Secret, then paste those into the integration under Integrations on your hub and click Authorize Netatmo. There is no callback URL to copy and no Redirect URI to configure. The README walks through it step by step, including the Netatmo portal navigation:
- README / full setup details: https://github.com/brossow/hubitat-drivers/tree/main/netatmo-weather-station
- Package manifest: https://raw.githubusercontent.com/brossow/hubitat-drivers/main/netatmo-weather-station/packageManifest.json
Testing status
Base station and outdoor module support have been tested live on my Hubitat hub.
Indoor module, rain gauge, and wind gauge support use the same parent-to-child update pattern and normalized Netatmo API data, but I don't currently have all of that hardware available for full live testing. I would especially appreciate feedback from anyone with:
- Additional Indoor Module
- Active Rain Gauge
- Wind Gauge
Rain and wind values depend on what Netatmo returns for active/reachable modules. If a module is stale or unreachable, Netatmo may return metadata such as last_seen and reachable=false without current dashboard_data values.
Notes and limitations
- This supports Netatmo Weather Station devices only.
- It is not intended as a drop-in replacement for other Netatmo integrations; dashboards, rules, and automations may need to be updated if you switch.
- Polling updates existing selected child devices; manual sync creates child devices.
- Child devices are not automatically deleted.
- The integration depends on Netatmo API availability.
- Wind speed units include km/h, mph, m/s, and knots. Wind direction can be shown as angle, text direction, or both.
- This is an independent Hubitat integration and is not affiliated with or endorsed by Netatmo.
Feedback and bug reports are welcome here or as GitHub issues. Reports from people with indoor/rain/wind modules would be particularly helpful.
Changelog
v0.4.0
- Removed the callback URL / Redirect URI step entirely — it was never required, and a stale saved Redirect URI was the cause of
redirect_uri_mismatchfailures. - Failed authorization now explains how to fix the specific error instead of printing a raw error code.
- Setup page hides Diagnostics, Discovery, Child Devices, Units, and Polling until you're authorized, so first-run isn't a wall of unusable controls. Logging stays visible for troubleshooting.
- Connection test and station discovery now run automatically after authorizing, so your devices are already listed when you return.
- Child Devices is hidden until you actually select a device, with a clear prompt when nothing is selected — the create button can no longer be clicked in a state where it does nothing.
- Child Devices now reports live state (how many selected devices exist right now) rather than replaying the last sync result, which could claim devices existed after they'd been deleted.
- Added a prominent reminder that nothing is saved until you click Done at the bottom right. It disappears once the app has been installed.
- Test getstationsdata renamed to Test Netatmo connection, with plain-language status messages.
- Sync child labels from Netatmo names hidden until at least one child device exists (it previously did nothing silently).
- Rewrote the setup documentation, including Netatmo developer portal navigation and corrected Hubitat navigation.
v0.3.0
- Added additional Netatmo fields, including base station absolute pressure, sound pressure level, firmware, battery voltage, data types, and optional health fields where Netatmo provides them.
- Expanded field diagnostics to show more raw and normalized metadata.
- Improved base station timestamp handling when Netatmo does not provide
last_seenorlast_message.
v0.2.1
- Added scheduled-poll stale detection in the parent app UI.
- Added Reschedule polling to refresh Hubitat’s scheduled poll job.
- Improved scheduled-poll error handling so unexpected failures update app status instead of failing silently.
- Clarified setup documentation, including that package installation alone does not create child devices.
v0.2.0
- Added daily minimum/maximum temperature values and timestamps where Netatmo provides them.
- Added knots as a wind speed unit option.
- Added wind direction display options: numeric angle, text direction, or both.
v0.1.1
- Added Run poll now.
- Improved first-poll status text.
- Added Clear field diagnostics.
v0.1.0
- Initial public preview.

