Push weather data

The Push weather data action sends weather measurements from Home Assistant to a RainMachine controller. RainMachine uses this data to decide how much to water, so feeding it accurate local weather can improve its watering decisions.

This is useful when you have a personal weather station in Home Assistant and want RainMachine to use its readings instead of, or in addition to, online forecasts.

Using this action from the user interface

If you prefer building automations and scripts visually, Home Assistant walks you through this action step by step. You pick what to target, tweak a few options, and save. No YAML knowledge required.

To push weather data from an automation or a script:

  1. Go to Settings > Automations & scenes.
  2. Open an existing automation or script, or select Create automation > Create new automation.
  3. If you’re setting up a new automation, add a trigger in the When section. Scripts don’t need a trigger. They run when something else calls them.
  4. In the Then do section, select Add action.
  5. From the search box, search for and select RainMachine: Push weather data.
  6. Select the Controller and set the weather values you want to send.
  7. Select Save.

Options in the UI

Controller (Required)

The controller for the weather data to be pushed.

Timestamp (Optional)

UNIX timestamp for the weather data. If omitted, the controller’s local time at the moment of the call is used.

Min temperature (Optional)

Minimum temperature in the current period, in °C.

Max temperature (Optional)

Maximum temperature in the current period, in °C.

Temperature (Optional)

Current temperature, in °C.

Wind speed (Optional)

Current wind speed, in m/s.

Solar radiation (Optional)

Daily solar radiation, in MJ/m²/d.

Evapotranspiration (Optional)

Evapotranspiration, in mm.

Quantitative Precipitation Forecast (Optional)

Quantitative Precipitation Forecast (QPF), in mm. Send the measured or forecasted value per hour or day, not a cumulative value.

Measured rainfall (Optional)

Measured rainfall, in mm. Send the measured or forecasted value per hour or day, not a cumulative value.

Min relative humidity (Optional)

Minimum relative humidity in the current period, in %RH.

Max relative humidity (Optional)

Maximum relative humidity in the current period, in %RH.

Weather condition code (Optional)

Current weather condition code (WNUM).

Barometric pressure (Optional)

Current barometric pressure, in kPa.

Dew point (Optional)

Current dew point, in °C.

Using this action in YAML

If you work directly in YAML, or you want to know exactly what Home Assistant does under the hood, this section has the technical reference. It lists the field names you use in YAML, their types, and which ones are required.

In YAML, refer to this action as rainmachine.push_weather_data. A basic example looks like this:

ActionActions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called *sequence*. [Learn more]
action: rainmachine.push_weather_data
data:
  device_id: 4de41b1e3d8f0b6e3c0e2a3b1f5a7c9d
  temperature: 21.5
  rain: 2.4

Options in YAML

device_id string Required

The controller for the weather data to be pushed.

timestamp integer

UNIX timestamp for the weather data. If omitted, the controller’s local time at the moment of the call is used.

mintemp float

Minimum temperature in the current period, in °C.

maxtemp float

Maximum temperature in the current period, in °C.

temperature float

Current temperature, in °C.

wind float

Current wind speed, in m/s.

solarrad float

Daily solar radiation, in MJ/m²/d.

et float

Evapotranspiration, in mm.

qpf float

Quantitative Precipitation Forecast (QPF), in mm. Send the measured or forecasted value per hour or day, not a cumulative value.

rain float

Measured rainfall, in mm. Send the measured or forecasted value per hour or day, not a cumulative value.

minrh float

Minimum relative humidity in the current period, in %RH.

maxrh float

Maximum relative humidity in the current period, in %RH.

condition integer

Current weather condition code (WNUM).

pressure float

Current barometric pressure, in kPa.

dewpoint float

Current dew point, in °C.

Good to know

  • Enable the local weather push service in RainMachine under Settings > Weather > Developer so the controller uses the values you send.
  • Send all values in metric units. The integration does not convert units for you.
  • For the weather condition code (WNUM) options, see the RainMachine weather data reference.

Try it yourself

Ready to test this? Open Developer tools > Actions, search for this action, fill in the fields, and select Perform action. You see what happens on your actual entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more] without writing a line of YAML.

More examples

Real scenarios where this action shows up in automations and scripts. Copy any example and adapt it to your setup.

Tip

You don’t need to edit YAML to use these examples. Copy a YAML snippet from this page, open the automation editor in Home Assistant, and press Ctrl+V (or Cmd+V on Mac). Home Assistant automatically converts the pasted YAML into the visual editor format, whether it’s a full automation, a single trigger, a condition, or an action.

Still stuck?

The Home Assistant community is quick to help: join Discord for real-time chat, post on the community forum with the action you’re calling and what you expected to happen, or share on our subreddit /r/homeassistant.

Tip

AI assistants like ChatGPT or Claude can also explain actions or suggest the right one when you describe what you want in plain language.

Related actions

These actions work well alongside this one: