mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-05-04 18:18:58 +00:00

* Update architecture.markdown * Update component_discovery.markdown * Update development_validation.markdown * Update frontend.markdown * Update maintenance.markdown * Update multiple_instances.markdown * Update python_api.markdown * Update releasing.markdown * Update rest_api.markdown * Update server_sent_events.markdown * Update website.markdown
1.4 KiB
1.4 KiB
layout, title, description, date, sidebar, comments, sharing, footer
layout | title | description | date | sidebar | comments | sharing | footer |
---|---|---|---|---|---|---|---|
page | Multiple Instances | Quick primer on how multiple instances work together. | 2016-04-16 14:24 -07:00 | true | false | true | true |
Home Assistant supports running multiple synchronised instances using a master-slave model. Whenever events.fire
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("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.