---
title: "Home automation integration · RUAL Documentation"
description: "Use Home automation in RUAL blueprints. Run Zigbee, Thread and Matter, Z-Wave, Hue and Daikin devices from blueprints on a RUAL Nano, with no vendor cloud."
canonical: https://docs.rual.nl/integrations/home-assistant
language: en
---

# Home automation

Run Zigbee, Thread and Matter, Z-Wave, Hue and Daikin devices from blueprints on a RUAL Nano, with no vendor cloud.

## Guides

- [Home Automation Introduction](https://docs.rual.nl/home-automation/introduction)

- [Local Home Automation](https://docs.rual.nl/tutorials/local-home-automation)

## Blocks

Add these blocks on the canvas by searching for their name. Each block page lists its pins and how it behaves.

- [climate set `homeassist_climate_set` Sets an air conditioner or thermostat: on/off, mode, target temperature, fan speed.](https://docs.rual.nl/block-types/globals/homeassist_climate_set)

- [device adopt `homeassist_device_adopt` Takes a discovered device into service, so triggers fire for it and blocks can command it.](https://docs.rual.nl/block-types/globals/homeassist_device_adopt)

- [device forget `homeassist_device_forget` Removes a device from RUAL. It stays paired to the radio and will reappear, unadopted, on its next report.](https://docs.rual.nl/block-types/globals/homeassist_device_forget)

- [get device `homeassist_device_get` Returns one device: its name, room, capabilities and current state.](https://docs.rual.nl/block-types/globals/homeassist_device_get)

- [get device history `homeassist_device_history` Returns recorded readings for one capability of one device, optionally bucketed for charting.](https://docs.rual.nl/block-types/globals/homeassist_device_history)

- [device rename `homeassist_device_rename` Sets a device's friendly name and/or room.](https://docs.rual.nl/block-types/globals/homeassist_device_rename)

- [device set `homeassist_device_set` Sets any capability on any device. The escape hatch for things the specific blocks do not cover.](https://docs.rual.nl/block-types/globals/homeassist_device_set)

- [get device state `homeassist_device_state` Reads one capability from one device : is the motion sensor triggered, what is the temperature.](https://docs.rual.nl/block-types/globals/homeassist_device_state)

- [get all devices `homeassist_devices_all` Returns every adopted device, optionally filtered by type, room or adapter.](https://docs.rual.nl/block-types/globals/homeassist_devices_all)

- [door lock `homeassist_door_lock` Locks a door, and holds it locked unless you ask it not to.](https://docs.rual.nl/block-types/globals/homeassist_door_lock)

- [door unlock `homeassist_door_unlock` Unlocks a door. By default this is a momentary unlock : the door releases long enough for one person, then re-locks : matching the 'let them in' button.](https://docs.rual.nl/block-types/globals/homeassist_door_unlock)

- [gate close `homeassist_gate_close` Closes a gate or garage door.](https://docs.rual.nl/block-types/globals/homeassist_gate_close)

- [gate open `homeassist_gate_open` Opens a gate or garage door.](https://docs.rual.nl/block-types/globals/homeassist_gate_open)

- [light dim `homeassist_light_dim` Sets a light's brightness without changing anything else.](https://docs.rual.nl/block-types/globals/homeassist_light_dim)

- [light off `homeassist_light_off` Turns a light off.](https://docs.rual.nl/block-types/globals/homeassist_light_off)

- [light on `homeassist_light_on` Turns a light on. Optionally set brightness, colour temperature or colour in the same command.](https://docs.rual.nl/block-types/globals/homeassist_light_on)

- [light toggle `homeassist_light_toggle` Flips a light: on if it is off, off if it is on.](https://docs.rual.nl/block-types/globals/homeassist_light_toggle)

- [get lights that are on `homeassist_lights_on` Returns every light currently switched on.](https://docs.rual.nl/block-types/globals/homeassist_lights_on)

- [pairing open `homeassist_pairing_open` Opens the radio for new devices to join, for a bounded number of seconds.](https://docs.rual.nl/block-types/globals/homeassist_pairing_open)

- [get rooms `homeassist_rooms` Returns the list of rooms that have devices assigned to them.](https://docs.rual.nl/block-types/globals/homeassist_rooms)

- [get active sensors `homeassist_sensors_active` Returns every sensor that is currently triggered: motion present, doors open, leaks found.](https://docs.rual.nl/block-types/globals/homeassist_sensors_active)

- [get status `homeassist_status` Returns which radios are connected and how many devices are known.](https://docs.rual.nl/block-types/globals/homeassist_status)

- [switch off `homeassist_switch_off` Turns a plug, relay or switch off.](https://docs.rual.nl/block-types/globals/homeassist_switch_off)

- [switch on `homeassist_switch_on` Turns a plug, relay or switch on.](https://docs.rual.nl/block-types/globals/homeassist_switch_on)

- [access denied `homeassist_trigger_access_denied` Starts the flow when someone is refused: an unknown card, a wrong PIN, a credential outside its schedule.](https://docs.rual.nl/block-types/globals/homeassist_trigger_access_denied)

- [access granted `homeassist_trigger_access_granted` Starts the flow when someone is let in: a valid card, PIN, wave or mobile credential. The actor and method are on the out-pins.](https://docs.rual.nl/block-types/globals/homeassist_trigger_access_granted)

- [security alarm activated `homeassist_trigger_alarm` Starts the flow when the security system's own alarm goes active.](https://docs.rual.nl/block-types/globals/homeassist_trigger_alarm)

- [battery low `homeassist_trigger_battery_low` Starts the flow when a device's battery drops below the threshold, or reports its own low-battery flag.](https://docs.rual.nl/block-types/globals/homeassist_trigger_battery_low)

- [button pressed `homeassist_trigger_button_pressed` Starts the flow when a button or scene switch is pressed. The `value` pin says which press it was: single, double, hold, release.](https://docs.rual.nl/block-types/globals/homeassist_trigger_button_pressed)

- [camera motion detected `homeassist_trigger_camera_motion` Starts the flow when a camera detects motion.](https://docs.rual.nl/block-types/globals/homeassist_trigger_camera_motion)

- [contact closed `homeassist_trigger_contact_closed` Starts the flow when a door or window is closed.](https://docs.rual.nl/block-types/globals/homeassist_trigger_contact_closed)

- [contact opened `homeassist_trigger_contact_opened` Starts the flow when a door or window is opened.](https://docs.rual.nl/block-types/globals/homeassist_trigger_contact_opened)

- [device adopted `homeassist_trigger_device_adopted` Starts the flow when a device is taken into service.](https://docs.rual.nl/block-types/globals/homeassist_trigger_device_adopted)

- [device discovered `homeassist_trigger_device_discovered` Starts the flow when a NEW device appears on the radio, before it is adopted.](https://docs.rual.nl/block-types/globals/homeassist_trigger_device_discovered)

- [device state changed `homeassist_trigger_device_state_changed` Starts the flow on ANY change from a device. The catch-all : use a specific trigger where one exists.](https://docs.rual.nl/block-types/globals/homeassist_trigger_device_state_changed)

- [device unavailable `homeassist_trigger_device_unavailable` Starts the flow when a device stops responding.](https://docs.rual.nl/block-types/globals/homeassist_trigger_device_unavailable)

- [door or gate closed `homeassist_trigger_door_closed` Starts the flow when a controlled door or gate physically closes.](https://docs.rual.nl/block-types/globals/homeassist_trigger_door_closed)

- [door or gate locked `homeassist_trigger_door_locked` Starts the flow when the lock engages.](https://docs.rual.nl/block-types/globals/homeassist_trigger_door_locked)

- [door or gate opened `homeassist_trigger_door_opened` Starts the flow when a controlled door or gate physically opens.](https://docs.rual.nl/block-types/globals/homeassist_trigger_door_opened)

- [door or gate unlocked `homeassist_trigger_door_unlocked` Starts the flow when the lock releases, whether or not the door then opens.](https://docs.rual.nl/block-types/globals/homeassist_trigger_door_unlocked)

- [doorbell rang `homeassist_trigger_doorbell` Starts the flow when someone rings a doorbell or door station.](https://docs.rual.nl/block-types/globals/homeassist_trigger_doorbell)

- [gate closed `homeassist_trigger_gate_closed` Starts the flow when the gate physically closes.](https://docs.rual.nl/block-types/globals/homeassist_trigger_gate_closed)

- [gate opened `homeassist_trigger_gate_opened` Starts the flow when the gate physically opens.](https://docs.rual.nl/block-types/globals/homeassist_trigger_gate_opened)

- [humidity changed `homeassist_trigger_humidity_changed` Starts the flow when a humidity reading changes. Set above or below to fire only when it crosses a threshold.](https://docs.rual.nl/block-types/globals/homeassist_trigger_humidity_changed)

- [light turned off `homeassist_trigger_light_off` Starts the flow when a light is switched off.](https://docs.rual.nl/block-types/globals/homeassist_trigger_light_off)

- [light turned on `homeassist_trigger_light_on` Starts the flow when a light is switched on : by anyone, including a wall switch or the vendor's own app.](https://docs.rual.nl/block-types/globals/homeassist_trigger_light_on)

- [NFC card swiped `homeassist_trigger_nfc` Starts the flow when any NFC card or fob is presented to a reader, whether or not it was accepted.](https://docs.rual.nl/block-types/globals/homeassist_trigger_nfc)

- [presence cleared `homeassist_trigger_presence_cleared` Starts the flow when a room becomes empty.](https://docs.rual.nl/block-types/globals/homeassist_trigger_presence_cleared)

- [presence detected `homeassist_trigger_presence_detected` Starts the flow when someone is detected in a room.](https://docs.rual.nl/block-types/globals/homeassist_trigger_presence_detected)

- [sensor activated `homeassist_trigger_sensor_activated` Starts the flow when a sensor turns ON: motion detected, a door opened, water found, smoke detected.](https://docs.rual.nl/block-types/globals/homeassist_trigger_sensor_activated)

- [sensor deactivated `homeassist_trigger_sensor_deactivated` Starts the flow when a sensor turns OFF: motion cleared, a door closed, a leak stopped.](https://docs.rual.nl/block-types/globals/homeassist_trigger_sensor_deactivated)

- [smoke detected `homeassist_trigger_smoke_detected` Starts the flow when a smoke alarm triggers.](https://docs.rual.nl/block-types/globals/homeassist_trigger_smoke_detected)

- [switch turned off `homeassist_trigger_switch_off` Starts the flow when a plug, relay or switch is turned off.](https://docs.rual.nl/block-types/globals/homeassist_trigger_switch_off)

- [switch turned on `homeassist_trigger_switch_on` Starts the flow when a plug, relay or switch is turned on.](https://docs.rual.nl/block-types/globals/homeassist_trigger_switch_on)

- [temperature changed `homeassist_trigger_temperature_changed` Starts the flow when a temperature reading changes. Set above or below to fire only when it crosses a threshold.](https://docs.rual.nl/block-types/globals/homeassist_trigger_temperature_changed)

- [water leak detected `homeassist_trigger_water_leak` Starts the flow when a leak sensor finds water.](https://docs.rual.nl/block-types/globals/homeassist_trigger_water_leak)

- [selector `storage` Lets you choose a storage to be used on the connected blocks.](https://docs.rual.nl/block-types/globals/storage)

- [create `trigger_custom_function` Creates a new function that can be executed using the given name.](https://docs.rual.nl/block-types/globals/trigger_custom_function)

- [is on electron `user_is_electron` Returns true if the user is an electron user.](https://docs.rual.nl/block-types/globals/user_is_electron)

- [is on iPad `user_is_ipad` Returns true if the user is on an iPad.](https://docs.rual.nl/block-types/globals/user_is_ipad)

- [is loggedin `user_is_loggedin` Returns true if currently a user is logged-in.](https://docs.rual.nl/block-types/globals/user_is_loggedin)

- [is on mobile `user_is_on_mobile` Returns true if the user is on mobile.](https://docs.rual.nl/block-types/globals/user_is_on_mobile)

> **1 deprecated blocks not listed** Older blocks for this service still run but should not be used in new work. Their block pages name the successor when there is one.

## Next steps

- [Third-Party Integrations](https://docs.rual.nl/tutorials/third-party-integrations): Calling outside APIs, receiving their webhooks, keeping data in sync and handling failures.

- [All integrations](https://docs.rual.nl/integrations): Everything RUAL connects to, by what it is for.
