Multiple Instances

Home Assistant supports running multiple synchronised instances using a master-slave model. Whenever or states.set is called on the slave it will forward it to the master. The master will replicate all events and changed states to its slaves.

Overview of the Home Assistant architecture for multiple devices.

A slave instance can be started with the following code and has the same support for components as a master instance.

import homeassistant.remote as remote
import homeassistant.bootstrap as bootstrap

# Location of the Master API: host, password, port.
# Password and port are optional.
remote_api = remote.API("", "password", 8124)

# Initialize slave
hass = remote.HomeAssistant(remote_api)

# To add an interface to the slave on localhost:8123
bootstrap.setup_component(hass, 'frontend')


Because each slave maintains its own Service Registry it is possible to have multiple slaves respond to one service call.