Home Assistant Weather Station: Your Hyperlocal Weather Data, Fully Automated

Weather apps tell you what is happening 5 miles away. A weather station on your roof tells you what is happening right now, in your garden, with data flowing straight into Home Assistant. Skip the irrigation when it just rained. Close the blinds when UV spikes. Get a frost warning before your plants freeze. This guide covers the best weather stations for HA, how to set them up, and the automations that make them worth every penny.

Check Your Devices Energy Monitoring Guide

Why Your Smart Home Needs Its Own Weather Station

Most people rely on weather apps that pull data from stations miles away. That is fine for knowing if you need an umbrella, but it is useless for smart home automations. Your microclimate (the actual conditions at your house) can differ significantly from the nearest official station. A hill, a body of water, or even a row of trees can shift temperature by several degrees and change wind patterns completely.

A weather station feeding data into Home Assistant gives you real, live numbers from your own property. And once that data is in HA, it becomes a trigger for automations that actually make your home smarter.

🌡️

Hyperlocal Accuracy

Your garden, your data. No more relying on a weather station at an airport 10 km away. Get readings that actually match what you see outside.

🤖

Smarter Automations

Trigger actions based on real wind speed, UV index, rainfall, and temperature. Your home responds to actual conditions, not forecasts.

🌱

Garden and Irrigation

Soil moisture sensors, rain gauges, and evapotranspiration data let you water only when needed. Save water and keep your plants happy.

📊

Historical Trends

Home Assistant stores every reading. Track patterns over weeks, months, and years. See how outdoor conditions affect your energy bills.

Best Weather Stations for Home Assistant in 2026

Not every weather station plays nicely with Home Assistant. Some require cloud APIs that can break without warning, others have native local integrations that just work. Here are the best options, ranked by how well they integrate with HA.

Ecowitt (GW2000 + Sensors)

Best Overall

Ecowitt is the gold standard for Home Assistant weather stations. The GW2000 gateway connects directly to HA over your local network, no cloud needed. Start with basic outdoor sensors and expand with soil moisture probes, indoor air quality monitors, lightning detectors, and more. The ecosystem has over 30 sensor types.

Price

$80 to $200+

Connection

Local (Wi-Fi)

HA Integration

Native + HACS

Cloud Required

No

Sensors included (HP2560 bundle): Temperature, humidity, barometric pressure, wind speed and direction, rainfall, UV index, solar radiation. Add soil moisture, PM2.5 air quality, lightning, and leaf wetness sensors separately.

Why it wins: 100% local, huge sensor ecosystem, affordable, active HA community support. The Ecowitt integration (HACS) creates individual sensors for every metric, ready for automations and dashboards.

WeatherFlow Tempest

Best All-in-One

The Tempest is a single, sleek unit with no moving parts. It uses a haptic rain sensor instead of a tipping bucket and a sonic anemometer instead of spinning cups. Solar powered, no batteries to replace. Looks great on your roof. The downside: data goes through the WeatherFlow cloud before reaching Home Assistant.

Price

$329

Connection

Local UDP + Cloud

HA Integration

Native

Cloud Required

Partial (UDP local)

Sensors: Temperature, humidity, pressure, wind speed and direction, rain, UV, solar radiation, lightning detection, illuminance.

Why pick it: Beautiful design, no maintenance, lightning detection built in. The native HA integration (WeatherFlow) uses local UDP broadcast, so most data arrives without internet. Cloud API provides forecast data and rain correction algorithms.

Ambient Weather (WS-2902 / WS-5000)

Best Budget (USA)

Ambient Weather stations are popular in the US and offer solid hardware at competitive prices. The WS-2902 is a great entry point, while the WS-5000 uses a separate sensor array for better accuracy. Both integrate with HA through the Ambient Station integration, but it requires a cloud API connection.

Price

$170 to $400

Connection

Cloud API

HA Integration

Native

Cloud Required

Yes

Sensors: Temperature, humidity, pressure, wind speed and direction, rainfall, UV, solar radiation. WS-5000 adds soil moisture and PM2.5 options.

Pro tip: Ambient Weather stations are also compatible with Ecowitt firmware. Some users flash their Ambient consoles to use the Ecowitt local integration, eliminating the cloud dependency entirely.

DIY ESP32 + ESPHome

Cheapest and Most Flexible

Build exactly the station you want with an ESP32 board and off the shelf sensors. ESPHome firmware makes each sensor a native Home Assistant entity. No gateway, no cloud, no subscription. The tradeoff: you need to build and weatherproof it yourself, and calibration takes some patience.

Price

$15 to $60

Connection

Local (Wi-Fi)

HA Integration

Native (ESPHome)

Cloud Required

No

Common sensors: BME280 (temp/humidity/pressure), BH1750 (light), VEML6075 (UV), Davis rain gauge, wind speed kit (hall effect anemometer), capacitive soil moisture probes.

Weather Station Comparison

Here is how the four main options stack up against each other. Pick based on your priorities: local control, budget, accuracy, or convenience.

FeatureEcowittTempestAmbientDIY ESP32
Starting Price$80$329$170$15
Local Control✅ Full⚠️ Partial❌ Cloud✅ Full
Sensor Expandability✅ 30+ types❌ Fixed⚠️ Limited✅ Unlimited
MaintenanceLow (batteries)None (solar)Low (batteries)Medium
Rain AccuracyGoodFair (haptic)GoodVaries
Lightning DetectionAdd-on ($30)✅ Built-inAdd-on ($8)
Soil Moisture✅ Add-on ($15)⚠️ WS-5000 only✅ Add-on ($3)
Setup DifficultyEasyVery EasyEasyAdvanced

Our recommendation

For most Home Assistant users, the Ecowitt GW2000 with the HP2560 sensor bundle is the sweet spot. It gives you accurate data, works 100% locally, and you can add soil moisture and air quality sensors later. If you want zero maintenance and a beautiful design, the Tempest is hard to beat. If you enjoy building things, the ESP32 route is the most rewarding (and cheapest).

DIY Weather Station with ESP32 and ESPHome

Building your own weather station is one of the most satisfying Home Assistant projects. Here is what you need for a full outdoor station that reports temperature, humidity, pressure, light, UV, wind, and rain.

Shopping List

Essential (under $20)

  • ESP32 dev board ($4)
  • BME280 sensor: temp, humidity, pressure ($3)
  • BH1750 light sensor ($2)
  • Weatherproof enclosure ($5)
  • USB cable and power adapter ($3)

Full Station (under $60)

  • Everything above ($17)
  • VEML6075 UV sensor ($3)
  • Wind speed anemometer kit ($12)
  • Tipping bucket rain gauge ($15)
  • Capacitive soil moisture probe ($3)
  • AS3935 lightning detector ($8)

Sample ESPHome Configuration

This YAML config gets temperature, humidity, pressure, and light readings into Home Assistant:

esphome:
  name: weather-station
  platform: ESP32
  board: esp32dev

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

i2c:
  sda: GPIO21
  scl: GPIO22

sensor:
  - platform: bme280_i2c
    temperature:
      name: "Outdoor Temperature"
      oversampling: 16x
    pressure:
      name: "Barometric Pressure"
    humidity:
      name: "Outdoor Humidity"
    address: 0x76
    update_interval: 60s

  - platform: bh1750
    name: "Outdoor Illuminance"
    address: 0x23
    update_interval: 60s

  - platform: pulse_counter
    pin: GPIO14
    name: "Wind Speed"
    unit_of_measurement: "km/h"
    filters:
      - multiply: 0.24  # calibrate for your anemometer
    update_interval: 10s

  - platform: pulse_counter
    pin: GPIO27
    name: "Rainfall"
    unit_of_measurement: "mm"
    filters:
      - multiply: 0.2794  # per tip in mm
    update_interval: 60s

Flash this to your ESP32 from the ESPHome dashboard in Home Assistant, and the sensors appear automatically. For more on ESPHome projects, check our ESPHome guide.

Setting Up Your Weather Station with Home Assistant

1

Mount the Station

Place outdoor sensors at least 1.5 meters above ground, away from walls and heat sources. A pole mount in an open area is ideal. The rain gauge needs a clear view of the sky. Wind sensors should be the highest point, ideally above your roofline. Most stations come with a mounting pole and bracket.

2

Connect to Your Network

Ecowitt: Use the WSView Plus app to connect the GW2000 to your Wi-Fi. Then configure the "Customized" server to point to your Home Assistant IP on port 4199 (the Ecowitt integration listens there).

Tempest: Use the WeatherFlow app to pair the station. HA discovers it automatically via UDP broadcast on your local network.

ESP32: Flash ESPHome, connect to Wi-Fi, and HA auto-discovers it.

3

Install the Integration

Go to Settings > Devices & Services > Add Integration and search for your station type. For Ecowitt, install the HACS version for better entity control. For Tempest, the native WeatherFlow integration works out of the box. For Ambient Weather, you will need your API and app keys from the Ambient Weather dashboard.

4

Verify and Calibrate

Check Developer Tools > States to confirm data is flowing. Compare readings against a known reference (a reliable thermometer, a local weather station). Adjust offsets in the integration settings or ESPHome config if needed. Temperature sensors near walls or pavement will read high, so placement matters more than calibration.

5

Enable Long-term Statistics

Weather data is most useful when you can see trends. Make sure your sensors are set up as long-term statistics entities in HA (most are by default). This lets you create graphs showing temperature patterns over weeks and months, and correlate outdoor conditions with your energy consumption.

5 Weather Station Automations That Actually Matter

Having weather data in Home Assistant is nice. Using it to make your home react to conditions is the real payoff.

1. Frost Warning Alert

Get a notification when outdoor temperature drops below 2°C so you can protect plants or pipes.

automation:
  - alias: "Frost Warning"
    trigger:
      - platform: numeric_state
        entity_id: sensor.outdoor_temperature
        below: 2
    condition:
      - condition: time
        after: "18:00:00"
        before: "09:00:00"
    action:
      - service: notify.mobile_app
        data:
          title: "🥶 Frost Warning"
          message: >
            Outdoor temperature is {{states('sensor.outdoor_temperature')}}°C.
            Cover tender plants and check exposed pipes.

2. Skip Irrigation After Rain

Cancel scheduled watering if your rain gauge measured more than 3mm in the past 24 hours.

automation:
  - alias: "Skip Irrigation After Rain"
    trigger:
      - platform: time
        at: "06:00:00"
    condition:
      - condition: numeric_state
        entity_id: sensor.rain_daily
        above: 3
    action:
      - service: switch.turn_off
        entity_id: switch.irrigation_zone_1
      - service: notify.mobile_app
        data:
          message: >
            Skipping irrigation. {{states('sensor.rain_daily')}}mm
            of rain recorded in the last 24 hours.

3. Close Blinds on High UV

Protect furniture from sun damage and keep rooms cool by closing south-facing blinds when UV gets intense.

automation:
  - alias: "Close Blinds High UV"
    trigger:
      - platform: numeric_state
        entity_id: sensor.outdoor_uv_index
        above: 7
    condition:
      - condition: state
        entity_id: cover.south_blinds
        state: "open"
    action:
      - service: cover.close_cover
        entity_id: cover.south_blinds

4. Wind Protection for Awnings

Retract awnings or pergola covers when wind speed exceeds a safe threshold to prevent damage.

automation:
  - alias: "Retract Awning High Wind"
    trigger:
      - platform: numeric_state
        entity_id: sensor.wind_speed
        above: 35  # km/h
    action:
      - service: cover.close_cover
        entity_id: cover.patio_awning
      - service: notify.mobile_app
        data:
          message: >
            Awning retracted. Wind speed at
            {{states('sensor.wind_speed')}} km/h.

5. Smart Thermostat Based on Outdoor Trends

Preheat your home when outdoor temperature is dropping fast, instead of waiting until the house gets cold.

automation:
  - alias: "Preheat on Rapid Temp Drop"
    trigger:
      - platform: template
        value_template: >
          {{states('sensor.outdoor_temperature') | float
            - state_attr('sensor.outdoor_temperature',
              'last_hour_average') | float(0) < -3}}
    action:
      - service: climate.set_temperature
        data:
          entity_id: climate.thermostat
          temperature: 21
      - service: notify.mobile_app
        data:
          message: "Preheating: outdoor temp dropping fast."

For more automation ideas, check our 30 best Home Assistant automations and blueprints guide.

Building a Weather Dashboard

A dedicated weather dashboard card is one of the most satisfying things in Home Assistant. Here are the best cards to use:

Weather Card

The built-in weather card shows current conditions and a 5-day forecast. Pair it with the Forecast Solar integration for solar production predictions alongside your weather data.

Mini Graph Card (HACS)

Show temperature, humidity, and pressure trends over time. Stack multiple sensors in one graph with different colors. Great for spotting patterns over days and weeks.

Wind Rose Card (HACS)

A compass-style visualization showing wind speed and direction distribution. Useful if wind direction affects your heating, awnings, or outdoor activities.

Mushroom Cards

Clean, minimal sensor chips that fit perfectly on a weather panel. Show outdoor temp, humidity, wind, and rain in compact chips that update in real time.

For more dashboard inspiration, see our dashboard examples guide.

Placement Tips for Accurate Readings

A weather station is only as good as where you put it. Bad placement is the number one reason people get inaccurate readings.

Temperature Sensor

  • Mount in shade, ideally with a radiation shield
  • At least 1.5m above ground
  • Away from walls, pavement, and AC units
  • Good airflow around the sensor

Wind Sensor

  • Highest point possible, above roofline
  • Clear of obstructions in all directions
  • At least 3m above nearest obstacle
  • Secure mounting to avoid vibrations

Rain Gauge

  • Clear view of the sky, no overhanging trees
  • Level surface, check with a spirit level
  • Away from walls that create splash-back
  • Clean debris monthly for accurate tips

Soil Moisture Probe

  • Bury at root depth of your plants (10 to 20cm)
  • Place in a representative area, not the driest or wettest spot
  • Use capacitive probes, not resistive (they corrode)
  • Consider multiple zones for different plant types

Which Weather Station Should You Get?

Starter

$15 to $20

ESP32 + BME280

  • Temperature, humidity, pressure
  • Light level
  • 100% local, no cloud
  • Fun weekend project

Best for: tinkerers who want to start small

Recommended

$100 to $150

Ecowitt GW2000 + HP2560

  • Full weather data (temp, wind, rain, UV)
  • Local integration, no cloud
  • Expandable sensor ecosystem
  • 15 minute setup

Best for: most Home Assistant users

Premium

$329

WeatherFlow Tempest

  • All-in-one, no moving parts
  • Solar powered, zero maintenance
  • Built-in lightning detection
  • Beautiful design

Best for: set it and forget it types

Frequently Asked Questions

What is the best weather station for Home Assistant?

The Ecowitt GW2000 with HP2560 sensors is the best overall. It works 100% locally, supports 30+ sensor types, and has excellent HA integration through HACS. For an all-in-one with zero maintenance, the WeatherFlow Tempest is the premium pick. For the cheapest option, build your own with ESP32 and ESPHome.

Can I build a DIY weather station for Home Assistant?

Yes. An ESP32 board with ESPHome firmware and a BME280 sensor gives you temperature, humidity, and barometric pressure for under $15. Add a rain gauge, anemometer, and UV sensor to build a full station for around $40 to $60. Everything connects locally to HA over Wi-Fi.

Does a weather station work with Home Assistant without internet?

Ecowitt and DIY ESP32 stations work 100% locally with no internet. The WeatherFlow Tempest sends most data via local UDP broadcast, so basic readings work offline, but forecast and rain correction features need cloud access. Ambient Weather requires internet for the API integration.

What automations can I create with weather data?

Weather data powers some of the most practical automations: frost alerts, skip irrigation after rain, close blinds on high UV, retract awnings in high wind, preheat based on outdoor temperature drops, trigger dehumidifiers, send storm warnings, and correlate outdoor conditions with energy usage. See our automations guide for more ideas.

How accurate are consumer weather stations?

A well-placed consumer station is more accurate for your specific location than any weather service, which may pull data from a station miles away. Typical accuracy: temperature within 0.5°C, humidity within 3 to 5%, wind speed within 10%, and rainfall within 10%. Proper placement matters more than the brand you choose.

Can I use Ecowitt sensors without the Ecowitt cloud?

Yes. The Ecowitt GW2000 gateway can send data directly to Home Assistant over your local network. You configure it to push data to your HA IP address using the "Customized Server" option in the WSView Plus app. No Ecowitt account or cloud connection needed.

How do I combine weather station data with forecast data?

Use your local station for current conditions and triggers, then add the Forecast Solar or OpenWeatherMap integration for predictions. This gives you the best of both worlds: accurate real-time data from your garden plus forecast data for planning automations ahead of time. Template sensors can combine both sources into a single dashboard view.

Ready to Make Your Home Weather-Aware?

Check if your existing smart home devices are compatible with Home Assistant. Our free scan takes 30 seconds and shows you exactly what works.

Free Compatibility Scan Starter Kit Guide