mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-19 15:26:59 +00:00
Fixed common spelling mistakes (#3544)
* fix spelling errors * Update binary_sensor.xiaomi_aqara.markdown Reverts to previous revision before spell check. * Update tellstick.markdown Reverts to previous revision before spell check. * Update owntracks_two_mqtt_broker.markdown Reverts to previous revision before spell check. * Update cla_sign.html Reverts to previous revision before spell check. * Update credits.markdown Reverts to previous revision before spell check. * Update api.markdown Fixed spell checker changing noone to no one.
This commit is contained in:
parent
ae24b5142f
commit
9e6b9cb658
@ -180,7 +180,7 @@ stone, and you are encouranged to override and experiment with them.
|
||||
It is tempting to modify their vaules in the inuit.css submodule but this is
|
||||
**not** the correct method for modifying inuit.css, and in doing so you will
|
||||
prevent yourself from being able to update inuit.css’ core library. The correct
|
||||
proceedure is to redefine that variable in `_vars.scss` found in the inuit.css
|
||||
procedure is to redefine that variable in `_vars.scss` found in the inuit.css
|
||||
web template. Let’s take an example…
|
||||
|
||||
In inuit.css’ `_defaults.scss` we find the following:
|
||||
|
@ -28,7 +28,7 @@ Screenshot of the HASS Configurator.
|
||||
- Upload and download files.
|
||||
- Stage and commit changes in Git repositories, create and switch between branches, push to remotes.
|
||||
- Lists of available triggers, events, entities, conditions and services. Selected element gets inserted into the editor at the last cursor position.
|
||||
- Restart Home Assitant directly with the click of a button. Reloading groups, automations etc. can be done as well. An API-password is required.
|
||||
- Restart Home Assistant directly with the click of a button. Reloading groups, automations etc. can be done as well. An API-password is required.
|
||||
- SSL support.
|
||||
- Optional authentication and IP filtering for added security.
|
||||
- Direct links to Home Assistant documentation and icons.
|
||||
|
@ -47,7 +47,7 @@ Configuration variables:
|
||||
- **range_end** (*Required*): End address for dhcp leases.
|
||||
- **broadcast** (*Required*): Network broadcast address.
|
||||
- **gateway** (*Required*): A List of gateways.
|
||||
- **interface** (*Required*): Inteface on that will be listen. Normaly is `eth0` for ethernet wired connection and `wlan0` for wireless connection.
|
||||
- **interface** (*Required*): Inteface on that will be listen. Normally is `eth0` for ethernet wired connection and `wlan0` for wireless connection.
|
||||
- **hosts** (*Optional*): A list of fixed IPs for devices.
|
||||
- **name** (*Required*): Name/hostname of your device.
|
||||
- **mac** (*Required*): Mac address of your device.
|
||||
|
@ -33,4 +33,4 @@ Configuration variables:
|
||||
- **defaults** (*Required*): A list of dns server to forward default requests.
|
||||
- **forwards** (*Optional*): A list of domains that will forward to a specific server.
|
||||
- **hosts** (*Optional*): A list of hosts to resolve it static.
|
||||
- **interface** (*Optional*): If a interface is set, it listen only on this interface. Need to set for resinos. Normaly is `eth0` for ethernet wired connection and `wlan0` for wireless connection.
|
||||
- **interface** (*Optional*): If a interface is set, it listen only on this interface. Need to set for resinos. Normally is `eth0` for ethernet wired connection and `wlan0` for wireless connection.
|
||||
|
@ -9,7 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
Set up a [mariadb](https://mariadb.org/) SQL server. It support multible database, users and permission. If you want only connect from inside use `core-mariadb` as host address.
|
||||
Set up a [mariadb](https://mariadb.org/) SQL server. It support multiple database, users and permission. If you want only connect from inside use `core-mariadb` as host address.
|
||||
|
||||
```json
|
||||
{
|
||||
|
@ -38,4 +38,4 @@ Configuration variables:
|
||||
- **map** (*Optional*): Control which folder will be expose. `config` is for Home Assistant configuration folder. `addons` for local custom repositiory. `share` is a folder that can access from add-ons and Home Assistant too. `backup` for access to snapshot files. `ssl` for certificate storage, be careful with this option! Defaults all to `true`, except for `ssl`.
|
||||
- **username** (*Optional*): The username for logging in if guest login is not used.
|
||||
- **password** (*Optional*): Password for `username`. An empty password is not supported.
|
||||
- **interface** (*Optional*): Interface on that will start the share. Normaly is `eth0` for ethernet wired connection and `wlan0` for wireless connection.
|
||||
- **interface** (*Optional*): Interface on that will start the share. Normally is `eth0` for ethernet wired connection and `wlan0` for wireless connection.
|
||||
|
@ -25,7 +25,7 @@ The requirement is that you have setup [Wink](/components/wink/).
|
||||
- Window/Door sensors
|
||||
- Motion sensors
|
||||
- Ring Door bells (No hub required)
|
||||
- Liquid presense sensors
|
||||
- Liquid presence sensors
|
||||
- Z-wave lock key codes
|
||||
- Lutron connected bulb remote buttons
|
||||
- Wink Relay buttons and presence detection
|
||||
|
@ -18,7 +18,7 @@ You need the `ffmpeg` binary in your system path. On Debian 8 or Raspbian (Jessi
|
||||
</p>
|
||||
|
||||
<p class='note'>
|
||||
If you are using [Hass.io](/hassio/) then just move forward to the configuration as all requirements are already fullfilled.
|
||||
If you are using [Hass.io](/hassio/) then just move forward to the configuration as all requirements are already fulfilled.
|
||||
</p>
|
||||
|
||||
To set it up, add the following information to your `configuration.yaml` file:
|
||||
|
@ -33,7 +33,7 @@ Configuration variables:
|
||||
- **devices** array (*Required*): A list of lights to use.
|
||||
- **[mac address]** (*Required*): The bluetooth address of the switch.
|
||||
- **name** (*Optional*): The custom name to use in the frontend.
|
||||
- **api_key** (*Required*): The API key to acces the device.
|
||||
- **api_key** (*Required*): The API key to access the device.
|
||||
|
||||
<p class='note'>
|
||||
If you get an error looking like this:
|
||||
|
@ -46,7 +46,7 @@ Every time someone rings the bell, a `nello_bell_ring` event will be fired.
|
||||
Field | Description
|
||||
----- | -----------
|
||||
`address` | Postal address of the lock.
|
||||
`date` | Date when the event occured.
|
||||
`date` | Date when the event occurred.
|
||||
`description` | Human readable string describing the event.
|
||||
`location_id` | Nello ID of the location where the bell has been rung.
|
||||
`short_id` | Shorter Nello ID.
|
||||
|
@ -41,7 +41,7 @@ media_extractor:
|
||||
music: bestaudio[ext=mp3]
|
||||
```
|
||||
|
||||
This configuration sets query for all service calls like: ```{"entity_id": "media_player.my_sonos", "media_content_id": "https://soundcloud.com/bruttoband/brutto-11", "media_content_type": "music"}``` to 'bestaudio' with mp3 extention.
|
||||
This configuration sets query for all service calls like: ```{"entity_id": "media_player.my_sonos", "media_content_id": "https://soundcloud.com/bruttoband/brutto-11", "media_content_type": "music"}``` to 'bestaudio' with mp3 extension.
|
||||
|
||||
Query examples with explanations:
|
||||
* **bestvideo** - best video only stream
|
||||
|
@ -43,7 +43,7 @@ Configuration variables:
|
||||
- **port** (*Optional*): The port number. Defaults to 80.
|
||||
- **password** (*Optional*): PIN code of the Internet Radio. Defaults to 1234.
|
||||
|
||||
Some models use a seperate port (2244) for API access, this can be verified by visiting http://[host]:[port]/device.
|
||||
Some models use a separate port (2244) for API access, this can be verified by visiting http://[host]:[port]/device.
|
||||
|
||||
In case your device (friendly name) is called *badezimmer*, an example automation can look something like this:
|
||||
|
||||
|
@ -14,7 +14,7 @@ ha_release: 0.37
|
||||
|
||||
The [Discord service](https://discordapp.com/) is a platform for the notify component. This allows components to send messages to the user using Discord.
|
||||
|
||||
In order to get a token you need to go to the [Discord My Apps page](https://discordapp.com/developers/applications/me) and create a new application. Once the application is ready, create a [bot](https://discordapp.com/developers/docs/topics/oauth2#bots) user (**Create a Bot User**) and activate **Require OAuth2 Code Grant**. Retreive the **Client ID** and the (hidden) **Token** of your bot for later.
|
||||
In order to get a token you need to go to the [Discord My Apps page](https://discordapp.com/developers/applications/me) and create a new application. Once the application is ready, create a [bot](https://discordapp.com/developers/docs/topics/oauth2#bots) user (**Create a Bot User**) and activate **Require OAuth2 Code Grant**. Retrieve the **Client ID** and the (hidden) **Token** of your bot for later.
|
||||
|
||||
When setting up the application you can use this [icon](https://home-assistant.io/demo/favicon-192x192.png).
|
||||
|
||||
|
@ -132,7 +132,7 @@ AQI | Status | Description
|
||||
201 - 300 | **Very unhealthy** | Health warnings of emergency conditions. The entire population is more likely to be affected
|
||||
301+ | **Hazardous** | Health alert: everyone may experience more serious health effects
|
||||
|
||||
### Air Polution Level
|
||||
### Air Pollution Level
|
||||
|
||||
**Description:** This sensor displays the associated `Status` (from the above
|
||||
table) for the current AQI.
|
||||
|
@ -70,7 +70,7 @@ $ python3
|
||||
{'thing': 'ha-sensor', 'created': '2015-12-10T09:46:08.559Z', 'content': {'humiditiy': 81, 'temperature': 23}}
|
||||
```
|
||||
|
||||
Recieve the latest dweet.
|
||||
Receive the latest dweet.
|
||||
|
||||
```bash
|
||||
>>> dweepy.get_latest_dweet_for('ha-sensor')
|
||||
|
@ -17,7 +17,7 @@ The `vera` platform allows you to get data from your [Vera](http://getvera.com/)
|
||||
|
||||
They will be automatically discovered if the vera component is loaded.
|
||||
|
||||
Please note that some vera sensors (such as _motion_ and _flood_ sensors) are _armable_ which means that vera will send alerts (email messages ot txts) when they are _armed_ an change state.
|
||||
Please note that some vera sensors (such as _motion_ and _flood_ sensors) are _armable_ which means that vera will send alerts (email messages to txts) when they are _armed_ an change state.
|
||||
|
||||
Home Assistant will display the state of these sensors regardless of the _armed_ state.
|
||||
|
||||
|
@ -29,7 +29,7 @@ Configuration variables:
|
||||
- **language** (*Optional*): The language to use. Defaults to `en-US`. Supported `en-US`, `ru-RU`, `uk-UK`, `tr-TR`.
|
||||
- **codec** (*Optional*): Audio codec. Default is `mp3`. Supported us `mp3`, `wav`, `opus`.
|
||||
- **voice** (*Optional*): Speaker voice. Default is `zahar`. Supported female voices are `jane`, `oksana`, `alyss`, `omazh` and male voices are `zahar` and `ermil`.
|
||||
- **emotion** (*Optional*): Speaker emotional intonation. Default is `neutral`. Also supported are `good` (freindly) and `evil` (angry)
|
||||
- **emotion** (*Optional*): Speaker emotional intonation. Default is `neutral`. Also supported are `good` (friendly) and `evil` (angry)
|
||||
- **speed** (*Optional*): Speech speed. Default value is `1`. Highest speed is `3` and lowest `0,1`
|
||||
|
||||
Please check the [API documentation](https://tech.yandex.com/speechkit/cloud/doc/guide/concepts/tts-http-request-docpage/) for details. It seems that the English version of documentation is outdated. You could request an API key [by email](https://tech.yandex.com/speechkit/cloud/) or [online](https://developer.tech.yandex.ru/).
|
||||
|
@ -51,6 +51,6 @@ automation:
|
||||
data:
|
||||
sonos_entity: media_player.office
|
||||
volume: 0.5
|
||||
message: 'Your husband comming home!'
|
||||
message: 'Your husband coming home!'
|
||||
delay: '00:00:05'
|
||||
```
|
||||
|
@ -46,7 +46,7 @@ If HA does not start, check the log file output for errors at `/var/opt/homeassi
|
||||
|
||||
### {% linkable_title Extra: Running commands before hass executes %}
|
||||
|
||||
If any commands need to run before executing hass (like loading a virutal environment), put them in PRE_EXEC. This command must end with a semicolon.
|
||||
If any commands need to run before executing hass (like loading a virtual environment), put them in PRE_EXEC. This command must end with a semicolon.
|
||||
|
||||
### {% linkable_title Daemon script %}
|
||||
|
||||
|
@ -35,7 +35,7 @@ Upstart will launch init scripts that are located in the directory `/etc/init.d/
|
||||
#
|
||||
# Installation:
|
||||
# 1) If any commands need to run before executing hass (like loading a
|
||||
# virutal environment), put them in PRE_EXEC. This command must end with
|
||||
# virtual environment), put them in PRE_EXEC. This command must end with
|
||||
# a semicolon.
|
||||
# 2) Set RUN_AS to the username that should be used to execute hass.
|
||||
# 3) Copy this script to /etc/init.d/
|
||||
|
@ -27,8 +27,8 @@ Event `state_changed` is fired when a state changes. Both `old_state` and `new_s
|
||||
Field | Description
|
||||
----- | -----------
|
||||
`entity_id` | Entity ID of the changed entity. Example: `light.kitchen`
|
||||
`old_state` | The previous state of the entity before it changed. This field is ommitted if the entity is new.
|
||||
`new_state` | The new state of the entity. This field is ommitted if the entity is removed from the state machine.
|
||||
`old_state` | The previous state of the entity before it changed. This field is omitted if the entity is new.
|
||||
`new_state` | The new state of the entity. This field is omitted if the entity is removed from the state machine.
|
||||
|
||||
|
||||
### {% linkable_title Event `time_changed` %}
|
||||
|
@ -24,7 +24,7 @@ homeassistant:
|
||||
|
||||
The package configuration can include: `switch`, `light`, `automation`, `groups` or the majority of the Home Assistant components.
|
||||
|
||||
It can be specified inline or in a seperate YAML file using `!include`.
|
||||
It can be specified inline or in a separate YAML file using `!include`.
|
||||
|
||||
Inline example, main `configuration.yaml`:
|
||||
|
||||
|
@ -24,7 +24,7 @@ AppDaemon is not meant to replace Home Assistant Automations and Scripts, rather
|
||||
- Durable variables and state - Variables can be kept between events to keep track of things like the number of times a motion sensor has been activated, or how long it has been since a door opened.
|
||||
- All the power of Python - use any of Python's libraries, create your own modules, share variables, refactor and re-use code, create a single App to do everything, or multiple Apps for individual tasks - nothing is off limits!
|
||||
|
||||
It is in fact a testament to Home Assistant's open nature that a component like `AppDaemon` can be integrated so neatly and closely that it acts in all ways like an extension of the system, not a second class citizen. Part of the strength of Home Assistant's underlying design is that it makes no assumptions whatsoever about what it is controlling, reacting to, or reporting state on. This is made achievable in part by the great flexibility of Python as a programming environment for Home Assistant, and carrying that forward has enabled me to use the same philosophy for `AppDaemon` - it took surprisingly little code to be able to respond to basic events and call services in a completely open ended manner. The bulk of the work after that was adding additonal functions to make things that were already possible easier.
|
||||
It is in fact a testament to Home Assistant's open nature that a component like `AppDaemon` can be integrated so neatly and closely that it acts in all ways like an extension of the system, not a second class citizen. Part of the strength of Home Assistant's underlying design is that it makes no assumptions whatsoever about what it is controlling, reacting to, or reporting state on. This is made achievable in part by the great flexibility of Python as a programming environment for Home Assistant, and carrying that forward has enabled me to use the same philosophy for `AppDaemon` - it took surprisingly little code to be able to respond to basic events and call services in a completely open ended manner. The bulk of the work after that was adding additional functions to make things that were already possible easier.
|
||||
|
||||
# How it Works
|
||||
|
||||
|
@ -495,7 +495,7 @@ Note: `old` and `new` can be used singly or together.
|
||||
|
||||
##### {% linkable_title duration = <seconds> (optional) %}
|
||||
|
||||
If duration is supplied as a parameter, the callback will not fire unless the state listened for is maintained for that number of seconds. This makes the most sense if a specific attribute is specified (or the default os `state` is used), an in conjunction with the `old` or `new` parameters, or both. When the callback is called, it is supplied with the values of `entity`, `attr`, `old` and `new` that were current at the time the actual event occured, since the assumption is that none of them have changed in the intervening period.
|
||||
If duration is supplied as a parameter, the callback will not fire unless the state listened for is maintained for that number of seconds. This makes the most sense if a specific attribute is specified (or the default os `state` is used), an in conjunction with the `old` or `new` parameters, or both. When the callback is called, it is supplied with the values of `entity`, `attr`, `old` and `new` that were current at the time the actual event occurred, since the assumption is that none of them have changed in the intervening period.
|
||||
|
||||
```python
|
||||
def my_callback(self, **kwargs):
|
||||
@ -643,7 +643,7 @@ Delay, in seconds before the callback is invoked.
|
||||
|
||||
##### {% linkable_title \*\*kwargs %}
|
||||
|
||||
Arbitary keyword parameters to be provided to the callback function when it is invoked.
|
||||
Arbitrary keyword parameters to be provided to the callback function when it is invoked.
|
||||
|
||||
#### {% linkable_title Examples %}
|
||||
|
||||
@ -677,7 +677,7 @@ A Python `time` object that specifies when the callback will occur. If the time
|
||||
|
||||
##### {% linkable_title \*\*kwargs %}
|
||||
|
||||
Arbitary keyword parameters to be provided to the callback function when it is invoked.
|
||||
Arbitrary keyword parameters to be provided to the callback function when it is invoked.
|
||||
|
||||
#### {% linkable_title Examples %}
|
||||
|
||||
@ -715,7 +715,7 @@ A Python `datetime` object that specifies when the callback will occur.
|
||||
|
||||
##### {% linkable_title \*\*kwargs %}
|
||||
|
||||
Arbitary keyword parameters to be provided to the callback function when it is invoked.
|
||||
Arbitrary keyword parameters to be provided to the callback function when it is invoked.
|
||||
|
||||
#### {% linkable_title Examples %}
|
||||
|
||||
@ -754,7 +754,7 @@ A Python `time` object that specifies when the callback will occur. If the time
|
||||
|
||||
##### {% linkable_title \*\*kwargs %}
|
||||
|
||||
Arbitary keyword parameters to be provided to the callback function when it is invoked.
|
||||
Arbitrary keyword parameters to be provided to the callback function when it is invoked.
|
||||
|
||||
#### {% linkable_title Examples %}
|
||||
|
||||
@ -792,7 +792,7 @@ A Python `time` object that specifies when the callback will occur, the hour com
|
||||
|
||||
##### {% linkable_title \*\*kwargs %}
|
||||
|
||||
Arbitary keyword parameters to be provided to the callback function when it is invoked.
|
||||
Arbitrary keyword parameters to be provided to the callback function when it is invoked.
|
||||
|
||||
#### {% linkable_title Examples %}
|
||||
|
||||
@ -829,7 +829,7 @@ A Python `time` object that specifies when the callback will occur, the hour and
|
||||
|
||||
##### {% linkable_title \*\*kwargs %}
|
||||
|
||||
Arbitary keyword parameters to be provided to the callback function when it is invoked.
|
||||
Arbitrary keyword parameters to be provided to the callback function when it is invoked.
|
||||
|
||||
#### {% linkable_title Examples %}
|
||||
|
||||
@ -871,7 +871,7 @@ After the initial callback has occurred, another will occur every `repeat` secon
|
||||
|
||||
##### {% linkable_title \*\*kwargs %}
|
||||
|
||||
Arbitary keyword parameters to be provided to the callback function when it is invoked.
|
||||
Arbitrary keyword parameters to be provided to the callback function when it is invoked.
|
||||
|
||||
#### {% linkable_title Examples %}
|
||||
|
||||
@ -944,7 +944,7 @@ All of the scheduler calls above support 2 additional optional arguments, `rando
|
||||
- `random_start` - start of range of the random time
|
||||
- `random_end` - end of range of the random time
|
||||
|
||||
`random_start` must always be numerically lower than `random_end`, they can be negative to denote a random offset before and event, or positive to denote a random offset after an event. The event would be a an absolute or relative time or sunrise/sunset depending on whcih scheduler call you use and these values affect the base time by the spcified amount. If not specified, they will default to `0`.
|
||||
`random_start` must always be numerically lower than `random_end`, they can be negative to denote a random offset before and event, or positive to denote a random offset after an event. The event would be a an absolute or relative time or sunrise/sunset depending on which scheduler call you use and these values affect the base time by the spcified amount. If not specified, they will default to `0`.
|
||||
|
||||
For example:
|
||||
|
||||
@ -987,7 +987,7 @@ The time in seconds that the callback should be delayed after sunrise. A negativ
|
||||
|
||||
##### {% linkable_title \*\*kwargs %}
|
||||
|
||||
Arbitary keyword parameters to be provided to the callback function when it is invoked.
|
||||
Arbitrary keyword parameters to be provided to the callback function when it is invoked.
|
||||
|
||||
#### {% linkable_title Examples %}
|
||||
|
||||
@ -1030,7 +1030,7 @@ The time in seconds that the callback should be delayed after sunrise. A negativ
|
||||
|
||||
##### {% linkable_title \*\*kwargs %}
|
||||
|
||||
Arbitary keyword parameters to be provided to the callback function when it is invoked.
|
||||
Arbitrary keyword parameters to be provided to the callback function when it is invoked.
|
||||
|
||||
#### {% linkable_title Examples %}
|
||||
|
||||
|
@ -36,7 +36,7 @@ class = HelloWorld
|
||||
- `logfile` (optional) is the path to where you want `AppDaemon` to keep its main log. When run from the command line this is not used - log messages come out on the terminal. When running as a daemon this is where the log information will go. In the example above I created a directory specifically for AppDaemon to run from, although there is no reason you can't keep it in the `appdaemon` directory of the cloned repository. If `logfile = STDOUT`, output will be sent to stdout instead of stderr when running in the foreground, if not specified, output will be sent to STDOUT.
|
||||
- `errorfile` (optional) is the name of the logfile for errors - this will usually be errors during compilation and execution of the apps. If `errorfile = STDERR` errors will be sent to stderr instead of a file, if not specified, output will be sent to STDERR.
|
||||
- `app_dir` (optional) is the directory the apps are placed in. If not specified, AppDaemon will look first in `~/.homeassistant` then `/etc/appdaemon` for a subdirectory named `apps`
|
||||
- `threads` - the number of dedicated worker threads to create for running the apps. Note, this will bear no resembelance to the number of apps you have, the threads are re-used and only active for as long as required to tun a particular callback or initialization, leave this set to 10 unless you experience thread starvation
|
||||
- `threads` - the number of dedicated worker threads to create for running the apps. Note, this will bear no resemblance to the number of apps you have, the threads are re-used and only active for as long as required to tun a particular callback or initialization, leave this set to 10 unless you experience thread starvation
|
||||
- `latitude`, `longitude`, `elevation`, `timezone` - should all be copied from your Home Assistant configuration file
|
||||
- `cert_path` (optional) - path to root CA cert directory - use only if you are using self signed certs.
|
||||
|
||||
|
@ -35,7 +35,7 @@ So why `AppDaemon`? AppDaemon is not meant to replace Home Assistant Automations
|
||||
- Durable variables and state - variables can be kept between events to keep track of things like the number of times a motion sensor has been activated, or how long it has been since a door opened
|
||||
- All the power of Python - use any of Python's libraries, create your own modules, share variables, refactor and re-use code, create a single app to do everything, or multiple apps for individual tasks - nothing is off limits!
|
||||
|
||||
It is in fact a testament to Home Assistant's open nature that a component like `AppDaemon` can be integrated so neatly and closely that it acts in all ways like an extension of the system, not a second class citizen. Part of the strength of Home Assistant's underlying design is that it makes no assumptions whatever about what it is controlling or reacting to, or reporting state on. This is made achievable in part by the great flexibility of Python as a programming environment for Home Assistant, and carrying that forward has enabled me to use the same philosophy for `AppDaemon` - it took surprisingly little code to be able to respond to basic events and call services in a completely open ended manner - the bulk of the work after that was adding additonal functions to make things that were already possible easier.
|
||||
It is in fact a testament to Home Assistant's open nature that a component like `AppDaemon` can be integrated so neatly and closely that it acts in all ways like an extension of the system, not a second class citizen. Part of the strength of Home Assistant's underlying design is that it makes no assumptions whatever about what it is controlling or reacting to, or reporting state on. This is made achievable in part by the great flexibility of Python as a programming environment for Home Assistant, and carrying that forward has enabled me to use the same philosophy for `AppDaemon` - it took surprisingly little code to be able to respond to basic events and call services in a completely open ended manner - the bulk of the work after that was adding additional functions to make things that were already possible easier.
|
||||
|
||||
## {% linkable_title How it Works %}
|
||||
|
||||
|
@ -19,4 +19,4 @@ AppDaemon can be installed exactly as per the instructions for every other versi
|
||||
|
||||
## {% linkable_title Windows Under the Linux Subsystem %}
|
||||
|
||||
Windows 10 now supports a full Linux bash environment that is capable of running Python. This is essentially an Ubuntu distribution and works extremely well. It is possible to run AppDaemon in exactly the same way as for Linux distributions, and none of the above Windows Caveats apply to this version. This is the reccomended way to run AppDaemon in a Windows 10 and later environment.
|
||||
Windows 10 now supports a full Linux bash environment that is capable of running Python. This is essentially an Ubuntu distribution and works extremely well. It is possible to run AppDaemon in exactly the same way as for Linux distributions, and none of the above Windows Caveats apply to this version. This is the recommended way to run AppDaemon in a Windows 10 and later environment.
|
||||
|
@ -18,7 +18,7 @@ You need two parts in order to get it working correctly.
|
||||
|
||||
Become the user that run Home Assistant.
|
||||
|
||||
- A seperate Python script that syncs a specific folder. Which can be found [here](https://gist.github.com/riemers/31e3350041fd3e47e489cbc811209d6f)
|
||||
- A separate Python script that syncs a specific folder. Which can be found [here](https://gist.github.com/riemers/31e3350041fd3e47e489cbc811209d6f)
|
||||
- The excellent [dropbox uploader script](https://github.com/andreafabrizi/Dropbox-Uploader/blob/master/dropbox_uploader.sh) you can grab the .sh file only.
|
||||
|
||||
Download those files to a folder of your liking, after that edit both files and change paths accordingly.
|
||||
@ -46,7 +46,7 @@ Do note, this will **backup your passwords to Dropbox**.
|
||||
|
||||
### {% linkable_title Automate the backup %}
|
||||
|
||||
So you just made a full backup, next time you want it to be done automaticly. Since your database can change and so do other files over time.
|
||||
So you just made a full backup, next time you want it to be done automatically. Since your database can change and so do other files over time.
|
||||
Add it to your crontab, edit the **path/to** part.
|
||||
|
||||
```bash
|
||||
|
@ -30,7 +30,7 @@ Some best practices to consider before putting your configuration on GitHub:
|
||||
|
||||
- Extensive use of [secrets.yaml](https://home-assistant.io/topics/secrets/) to hide sensitive information like usernames, passwords, device information, and location
|
||||
- Exclusion of some files, including `secrets.yaml` and device-specific information using a [`.gitignore`](https://git-scm.com/docs/gitignore) file
|
||||
- Regularly commiting your configuration to GitHub to make sure that your backup is up to date
|
||||
- Regularly committing your configuration to GitHub to make sure that your backup is up to date
|
||||
- Use a README.md to document your configuration and include screenshots of your Home Assistant GUI
|
||||
|
||||
### {% linkable_title Step 1: Installing and Initializing Git %}
|
||||
@ -127,7 +127,7 @@ git push origin master
|
||||
exit
|
||||
```
|
||||
|
||||
Every time you run this script, you will be prompted for a comment to describe the change(s) that you are commiting. This comment will be displayed beside each changed file on GitHub and will be stored after each commit. You will also be asked to enter your GitHub username and password (or ssh key passphrase if you use [GitHub with ssh](https://help.github.com/categories/ssh/)).
|
||||
Every time you run this script, you will be prompted for a comment to describe the change(s) that you are committing. This comment will be displayed beside each changed file on GitHub and will be stored after each commit. You will also be asked to enter your GitHub username and password (or ssh key passphrase if you use [GitHub with ssh](https://help.github.com/categories/ssh/)).
|
||||
|
||||
### {% linkable_title Step 7: Configuration file testing %}
|
||||
|
||||
@ -162,7 +162,7 @@ home_elevation: 0
|
||||
|
||||
### {% linkable_title Extra commands %}
|
||||
|
||||
You can enter these commands to get a list of the files in your local git repository and a status of files that have changed but not commited yet:
|
||||
You can enter these commands to get a list of the files in your local git repository and a status of files that have changed but not committed yet:
|
||||
|
||||
|
||||
```bash
|
||||
|
@ -101,7 +101,7 @@ Change below path to where you placed the `usb_backup.sh` and run the following
|
||||
|
||||
### {% linkable_title Auto mount %}
|
||||
|
||||
This does not automaticly mount your USB drive at boot. You need to do that manually or add a line to your `/etc/fstab` file.
|
||||
This does not automatically mount your USB drive at boot. You need to do that manually or add a line to your `/etc/fstab` file.
|
||||
|
||||
If your drive is on `/dev/sda1`, you could add a entry to your `/etc/fstab` like so:
|
||||
|
||||
|
@ -24,7 +24,7 @@ This guide was added by mf_social on 16/03/2017 and was valid at the time of wri
|
||||
* You are not currently running anything on port 80 on your network (you'd know if you were).
|
||||
* If you are not using Home Assistant on a Debian/Raspian/Hassbian system you will be able to convert any of the terminology I use in to the correct syntax for your system.
|
||||
* You understand that this is a 'guide' covering the general application of these things to the general masses and there are things outside of the scope of it, and it does not cover every eventuality (although I have made some notes where people may stumble). Also, I have used some turns of phrase to make it easier to understand for the novice reader which people of advanced knowledge may say is innacurate. My goal here is to get you through this guide with a satisfactory outcome and have a decent understanding of what you are doing and why, not to teach you advanced internet communication protocols.
|
||||
* Each step presumes you have fully completed the previous step succesfully, so if you did an earlier step following a different guide, please ensure that you have not missed anything out that may affect the step you have jumped to, and ensure that you adapt any commands to take in to account different file placements from other guides.
|
||||
* Each step presumes you have fully completed the previous step successfully, so if you did an earlier step following a different guide, please ensure that you have not missed anything out that may affect the step you have jumped to, and ensure that you adapt any commands to take in to account different file placements from other guides.
|
||||
|
||||
Steps we will take:
|
||||
|
||||
@ -358,11 +358,11 @@ If you were previously using a webapp on your phone/tablet to access your Home A
|
||||
https://home-assistant.io/docs/frontend/mobile/
|
||||
```
|
||||
|
||||
All done? Accessing your Home Assistant from across the world with your DuckDNS URL and a lovely secure logo on your browser? Ace! Now let's clean up our port forwards so that we are only exposing the parts of our network that are absolutely neccesary to the outside world.
|
||||
All done? Accessing your Home Assistant from across the world with your DuckDNS URL and a lovely secure logo on your browser? Ace! Now let's clean up our port forwards so that we are only exposing the parts of our network that are absolutely necessary to the outside world.
|
||||
|
||||
### {% linkable_title 6 - Clean up port forwards %}
|
||||
|
||||
In step 2 we created a port forwarding rule called `ha_test`. This opens port 8123 to the world, and is no longer neccessary.
|
||||
In step 2 we created a port forwarding rule called `ha_test`. This opens port 8123 to the world, and is no longer necessary.
|
||||
|
||||
Go to your router's configuration pages and delete the `ha_test` rule.
|
||||
|
||||
@ -402,7 +402,7 @@ $ sudo apt-get install ssl-cert-check
|
||||
```
|
||||
|
||||
<p class='note'>
|
||||
In cases where, for whatever reason, apt-get installing is not appropriate for your installation you can fetch the ssl-cert-check script from `http://prefetch.net/code/ssl-cert-check` bearing in mind that you will have to modify the command in the sensor code below to run the script from wherever you put it, modify permission if neccessary and so on.
|
||||
In cases where, for whatever reason, apt-get installing is not appropriate for your installation you can fetch the ssl-cert-check script from `http://prefetch.net/code/ssl-cert-check` bearing in mind that you will have to modify the command in the sensor code below to run the script from wherever you put it, modify permission if necessary and so on.
|
||||
</p>
|
||||
|
||||
To set up a senor add the following to your `configuration.yaml` (remembering to correct the URL for your DuckDNS):
|
||||
@ -433,7 +433,7 @@ If you are a TWO-RULE person (from step 6), you can automatically renew your cer
|
||||
There are a number of options for automating the renewal process:
|
||||
|
||||
#### Option 1:
|
||||
Your certificate can be renewed as a 'cron job' - cron jobs are background tasks run by the computer at specified intervals (and are totally independant of Home Assistant). Defining cron is outside of the scope of this guide but you will have had dealings with `crontab` when setting up DuckDNS in step 3
|
||||
Your certificate can be renewed as a 'cron job' - cron jobs are background tasks run by the computer at specified intervals (and are totally independent of Home Assistant). Defining cron is outside of the scope of this guide but you will have had dealings with `crontab` when setting up DuckDNS in step 3
|
||||
|
||||
To set a cron job to run the script at regular intervals:
|
||||
|
||||
|
@ -42,7 +42,7 @@ There are no dependencies on Python modules that are not part of the standard li
|
||||
|
||||
### {% linkable_title Configuration %}
|
||||
Near the top of the configurator.py-file you will find some global variables you can change to customize the configurator. If you are unfamiliar with Python: when setting variables of the type _string_, you have to write that within quotation marks. The default settings are fine for just checking out the configurator quickly. With more customized setups you should change some settings though.
|
||||
To keep your settings across updates it is also possible to save settings in an external file. In that case copy [settings.conf](https://github.com/danielperna84/hass-configurator/blob/master/settings.conf) whereever you like and append the full path to the file to the command when starting the configurator. E.g. `sudo .configurator.py /home/homeassistant/.homeassistant/mysettings.conf`. This file is in JSON format. So make sure it has a valid syntax (you can set the editor to JSON to get syntax highlighting for the settings). The major difference to the settings in the py-file is, that `None` becomes `null`.
|
||||
To keep your settings across updates it is also possible to save settings in an external file. In that case copy [settings.conf](https://github.com/danielperna84/hass-configurator/blob/master/settings.conf) wherever you like and append the full path to the file to the command when starting the configurator. E.g. `sudo .configurator.py /home/homeassistant/.homeassistant/mysettings.conf`. This file is in JSON format. So make sure it has a valid syntax (you can set the editor to JSON to get syntax highlighting for the settings). The major difference to the settings in the py-file is, that `None` becomes `null`.
|
||||
|
||||
#### LISTENIP (string)
|
||||
The IP the service is listening on. By default it is binding to `0.0.0.0`, which is every interface on the system.
|
||||
|
@ -12,7 +12,7 @@ redirect_from: /ecosystem/ios/location/
|
||||
|
||||
## {% linkable_title Location tracking when outside a Home Assistant zone %}
|
||||
|
||||
Home Assistant for iOS receives _significant location updates_ from iOS. Whenever an update is received, it is sent to Home Assistant. Roughly, an update is received everytime that your device transfers to a new cellular tower, a significant amount of time has passed (usually a couple hours) or a connection state changes and the system notices your location recently changed.
|
||||
Home Assistant for iOS receives _significant location updates_ from iOS. Whenever an update is received, it is sent to Home Assistant. Roughly, an update is received every time that your device transfers to a new cellular tower, a significant amount of time has passed (usually a couple hours) or a connection state changes and the system notices your location recently changed.
|
||||
|
||||
Apple [defines][apple-location-programming-guide] significant significant-change location updates as:
|
||||
|
||||
|
@ -90,7 +90,7 @@ This output can be cut and pasted into your configuration.yaml file as required
|
||||
|
||||
Scenegen supports all documented effects for lights including transitions and flash effects, however generally it is easier to run scenegen to get the basic setup and add any effects manually later.
|
||||
|
||||
Note that depending on the type of light there may be a delay in actually setting up its parameters and Home Assistant actually recieving that state. For instance, if you set a scene up with the Hue App, Home Assistant won't see those changes for up to 10 seconds. Turning on a ZWave light might not be seen for an entire poll interval. For this reason, its good practice to wait for a while after the scene is setup before running scenegen. Alternatively, perform all setup using the Home Assistant frontend and it will instantly have the required state for capture.
|
||||
Note that depending on the type of light there may be a delay in actually setting up its parameters and Home Assistant actually receiving that state. For instance, if you set a scene up with the Hue App, Home Assistant won't see those changes for up to 10 seconds. Turning on a ZWave light might not be seen for an entire poll interval. For this reason, its good practice to wait for a while after the scene is setup before running scenegen. Alternatively, perform all setup using the Home Assistant frontend and it will instantly have the required state for capture.
|
||||
|
||||
## {% linkable_title Advanced Usage %}
|
||||
|
||||
|
@ -62,7 +62,7 @@ To upgrade the All-In-One setup manually:
|
||||
|
||||
* Login to Raspberry Pi `ssh pi@your_raspberry_pi_ip`
|
||||
* Change to homeassistant user `sudo su -s /bin/bash homeassistant`
|
||||
* Change to virtual enviroment `source /srv/homeassistant/homeassistant_venv/bin/activate`
|
||||
* Change to virtual environment `source /srv/homeassistant/homeassistant_venv/bin/activate`
|
||||
* Update Home Assistant `pip3 install --upgrade homeassistant`
|
||||
* Type `exit` to logout the hass user and return to the `pi` user.
|
||||
|
||||
@ -70,7 +70,7 @@ To upgrade the All-In-One setup manually:
|
||||
**If you deployed Home Assistant via the AiO installer prior to December 2016**
|
||||
* Login to Raspberry Pi `ssh pi@your_raspberry_pi_ip`
|
||||
* Change to homeassistant user `sudo su -s /bin/bash hass`
|
||||
* Change to virtual enviroment `source /srv/hass/hass_venv/bin/activate`
|
||||
* Change to virtual environment `source /srv/hass/hass_venv/bin/activate`
|
||||
* Update Home Assistant `pip3 install --upgrade homeassistant`
|
||||
* Type `exit` to logout the hass user and return to the `pi` user.
|
||||
</div>
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Manual installation on a Raspberry Pi"
|
||||
description: "Instructions to install Home Assistant on a Raspberry Pi runnning Raspbian Lite."
|
||||
description: "Instructions to install Home Assistant on a Raspberry Pi running Raspbian Lite."
|
||||
date: 2016-09-05 16:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
|
@ -19,7 +19,7 @@ Test any changes to your `configuration.yaml` file before launching Home Assista
|
||||
$ hass --script check_config
|
||||
```
|
||||
|
||||
### {% linkable_title Existance of configuration %}
|
||||
### {% linkable_title Existence of configuration %}
|
||||
|
||||
This script checks if the `configuration.yaml` file exists. If the file is not available, one is created.
|
||||
|
||||
@ -47,7 +47,7 @@ $ hass --script benchmark async_million_events
|
||||
|
||||
### {% linkable_title Old scripts %}
|
||||
|
||||
Usally those scripts were only used when a massive update happend and was announced in the release notes.
|
||||
Usually those scripts were only used when a massive update happened and was announced in the release notes.
|
||||
|
||||
- `db_migrator`: Migrate an existing SQLite database to the new schema.
|
||||
- `influxdb_migrator`: Convert an old InfluxDB to the new format.
|
||||
|
@ -11,4 +11,4 @@ ha_category: Documentation
|
||||
---
|
||||
|
||||
|
||||
Why are you not using tools X for the documentation? Because the current solution works for us and we see no additional value in using a seperate publishing platform.
|
||||
Why are you not using tools X for the documentation? Because the current solution works for us and we see no additional value in using a separate publishing platform.
|
||||
|
@ -13,4 +13,4 @@ ha_category: Documentation
|
||||
|
||||
Home Assistant is a FAST moving open source project. This means occasionally the official documentation will not be 100% current or complete. Since this is an open source volunteer project, we would encourage anyone who finds gaps in the documentation to click the `edit this page on Github` link in the top right and submit any corrections/enhancements they may find useful.
|
||||
|
||||
In the absence of information, many users find it beneficial to look at other people's configurations to find examples of what they want to accomplish in thier own configurations. The easiest way to find these configurations is through this [Github search](https://github.com/search?q=topic%3Ahome-assistant-config&type=Repositories).
|
||||
In the absence of information, many users find it beneficial to look at other people's configurations to find examples of what they want to accomplish in their own configurations. The easiest way to find these configurations is through this [Github search](https://github.com/search?q=topic%3Ahome-assistant-config&type=Repositories).
|
||||
|
@ -13,7 +13,7 @@ categories: Internet-of-Things
|
||||
The internet has been buzzing over the last year about home automation. A lot of different terms fly around like the internet of things, home automation and the smart home.
|
||||
This article will try to explain how they all relate.
|
||||
|
||||
The first thing to introduce is the **Internet of Things** (IoT). This refers to a new generation of devices that cannot only be controlled by humans via buttons or remotes but also provide an interface to communicate with other devices and applications. For example, an IoT-capable coffee machine could receive commands to create different types of coffee and be able to broadcast the amount of water left in its resevoir.
|
||||
The first thing to introduce is the **Internet of Things** (IoT). This refers to a new generation of devices that cannot only be controlled by humans via buttons or remotes but also provide an interface to communicate with other devices and applications. For example, an IoT-capable coffee machine could receive commands to create different types of coffee and be able to broadcast the amount of water left in its reservoir.
|
||||
|
||||
There is no widely adopted open standard for smart device communication. This prevents a lot of devices to communicate with one another. And even if they could, most devices are not designed to manage other devices. To solve this we need a device to be able to communicate with and manage all these connected devices. This device is called a **hub**.
|
||||
|
||||
|
@ -12,7 +12,7 @@ categories: Release-Notes
|
||||
|
||||
Most people do not like configuring things. Things just have to work, out of the box. Reaching this scenario is the goal of what we are about to introduce: our new discovery component.
|
||||
|
||||
The discovery component will scan the WiFi network from time to time for connected zeroconf/mDNS and uPnP devices. The intial introduction is mainly focussed on getting the right architecture in place and discovers Belkin WeMo switches and Google Chromecasts connected to your network. When found, it will load and notify the appropritate component and it will be ready to use within seconds.
|
||||
The discovery component will scan the WiFi network from time to time for connected zeroconf/mDNS and uPnP devices. The initial introduction is mainly focussed on getting the right architecture in place and discovers Belkin WeMo switches and Google Chromecasts connected to your network. When found, it will load and notify the appropritate component and it will be ready to use within seconds.
|
||||
|
||||
Most devices still require some sort of interaction from the user after being discovered - be it a button being pressed or some sort of authentication. This is a challenge that will be solved in the future.
|
||||
|
||||
|
@ -28,7 +28,7 @@ The history component will be enabled for new users by default. For current user
|
||||
</p>
|
||||
|
||||
<p class='note'>
|
||||
Events are saved in a local database. Google Graphs is used to draw the graph. Drawing is happening 100% in your browser - no data is transfered to anyone at any time.
|
||||
Events are saved in a local database. Google Graphs is used to draw the graph. Drawing is happening 100% in your browser - no data is transferred to anyone at any time.
|
||||
</p>
|
||||
|
||||
<!--more-->
|
||||
|
@ -12,7 +12,7 @@ categories: Release-Notes
|
||||
|
||||
Home Assistant has learned a new trick to get the latest information from the server: streaming updates. No longer will the frontend poll every 30 seconds for updates but instead it will keep a connection open and get the latest changes pushed as soon as they happen.
|
||||
|
||||
A new toggle has been added ot the sidebar to turn streaming updates on and off. This preference will be saved on a per-browser basis using local storage. The toggle will also indicate when there is an error setting up a stream after which it will fall back to use polling.
|
||||
A new toggle has been added to the sidebar to turn streaming updates on and off. This preference will be saved on a per-browser basis using local storage. The toggle will also indicate when there is an error setting up a stream after which it will fall back to use polling.
|
||||
|
||||
<p class='img'><img src='/images/screenshots/streaming-updates.png' /></p>
|
||||
|
||||
|
@ -10,7 +10,7 @@ comments: true
|
||||
categories: Release-Notes
|
||||
---
|
||||
|
||||
We discovered two issues annoying enough to warrent the release of 0.7.5:
|
||||
We discovered two issues annoying enough to warrant the release of 0.7.5:
|
||||
|
||||
- Home Assistant package did not include the CloudMQTT certificate.
|
||||
- A bug in the core caused issues when some platforms are loaded twice.
|
||||
|
@ -12,7 +12,7 @@ og_image: /images/blog/2015-12-influxdb/grafana-graph.png
|
||||
---
|
||||
|
||||
<img src='/images/supported_brands/influxdb.png' style='clear: right; border:none; box-shadow: none; float: right; margin-bottom: 12px;' width='200' /><img src='/images/supported_brands/grafana.png' style='clear: right; border:none; box-shadow: none; float: right; margin-bottom: 12px;' width='200' />
|
||||
The [InfluxDB](https://influxdb.com/) database is a so-called time series database primarly designed to store sensor data and real-time analytics.
|
||||
The [InfluxDB](https://influxdb.com/) database is a so-called time series database primarily designed to store sensor data and real-time analytics.
|
||||
|
||||
The `influxdb` component makes it possible to transfer all state changes from Home Assistant to an external [InfluxDB](https://influxdb.com/) database.
|
||||
|
||||
|
@ -13,7 +13,7 @@ og_image: /images/blog/2016-01-release-12/social.png
|
||||
|
||||
Another sprint has come to an end and it seems that we have not slowed down a single bit 🚀. 0.12 is full of new components, platforms and organizational additions.
|
||||
|
||||
I would like to give a shout out to [Greg Dowling (@pavoni)][@pavoni] as every release includes new work from him. He is constantly adding support for new platforms or improving the reliablity of existing components and platforms. Keep up the good work!
|
||||
I would like to give a shout out to [Greg Dowling (@pavoni)][@pavoni] as every release includes new work from him. He is constantly adding support for new platforms or improving the reliability of existing components and platforms. Keep up the good work!
|
||||
|
||||
This release includes a very frequent requested feature: the ability to organize entities in different tabs in the frontend. See [the demo] to see this in action and read more in the [group documentation][group] how to get started.
|
||||
|
||||
|
@ -111,7 +111,7 @@ mqtt:
|
||||
broker: localhost
|
||||
```
|
||||
|
||||
Replace `localhost` with the location of the running MQTT Broker. Devices from the MQTT Bridge are published to the path `smartthings/<Device Name>/<Atribute>`
|
||||
Replace `localhost` with the location of the running MQTT Broker. Devices from the MQTT Bridge are published to the path `smartthings/<Device Name>/<Attribute>`
|
||||
|
||||
For example, my Dimmer Z-Wave Lamp is called "Fireplace Lights" in SmartThings. The following topics are published:
|
||||
|
||||
|
@ -143,7 +143,7 @@ Controlling a device can, just like state, be done through cloud and/or local co
|
||||
These devices are not able to be controlled. They will only offer state.
|
||||
|
||||
### {% linkable_title Poll State after sending command %}
|
||||
These devices will require the state to be polled after sending a command to see if a command was successfull.
|
||||
These devices will require the state to be polled after sending a command to see if a command was successful.
|
||||
|
||||
Advantages:
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
layout: post
|
||||
title: "0.23: Envisalink, Homematic, HDMI-CEC and Sony Bravia TV"
|
||||
description: "This new release of Home Assistant contains support for Envisalink, Homematic, Sony Bravia TV and HDMI-CEC. Additionaly was the Wink support improved and CherryPy is the new WSGI server."
|
||||
description: "This new release of Home Assistant contains support for Envisalink, Homematic, Sony Bravia TV and HDMI-CEC. Additionally was the Wink support improved and CherryPy is the new WSGI server."
|
||||
date: 2016-07-01 00:31:00 +0000
|
||||
date_formatted: "July 1, 2016"
|
||||
author: Paulus Schoutsen
|
||||
|
@ -41,7 +41,7 @@ Leaving...
|
||||
|
||||
Now reset the device. You should then be able to use the [REPL (Read Evaluate Print Loop)](http://docs.micropython.org/en/latest/esp8266/esp8266/tutorial/repl.html#getting-a-micropython-repl-prompt). On Linux there is `minicom` or `picocom`, on a Mac you can use `screen` (eg. `screen /dev/tty.SLAB_USBtoUART 115200`), and on Windows there is Putty to open a serial connection and get the REPL prompt.
|
||||
|
||||
The [WebREPL](http://docs.micropython.org/en/latest/esp8266/esp8266/tutorial/repl.html#webrepl-a-prompt-over-wifi) work over a wireless connection and allows easy access to a prompt in your browser. An instance of the WebREPL client is hosted at [http://micropython.org/webrepl](http://micropython.org/webrepl). Alternatively, you can create a local clone of their [GitHub repository](https://github.com/micropython/webrepl). This is neccessary if your want to use the command-line tool `webrepl_cli.py` which is mentionend later in this post.
|
||||
The [WebREPL](http://docs.micropython.org/en/latest/esp8266/esp8266/tutorial/repl.html#webrepl-a-prompt-over-wifi) work over a wireless connection and allows easy access to a prompt in your browser. An instance of the WebREPL client is hosted at [http://micropython.org/webrepl](http://micropython.org/webrepl). Alternatively, you can create a local clone of their [GitHub repository](https://github.com/micropython/webrepl). This is necessary if your want to use the command-line tool `webrepl_cli.py` which is mentionend later in this post.
|
||||
|
||||
```bash
|
||||
$ sudo minicom -D /dev/ttyUSB0
|
||||
|
@ -38,7 +38,7 @@ So why `AppDaemon`? `AppDaemon` is not meant to replace Home Assistant Automatio
|
||||
- Durable variables and state - variables can be kept between events to keep track of things like the number of times a motion sensor has been activated, or how long it has been since a door opened
|
||||
- All the power of Python - use any of Python's libraries, create your own modules, share variables, refactor and re-use code, create a single app to do everything, or multiple apps for individual tasks - nothing is off limits!
|
||||
|
||||
It is in fact a testament to Home Assistant's open nature that a component like `AppDaemon` can be integrated so neatly and closely that it acts in all ways like an extension of the system, not a second class citizen. Part of the strength of Home Assistant's underlying design is that it makes no assumptions whatever about what it is controlling or reacting to, or reporting state on. This is made achievable in part by the great flexibility of Python as a programming environment for Home Assistant, and carrying that forward has enabled me to use the same philosophy for `AppDaemon` - it took surprisingly little code to be able to respond to basic events and call services in a completely open ended manner - the bulk of the work after that was adding additonal functions to make things that were already possible easier.
|
||||
It is in fact a testament to Home Assistant's open nature that a component like `AppDaemon` can be integrated so neatly and closely that it acts in all ways like an extension of the system, not a second class citizen. Part of the strength of Home Assistant's underlying design is that it makes no assumptions whatever about what it is controlling or reacting to, or reporting state on. This is made achievable in part by the great flexibility of Python as a programming environment for Home Assistant, and carrying that forward has enabled me to use the same philosophy for `AppDaemon` - it took surprisingly little code to be able to respond to basic events and call services in a completely open ended manner - the bulk of the work after that was adding additional functions to make things that were already possible easier.
|
||||
|
||||
## {% linkable_title How it Works %}
|
||||
|
||||
|
@ -27,7 +27,7 @@ Singleboard computers are very popular to run Home Assistant. To support this fa
|
||||
There are countless bugfixes included in this release which will make your experience with the `climate` and the `cover` platforms better. Two week ago was the biggest merger of implementations released that ever happened in the history of Home Assistant. Thanks to [@turbokongen], [@pvizeli], [@djbanks], [@danielperna84], and others the improvements on the code and the frontend side is continuing...
|
||||
|
||||
### {% linkable_title API documentation %}
|
||||
The [Home Assistant API Documentation](https://dev-docs.home-assistant.io/en/dev/) is a great addition to the already exisiting user documentation. The focus is not end-users but developers who whant to get details about the code without actually browsing the code on Github.
|
||||
The [Home Assistant API Documentation](https://dev-docs.home-assistant.io/en/dev/) is a great addition to the already exisiting user documentation. The focus is not end-users but developers who want to get details about the code without actually browsing the code on Github.
|
||||
|
||||
### {% linkable_title Configuration validation %}
|
||||
The validation of the configuration is still on-going. Approximatly 80 % is done. This means that we will propably talk about this topic in the next release notes again. To align the configuration of components and platforms we needed to break some. Please refer to the Breaking changes section to check if you need to update your configuration or simple check your log for configuration validation errors. Thanks to [@kellerza], [@fabaff], [@Teagan42], and [@pvizeli] for your effort!
|
||||
|
@ -12,7 +12,7 @@ categories: Release-Notes
|
||||
|
||||
Yes, after only nine days comes 0.30. Don't worry, we will try to keep our usual release cycle and not start to release every day.
|
||||
|
||||
We guess that you already know: The [Raspberry Pi image][pi-image] is available now. For Hassbian, [@Landrash] has combined the most essential parts for a Home Assistant setup in an easy-to-use image for the Raspberry Pi device family. Hassbian is quite young, thus we are looking forward to recieve [feedback][hassbian-forum], [issue report][hassbian-forum], and [suggestions][hassbian-forum] to improve it.
|
||||
We guess that you already know: The [Raspberry Pi image][pi-image] is available now. For Hassbian, [@Landrash] has combined the most essential parts for a Home Assistant setup in an easy-to-use image for the Raspberry Pi device family. Hassbian is quite young, thus we are looking forward to receive [feedback][hassbian-forum], [issue report][hassbian-forum], and [suggestions][hassbian-forum] to improve it.
|
||||
|
||||
A large amount of resources of the development are still focusing on the effort to move Home Assistant further to asynchronous programming. It's a labor-intensive task, comes with segmentation faults, and unstable instances when certain combinations of sensors are used. The benefit will be more speed in the near future.
|
||||
|
||||
|
@ -173,7 +173,7 @@ This is super annoying, I know, especially since we had said in [0.12][zero-one-
|
||||
- Weather: Allow tracking severe weather alerts with [WUnderground] ([@tchellomello])
|
||||
- Sensor: New support added to track [min/max/mean][min] ([@fabaff])
|
||||
- Convert EntityComponent to be async ([@pvizeli], [@balloob])
|
||||
- Z-Wave: Add assocation service ([@turbokongen])
|
||||
- Z-Wave: Add association service ([@turbokongen])
|
||||
- Frontend - Services dev tool: persist state and tweak UI ([@justweb1])
|
||||
- Sensor: Support added for [scraping][scrape] websites ([@fabaff])
|
||||
- Clean up of tests ([@capellini])
|
||||
|
@ -117,7 +117,7 @@ We are working on a better solution for 0.35.
|
||||
- Fix InfluxDB without authentication ([@balloob])
|
||||
- Fix Kodi without authentication ([@balloob])
|
||||
- Fix incorrect caching of /api/error_log ([@armills])
|
||||
- Fix incorrect ordering of service calls which could cause delays inbetween turning on multiple entities ([@balloob])
|
||||
- Fix incorrect ordering of service calls which could cause delays between turning on multiple entities ([@balloob])
|
||||
- Fix Nest Climate temperature issues ([@technicalpickles])
|
||||
|
||||
### {% linkable_title Release 0.34.5 - December 12 %}
|
||||
|
@ -13,7 +13,7 @@ og_image:
|
||||
|
||||
A year ago [Home Assistant 0.10][0.10] landed. Last weekend we released 0.35. Doing 25 releases in a year is a big accomplishment by the community and each release has moved us forwards leaps and bounds. In this year alone we have seen 2800 pull requests on the main repo alone, that's more than 7 a day!
|
||||
|
||||
One of the things that Jon Walker, the founder of the company I work for ([AppFolio]), has taught me is that the biggest advantage that you can create for yourself compared to your competitors is to release more often. Everytime you release you are able to get the new features into the hands of the users and developers. The faster people start using it, the faster you get feedback on the good and bad parts and thus the faster can you evolve.
|
||||
One of the things that Jon Walker, the founder of the company I work for ([AppFolio]), has taught me is that the biggest advantage that you can create for yourself compared to your competitors is to release more often. Every time you release you are able to get the new features into the hands of the users and developers. The faster people start using it, the faster you get feedback on the good and bad parts and thus the faster can you evolve.
|
||||
|
||||
That's why I structured Home Assistant around a two week release cycle. It makes sure that features get out fast and it also forces us to not accumulate a backlog of things to document or test properly. Every two weeks we can start fresh. This makes it easy for new people to start contributing because it's clear when things go out and people are not afraid to miss a release.
|
||||
|
||||
|
@ -15,7 +15,7 @@ Hello and Happy New Year!
|
||||
|
||||
I am not Paulus. My name is Ben. I'm the creator of the [BRUH Automation YouTube channel][bruh]. If you've ever seen any of my videos then you'll know I love home automation and Home Assistant.
|
||||
|
||||
I wanted to share some exciting stats from one of my latest projects - [Control My Christmas tree!](https://github.com/bruhautomation/BRUH-Christmas-Tree-2016) For this project, I created a Home Assistant instance on a Raspberry Pi 2 that was publically accessible via DuckDNS. Paulus was great in helping me disable several of the developer services that could have been exploited to disable the Home Assistant instance.
|
||||
I wanted to share some exciting stats from one of my latest projects - [Control My Christmas tree!](https://github.com/bruhautomation/BRUH-Christmas-Tree-2016) For this project, I created a Home Assistant instance on a Raspberry Pi 2 that was publicly accessible via DuckDNS. Paulus was great in helping me disable several of the developer services that could have been exploited to disable the Home Assistant instance.
|
||||
|
||||
I added three devices to the Home Assistant instance - a Wemo Insight, Sonoff Switch (running MQTT firmware), and a DIY MQTT Digital LED strip. After adding a few 3D printed Star War decorations, the tree was ready to go!
|
||||
|
||||
|
@ -103,7 +103,7 @@ Thanks to [@konikvranik] the [HDMI CEC][cec] integration got a huge update with
|
||||
- Light - tellstick.py: Tellstick light fix ([@stefan-jonasson])
|
||||
- Switch - insteon_local.py: only check for devices when not defined in config ([@wardcraigj])
|
||||
- Notify - Twitter: Allow direct messaging to user ([@fabaff])
|
||||
- Fan - MQTT: Dont set a speed when fan turns on ([@robbiet480])
|
||||
- Fan - MQTT: Don't set a speed when fan turns on ([@robbiet480])
|
||||
- Config: Allow easier customization of whole domain, entity lists, globs ([@andrey-git])
|
||||
- Sensor - Homematic: Update device support ([@danielperna84])
|
||||
- Binary sensor - ISS: Add location to attributes and option to show position on the map ([@fabaff])
|
||||
|
@ -10,7 +10,7 @@ categories: How-To
|
||||
og_image: /images/blog/2017-02-babyphone/social.png
|
||||
---
|
||||
|
||||
One of the hardest part of being a parent is keeping a constant eye on the baby to make sure that the baby is doing well. Thus, it is not surprising that baby monitors are one of the fastest growing baby product category. However, many of the baby monitors available on the market are rather dumb and expect the parents to keep looking at the video stream or listen to the audio. This how-to will help you create a smart baby monitor on a budget and integrate it with Home Assitant. Instead of relying on the poor quality baby monitor speakers, we use our existing speakers (eg. Sonos). We can also send notifications (with pictures) to avoid constant monitoring of the feed.
|
||||
One of the hardest part of being a parent is keeping a constant eye on the baby to make sure that the baby is doing well. Thus, it is not surprising that baby monitors are one of the fastest growing baby product category. However, many of the baby monitors available on the market are rather dumb and expect the parents to keep looking at the video stream or listen to the audio. This how-to will help you create a smart baby monitor on a budget and integrate it with Home Assistant. Instead of relying on the poor quality baby monitor speakers, we use our existing speakers (eg. Sonos). We can also send notifications (with pictures) to avoid constant monitoring of the feed.
|
||||
|
||||
Obviously, you can use the setup as a general purpose surveillance system to monitor noise in the whole house.
|
||||
|
||||
|
@ -180,7 +180,7 @@ Hot fix release to fix dependency issues. More detailed information about the is
|
||||
- twilio component ([@happyleavesaoc])
|
||||
- Add Z-Wave battery level as a sensor. ([@andrey-git])
|
||||
- OwnTrack Async ([@pvizeli])
|
||||
- Fix possibility that have multible topic subscribe mqtt ([@pvizeli])
|
||||
- Fix possibility that have multiple topic subscribe mqtt ([@pvizeli])
|
||||
- Migrate mqtt tracker and arwn sensor to async / cleanup owntrack ([@pvizeli])
|
||||
- Z-Wave prevent I/O event loop ([@balloob])
|
||||
- Update pwaqi to 3.0 to use public API ([@valentinalexeev])
|
||||
@ -230,7 +230,7 @@ Hot fix release to fix dependency issues. More detailed information about the is
|
||||
- Allow configurable conditions for Pi-Hole sensor ([@colinodell])
|
||||
- Improved iCloud 2FA support. ([@reedriley])
|
||||
- Update pymyq requirement ([@arraylabs])
|
||||
- Not always asume manufacturername is present ([@balloob])
|
||||
- Not always assume manufacturername is present ([@balloob])
|
||||
- Add first pass at Z-Wave light tests ([@balloob])
|
||||
- Bugfix mqtt socket memory error ([@pvizeli])
|
||||
- Increase upper limit on light transitions ([@amelchio])
|
||||
|
@ -10,7 +10,7 @@ categories: How-To
|
||||
og_image: /images/blog/2017-03-bridge/social.png
|
||||
---
|
||||
|
||||
The idea of creating [HTTP to MQTT bridge](https://github.com/petkov/http_to_mqtt) appeared when I was trying to integrate Google Assistant with my Home Assistant after watching [BRUH Automation](https://youtu.be/087tQ7Ly7f4?t=265) video. Right now there is no MQTT service available in [IFTTT](https://ifttt.com/about). Existing integration solution uses [Maker Webhooks](https://ifttt.com/maker_webhooks) which requires that your Home Assistant instance is publically accessible, which I think brings some security concerns or simply not always possible to set up.
|
||||
The idea of creating [HTTP to MQTT bridge](https://github.com/petkov/http_to_mqtt) appeared when I was trying to integrate Google Assistant with my Home Assistant after watching [BRUH Automation](https://youtu.be/087tQ7Ly7f4?t=265) video. Right now there is no MQTT service available in [IFTTT](https://ifttt.com/about). Existing integration solution uses [Maker Webhooks](https://ifttt.com/maker_webhooks) which requires that your Home Assistant instance is publicly accessible, which I think brings some security concerns or simply not always possible to set up.
|
||||
|
||||
The HTTP to MQTT bridge should fill that gap. The idea is to receive messages using HTTP requests and transfer them to your MQTT broker, which can be contacted by Home Assistant. The HTTP to MQTT bridge is written using Node.js with [Express](https://expressjs.com/) for the server part and [MQTT.js](https://www.npmjs.com/package/mqtt) for the client.
|
||||
|
||||
|
@ -10,7 +10,7 @@ categories: Community
|
||||
og_image: /images/blog/2017-04-award/social.png
|
||||
---
|
||||
|
||||
You may already know from our social media channels and the release blog post for 0.41: We are now an award-winning Open source project. The jury of the [Thomas-Krenn-Award][award] put us on the 2nd place. This is an awesome achievment for an independent community project.
|
||||
You may already know from our social media channels and the release blog post for 0.41: We are now an award-winning Open source project. The jury of the [Thomas-Krenn-Award][award] put us on the 2nd place. This is an awesome achievement for an independent community project.
|
||||
|
||||
I would like to thanks all contributors. Your endless effort made this possible.
|
||||
|
||||
|
@ -149,7 +149,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
- Upgrade sendgrid to 4.0.0 ([@fabaff] - [#7038]) ([notify.sendgrid docs])
|
||||
- Missing line name restriction added (fixes #7039) ([@DavidMStraub] - [#7040]) ([sensor.mvglive docs])
|
||||
- Plug file leak on LIFX unregister ([@amelchio] - [#7031]) ([light.lifx docs])
|
||||
- Make core to look avilable state of device on servicecall ([@pvizeli] - [#7045])
|
||||
- Make core to look available state of device on servicecall ([@pvizeli] - [#7045])
|
||||
- Remove configuration sample ([@fabaff] - [#7048])
|
||||
- Bugfix wait on start event ([@pvizeli] - [#7013])
|
||||
- Bugfix slider ([@pvizeli] - [#7047]) ([input_slider docs])
|
||||
@ -212,7 +212,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
- Value of 0 should not be considered `unknown`. ([@aequitas] - [#7139])
|
||||
- Upgrade netdisco ([@balloob] - [#7171])
|
||||
- Added new services to platform kodi ([@alexmogavero] - [#6426]) ([media_player docs]) ([media_player.kodi docs])
|
||||
- Supress trackback and upgrade PyMata to 2.14 ([@fabaff] - [#7176]) ([arduino docs])
|
||||
- Suppress trackback and upgrade PyMata to 2.14 ([@fabaff] - [#7176]) ([arduino docs])
|
||||
- Disable invalid-sequence-index ([@fabaff] - [#7177])
|
||||
- Upgrade mypy to 0.501 (was renamed from mypy-lang) ([@fabaff] - [#7117])
|
||||
- Add condition for API failure ([@sytone] - [#7181])
|
||||
|
@ -147,7 +147,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
- Use expected behvaior for above/below ([@armills] - [#7857]) (breaking change)
|
||||
- log time delay of domain setup in info level ([@azogue] - [#7808])
|
||||
- Optimize history_stats efficiency and database usage ([@bokub] - [#7858]) ([sensor.history_stats docs])
|
||||
- dont use default for switch name, so that the object id is used ([@abmantis] - [#7845]) ([switch.broadlink docs]) (breaking change)
|
||||
- don't use default for switch name, so that the object id is used ([@abmantis] - [#7845]) ([switch.broadlink docs]) (breaking change)
|
||||
- Disallow ambiguous color descriptors in the light.turn_on schema ([@amelchio] - [#7765]) (breaking change)
|
||||
- Make monkey patch work in Python 3.6 ([@balloob] - [#7848])
|
||||
- fix permissions issue for Insteon Local #6558 ([@wardcraigj] - [#7860]) ([insteon_local docs])
|
||||
|
@ -73,7 +73,7 @@ Straight to 0.50.2. We released 0.50 as 0.50.1 due to an upload error to PyPi.
|
||||
- Fix TP-Link light brightness issue #8744. ([@gollo] - [#8755])
|
||||
- Fix typo in script error ([@n8henrie] - [#8754])
|
||||
- Fix tradfri error spam ([@MartinHjelmare] - [#8738]) ([light.tradfri docs])
|
||||
- Media Player - Pioneer: Supress exception if host is not available (fixes #8684) ([@fabaff] - [#8732]) ([media_player.pioneer docs])
|
||||
- Media Player - Pioneer: Suppress exception if host is not available (fixes #8684) ([@fabaff] - [#8732]) ([media_player.pioneer docs])
|
||||
- Telegram Bot: Retry set_webhook up to three times, reduce timeout to 5s again ([@azogue] - [#8716]) ([telegram_bot.webhooks docs])
|
||||
- Fixed sensor issue with Google Wifi routers in bridge mode ([@fronzbot] - [#8710]) ([sensor.google_wifi docs])
|
||||
- Fix alexa cards ([@balloob] - [#8708]) ([alexa docs])
|
||||
|
@ -154,7 +154,7 @@ frontend:
|
||||
- Skip automatic events older than latest data ([@armills] - [#9230]) ([device_tracker.automatic docs])
|
||||
- title and message was swapped in pushbullet ([@danielhiversen] - [#9241]) ([notify.pushbullet docs])
|
||||
- Fix possible KeyError ([@MartinHjelmare] - [#9242]) ([mysensors docs])
|
||||
- WIP: Homematic improvments with new hass interfaces ([@pvizeli] - [#9058]) ([homematic docs]) ([binary_sensor.homematic docs]) ([climate.homematic docs]) ([cover.homematic docs]) ([light.homematic docs]) ([sensor.homematic docs]) ([switch.homematic docs]) (breaking change)
|
||||
- WIP: Homematic improvements with new hass interfaces ([@pvizeli] - [#9058]) ([homematic docs]) ([binary_sensor.homematic docs]) ([climate.homematic docs]) ([cover.homematic docs]) ([light.homematic docs]) ([sensor.homematic docs]) ([switch.homematic docs]) (breaking change)
|
||||
- Add available to sonos ([@pvizeli] - [#9243]) ([media_player.sonos docs])
|
||||
- Make sure Ring binary_sensor state will update only if device_id matches ([@tchellomello] - [#9247]) ([binary_sensor.ring docs])
|
||||
- Added configurable timeout for receiver HTTP requests | Additional AV… ([@scarface-4711] - [#9244]) ([media_player.denonavr docs])
|
||||
|
@ -86,7 +86,7 @@ The config for an add-on is stored in `config.json`.
|
||||
"name": "xy",
|
||||
"version": "1.2",
|
||||
"slug": "folder",
|
||||
"description": "long descripton",
|
||||
"description": "long description",
|
||||
"arch": ["amd64"],
|
||||
"url": "website with more information about add-on (ie a forum thread for support)",
|
||||
"startup": "application",
|
||||
|
@ -71,7 +71,7 @@ There are [pre-definied variables](https://jekyllrb.com/docs/variables/) availab
|
||||
A couple of points to remember:
|
||||
|
||||
- Document the needed steps to retrieve API keys or access token for the third party service or device if needed.
|
||||
- Keep the configuration sample minimal by only adding the `Required` options. Full configuration details with further explanations should go into a seperate section.
|
||||
- Keep the configuration sample minimal by only adding the `Required` options. Full configuration details with further explanations should go into a separate section.
|
||||
- The description of all the configuration variables should contains information about the used defaults.
|
||||
- If you're adding a new component, for the `ha_release` part of the header, just increment of the current release. If the current release is 0.37, make `ha_release` 0.38. If it's 0.30 or 0.40 please quote it with `" "`.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user