Fabian Affolter 481320128f Re-organisation Documentation and Getting started (#2055)
* Split MQTT documentation

* Add more details

* Move content to /docs

* Enable sidebar

* Move content to /docs

* Enable sidebar

* Move content

* Update links

* Remove wizard stuff

* Enable sidebar

* Minor changes

* Move MQTT parts to /docs

* update links

* Update links and sync content

* Fix link

* Enable sidebar

* Remove navigation

* Remove navigation and other minor updates

* Update links

* Add overview page

* Make title linkable

* Update

* Plit content

* Update links

* Rearrange content

* New getting-started section

* Add icons for docs

* Update for new structure

* Update for new structure

* Add docs navigation

* Add docs overview page

* Remove ecosystem navigation

* Add docs and remove other collections

* Move ecosystem to docs

* Remove duplicate files

* Re-add ecosystem overview

* Move to ecosystem

* Fix permission

* Update navigation

* Remove collection

* Move overview to right folder

* Move mqtt to upper level

* Move notebook to ecosystem

* Remove un-used files

* Add one more rectangle for iOS

* Move two parts back from docs and rename Run step

* Remove colon

* update getting-started section

* Add redirect

* Update

* Update navigation
2017-02-23 11:09:41 +01:00

3.0 KiB

layout title description date sidebar comments sharing footer redirect_from
page State Objects Describes all there is to know about state objects in Home Assistant. 2016-03-12 12:00 -0800 true false true true /topics/state_object/

Your devices are represented in Home Assistant as entities. The entities will write their current state to the state machine for other entities/templates/frontend to access. States are a current representation of the entity.

If you overwrite a state via the states dev tool or the API, it will not impact the actual device. If the device state is being polled, it will overwrite the state in the state machine the next polling.

All states will always have an entity id, a state and a timestamp when last updated and last changed.

Field Description
state.state String representation of the current state of the entity. Example off
state.entity_id Entity ID. Format: <domain>.<object_id>. Example: light.kitchen.
state.domain Domain of the entity. Example: light.
state.object_id Object ID of entity. Example: kitchen.
state.name Name of the entity. Based on friendly_name attribute with fall back to object ID. Example: Kitchen Ceiling.
state.last_updated Time the state was written to the state machine. Note that writing the exact same state including attributes will not result in this field being updated. Example: 14:10:03 13-03-2016.
state.last_changed Time the state changed. This is not updated when there are only updated attributes. Example: 14:10:03 13-03-2016.
state.attributes A dictionary with extra attributes related to the current state.

The attributes of an entity are optional. There are a few attributes that are used by Home Assistant for representing the entity in a specific way. Each component will also have it's own attributes to represent extra state data about the entity. For example, the light component has attributes for the current brightness and color of the light. When an attribute is not available, Home Assistant will not write it to the state.

When using templates, attributes will be available by their name. For example state.attributes.assumed_state.

Attribute Description
friendly_name Name of the entity. Example: Kitchen Ceiling.
icon Icon to use for the entity in the frontend. Example: mdi:home.
hidden Boolean if the entity should not be shown in the frontend. Example: true.
entity_picture Url to a picture that should be used instead of showing the domain icon. Example: http://example.com/picture.jpg.
assumed_state Boolean if the current state is an assumption. More info Example: True.
unit_of_measurement The unit of measurement the state is expressed in. Used for grouping graphs or understanding the entity. Example: °C.

When an attribute contains spaces, you can retrieve it like this: states.sensor.livingroom.attributes["Battery numeric"].