mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-11-09 11:09:00 +00:00
2.2 KiB
2.2 KiB
layout, title, description, date, sidebar, comments, sharing, footer, redirect_from
| layout | title | description | date | sidebar | comments | sharing | footer | redirect_from |
|---|---|---|---|---|---|---|---|---|
| page | Hass object | Introduction to developing with the hass object. | 2016-04-16 13:32 | true | false | true | true | /developers/component_initialization/ |
While developing Home Assistant you will see a variable that is everywhere: hass. This is the Home Assistant instance that will give you access to all the various parts of the system.
{% linkable_title The hass object %}
The Home Assistant instance contains four objects to help you interact with the system.
| Object | Description |
|---|---|
hass |
This is the instance of Home Assistant. Allows starting, stopping and enqueing new jobs. See available methods. |
hass.config |
This is the core configuration of Home Assistant exposing location, temperature preferences and config directory path. See available methods. |
hass.states |
This is the StateMachine. It allows you to set states and track when they are changed. See available methods.. |
hass.bus |
This is the EventBus. It allows you to trigger and listen for events. See available methods.. |
hass.services |
This is the ServiceRegistry. It allows you to register services. See available methods.. |
{% linkable_title Where to find hass %}
Depending on what you're writing, there are different ways the hass object is made available.
Component
Passed into setup(hass, config) or async_setup(hass, config).
Platform
Passed into setup_platform(hass, config, add_devices, discovery_info=None) or async_setup_platform(hass, config, async_add_devices, discovery_info=None).
Entity
Available as self.hass once the entity has been added via the add_devices callback inside a platform.