Home Assistant supports running multiple synchronised instances using a master-slave model. Whenever
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.
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("127.0.0.1", "password", 8124) # Initialize slave hass = remote.HomeAssistant(remote_api) # To add an interface to the slave on localhost:8123 bootstrap.setup_component(hass, 'frontend') hass.start() hass.block_till_stopped()
Because each slave maintains its own Service Registry it is possible to have multiple slaves respond to one service call.