You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Lots of typo corrections, added some useful examples. In automation / numeric state, I removed the config lines that used value_template for battery when the condition was for a temp sensor.
Copy file name to clipboardExpand all lines: source/_components/automation.markdown
+14-16Lines changed: 14 additions & 16 deletions
Original file line number
Diff line number
Diff line change
@@ -15,6 +15,10 @@ This page will go into more detail about the various options the `automation` co
15
15
16
16
A configuration section of an automation requires a `trigger` and an `action` section. `condition` and `condition_type` are optional. To keep this page compact, all following sections will not show the full configuration but only the relevant part.
17
17
18
+
-[Jump to conditions](#conditions)
19
+
-[Jump to actions](#actions)
20
+
-[Jump to troubleshooting](#troubleshooting)
21
+
18
22
```yaml
19
23
# Example of entry in configuration.yaml
20
24
automation:
@@ -69,10 +73,6 @@ automation:
69
73
message: 'Paulus left the house'
70
74
```
71
75
72
-
- [Jump to conditions](#conditions)
73
-
- [Jump to actions](#actions)
74
-
- [Jump to troubleshooting](#troubleshooting)
75
-
76
76
## {% linkable_title Triggers %}
77
77
78
78
Triggers are what starts the processing of an automation rule. It is possible to specify multiple triggers for the same rule. Once a trigger starts, Home Assistant will validate the conditions, if any, and call the action.
@@ -207,9 +207,9 @@ automation:
207
207
208
208
## {% linkable_title Conditions %}
209
209
210
-
Conditions are an optional part of an automation rule and be used to prevent an action from happening when triggered. Conditions look very familiar to triggers but are very different. A trigger will look at events happening at the system while a condition only looks at how the system looks right now. A trigger can observe that a switch is being turned on. A condition can only see if a switch is on or off.
210
+
Conditions are an optional part of an automation rule and be used to prevent an action from happening when triggered. Conditions look very similar to triggers but are very different. A trigger will look at events happening in the system while a condition only looks at how the system looks right now. A trigger can observe that a switch is being turned on. A condition can only see if a switch is currently on or off.
211
211
212
-
An automation rule can have mulitiple conditions. By default the action will only fire if all conditions pass. An optional key `condition_type: 'or'` can be set on the automation rule to fire action if any condition matches. In the example below, the automation would trigger if the time is before 05:00 _OR_ after 20:00.
212
+
An automation rule can have multiple conditions. By default the action will only fire if all conditions pass. An optional key `condition_type: 'or'` can be set on the automation rule to fire action if any condition matches. In the example below, the automation would trigger if the time is before 05:00 _OR_ after 20:00.
213
213
214
214
```yaml
215
215
automation:
@@ -230,18 +230,17 @@ automation:
230
230
231
231
#### {% linkable_title Numeric state condition %}
232
232
233
-
Attempts to parse the state of specified entity as a number and triggers if value is above and/or below a threshold.
233
+
This type of condition attempts to parse the state of specified entity as a number and triggers if the value matches all of the above or below thresholds.
234
+
Either `above` or `below`, or both need to be specified. If both are used, the condition is true when the value is >= `before` *and** < `after`.
235
+
You can optionally use a `value_template` to make the value of the entity the same type of value as the condition.
234
236
235
237
```yaml
236
238
automation:
237
239
condition:
238
240
platform: numeric_state
239
241
entity_id: sensor.temperature
240
-
# At least one of the following required
241
242
above: 17
242
243
below: 25
243
-
# Optional
244
-
value_template: '{% raw %}{{ state.attributes.battery }}{% endraw %}'
245
244
```
246
245
247
246
#### {% linkable_title State condition %}
@@ -259,7 +258,6 @@ automation:
259
258
hours: 1
260
259
minutes: 10
261
260
seconds: 5
262
-
263
261
```
264
262
265
263
#### {% linkable_title Sun condition %}
@@ -277,7 +275,7 @@ automation:
277
275
278
276
#### {% linkable_title Template condition %}
279
277
280
-
The template condition will test if [given template][template] renders a value equal to true. This is achieved by having the template result in a true boolean expression or by having the template render 'true'.
278
+
The template condition will test if the [given template][template] renders a value equal to true. This is achieved by having the template result in a true boolean expression or by having the template render 'true'.
281
279
282
280
283
281
```yaml
@@ -322,7 +320,7 @@ automation:
322
320
323
321
## {% linkable_title Actions %}
324
322
325
-
When an automation rule fires, it calls a service. For this service you can specify an entity id it should apply to and optional service parameters (to specify for example the brightness).
323
+
When an automation rule fires, it calls a service. For this service you can specify the entity_id that it should apply to and optional service parameters (to specify for example the brightness).
326
324
327
325
```yaml
328
326
automation:
@@ -346,11 +344,11 @@ automation:
346
344
message: Something just happened, better take a look!
347
345
```
348
346
349
-
If you want to specify multiple services to be called or include a delay, have a look at the [script component](/components/script/). If you want to describe how certain entities should look, check out the [scene component](/components/scene/).
347
+
If you want to specify multiple services to be called, or to include a delay, have a look at the [script component](/components/script/). If you want to describe the desired state of certain entities, check out the [scene component](/components/scene/).
350
348
351
349
## {% linkable_title Troubleshooting %}
352
350
353
-
You can verify that your automation rules are being initialized correctly by watching both the realtime logs and also the logbook. The realtime logs will show the rules being initialized (once for each trigger):
351
+
You can verify that your automation rules are being initialized correctly by watching both the realtime logs (`homeassistant.log` in the configuration directory) and also the [Logbook](/components/logbook/). The realtime logs will show the rules being initialized (once for each trigger), example:
354
352
355
353
```plain
356
354
INFO [homeassistant.components.automation] Initialized rule Rainy Day
@@ -359,7 +357,7 @@ INFO [homeassistant.components.automation] Initialized rule Rainy Day
359
357
INFO [homeassistant.components.automation] Initialized rule Rain is over
360
358
```
361
359
362
-
The Logbook component will show a line entry when an automation is triggered. You can look at the previous entry to determine which trigger in the rule triggered the event.
360
+
The Logbook component will show a line entry when an automation is triggered. You can look at the previous entry to determine which trigger in the rule triggered the event.
Copy file name to clipboardExpand all lines: source/_components/conversation.markdown
+6-1Lines changed: 6 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,8 @@ ha_category: "Voice"
12
12
---
13
13
14
14
15
-
The conversation component can process sentences into commands for Home Assistant. It is currently limited to parsing commands in the format `turn <Friendly Name> <on/off>`.
15
+
The conversation component can process sentences into commands for Home Assistant. It is currently limited to parsing commands in the format `turn <Friendly Name> <on/off>`.
16
+
16
17
17
18
To enable the conversion option in your installation, add the following to your `configuration.yaml` file:
18
19
@@ -26,3 +27,7 @@ When this component is active and you are using a supported browser voice comman
Copy file name to clipboardExpand all lines: source/_components/http.markdown
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -33,8 +33,8 @@ Configuration variables:
33
33
34
34
On top of the `http` component is a [REST API](/developers/rest_api/) and a [Python API](/developers/python_api/) available.
35
35
36
-
The `http` platforms are not a real platform within the meaning of the terminology used around Home Assistant. Home Assistant's [REST API](/developers/rest_api/) is consuming and proceeding messages received over HTTP.
36
+
The `http` platforms are not real platforms within the meaning of the terminology used around Home Assistant. Home Assistant's [REST API](/developers/rest_api/) sends and receives messages over HTTP.
37
37
38
38
To use those kind of sensors in your installation no configuration in Home Assistant is needed. All configuration is done on the devices themselves. This means that you must be able to edit the target URL or endpoint and the payload. The entity will be created after the first message has arrived.
39
39
40
-
All [requests](/developers/rest_api/#post-apistatesltentity_id) needs to be sent to the endpoint of the device and must be **POST**.
40
+
All [requests](/developers/rest_api/#post-apistatesltentity_id) need to be sent to the endpoint of the device and must be **POST**.
Copy file name to clipboardExpand all lines: source/_components/input_boolean.markdown
+20-1Lines changed: 20 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ The `input_boolean` component allows the user to define boolean values that can
17
17
# Example configuration.yaml entry
18
18
input_boolean:
19
19
notify_home:
20
-
name: Notify when someome arrives home
20
+
name: Notify when someone arrives home
21
21
initial: off
22
22
icon: mdi:car
23
23
```
@@ -31,3 +31,22 @@ Configuration variables:
31
31
32
32
Pick an icon that you can find on [materialdesignicons.com](https://materialdesignicons.com/) to use for your input and prefix the name with `mdi:`. For example `mdi:car`, `mdi:ambulance`, or `mdi:motorbike`.
33
33
34
+
Here's an example of an automation using the above input_boolean. This action will only occur if the switch is on.
Copy file name to clipboardExpand all lines: source/_components/scene.markdown
+17-3Lines changed: 17 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -11,9 +11,7 @@ logo: home-assistant.png
11
11
ha_category: Organization
12
12
---
13
13
14
-
A user can create scenes that capture the states you want certain entities to be. For example a scene can contain that light A should be turned on and light B should be bright red.
15
-
16
-
Scenes can be activated using the service `scene.turn_on`.
14
+
You can create scenes that capture the states you want certain entities to be. For example a scene can specify that light A should be turned on and light B should be bright red.
17
15
18
16
```yaml
19
17
# Example configuration.yaml entry
@@ -33,3 +31,19 @@ scene:
33
31
brightness: 100
34
32
light.ceiling: off
35
33
```
34
+
35
+
Scenes can be activated using the service `scene.turn_on` (there is no 'scene.turn_off' service).
@@ -37,16 +37,18 @@ The Home Assistant core is responsible for Home Control. It has four parts to ma
37
37
Overview of the Home Assistant core architecture
38
38
</p>
39
39
40
-
Home Assistant can be extended by **components**. Each component is responsible for a specific domain within Home Assistant. Components can listen for- or trigger events, offer services and maintain states. Components are written in Python and can do all the goodness that Python has to offer. Out of the box, Home Assistant offers a bunch of [built-in components]({{site_root}}/components/).
40
+
Home Assistant can be extended by **components**. Each component is responsible for a specific domain within Home Assistant. Components can listen for or trigger events, offer services and maintain states. Components are written in Python and can do all the goodness that Python has to offer. Out of the box, Home Assistant offers a bunch of [built-in components]({{site_root}}/components/).
41
41
42
-
We can differentiate between two different types ofcomponents within Home Assistant.
42
+
We can differentiate between two different types of components within Home Assistant.
43
43
44
44
#### {% linkable_title Components that interact with an Internet of Things domain %}
45
45
46
-
These components will track devices within a specific domain and exist of a core part and platformspecific logic. These components make their information available via the State Machine and the Event Bus. The component will also register services in the Service Registry to expose control of the devices.
46
+
These components will track devices within a specific domain and consist of a core part and platform-specific logic. These components make their information available via the State Machine and the Event Bus. The component will also register services in the Service Registry to expose control of the devices.
47
47
48
48
For example, one of the built-in components is the `switch` component. This component is responsible for interaction with different types of switches.
49
49
50
+
A platform provides support for a particular kind/brand of device. For example, a switch could use a WeMo or Orvibo platform, and a light component might interact with the Hue or LiFX platform.
51
+
50
52
If you are planning to add support for a new platform, please check out the [add new platform section]({{root_url}}/developers/add_new_platform/).
51
53
52
54
#### {% linkable_title Components that respond to events that happen within Home Assistant %}
@@ -86,7 +88,7 @@ When we put all the different pieces of Home Assistant together we see that we m
86
88
Overview of the full Home Assistant architecture with a couple of loaded components and platforms.
87
89
</p>
88
90
89
-
Component's platform logic uses 3rd party Python libraries to communicate with the devices. This is done so that we can leverage great device libraries that are out there in the Python community.
91
+
The platform logic for components uses 3rd party Python libraries to communicate with the devices. This is done so that we can leverage great device libraries that are out there in the Python community.
Copy file name to clipboardExpand all lines: source/developers/website.markdown
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ footer: true
11
11
12
12
The home of Home Assistant is [https://home-assistant.io](https://home-assistant.io). This is the place where we provide documentation and additional details about Home Assistant for end users and developers.
13
13
14
-
home-assistant.io is using [Octopress](http://octopress.org/). To get more details, please checkout the [documentation](http://octopress.org/docs/). That means that creating a new page is simple. The pages are written in [markdown](http://daringfireball.net/projects/markdown/), you don't need to care about HTML or alike.
14
+
home-assistant.io is using the [Octopress](http://octopress.org/) framework for [Jekyll](http://github.com/mojombo/jekyll). To get more details, please checkout the [documentation](http://octopress.org/docs/). That means that creating a new page is simple. The pages are written in [markdown](http://daringfireball.net/projects/markdown/), you don't need to care about HTML or alike.
15
15
16
16
To work on the website the process is no different to working on Home Assistant itself.
17
17
@@ -24,13 +24,13 @@ To work on the website the process is no different to working on Home Assistant
24
24
For a platform page it would be the fastest way to make a copy of an existing page and edit it. The [component overview](/components/) is generated automatically, so there is no need to add a link to that your page.
25
25
26
26
### {% linkable_title Code %}
27
-
To take advantage of the build-in features of Octopress to display code snipplets, just use the default markdown syntax. Please use `$` and `#` if it's a command and to differ from output.
27
+
To take advantage of the built-in features of Octopress to display code snippets, just use the default markdown syntax. Please use `$` and `#` if it's a command and to differ from output.
28
28
29
29
```bash
30
30
Here goes the code...
31
31
```
32
32
33
-
If you want to display line numbers, add the following snipplets somewhere on your page.
33
+
If you want to display line numbers, add the following snippet somewhere on your page.
34
34
35
35
```
36
36
{::options coderay_line_numbers="table" /}
@@ -44,5 +44,5 @@ The images which are displayed on the pages are stored in various directories ac
44
44
| screen shots | source/images/screenshots |
45
45
| logos | source/images/supported_brands |
46
46
47
-
Not everything (product, component, etc.) has a logo, to show something for internal parts of Home Assistant we are using the [Material Design Icons](https://materialdesignicons.com/).
47
+
Not everything (product, component, etc.) has a logo. To show something for internal parts of Home Assistant we are using the [Material Design Icons](https://materialdesignicons.com/).
0 commit comments