[Release] Acuparse Weather Station Driver for Hubitat

I am running a local Acuparse instance and I wanted to get the data in, without the use of MakerApi calls.

This driver integrates directly with the Acuparse API to pull real-time weather data into your Hubitat system. It provides a clean, efficient way to monitor key weather metrics and supports both essential fields and optional extended attributes.

Features:

  • Polls weather data directly from your Acuparse instance via HTTP JSON API.

  • Supports both imperial and metric units (tempF/tempC, windMPH/windKMH, etc.).

  • Includes system health status and realtime status via the /api/system/health endpoint.

  • Essential fields always updated:

    • Temperature (Celsius / Fahrenheit)
    • Humidity
    • Wind speed (MPH / KMH)
    • Light intensity
    • UV index
    • Realtime status
  • Optional Pull All Fields toggle:

    • Allows pulling all available attributes from the API.
    • Disclaimer: Enabling this with short polling intervals may generate a large number of Hubitat events!
  • Automatic parsing and formatting of timestamp fields:

    • Adds both human-readable time and split attributes for _date and _time (e.g., lastUpdated_date, lastUpdated_time).
    • Timezone-aware (currently defaults to America/Denver, configurable in code).

Installation:

Recommended Settings:

  • Polling Interval: Minimum 15 seconds enforced.
  • Use Pull All Fields: Only if you really need full data — core fields cover most use cases.
  • Logging: Supports Debug, Info, and Warn levels for troubleshooting.

Example Use Cases:

  • Integrate local weather data into Hubitat dashboards.
  • Trigger automations based on temperature, wind speed, or UV index.
  • Monitor system health status of your Acuparse setup.

Feedback / Questions:

Feel free to report any issues or share your feedback. I’m open to feature requests and improvements!

I have an Atlas that provides the data. If anyone is using a 5-in-1, fields might be different and i could work on that if i can get a dump of the json with the 5-in-1 configured.

https://raw.githubusercontent.com/RamSet/hubitat/main/acuparse-weather-driver.groovy

2 Likes

I would try to use the Hubitat Capabilities where possible and rely less on custom attributes. It makes the device easier to integrate with other apps (e.g. Rule Machine, Watchtower, etc). I would also expose the temperature and windspeed with the measuring unit based on temp scale in the hub settings (celsius vs fahrenheit).

I didn’t think of that to be honest only because I use both types at the same time (inca nu m-am obișnuit cu F) for various endpoints. Same for KM vs M

Great suggestion though. I’ll most likely end up doing it, while leaving the custom too for particular needs (like mine).

1 Like

Updated the code.

Included Features:

  • Full Hubitat capabilities integration:

    • TemperatureMeasurement
    • RelativeHumidityMeasurement
    • IlluminanceMeasurement
    • UltravioletIndex (although this is not available as a capability for integration - can be used though as a custom attribute)
  • Custom windSpeed attribute with unit detection (MPH/KMH).

  • Auto-selects units based on hub’s location.temperatureScale.

  • Retains all raw attributes (e.g., temperatureF, windSpeedMPH, etc.).

Also added the option to add extra selectable fields on top of core fields.

They can be entered as comma separated values. The raw values would be obtained by pulling all fields once (and save the ones of interest).

1 Like