home-assistant.io/source/developers/development_hass_object.markdown
Fabian Affolter 295fc5a6b9 Remove link to component initialization (#2673)
* Remove link to component initialization

* Add redirect
2017-05-20 18:10:30 +02:00

2.2 KiB

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.