Skip to content

Commit 69ca710

Browse files
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.
1 parent f228f70 commit 69ca710

13 files changed

+108
-68
lines changed

source/_components/automation.markdown

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ This page will go into more detail about the various options the `automation` co
1515

1616
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.
1717

18+
- [Jump to conditions](#conditions)
19+
- [Jump to actions](#actions)
20+
- [Jump to troubleshooting](#troubleshooting)
21+
1822
```yaml
1923
# Example of entry in configuration.yaml
2024
automation:
@@ -69,10 +73,6 @@ automation:
6973
message: 'Paulus left the house'
7074
```
7175
72-
- [Jump to conditions](#conditions)
73-
- [Jump to actions](#actions)
74-
- [Jump to troubleshooting](#troubleshooting)
75-
7676
## {% linkable_title Triggers %}
7777
7878
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:
207207

208208
## {% linkable_title Conditions %}
209209

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.
211211

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.
213213
214214
```yaml
215215
automation:
@@ -230,18 +230,17 @@ automation:
230230
231231
#### {% linkable_title Numeric state condition %}
232232
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.
234236

235237
```yaml
236238
automation:
237239
condition:
238240
platform: numeric_state
239241
entity_id: sensor.temperature
240-
# At least one of the following required
241242
above: 17
242243
below: 25
243-
# Optional
244-
value_template: '{% raw %}{{ state.attributes.battery }}{% endraw %}'
245244
```
246245

247246
#### {% linkable_title State condition %}
@@ -259,7 +258,6 @@ automation:
259258
hours: 1
260259
minutes: 10
261260
seconds: 5
262-
263261
```
264262

265263
#### {% linkable_title Sun condition %}
@@ -277,7 +275,7 @@ automation:
277275

278276
#### {% linkable_title Template condition %}
279277

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'.
281279

282280

283281
```yaml
@@ -322,7 +320,7 @@ automation:
322320

323321
## {% linkable_title Actions %}
324322

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).
326324

327325
```yaml
328326
automation:
@@ -346,11 +344,11 @@ automation:
346344
message: Something just happened, better take a look!
347345
```
348346

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/).
350348

351349
## {% linkable_title Troubleshooting %}
352350

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:
354352

355353
```plain
356354
INFO [homeassistant.components.automation] Initialized rule Rainy Day
@@ -359,7 +357,7 @@ INFO [homeassistant.components.automation] Initialized rule Rainy Day
359357
INFO [homeassistant.components.automation] Initialized rule Rain is over
360358
```
361359

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.
363361

364362
![Logbook example](/images/components/automation/logbook.png)
365363

source/_components/conversation.markdown

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ ha_category: "Voice"
1212
---
1313

1414

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+
1617

1718
To enable the conversion option in your installation, add the following to your `configuration.yaml` file:
1819

@@ -26,3 +27,7 @@ When this component is active and you are using a supported browser voice comman
2627
<p class='img'>
2728
<img src="/images/screenshots/voice-commands.png" />
2829
</p>
30+
31+
<p class='note note'>
32+
Apple iPhones do not support this feature in any browser.
33+
</p>

source/_components/http.markdown

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ Configuration variables:
3333
3434
On top of the `http` component is a [REST API](/developers/rest_api/) and a [Python API](/developers/python_api/) available.
3535

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.
3737

3838
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.
3939

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**.

source/_components/input_boolean.markdown

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ The `input_boolean` component allows the user to define boolean values that can
1717
# Example configuration.yaml entry
1818
input_boolean:
1919
notify_home:
20-
name: Notify when someome arrives home
20+
name: Notify when someone arrives home
2121
initial: off
2222
icon: mdi:car
2323
```
@@ -31,3 +31,22 @@ Configuration variables:
3131
3232
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`.
3333

34+
Here's an example of an automation using the above input_boolean. This action will only occur if the switch is on.
35+
36+
```yaml
37+
automation:
38+
alias: Arriving home
39+
trigger:
40+
platform: state
41+
entity_id: binary_sensor.motion_garage
42+
to: 'on'
43+
condition:
44+
platform: state
45+
entity_id: input_boolean.notify_home
46+
state: 'on'
47+
action:
48+
service: notify.pushbullet
49+
data:
50+
title: ""
51+
message: "Honey, I'm home!"
52+
```

source/_components/logger.markdown

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ logo: home-assistant.png
1111
ha_category: "Other"
1212
---
1313

14-
The logger component lets one define the level of logging activities in Home Assistant.
14+
The logger component lets you define the level of logging activities in Home Assistant.
1515

1616
To enable the logger in your installation, add the following to your `configuration.yaml` file:
1717

18-
By default log all messages and ignore log event lowest than critical for custom omponents.
18+
By default log all messages and ignore events lower than critical for specified components.
1919

2020
```yaml
2121
# Example configuration.yaml entry
@@ -26,7 +26,7 @@ logger:
2626
homeassistant.components.camera: critical
2727
```
2828
29-
By default ignore all messages lowest than critical and log event for custom components.
29+
By default ignore all messages lower than critical and log event for specified components.
3030
3131
```yaml
3232
# Example configuration.yaml entry
@@ -41,7 +41,7 @@ logger:
4141
4242
Possible log severities are:
4343
44-
- citical
44+
- critical
4545
- fatal
4646
- error
4747
- warning

source/_components/scene.markdown

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,7 @@ logo: home-assistant.png
1111
ha_category: Organization
1212
---
1313

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.
1715

1816
```yaml
1917
# Example configuration.yaml entry
@@ -33,3 +31,19 @@ scene:
3331
brightness: 100
3432
light.ceiling: off
3533
```
34+
35+
Scenes can be activated using the service `scene.turn_on` (there is no 'scene.turn_off' service).
36+
37+
```yaml
38+
# Example automation
39+
...
40+
automation:
41+
trigger:
42+
platform: state
43+
entity_id: device_tracker.sweetheart
44+
from: 'not_home'
45+
to: 'home'
46+
action:
47+
service: scene.turn_on
48+
entity_id: scene.romantic
49+
```

source/_components/sensor.tcp.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ sensor:
6868

6969
### {% linkable_title hddtemp %}
7070

71-
The tool `hddtemp` collects the temperatur of your harddisks.
71+
The tool `hddtemp` collects the temperature of your harddisks.
7272

7373
```bash
7474
$ hddtemp

source/_components/weblink.markdown

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ logo:
1111
ha_category: Other
1212
---
1313

14-
The `weblinks` component allows you to display links in the Home Assistant frontend.
14+
The `weblink` component allows you to display links in the Home Assistant frontend.
1515

16-
To use this component in your installation, add the following to your `configuration.yaml` file:
16+
To use this component in your installation, add something like the following to your `configuration.yaml` file:
1717

1818
```yaml
1919
# Example configuration.yaml entry

source/developers/architecture.markdown

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ The Home Assistant core is responsible for Home Control. It has four parts to ma
2828
* The **Event Bus** facilitates the firing and listening of events. This is the beating heart of Home Assistant.
2929
* The **State Machine** keeps track of the states of things. Fires a `state_changed` event when a state has been changed.
3030
* The **Service Registry** listens on the event bus for `call_service` events and allows other code to register services.
31-
* The **Timer** will send every 1 second a `time_changed` event on the event bus.
31+
* The **Timer** will send a `time_changed` event every 1 second on the event bus.
3232

3333
<p class='img'>
3434
<a href='/images/architecture/ha_architecture.png' name='architecture'>
@@ -37,16 +37,18 @@ The Home Assistant core is responsible for Home Control. It has four parts to ma
3737
Overview of the Home Assistant core architecture
3838
</p>
3939

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/).
4141

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.
4343

4444
#### {% linkable_title Components that interact with an Internet of Things domain %}
4545

46-
These components will track devices within a specific domain and exist 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.
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.
4747

4848
For example, one of the built-in components is the `switch` component. This component is responsible for interaction with different types of switches.
4949

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+
5052
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/).
5153

5254
#### {% 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
8688
Overview of the full Home Assistant architecture with a couple of loaded components and platforms.
8789
</p>
8890

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.
9092

9193
## {% linkable_title Multiple connected instances %}
9294

@@ -99,7 +101,7 @@ Home Assistant supports running multiple synchronized instances using a master-s
99101
Overview of the Home Assistant architecture for multiple devices.
100102
</p>
101103

102-
A slave instance can be started with the following code and has the same support for components as a master-instance.
104+
A slave instance can be started with the following code and has the same support for components as a master instance.
103105

104106
```python
105107
import homeassistant.remote as remote
@@ -120,5 +122,5 @@ hass.block_till_stopped()
120122
```
121123

122124
<p class='note'>
123-
Because each slave maintains its own ServiceRegistry it is possible to have multiple slaves respond to one service call.
125+
Because each slave maintains its own Service Registry it is possible to have multiple slaves respond to one service call.
124126
</p>

source/developers/website.markdown

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ footer: true
1111

1212
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.
1313

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.
1515

1616
To work on the website the process is no different to working on Home Assistant itself.
1717

@@ -24,13 +24,13 @@ To work on the website the process is no different to working on Home Assistant
2424
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.
2525

2626
### {% 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.
2828

2929
```bash
3030
Here goes the code...
3131
```
3232

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.
3434

3535
```
3636
{::options coderay_line_numbers="table" /}
@@ -44,5 +44,5 @@ The images which are displayed on the pages are stored in various directories ac
4444
| screen shots | source/images/screenshots |
4545
| logos | source/images/supported_brands |
4646

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/).
4848

0 commit comments

Comments
 (0)