Merge branch 'current' into next
This commit is contained in:
commit
0ac6fd0f3f
103 changed files with 1628 additions and 744 deletions
|
@ -14,6 +14,8 @@ ha_release: 0.42
|
|||
|
||||
The `totalconnect` platform provides connectivity with the Honeywell TotalConnect alarm systems used by many alarm companies.
|
||||
|
||||
If you have issues running this component, you may require "libxml2-dev" and "libxmlsec1-dev". To install these on Hassbian, run the command `apt install libxml2-dev libxmlsec1-dev` with sudo
|
||||
|
||||
To enable this, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
|
|
|
@ -306,6 +306,34 @@ text: !include alexa_confirm.yaml
|
|||
|
||||
Alexa will now respond with a random phrase each time. You can use the include for as many different intents as you like so you only need to create the list once.
|
||||
|
||||
<p class='note'>
|
||||
As of April 2017, the random filter has been somewhat broken. You'll get a random response the first time this runs, but subsequent commands will reply with the same randomly-chosen phrase. On reboot, Home Assistant will pick a new random choice, but you're stuck with that choice till you reboot. To get around that, use the following code in alexa_confirm.yaml:
|
||||
</p>
|
||||
|
||||
```text
|
||||
{% raw %} >
|
||||
{% set responses = [
|
||||
"OK",
|
||||
"Sure",
|
||||
"If you insist",
|
||||
"Done",
|
||||
"No worries",
|
||||
"I can do that",
|
||||
"Leave it to me",
|
||||
"Consider it done",
|
||||
"As you wish",
|
||||
"By your command",
|
||||
"Affirmative",
|
||||
"Yes oh revered one",
|
||||
"I will",
|
||||
"As you decree, so shall it be",
|
||||
"No Problem"
|
||||
] %}
|
||||
{% set rindex = (range(0, (responses | length - 1) )|random) -%}
|
||||
{{responses[rindex]}}
|
||||
{% endraw %}
|
||||
```
|
||||
|
||||
|
||||
## {% linkable_title Flash Briefing Skills %}
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ footer: true
|
|||
logo: nasa.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.36
|
||||
redirect_from: /components/sensor.iss/
|
||||
---
|
||||
|
||||
The `iss` platform uses the [Open Notify API](http://open-notify.org/Open-Notify-API/ISS-Location-Now/) to let you know if the station is above your home location. This means that ISS is 10° above the horizon of your home.
|
||||
|
|
|
@ -8,7 +8,7 @@ comments: false
|
|||
sharing: true
|
||||
footer: true
|
||||
logo: home-assistant.png
|
||||
ha_category: Binary sensor
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.43
|
||||
---
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Tado"
|
||||
title: "Tado Thermostat"
|
||||
description: "Instructions on how to integrate Tado thermostats with Home Assistant."
|
||||
date: 2017-03-20 12:00
|
||||
sidebar: true
|
||||
|
@ -13,20 +13,8 @@ ha_release: 0.41
|
|||
---
|
||||
|
||||
|
||||
The `tado` component platform is used as an interface to the my.tado.com website. It adds climate devices for every tado zone and sensors for some additional information of the zones.
|
||||
The `tado` climate platform is interact with your climate devices.
|
||||
|
||||
To use your tado thermostats in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
tado:
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
The requirement is that you have set up the [tado](/components/tado/) component.
|
||||
|
||||
- **username** (*Required*): Username for my.tado.com.
|
||||
- **password** (*Required*): Password for my.tado.com.
|
||||
|
||||
The tado thermostats are internet connected thermostats. There exists an unofficial api at my.tado.com, which is used by theire website and now by this component.
|
||||
|
||||
It currently supports presenting the current temperature, the setting temperature and the current operation mode. Switching the mode is also supported. If no user is at home anymore, the devices are showing the away-state. Switching to away-mode is not supported.
|
|
@ -20,12 +20,12 @@ To enable a command line cover in your installation, add the following to your `
|
|||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
cover:
|
||||
- platform: command_line
|
||||
covers:
|
||||
garage_door:
|
||||
command_open: move_command up garage
|
||||
command_close: move_command down garage
|
||||
command_stop: move_command stop garage
|
||||
- platform: command_line
|
||||
covers:
|
||||
garage_door:
|
||||
command_open: move_command up garage
|
||||
command_close: move_command down garage
|
||||
command_stop: move_command stop garage
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
@ -48,18 +48,18 @@ In this section you find some real life examples of how to use this sensor.
|
|||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
cover:
|
||||
- platform: command_line
|
||||
covers:
|
||||
garage_door:
|
||||
command_open: move_command up garage
|
||||
command_close: move_command down garage
|
||||
command_stop: move_command stop garage
|
||||
command_state: state_command garage
|
||||
value_template: {% raw %}>
|
||||
{% if value == 'open' %}
|
||||
100
|
||||
{% elif value == 'closed' %}
|
||||
0
|
||||
{% endif %}
|
||||
{% endraw %}
|
||||
- platform: command_line
|
||||
covers:
|
||||
garage_door:
|
||||
command_open: move_command up garage
|
||||
command_close: move_command down garage
|
||||
command_stop: move_command stop garage
|
||||
command_state: state_command garage
|
||||
value_template: {% raw %}>
|
||||
{% if value == 'open' %}
|
||||
100
|
||||
{% elif value == 'closed' %}
|
||||
0
|
||||
{% endif %}
|
||||
{% endraw %}
|
||||
```
|
||||
|
|
|
@ -20,12 +20,11 @@ To enable Garadget Covers in your installation, add the following to your `confi
|
|||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
cover:
|
||||
platform: garadget
|
||||
covers:
|
||||
190028001947343412342341:
|
||||
username: UseYourLogin@garadget.com
|
||||
password: abc123
|
||||
name: Left Garage Door
|
||||
- platform: garadget
|
||||
covers:
|
||||
190028001947343412342341:
|
||||
username: UseYourLogin@garadget.com
|
||||
password: abc123
|
||||
4c003f001151353432134214:
|
||||
access_token: df4cc785ff818f2b01396c44142342fccdef
|
||||
```
|
||||
|
@ -33,13 +32,13 @@ cover:
|
|||
Configuration variables:
|
||||
|
||||
- **covers** array (*Required*): List of your doors.
|
||||
- **device** (*Required*): This is the device id from your Garadget portal.
|
||||
- **device** (*Required*): This is the device id from your Garadget portal.
|
||||
- Either:
|
||||
- **username** (*Required*): Your Garadget account username.
|
||||
- **password** (*Required*): Your Garadget account password.
|
||||
- Or:
|
||||
- **access_token** (*Required*): A generated access_token from your garadget account
|
||||
- **name** (*Optional*): Name to use in the Frontend, will use name configured in Garadget otherwise.
|
||||
- **access_token** (*Required*): A generated `access_token` from your Garadget account.
|
||||
- **name** (*Optional*): Name to use in the frontend, will use name configured in Garadget otherwise.
|
||||
|
||||
|
||||
If provided, the **access_token** will be used, otherwise the **username** and **password** will be used to automatically generate an access token at start time.
|
||||
|
@ -53,25 +52,25 @@ If provided, the **access_token** will be used, otherwise the **username** and *
|
|||
```yaml
|
||||
# Related configuration.yaml entry
|
||||
cover:
|
||||
platform: garadget
|
||||
covers:
|
||||
190028001947343412342341:
|
||||
access_token: !secret garadget_access_token
|
||||
name: Garage door
|
||||
- platform: garadget
|
||||
covers:
|
||||
190028001947343412342341:
|
||||
access_token: !secret garadget_access_token
|
||||
name: Garage door
|
||||
|
||||
sensor:
|
||||
platform: template
|
||||
sensors:
|
||||
garage_door_status:
|
||||
friendly_name: 'State of the door'
|
||||
value_template: {% raw %}'{{ states.cover.garage_door.state }}'{% endraw %}
|
||||
garage_door_time_in_state:
|
||||
friendly_name: 'Since'
|
||||
value_template: {% raw %}'{{ states.cover.garage_door.attributes["time in state"] }}'{% endraw %}
|
||||
garage_door_wifi_signal_strength:
|
||||
friendly_name: 'WiFi strength'
|
||||
value_template: {% raw %}'{{ states.cover.garage_door.attributes["wifi signal strength (dB)"] }}'{% endraw %}
|
||||
unit_of_measurement: 'dB'
|
||||
- platform: template
|
||||
sensors:
|
||||
garage_door_status:
|
||||
friendly_name: 'State of the door'
|
||||
value_template: {% raw %}'{{ states.cover.garage_door.state }}'{% endraw %}
|
||||
garage_door_time_in_state:
|
||||
friendly_name: 'Since'
|
||||
value_template: {% raw %}'{{ states.cover.garage_door.attributes["time in state"] }}'{% endraw %}
|
||||
garage_door_wifi_signal_strength:
|
||||
friendly_name: 'WiFi strength'
|
||||
value_template: {% raw %}'{{ states.cover.garage_door.attributes["wifi signal strength (dB)"] }}'{% endraw %}
|
||||
unit_of_measurement: 'dB'
|
||||
|
||||
group:
|
||||
garage_door:
|
||||
|
|
|
@ -24,8 +24,8 @@ The easiest way to find your roller shutters is to add this to your `configurati
|
|||
|
||||
```yaml
|
||||
cover:
|
||||
platform: rfxtrx
|
||||
automatic_add: True
|
||||
- platform: rfxtrx
|
||||
automatic_add: True
|
||||
```
|
||||
|
||||
Launch your homeassistant and go the website (e.g http://localhost:8123). Push your remote and your device should be added.
|
||||
|
@ -34,10 +34,10 @@ Once added it will show an ID (e.g `0b11000102ef9f210010f70`) and you can verify
|
|||
|
||||
```yaml
|
||||
cover:
|
||||
platform: rfxtrx
|
||||
devices:
|
||||
0b11000102ef9f210010f70:
|
||||
name: device_name
|
||||
- platform: rfxtrx
|
||||
devices:
|
||||
0b11000102ef9f210010f70:
|
||||
name: device_name
|
||||
```
|
||||
|
||||
##### {% linkable_title RFY %}
|
||||
|
@ -51,14 +51,14 @@ Example configuration:
|
|||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
cover:
|
||||
platform: rfxtrx
|
||||
automatic_add: False
|
||||
signal_repetitions: 2
|
||||
devices:
|
||||
0b1100ce3213c7f210010f70: # Siemens/LightwaveRF
|
||||
name: Bedroom Shutter
|
||||
070a00000a000101: # RFY
|
||||
name: Bathroom Shutter
|
||||
- platform: rfxtrx
|
||||
automatic_add: False
|
||||
signal_repetitions: 2
|
||||
devices:
|
||||
0b1100ce3213c7f210010f70: # Siemens/LightwaveRF
|
||||
name: Bedroom Shutter
|
||||
070a00000a000101: # RFY
|
||||
name: Bathroom Shutter
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
|
|
@ -34,7 +34,7 @@ cover:
|
|||
|
||||
Configuration variables:
|
||||
|
||||
- **relay_time** (*Optional*): The time that the relay will be on for in seconds. Default is .2 seconds.
|
||||
- **relay_time** (*Optional*): The time that the relay will be on for in seconds. Default is 0.2 seconds.
|
||||
- **state_pull_mode** (*Optional*): The direction the State pin is pulling. It can be UP or DOWN. Default is UP.
|
||||
- **covers** array (*Required*): List of your doors.
|
||||
- **relay_pin** (*Required*): The pin of your Raspberry Pi where the relay is connected.
|
||||
|
@ -57,3 +57,7 @@ cover:
|
|||
name: 'Right door'
|
||||
```
|
||||
|
||||
## {% linkable_title Remote Raspberry Pi Cover %}
|
||||
|
||||
If you don't have Home Assistant running on your Raspberry Pi and you want to use it as a remote cover instead, there is a project called [GarageQTPi](https://github.com/Jerrkawz/GarageQTPi) that will work remotely with the [MQTT Cover Component](/components/cover.mqtt/). Follow the Github instructions to install and configure GarageQTPi and once configured follow the Home Assistant instructions to configure the MQTT Cover.
|
||||
|
||||
|
|
|
@ -18,11 +18,11 @@ To enable SCSGate covers in your installation, add the following to your `config
|
|||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
cover:
|
||||
platform: scsgate
|
||||
devices:
|
||||
living_room:
|
||||
name: Living Room
|
||||
scs_id: XXXXX
|
||||
- platform: scsgate
|
||||
devices:
|
||||
living_room:
|
||||
name: Living Room
|
||||
scs_id: XXXXX
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
|
|
@ -14,7 +14,7 @@ ha_release: 0.7.6
|
|||
|
||||
_This is one of the two ways we support OpenWRT. If you encounter problems, try [luci](/components/device_tracker.luci/)._
|
||||
|
||||
This is a presence detection scanner for [OpenWRT](https://openwrt.org/) using [ubus](http://wiki.openwrt.org/doc/techref/ubus).
|
||||
This is a presence detection scanner for [OpenWRT](https://openwrt.org/) using [ubus](http://wiki.openwrt.org/doc/techref/ubus). It scans for changes in `hostapd.*`, which will detect and report changes in devices connected to the access point on the router.
|
||||
|
||||
Before this scanner can be used you have to install the ubus RPC package on OpenWRT:
|
||||
|
||||
|
@ -70,3 +70,101 @@ Configuration variables:
|
|||
- **password** (*Required*): The password for your given account.
|
||||
|
||||
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
If you find that this never creates `known_devices.yaml`, or if you need more information on the communication chain between Home Assistant and OpenWRT, follow these steps to grab the packet stream and gain insight into what's happening.
|
||||
|
||||
### Increase Log Level
|
||||
|
||||
1. On your Home Assistant device, stop Home Assistant
|
||||
2. Adjust `configuration.yaml` to log more detail for the `device_tracker` component
|
||||
```yaml
|
||||
logger:
|
||||
default: warn
|
||||
logs:
|
||||
homeassistant.components.device_tracker: debug
|
||||
```
|
||||
3. In another window, tail the logfile in the configuration directory:
|
||||
```
|
||||
$ tail -f home-assistant.log | grep device_tracker
|
||||
```
|
||||
4. If you see a python stack trace like the following, check your configuration for correct username/password.
|
||||
```
|
||||
17-04-28 10:43:30 INFO (MainThread) [homeassistant.loader] Loaded device_tracker from homeassistant.components.device_tracker
|
||||
17-04-28 10:43:30 INFO (MainThread) [homeassistant.loader] Loaded device_tracker.ubus from homeassistant.components.device_tracker.ubus
|
||||
17-04-28 10:43:30 INFO (MainThread) [homeassistant.setup] Setting up device_tracker
|
||||
17-04-28 10:43:31 INFO (MainThread) [homeassistant.components.device_tracker] Setting up device_tracker.ubus
|
||||
17-04-28 10:43:31 ERROR (MainThread) [homeassistant.components.device_tracker] Error setting up platform ubus
|
||||
File "/opt/homeassistant/venv/lib/python3.4/site-packages/homeassistant/components/device_tracker/__init__.py", line 152, in async_setup_platform
|
||||
File "/opt/homeassistant/venv/lib/python3.4/site-packages/homeassistant/components/device_tracker/ubus.py", line 36, in get_scanner
|
||||
File "/opt/homeassistant/venv/lib/python3.4/site-packages/homeassistant/components/device_tracker/ubus.py", line 58, in __init__
|
||||
File "/opt/homeassistant/venv/lib/python3.4/site-packages/homeassistant/components/device_tracker/ubus.py", line 156, in _get_session_id
|
||||
File "/opt/homeassistant/venv/lib/python3.4/site-packages/homeassistant/components/device_tracker/ubus.py", line 147, in _req_json_rpc
|
||||
17-04-28 10:43:31 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=device_tracker, service=see>
|
||||
17-04-28 10:43:31 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=device_tracker>
|
||||
```
|
||||
5. If you see lines like the following repeated at intervals that correspond to the check interval from the config (12 seconds by default), then Home Assistant is correctly polling the router, and you'll need to look at what the router is sending back.
|
||||
```
|
||||
17-04-28 10:50:34 INFO (Thread-7) [homeassistant.components.device_tracker.ubus] Checking ARP
|
||||
```
|
||||
|
||||
### Inspect Packets With TCPDump
|
||||
_These steps require that `tcpdump` is installed on your Home Assistant device, and that you have a utility such as [Wireshark](https://www.wireshark.org) for viewing the packets. It also assumes that Home Assistant is communicating with your router over HTTP and not HTTPS._
|
||||
|
||||
1. On your Home Assistant device, stop Home Assistant
|
||||
2. In another shell on your Home Assistant device, start tcpdump
|
||||
```bash
|
||||
$ sudo tcpdump -nnvXSs 0 -w /var/tmp/dt.out 'host <router_ip> and port 80'
|
||||
```
|
||||
* In this example we are only looking for traffic to or from port 80, and we are writing the packet stream out to `/var/tmp/dt.out`
|
||||
3. Start Home Assistant
|
||||
4. After a few seconds you should see a line like `Got xx` where `xx` is an incrementing number. This indicates that it has captured packets that match our filter. After you see this number increment a few times (>20), you can hit `Ctrl-C` to cancel the capture.
|
||||
6. Transfer `/var/tmp/dt.out` to the machine where you're running Wireshark and either drag/drop it onto the Wireshark window or use File/Open to open the capture file.
|
||||
7. In the window that opens, look for the first line that reads `POST /ubus`. Right click on this line, choose Follow and then HTTP Stream to view just the HTTP stream for this connection.
|
||||
8. The first `POST` will show Home Assistant logging into ubus and receiving a session identifier back. It will look something like this:
|
||||
```
|
||||
POST /ubus HTTP/1.1
|
||||
Host: 10.68.0.1
|
||||
Accept: */*
|
||||
User-Agent: python-requests/2.13.0
|
||||
Connection: keep-alive
|
||||
Accept-Encoding: gzip, deflate
|
||||
Content-Length: 161
|
||||
|
||||
{"jsonrpc": "2.0", "params": ["00000000000000000000000000000000", "session", "login", {"password": "<password>", "username": "root"}], "method": "call", "id": 1}
|
||||
|
||||
HTTP/1.1 200 OK
|
||||
Date: Fri, 28 Apr 2017 12:04:46 GMT
|
||||
Content-Type: application/json
|
||||
Transfer-Encoding: chunked
|
||||
Connection: keep-alive
|
||||
|
||||
{"jsonrpc":"2.0","id":1,"result":[0,{"ubus_rpc_session":"8b4e1632389fcfd09e96a792e01c332c","timeout":300,"expires":300,"acls":{"access-group":{"unauthenticated":["read"],"user":["read"]},"ubus":{"*":["*"],"session":["access","login"]},"uci":{"*":["read"]}},"data":{"username":"root"}}]}
|
||||
```
|
||||
9. In the response above, the portion that reads `"result":[0,` indicates that ubus accepted the login without issue. If this is not `0`, search online for what ubus status corresponds to the number you're receiving and address any issues that it brings to light.
|
||||
10. Otherwise, back in the main Wireshark window click the `x` in the right side of the filter bar where it reads `tcp.stream eq 0`. Scroll down until you find the next `POST /ubus` line and view the HTTP stream again. This request is Home Assistant actually requesting information and will look something like the following:
|
||||
```
|
||||
POST /ubus HTTP/1.1
|
||||
Host: 10.68.0.1
|
||||
Accept: */*
|
||||
User-Agent: python-requests/2.13.0
|
||||
Connection: keep-alive
|
||||
Accept-Encoding: gzip, deflate
|
||||
Content-Length: 114
|
||||
|
||||
{"jsonrpc": "2.0", "params": ["8b4e1632389fcfd09e96a792e01c332c", "hostapd.*", "", {}], "method": "list", "id": 1}
|
||||
|
||||
HTTP/1.1 200 OK
|
||||
Date: Fri, 28 Apr 2017 12:04:46 GMT
|
||||
Content-Type: application/json
|
||||
Transfer-Encoding: chunked
|
||||
Connection: keep-alive
|
||||
|
||||
{"jsonrpc":"2.0","id":1,"result":{}}
|
||||
```
|
||||
11. In this case we are actually receiving a valid response with no data. The request says that we are looking for ARP information from `hostapd.*`, which is the access point on the router. In my environment I don't use the AP on the router, and so it was correctly returning no data. Armed with this information, I know that I cannot use this component for device tracking or presence.
|
||||
|
||||
### Cleanup
|
||||
|
||||
When you're done troubleshooting, remember to reset your logging configuration and delete any capture files that contain sensitive information.
|
||||
|
|
|
@ -41,10 +41,10 @@ Configuration variables (global):
|
|||
|
||||
Configuration variables (host):
|
||||
|
||||
- **ip** (*Required*): IP of CCU/Homegear
|
||||
- **port** (*Optional*): Port of CCU/Homegear XML-RPC Server (default is 2001, use 2000 for wired and 2010 for IP)
|
||||
- **callback_ip** (*Optional*): Set this, if HASS is reachable under a different IP from the CCU (NAT, Docker etc.)
|
||||
- **callback_port** (*Optional*): Set this, if HASS is reachable under a different port from the CCU (NAT, Docker etc.)
|
||||
- **ip** (*Required*): IP address of CCU/Homegear device.
|
||||
- **port** (*Optional*): Port of CCU/Homegear XML-RPC Server. Default is 2001, use 2000 for wired and 2010 for IP.
|
||||
- **callback_ip** (*Optional*): Set this, if Home Assistant is reachable under a different IP from the CCU (NAT, Docker etc.).
|
||||
- **callback_port** (*Optional*): Set this, if Home Assistant is reachable under a different port from the CCU (NAT, Docker etc.).
|
||||
- **resolvenames** (*Optional*): [`metadata`, `json`, `xml`] Try to fetch device names. Defaults to `false` if not specified.
|
||||
- **username** (*Optional*): When fetching names via JSON-RPC, you need to specify a user with guest-access to the CCU.
|
||||
- **password** (*Optional*): When fetching names via JSON-RPC, you need to specify the password of the user you have configured above.
|
||||
|
@ -87,8 +87,8 @@ Resolving names can take some time. So when you start Home Assistant you won't s
|
|||
|
||||
### {% linkable_title Multiple hosts %}
|
||||
|
||||
In order to allow communication with multiple hosts or different protocols in parallel (wireless, wired and ip), multiple connections will be established, each to the configured destination. The name you choose for the host has to be unique and limited to ASCII letters.
|
||||
Using multiple hosts has the drawback, that the services (explained below) may not work as expected. Only one connection can be used for services, which limits the devices/variables a service can use to the scope/protocol of the host.
|
||||
In order to allow communication with multiple hosts or different protocols in parallel (wireless, wired and ip), multiple connections will be established, each to the configured destination. The name you choose for the host has to be unique and limited to ASCII letters.
|
||||
Using multiple hosts has the drawback, that the services (explained below) may not work as expected. Only one connection can be used for services, which limits the devices/variables a service can use to the scope/protocol of the host.
|
||||
This does *not* affect the entites in Home Assistant. They all use their own connection and work as expected.
|
||||
|
||||
### {% linkable_title Reading attributes of entities %}
|
||||
|
@ -107,7 +107,7 @@ sensor:
|
|||
|
||||
### {% linkable_title Variables %}
|
||||
|
||||
It is possible to read and set values of system variables you have setup on the CCU/Homegear. The supported types for setting values are float- and bool-variables.
|
||||
It is possible to read and set values of system variables you have setup on the CCU/Homegear. The supported types for setting values are float- and bool-variables.
|
||||
The states of the variables are available through the attributes of your hub entity (e.g. `homematic.rf`). Use templates (as mentioned above) to make your variables available to automations or as entities.
|
||||
The values of variables are polled from the CCU/Homegear in an interval of 30 seconds. Setting the value of a variable happens instantly and is directly pushed.
|
||||
|
||||
|
@ -184,10 +184,9 @@ action:
|
|||
value: true
|
||||
```
|
||||
|
||||
|
||||
#### {% linkable_title Advanced examples %}
|
||||
|
||||
If you are familiar with the internals of HomeMatic devices, you can manually set values on the devices. This can serve as a workaround if support for a device is currently not available, or only limited functionality has been implemented.
|
||||
If you are familiar with the internals of HomeMatic devices, you can manually set values on the devices. This can serve as a workaround if support for a device is currently not available, or only limited functionality has been implemented.
|
||||
Using this service provides you direct access to the setValue-method of the primary connection. If you have multiple hosts, you may select the one hosting a specific device by providing the proxy-parameter with a value equivalent to the name you have chosen. In the example configuration from above `rf`, `wired` and `ip` would be valid values.
|
||||
|
||||
Manually turn on a switch actor
|
||||
|
|
|
@ -28,7 +28,7 @@ Configuration variables:
|
|||
- **api_password** (*Optional*): Protect Home Assistant with a password.
|
||||
- **server_host** (*Optional*): Only listen to incoming requests on specific ip/host (default: accept all)
|
||||
- **server_port** (*Optional*): Let you set a port to use. Defaults to 8123.
|
||||
- **base_url** (*Optional*): The url that Home Assistant is available on the internet. For example: `hass-example.duckdns.org:8123`. Defaults to local IP address.
|
||||
- **base_url** (*Optional*): The url that Home Assistant is available on the internet. For example: `hass-example.duckdns.org:8123`. Defaults to local IP address. The IOS app finds local installations, if you have a outside url use this so that you can auto fill when discovered in the app.
|
||||
- **development** (*Optional*): Disable caching and load unvulcanized assets. Useful for Frontend development.
|
||||
- **ssl_certificate** (*Optional*): Path to your TLS/SSL certificate to serve Home Assistant over a secure connection.
|
||||
- **ssl_key** (*Optional*): Path to your TLS/SSL key to serve Home Assistant over a secure connection.
|
||||
|
|
|
@ -11,6 +11,7 @@ logo: openalpr.png
|
|||
ha_category: Image Processing
|
||||
featured: false
|
||||
ha_release: 0.36
|
||||
redirect_from: /components/openalpr/
|
||||
---
|
||||
|
||||
[OpenALPR](http://www.openalpr.com/) integration for Home Assistant allows you to process licences plates from a camera. You can use them to open a garage door or trigger any other [automation](https://home-assistant.io/components/automation/).
|
||||
|
|
|
@ -11,7 +11,7 @@ logo: home-assistant.png
|
|||
ha_category: Other
|
||||
---
|
||||
|
||||
The introduction component will show a card in the UI with steps on how to get started. It will also print the same message to the console when starting up.
|
||||
The introduction component will show a card in the UI with 'Welcome Home!' and steps on how to get started. It will also print the same message to the console when starting up.
|
||||
|
||||
The introduction component is loaded by default on a new Home Assistant instance.
|
||||
|
||||
|
|
|
@ -100,18 +100,22 @@ automation:
|
|||
```
|
||||
|
||||
## {% linkable_title Permissions %}
|
||||
There might be permissions problems with the event input device file. If this is the case, the user that hass runs as must be allowed read and write permissions with:
|
||||
There might be permissions problems with the event input device file. If this is the case, the user that Home Assistant runs as must be allowed read and write permissions with:
|
||||
|
||||
```bash
|
||||
$ sudo setfacl -m u:HASS_USER:rw /dev/input/event*
|
||||
```
|
||||
sudo setfacl -m u:HASS_USER:rw /dev/input/event*
|
||||
```
|
||||
where `HASS_USER` is the user hass runs as.
|
||||
|
||||
where `HASS_USER` is the user who runs Home Assistant.
|
||||
|
||||
If you want to make this permanent, you can use a udev rule that sets it for all event input devices. Add a file `/etc/udev/rules.d/99-userdev-input.rules` containing:
|
||||
```
|
||||
|
||||
```bash
|
||||
KERNEL=="event*", SUBSYSTEM=="input", RUN+="/usr/bin/setfacl -m u:HASS_USER:rw $env{DEVNAME}"
|
||||
```
|
||||
|
||||
You can check ACLs permissions with
|
||||
```
|
||||
getfacl /dev/input/event*
|
||||
|
||||
```bash
|
||||
$ getfacl /dev/input/event*
|
||||
```
|
||||
|
|
|
@ -20,7 +20,7 @@ There is currently support for the following device types within Home Assistant:
|
|||
- [Binary Sensor](/components/binary_sensor.knx)
|
||||
- [Sensor](/components/sensor.knx)
|
||||
- [Switch](/components/switch.knx)
|
||||
- [Thermostat](/components/thermostat.knx)
|
||||
- [Thermostat](/components/climate.knx)
|
||||
|
||||
A `knx` section must be present in the `configuration.yaml` file and contain the following options as required:
|
||||
|
||||
|
|
33
source/_components/light.knx.markdown
Normal file
33
source/_components/light.knx.markdown
Normal file
|
@ -0,0 +1,33 @@
|
|||
---
|
||||
layout: page
|
||||
title: "KNX Light"
|
||||
description: "Instructions on how to integrate KXN lights with Home Assistant."
|
||||
date: 2016-06-24 12:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: knx.png
|
||||
ha_category: DIY
|
||||
ha_release: 0.44
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
|
||||
The `knx` light component is used as in interface to switching/light actuators.
|
||||
|
||||
To use your KNX light in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
light:
|
||||
- platform: knx
|
||||
name: KNX light
|
||||
address: 0/0/1
|
||||
```
|
||||
|
||||
- **name** (*Optional*): A name for this devices used within Home assistant
|
||||
- **address** (*Required*): The KNX group address that is used to turn on/off this actuator channel
|
||||
- **state_address** (*Optional*): Some KNX devices can change their state internally without any messages on the KXN bus, e.g. if you configure a timer on a channel. The optional `state_address` can be used to inform Home Assistant about these state changes. If a KNX message is seen on the bus addressed to the given state address, this will overwrite the state of the switch object.
|
||||
For switching/light actuators that are only controlled by a single group address and can't change their state internally, you don't have to configure the state address.
|
||||
|
|
@ -26,3 +26,85 @@ light:
|
|||
Configuration variables:
|
||||
|
||||
- **server** (*Optional*): Your server address. Only needed if using more than one network interface. Omit if you are unsure.
|
||||
|
||||
|
||||
## {% linkable_title Light effects %}
|
||||
|
||||
The LIFX platform supports several light effects. You can start these effects with default options by using the `effect` attribute of the normal [`light.turn_on`]({{site_root}}/components/light/#service-lightturn_on) service, for example like this:
|
||||
```yaml
|
||||
automation:
|
||||
- alias: ...
|
||||
trigger:
|
||||
# ...
|
||||
action:
|
||||
- service: light.turn_on
|
||||
data:
|
||||
entity_id: light.office, light.kitchen
|
||||
effect: lifx_effect_breathe
|
||||
```
|
||||
|
||||
However, if you want to fully control a light effect, you have to use its dedicated service call, like this:
|
||||
```yaml
|
||||
script:
|
||||
colorloop_start:
|
||||
alias: 'Start colorloop'
|
||||
sequence:
|
||||
- service: light.lifx_effect_colorloop
|
||||
data:
|
||||
entity_id: group.livingroom
|
||||
brightness: 255
|
||||
period: 10
|
||||
spread: 30
|
||||
change: 35
|
||||
```
|
||||
|
||||
The available light effects and their options are listed below.
|
||||
|
||||
### {% linkable_title Service `light.lifx_effect_breathe` %}
|
||||
|
||||
Run a breathe effect by fading to a color and back.
|
||||
|
||||
| Service data attribute | Description |
|
||||
| ---------------------- | ----------- |
|
||||
| `entity_id` | String or list of strings that point at `entity_id`s of lights. Else targets all.
|
||||
| `color_name` | A color name such as `red` or `green`.
|
||||
| `rgb_color` | A list containing three integers representing the RGB color you want the light to be.
|
||||
| `brightness` | Integer between 0 and 255 for how bright the color should be.
|
||||
| `period` | The duration of a single breathe.
|
||||
| `cycles` | The total number of breathes.
|
||||
| `power_on` | Set this to False to skip the effect on lights that are turned off (defaults to True).
|
||||
|
||||
### {% linkable_title Service `light.lifx_effect_pulse` %}
|
||||
|
||||
Run a flash effect by quickly changing to a color and then back.
|
||||
|
||||
| Service data attribute | Description |
|
||||
| ---------------------- | ----------- |
|
||||
| `entity_id` | String or list of strings that point at `entity_id`s of lights. Else targets all.
|
||||
| `color_name` | A color name such as `red` or `green`.
|
||||
| `rgb_color` | A list containing three integers representing the RGB color you want the light to be.
|
||||
| `brightness` | Integer between 0 and 255 for how bright the color should be.
|
||||
| `period` | The duration of a single pulse.
|
||||
| `cycles` | The total number of pulses.
|
||||
| `power_on` | Set this to False to skip the effect on lights that are turned off (defaults to True).
|
||||
|
||||
### {% linkable_title Service `light.lifx_effect_colorloop` %}
|
||||
|
||||
Run an effect with colors looping around the color wheel. All participating lights will coordinate to keep similar (but not identical) colors.
|
||||
|
||||
| Service data attribute | Description |
|
||||
| ---------------------- | ----------- |
|
||||
| `entity_id` | String or list of strings that point at `entity_id`s of lights. Else targets all.
|
||||
| `brightness` | Number between 0 and 255 indicating brightness of the effect. Leave this out to maintain the current brightness of each participating light.
|
||||
| `period` | Duration (in seconds) between the start of a new color change.
|
||||
| `change` | Hue movement per period, in degrees on a color wheel (ranges from 0 to 359).
|
||||
| `spread` | Total hue covered by participating lights, in degrees on a color wheel (ranges from 0 to 359).
|
||||
| `power_on` | Set this to False to skip the effect on lights that are turned off (defaults to True).
|
||||
|
||||
### {% linkable_title Service `light.lifx_effect_stop` %}
|
||||
|
||||
Run an effect that does nothing, thereby stopping any other effect that might be running.
|
||||
|
||||
| Service data attribute | Description |
|
||||
| ---------------------- | ----------- |
|
||||
| `entity_id` | String or list of strings that point at `entity_id`s of lights. Else targets all.
|
||||
|
|
14
source/_components/light.lutron.markdown
Normal file
14
source/_components/light.lutron.markdown
Normal file
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Lutron Light"
|
||||
description: "Instructions how to setup the Lutron lights within Home Assistant."
|
||||
date: 2017-04-30 09:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: lutron.png
|
||||
ha_category: Light
|
||||
---
|
||||
|
||||
To get your Lutron lights working with Home Assistant, follow the instructions for the general [Lutron component](/components/lutron/).
|
14
source/_components/light.lutron_caseta.markdown
Normal file
14
source/_components/light.lutron_caseta.markdown
Normal file
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Lutron Caseta Light"
|
||||
description: "Instructions how to setup the Lutron Caseta lights within Home Assistant."
|
||||
date: 2017-04-30 09:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: lutron.png
|
||||
ha_category: Light
|
||||
---
|
||||
|
||||
To get your Lutron Caseta lights working with Home Assistant, follow the instructions for the general [Lutron Caseta component](/components/lutron_caseta/).
|
|
@ -33,7 +33,7 @@ Configuration variables:
|
|||
- **brightness_scale** (*Optional*): Defines the maximum brightness value (i.e. 100%) of the MQTT device (defaults to 255).
|
||||
- **brightness_state_topic** (*Optional*): The MQTT topic subscribed to receive brightness state updates.
|
||||
- **brightness_value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the brightness value.
|
||||
- **color_temp_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's color temperature state.
|
||||
- **color_temp_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's color temperature state. The color temperature command slider has a range of 157 to 500 mireds (micro reciprocal degrees).
|
||||
- **color_temp_state_topic** (*Optional*): The MQTT topic subscribed to receive color temperature state updates.
|
||||
- **color_temp_value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the color temperature value.
|
||||
- **effect_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's effect state.
|
||||
|
|
|
@ -13,5 +13,4 @@ ha_iot_class: "Local Polling"
|
|||
ha_release: 0.43
|
||||
---
|
||||
|
||||
For installation instructions, see [the Trådfri component][/components/tradfri/].
|
||||
|
||||
For installation instructions, see [the Trådfri component](/components/tradfri/).
|
||||
|
|
|
@ -19,11 +19,12 @@ Presently, there's only support for communicating with the [RadioRA 2](http://ww
|
|||
|
||||
When configured, the `lutron` component will automatically discover the rooms and their associated switches/dimmers as configured by the RadioRA 2 software from Lutron. Each room will be treated as a separate group.
|
||||
|
||||
To use Lutron RadioRA 2 devices in your installation, add the following to your configuration.yaml file using the IP of your RadioRA 2 Main Repeater:
|
||||
To use Lutron RadioRA 2 devices in your installation, add the following to your `configuration.yaml` file using the IP of your RadioRA 2 Main Repeater:
|
||||
|
||||
``` yaml
|
||||
# Example configuration.yaml entry
|
||||
lutron:
|
||||
lutron_host: <ip>
|
||||
lutron_host:IP_ADDRESS
|
||||
lutron_user: lutron
|
||||
lutron_password: integration
|
||||
```
|
||||
|
@ -35,5 +36,5 @@ Configuration variables:
|
|||
- **lutron_password** (*Required*): The password for the user specified above. `integration` is the password for the always-present `lutron` user.
|
||||
|
||||
<p class='note'>
|
||||
It is recommended to assign a static IP address to your Main Repeater. This ensures that it won't change IP addresses, so you won't have to change the `lutron_ip` if it reboots and comes up with a different IP address.
|
||||
It is recommended to assign a static IP address to your Main Repeater. This ensures that it won't change IP addresses, so you won't have to change the `lutron_ip` if it reboots and comes up with a different IP address.
|
||||
</p>
|
||||
|
|
|
@ -13,17 +13,18 @@ featured: False
|
|||
ha_release: 0.41
|
||||
---
|
||||
|
||||
[Lutron](http://www.lutron.com/) is an American lighting control company. They have several lines of home automation devices that manage light switches/dimmers, occupancy sensors, HVAC controls, etc. The `lutron_caseta` component in Home Assistant is responsible for communicating with the Lutron SmartBridge for these systems.
|
||||
[Lutron](http://www.lutron.com/) is an American lighting control company. They have several lines of home automation devices that manage light switches/dimmers, occupancy sensors, HVAC controls, etc. The `lutron_caseta` component in Home Assistant is responsible for communicating with the Lutron SmartBridge for these systems.
|
||||
|
||||
This component only supports the Caseta line of products. Current only supports Caseta dimmers as Home Assistant lights and caseta wall switches as Home Assistant switches.
|
||||
This component only supports the Caseta line of products. Current only supports Caseta dimmers as Home Assistant lights and caseta wall switches as Home Assistant switches.
|
||||
|
||||
When configured, the `lutron_caseta` component will automatically discover dimmers and switches as setup in the Lutron SmartBridge.
|
||||
|
||||
To use Lutron Caseta devices in your installation, add the following to your configuration.yaml file using the IP of your lutron Smartbridge:
|
||||
To use Lutron Caseta devices in your installation, add the following to your `configuration.yaml` file using the IP of your lutron Smartbridge:
|
||||
|
||||
``` yaml
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
lutron_caseta:
|
||||
host: <ip_address>
|
||||
host: IP_ADDRESS
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
@ -31,5 +32,5 @@ Configuration variables:
|
|||
- **host** (*Required*): The IP address of the Lutron SmartBridge.
|
||||
|
||||
<p class='note'>
|
||||
It is recommended to assign a static IP address to your Lutron SmartBridge. This ensures that it won't change IP address, so you won't have to change the `host` if it reboots and comes up with a different IP address.
|
||||
It is recommended to assign a static IP address to your Lutron SmartBridge. This ensures that it won't change IP address, so you won't have to change the `host` if it reboots and comes up with a different IP address.
|
||||
</p>
|
||||
|
|
|
@ -8,7 +8,7 @@ comments: false
|
|||
sharing: true
|
||||
footer: true
|
||||
logo: maxcube.png
|
||||
ha_category: DIY
|
||||
ha_category: Climate
|
||||
ha_release: "0.40"
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
@ -16,8 +16,8 @@ ha_iot_class: "Local Polling"
|
|||
[eQ-3 MAX!](http://www.eq-3.com/products/max.html) integration for Home Assistant allows you to connect eQ-3 MAX! components via the eQ-3 MAX! Cube. The components connects to the eQ-3 MAX! Cube via TCP and automatically makes all supported components available in Home Assistant. The name for each device is created by concatenating the MAX! room and device names.
|
||||
|
||||
Limitations:
|
||||
- Configuring weekly schedules is not possible
|
||||
- Implementation is based on the reverse engineered [MAX! protocol](https://github.com/Bouni/max-cube-protocol)
|
||||
- Configuring weekly schedules is not possible.
|
||||
- Implementation is based on the reverse engineered [MAX! protocol](https://github.com/Bouni/max-cube-protocol).
|
||||
|
||||
Supported Devices:
|
||||
- MAX! Radiator Thermostat (tested)
|
||||
|
@ -32,6 +32,6 @@ A `maxcube` section must be present in the `configuration.yaml` file and contain
|
|||
maxcube:
|
||||
host: 192.168.0.20
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
- **host** (*Required*): The IP address of the eQ-3 MAX! Cube to use.
|
||||
- **port** (*Optional*): The UDP port number. Defaults to `62910`.
|
||||
|
|
|
@ -52,10 +52,12 @@ Currently known supported models:
|
|||
- U6000 (port must be set to 8001)
|
||||
- K6500AF (port must be set to 8001)
|
||||
- KS8005 (port must be set to 8001, and `pip3 install websocket-client` must be executed)
|
||||
- K5600AK (partially supported, turn on works but state is not updated)
|
||||
|
||||
Currently tested but not working models:
|
||||
|
||||
- J5200 - Unable to see state and unable to control
|
||||
- JU7500 - Unable to see state and unable to control
|
||||
|
||||
If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_components/media_player.samsungtv.markdown).
|
||||
The first letter (U, P, L, H & K) represent the screen type, e.g. LED or Plasma. The second letter represents the region, E is Europe, N is North America and A is Asia & Australia. The two numbers following that represent the screen size.
|
||||
|
@ -63,4 +65,4 @@ If you add your model remember to remove these before adding them to the list.
|
|||
|
||||
Currently the ability to select a source is not implemented.
|
||||
|
||||
There's currently a [known issue](https://github.com/home-assistant/home-assistant/issues/2098) with some TV's receiving a *Key press UP* that can interrupt certain applications.
|
||||
There's currently a [known issue](https://github.com/home-assistant/home-assistant/issues/2098) with some TVs receiving a *Key press UP* that can interrupt certain applications.
|
||||
|
|
|
@ -25,7 +25,13 @@ To create the required Spotify Application, login to [Spotify Developer](https:/
|
|||
|
||||
`http://<your_home_assistant_url_or_local_ip>/api/spotify`
|
||||
|
||||
Remember to select **Save** after adding the URI.
|
||||
If you've set up Home Assistant to use SSL encryption, use:
|
||||
|
||||
`https://<your_home_assistant_url_or_local_ip>/api/spotify`
|
||||
|
||||
The first part of the URL will be whatever you use to access Home Assistant from outside your network (including port if applicable).
|
||||
|
||||
Remember to select **Save** after adding the URI. You may also need to set the `base_url` attribute of the [HTTP Component](https://home-assistant.io/components/http/).
|
||||
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
@ -48,4 +54,14 @@ Configuration variables:
|
|||
|
||||
## {% linkable_title Setup %}
|
||||
|
||||
After the prerequisites and configuration are complete, restart Home Assistant. A **Spotify** configurator element will be available. Follow the instructions to authorize Home Assistant to access your Spotify account. A Spotify media player will then appear.
|
||||
After the prerequisites and configuration are complete, restart Home Assistant. A **Spotify** configurator element will be available. Follow the instructions to authorize Home Assistant to access your Spotify account. A Spotify media player will then appear. If Spotify prompts you to download a file after completing authorization, discard the download. It is not needed.
|
||||
|
||||
## {% linkable_title Sources %}
|
||||
The sources are based on if you have streamed to these devices before in Spotify. If you don't have any sources, then simply stream from your phone to another device in your house, bluetooth, echo, etc. Once you do the sources will show up in the developer console as a device to cast/stream to. Also know that the devices won't show up in the dev-console as sources unless they are powered on as well.
|
||||
|
||||
## {% linkable_title URI Links For Playlists/Etc %}
|
||||
You can send playlists to spotify via the "media_content_type": "playlist" and "media_content_id": "spotify:user:spotify:playlist:37i9dQZF1DWSkkUxEhrBdF" which are a part of the media_player.play_media service, you can test this from the services control panel in the Home Assistant frontend.
|
||||
|
||||
In this example this is a URI link to the Reggae Infusions playlist, the link below from Spotify explains how to get this URI value to use for playlists in the Spotify component.
|
||||
|
||||
https://support.spotify.com/us/using_spotify/share_music/why-do-you-have-two-different-link-formats/
|
||||
|
|
|
@ -52,4 +52,5 @@ media_player:
|
|||
- livetv
|
||||
- youtube
|
||||
- makotv
|
||||
- netflix
|
||||
```
|
||||
|
|
|
@ -239,7 +239,7 @@ You will receive an event named `html5_notification.closed` when the notificatio
|
|||
|
||||
### {% linkable_title Making notifications work with NGINX proxy %}
|
||||
|
||||
If you use [NGINX](/ecosystem/nginx/) as an proxy with authentication in front of HASS, you may have trouble with receiving events back to HASS. It's because of authentication token that cannot be passed through the proxy.
|
||||
If you use [NGINX](/ecosystem/nginx/) as an proxy with authentication in front of your Home Assistant instance, you may have trouble with receiving events back to Home Assistant. It's because of authentication token that cannot be passed through the proxy.
|
||||
|
||||
To solve the issue put additional location into your nginx site's configuration:
|
||||
|
||||
|
|
|
@ -55,3 +55,32 @@ kodi_notification:
|
|||
- **displaytime** (*Optional*): Length in milliseconds the message stays on screen. *Defaults to `10000` ms*
|
||||
|
||||
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
|
||||
|
||||
## {% linkable_title Services %}
|
||||
|
||||
### {% linkable_title Media control services %}
|
||||
Available services: `kodi_add_to_playlist`, `kodi_set_shuffle`
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ------------------------------------------------ |
|
||||
| `entity_id` | yes | Target a specific media player. Defaults to all. |
|
||||
|
||||
#### {% linkable_title Service `media_player/kodi_set_shuffle` %}
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|------------------------|----------|----------------------------------------------------------|
|
||||
| `entity_id` | yes | Target a specific media player. It must be of type kodi. |
|
||||
| `shuffle_on ` | no | True/false for shuffle on/off |
|
||||
|
||||
#### {% linkable_title Service `media_player/kodi_add_to_playlist` %}
|
||||
|
||||
Add a song or an entire album to the default playlist (i.e. playlist id 0).
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|------------------------|----------|----------------------------------------------------------------------------|
|
||||
| `entity_id` | yes | Target a specific media player. It must be of type kodi. |
|
||||
| `media_type ` | no | either SONG or ALBUM |
|
||||
| media_id | yes | id of the media as defined in kodi |
|
||||
| media_name | yes | name of the media, HA will search for the media with name closer to this. If ALL add all albums, if artist_name is provided adds all albums of that artist. |
|
||||
| artist_name | yes | name of the artist, HA will search for the artist with name closer to this.|
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ ha_release: 0.32
|
|||
|
||||
Notification platform for [Notifications for Android TV](https://play.google.com/store/apps/details?id=de.cyberdream.androidtv.notifications.google&hl=de) and [Notifications for FireTV](https://play.google.com/store/apps/details?id=de.cyberdream.firenotifications.google).
|
||||
The notifications are in the global scope of your Android TV device. They will be displayed regardless of which application is running.
|
||||
The In-App purchases only apply to the client for Android smartphones, so there isn't any limit when pushing notifications from HASS.
|
||||
The In-App purchases only apply to the client for Android smartphones, so there isn't any limit when pushing notifications from Home Assistant.
|
||||
|
||||
To enable the notification platform, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
|
|
@ -1,132 +0,0 @@
|
|||
---
|
||||
layout: page
|
||||
title: "OpenALPR"
|
||||
description: "Instructions how to integrate licences plates with OpenALPR into Home Assistant."
|
||||
date: 2016-09-22 00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: openalpr.png
|
||||
ha_category: Deprecated
|
||||
featured: false
|
||||
ha_release: 0.29
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
<p class='note warning'>
|
||||
**This platform has been deprecated in favor of the "[OpenALPR image processing](/components/image_processing.openalpr_local/)" platform and will be removed in the future. Please use the "OpenALPR image processing" platform.**
|
||||
</p>
|
||||
|
||||
[OpenALPR](http://www.openalpr.com/) integration for Home Assistant allows you to process licences plates recorded with a camera. You can use them to open a garage door or trigger any other [automation](https://home-assistant.io/components/automation/).
|
||||
|
||||
<p class='note'>
|
||||
If you want use a video stream. You need setup the [ffmpeg](/components/ffmpeg) component. See also there for troubleshooting local ffmpeg installation.
|
||||
</p>
|
||||
|
||||
### {% linkable_title Local installation %}
|
||||
|
||||
If you want process all data locally, you need version 2.3.1 or higher of the `alpr` commandline tool.
|
||||
|
||||
If you don't find binaries for your distribution you can compile from source. Documention of how to build OpenALPR is found [here](https://github.com/openalpr/openalpr/wiki).
|
||||
|
||||
On a Debian system you can use this `cmake` command to build only the command line tool:
|
||||
|
||||
```bash
|
||||
$ cmake -DWITH_TEST=FALSE -DWITH_BINDING_JAVA=FALSE --DWITH_BINDING_PYTHON=FALSE --DWITH_BINDING_GO=FALSE -DWITH_DAEMON=FALSE -DCMAKE_INSTALL_PREFIX:PATH=/usr ..
|
||||
```
|
||||
|
||||
Verify your `alpr` installation with:
|
||||
|
||||
```
|
||||
$ wget -O- -q http://plates.openalpr.com/h786poj.jpg | alpr -
|
||||
```
|
||||
|
||||
### {% linkable_title Configuration Home Assistant %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
openalpr:
|
||||
engine: local
|
||||
region: eu
|
||||
confidence: 80.0
|
||||
entities:
|
||||
- name: Camera garage 1
|
||||
interval: 5
|
||||
render: ffmpeg
|
||||
input: INPUT_STREAM
|
||||
extra_arguments: SOME OTHER FFMPEG STUFF
|
||||
- name: Camera garage 2
|
||||
interval: 5
|
||||
render: image
|
||||
input: https://camera_ip/still_image.jpg
|
||||
username: admin
|
||||
password: bla
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **engine** (*Required*): `local` or `cloud` for processing
|
||||
- **region** (*Required*): Country or region. List of supported [values](https://github.com/openalpr/openalpr/tree/master/runtime_data/config).
|
||||
- **confidence** (*Optional*): The minimum of confidence in percent to process with Home Assistant. Defaults to 80.
|
||||
- **entities** (*Required*): A list of device to add in Home Assistant.
|
||||
- **name** (*Optional*): This parameter allows you to override the name of your OpenALPR entity.
|
||||
- **interval** (*Optional*): Time in seconds to poll a picture. If the interval is 0 It don't poll and it only process data with `openalpr.scan` service. Default is 2 seconds.
|
||||
- **render** (*Optional*): How is Home Assistant to get a picture from. It support `ffmpeg` for video streams and `image` for a still image. Default is with `ffmpeg`.
|
||||
- **input** (*Required*): The source from getting pictures. With `ffmpeg` it could by all supported input. Image only support an URL.
|
||||
- **extra_arguments** (*Optional*): Only available with `ffmpeg`.
|
||||
- **username** (*Optional*): Only available with image for HTTP authentification.
|
||||
- **password** (*Optional*): Only available with image for HTTP authentification.
|
||||
|
||||
### {% linkable_title Configuration Home Assistant local processing %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
openalpr:
|
||||
engine: local
|
||||
region: eu
|
||||
alpr_binary: /usr/bin/alpr
|
||||
entities:
|
||||
...
|
||||
```
|
||||
Configuration variables:
|
||||
|
||||
- **alpr_binary** (*Optional*): Default `alpr`. The command line tool `alpr` from OpenALPR software for local processing.
|
||||
|
||||
### {% linkable_title Configuration Home Assistant cloud processing %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
openalpr:
|
||||
engine: cloud
|
||||
region: eu
|
||||
api_key: SK_AAABBBBCCCEEEE
|
||||
entities:
|
||||
...
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **api_key** (*Required*): You need an API key from [OpenALPR Cloud](https://cloud.openalpr.com/).
|
||||
|
||||
#### {% linkable_title Service %}
|
||||
|
||||
- `openalpr.scan`: Scan immediately a picture from input.
|
||||
- `openalpr.restart`: Restart a ffmpeg process
|
||||
|
||||
#### {% linkable_title Events %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml automation entry
|
||||
automation:
|
||||
- alias: Open garage door
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: openalpr.found
|
||||
event_data:
|
||||
entity_id: openalpr.camera_garage_1
|
||||
plate: BE2183423
|
||||
...
|
||||
```
|
||||
|
||||
This event is trigger after OpenALPR found a new licence plate.
|
|
@ -36,9 +36,9 @@ remote:
|
|||
|
||||
Configuration variables:
|
||||
|
||||
- **name** (*Required*): The hub's name to display in the front end.
|
||||
- **name** (*Required*): The hub's name to display in the frontend.
|
||||
- **host** (*Required*): The Harmony device's IP address.
|
||||
- **port** (*Optional*): The Harmony device's port. 5222 is default.
|
||||
- **port** (*Optional*): The Harmony device's port. Defaults to 5222.
|
||||
- **activity** (*Optional*): Activity to use when turnon service is called without any data.
|
||||
- **scan_interval** (*Optional*): Amount in seconds in between polling for device's current activity. Defaults to 30 seconds.
|
||||
|
||||
|
@ -52,10 +52,10 @@ Upon startup one file will be written to your Home Assistant configuration direc
|
|||
|
||||
Supported services:
|
||||
|
||||
- **Turn Off**: Turn off all devices that were switched on from the start of the current activity
|
||||
- **Turn On**: Start an activity, will start the default activity from configuration.yaml if no activity is specified. The specified activity can either be the activity name or the activity ID from the configuration file written to your HASS config directory. The service will respond faster if the activity ID is passed instead of the name
|
||||
- **Send Command**: Send a command to one device, device ID and available commands are written to the configuration file at startup
|
||||
- **Sync**: Synchronizes the Harmony device with the Harmony web service if any changes are made from the web portal or app
|
||||
- **Turn Off**: Turn off all devices that were switched on from the start of the current activity.
|
||||
- **Turn On**: Start an activity, will start the default activity from configuration.yaml if no activity is specified. The specified activity can either be the activity name or the activity ID from the configuration file written to your [Home Assistant configuration directory](/docs/configuration/). The service will respond faster if the activity ID is passed instead of the name.
|
||||
- **Send Command**: Send a command to one device, device ID and available commands are written to the configuration file at startup.
|
||||
- **Sync**: Synchronizes the Harmony device with the Harmony web service if any changes are made from the web portal or app.
|
||||
|
||||
|
||||
### {% linkable_title Examples %}
|
||||
|
@ -91,7 +91,7 @@ sensor:
|
|||
```
|
||||
|
||||
|
||||
The example below shows how to control an `input_boolean` switch using the Harmony remote's current activity. The switch will turn on when the remote's state changes and the Kodi activity is started and off when the remote's state changes and the current activity is PowerOff.
|
||||
The example below shows how to control an `input_boolean` switch using the Harmony remote's current activity. The switch will turn on when the remote's state changes and the Kodi activity is started and off when the remote's state changes and the current activity is PowerOff.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
|
@ -117,7 +117,8 @@ automation:
|
|||
entity_id: input_boolean.notify
|
||||
````
|
||||
|
||||
The automation example below shows how to send a command via the harmony remote using the `send_command` service to send the 'Pause' command to the hub, which is already defined as an IR code for each device to be used via the Harmony app. It is checking for the activity name as exposed through the sensor in the harmony remote component using Jinga if statements to set the device_id, sending the correct Pause command for the given activity. This requires checking your activity list and device_id from the `harmony_REMOTENAME.conf` file created when you start the component. In this example, the harmony hub is named bedroom.
|
||||
The automation example below shows how to send a command via the harmony remote using the `send_command` service to send the 'Pause' command to the hub, which is already defined as an IR code for each device to be used via the Harmony app. It is checking for the activity name as exposed through the sensor in the harmony remote component using Jinja if statements to set the device_id, sending the correct Pause command for the given activity. This requires checking your activity list and device_id from the `harmony_REMOTENAME.conf` file created when you start the component. In this example, the harmony hub is named bedroom.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
- alias: Harmony Pause contextual for activity
|
||||
|
|
|
@ -117,7 +117,7 @@ If you find a device is recognized differently, with different protocols or the
|
|||
### {% linkable_title Technical overview %}
|
||||
|
||||
- The`rflink` Python module a asyncio transport/protocol is setup that fires an callback for every (valid/supported) packet received by the RFLink gateway.
|
||||
- This component uses this callback to distribute 'rflink packet events' over the HASS bus which can be subscribed to by entities/platform implementations.
|
||||
- This component uses this callback to distribute 'rflink packet events' over Home Assistant's bus which can be subscribed to by entities/platform implementations.
|
||||
- The platform implementions take care of creating new devices (if enabled) for unsees incoming packet id's.
|
||||
- Device entities take care of matching to the packet ID, interpreting and performing actions based on the packet contents. Common entitiy logic is maintained in this main component.
|
||||
|
||||
|
@ -135,7 +135,7 @@ logger:
|
|||
|
||||
This will give you output looking like this:
|
||||
|
||||
```
|
||||
```bash
|
||||
17-03-07 20:12:05 DEBUG (MainThread) [rflink.protocol] received data: 20;00;Nod
|
||||
17-03-07 20:12:05 DEBUG (MainThread) [rflink.protocol] received data: o RadioFrequencyLink - R
|
||||
17-03-07 20:12:05 DEBUG (MainThread) [rflink.protocol] received data: FLink Gateway V1.1 - R45
|
||||
|
|
|
@ -11,6 +11,7 @@ logo: dark_sky.png
|
|||
ha_category: Weather
|
||||
featured: true
|
||||
ha_release: 0.30
|
||||
redirect_from: /components/sensor.forecast/
|
||||
---
|
||||
|
||||
The `darksky` platform uses the [Dark Sky](https://darksky.net/) web service as a source for meteorological data for your location. The location is based on the `longitude` and `latitude` coordinates configured in your `configuration.yaml` file. The coordinates are auto-detected but to take advantage of the hyper-local weather reported by Dark Sky, you can refine them down to your exact home address. GPS coordinates can be found by using [Google Maps](https://www.google.com/maps) and clicking on your home or [Openstreetmap](http://www.openstreetmap.org/).
|
||||
|
@ -80,7 +81,7 @@ Configuration variables:
|
|||
</pre>
|
||||
|
||||
<p class='note warning'>
|
||||
Note: While the platform is called "darksky" the sensors will show up in Home Assistant as "dark_sky" (eg: sensor.dark_sky_summary).
|
||||
While the platform is called "darksky" the sensors will show up in Home Assistant as "dark_sky" (eg: sensor.dark_sky_summary).
|
||||
</p>
|
||||
|
||||
Details about the API are available in the [Dark Sky documentation](https://darksky.net/dev/docs).
|
||||
|
|
|
@ -15,7 +15,7 @@ ha_release: "0.40"
|
|||
|
||||
The `dnsip` sensor will expose an IP address, fetched via DNS resolution, as its value. There are two operational modes:
|
||||
|
||||
1. When you enable the sensor with minimal configuration, it will query [OpenDNS](https://www.opendns.com/)' nameserver with the hostname `myip.opendns.com`, which will resolve to your external/public IP address.
|
||||
1. When you enable the sensor with minimal configuration, it will query the [OpenDNS](https://www.opendns.com/) nameservers with the hostname `myip.opendns.com`, which will resolve to your external/public IP address.
|
||||
2. If you specify a `hostname`, a regular DNS lookup will be performed, providing you the IP the hostname resolves to.
|
||||
|
||||
You may also override the nameserver that is being used by setting the `resolver` parameter to any nameserver you like.
|
||||
|
@ -32,7 +32,7 @@ Configuration variables:
|
|||
|
||||
- **hostname** (*Optional*): The hostname for which to perform the DNS query. Default: `myip.opendns.com` (special hostname that resolves to your public IP)
|
||||
- **resolver** (*Optional*): The DNS server to target the query at. Default: `208.67.222.222` (OpenDNS)
|
||||
- **ipv6** (*Optional*): Set this to `true` or `false` if IPv6 should be used. When resolving the public IP, this will be the IP of the machine HASS is running on.
|
||||
- **ipv6** (*Optional*): Set this to `true` or `false` if IPv6 should be used. When resolving the public IP, this will be the IP of the machine where Home Assistant is running on.
|
||||
- **resolver_ipv6** (*Optional*): The IPv6 DNS server to target the query at. Default: `2620:0:ccc::2` (OpenDNS)
|
||||
- **scan_interval** (*Optional*): Defines number of seconds for polling interval. Default: `120` seconds.
|
||||
|
||||
|
|
|
@ -1,104 +0,0 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Forecast.io"
|
||||
description: "How to integrate Forecast.io within Home Assistant."
|
||||
date: 2015-04-25 9:06
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: forecast.png
|
||||
ha_category: Deprecated
|
||||
featured: False
|
||||
ha_release: pre 0.7
|
||||
---
|
||||
|
||||
<p class='note warning'>
|
||||
**This platform has been deprecated in favor of the "[darksky](/components/sensor.darksky/)" platform and will be removed in the future. Please use the "darksky" platform.**
|
||||
</p>
|
||||
|
||||
The `forecast` platform uses the [Forecast.io](https://forecast.io/) web service as a source of meteorological data for your location. The location is based on the `longitude` and `latitude` coordinates configured in your `configuration.yaml` file. The coordinates are auto-detected but to take advantage of the hyper-local weather reported by forecast.io, you can refine them down to your exact home address. GPS coordinates can be found by using [Google Maps](https://www.google.com/maps) and clicking on your home or [Openstreetmap](http://www.openstreetmap.org/).
|
||||
|
||||
You need an API key which is free but requires [registration](https://developer.forecast.io/register). You can make up to 1000 calls per day for free which means that you could make one approximately every 86 seconds.
|
||||
|
||||
<p class='note warning'>
|
||||
[Forecast.io](https://forecast.io/) will charge you $0.0001 per API call if you enter your credit card details and create more than 1000 calls per day.
|
||||
</p>
|
||||
|
||||
To add Forecast.io to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: forecast
|
||||
api_key: YOUR_APP_KEY
|
||||
monitored_conditions:
|
||||
- summary
|
||||
- icon
|
||||
- nearest_storm_distance
|
||||
- nearest_storm_bearing
|
||||
- precip_type
|
||||
- precip_intensity
|
||||
- precip_probability
|
||||
- temperature
|
||||
- apparent_temperature
|
||||
- dew_point
|
||||
- wind_speed
|
||||
- wind_bearing
|
||||
- cloud_cover
|
||||
- humidity
|
||||
- pressure
|
||||
- visibility
|
||||
- ozone
|
||||
- minutely_summary
|
||||
- hourly_summary
|
||||
- daily_summary
|
||||
- temperature_max
|
||||
- temperature_min
|
||||
- apparent_temperature_max
|
||||
- apparent_temperature_min
|
||||
- precip_intensity_max
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **api_key** (*Required*): Your API key for http://forecast.io/.
|
||||
- **monitored_conditions** array (*Required*): Conditions to display in the frontend.
|
||||
- **summary**: A human-readable text summary of the current conditions.
|
||||
- **precip_type**: The type of precipitation occurring.
|
||||
- **precip_intensity**: The average expected intensity of precipitation occurring.
|
||||
- **precip_probability**: A value between 0 and 1 which is representing the probability of precipitation.
|
||||
- **temperature**: The current temperature.
|
||||
- **apparent_temperature**: A numerical value representing the apparent (or "feels like") temperature.
|
||||
- **dew_point**: The dew point.
|
||||
- **wind_speed**: The wind speed.
|
||||
- **wind_bearing**: Where the wind is coming from in degrees, with true north at 0° and progressing clockwise.
|
||||
- **cloud_cover**: The percentage of sky occluded by clouds.
|
||||
- **humidity**: The relative humidity.
|
||||
- **pressure**: The sea-level air pressure in millibars.
|
||||
- **visibility**: The average visibility.
|
||||
- **ozone**: The columnar density of total atmospheric ozone in Dobson.
|
||||
- **minutely_summary**: A human-readable text summary for the next hour.
|
||||
- **hourly_summary**: A human-readable text summary for the next 24 hours.
|
||||
- **daily_summary**: A human-readable text summary for the next 7 days.
|
||||
- **temperature_max**: Today's expected high temperature.
|
||||
- **temperature_min**: Today's expected low temperature.
|
||||
- **apparent_temperature_max**: Today's expected apparent high temperature.
|
||||
- **apparent_temperature_min**: Today's expected apparent low temperature.
|
||||
- **precip_intensity_max**: Today's expected maximum intensity of precipitation.
|
||||
- **units** (*Optional*): Specify the unit system. Default to `si` or `us` based on the temperature preference in Home Assistant. Other options are `auto`, `us`, `si`, `ca`, and `uk2`.
|
||||
`auto` will let forecast.io decide the unit system based on location.
|
||||
- **update_inverval** (*Optional*): Minimum time interval between updates. Default is 2 minutes. Supported formats:
|
||||
- `update_interval: 'HH:MM:SS'`
|
||||
- `update_interval: 'HH:MM'`
|
||||
- Time period dictionary, e.g.:
|
||||
<pre>update_interval:
|
||||
# At least one of these must be specified:
|
||||
days: 0
|
||||
hours: 0
|
||||
minutes: 3
|
||||
seconds: 30
|
||||
milliseconds: 0
|
||||
</pre>
|
||||
|
||||
Details about the API are available in the [Forecast.io documentation](https://developer.forecast.io/docs/v2).
|
|
@ -16,14 +16,17 @@ ha_release: 0.7.3
|
|||
|
||||
The `glances` sensor platform is consuming the system information provided by the [Glances](https://github.com/nicolargo/glances) API. This enables one to track remote host and display their stats in Home Assistant.
|
||||
|
||||
This sensors needs a running instance of `glances` on the host. The minimal supported version of `glances` is 2.3:
|
||||
This sensors needs a running instance of `glances` on the host. The minimal supported version of `glances` is 2.3.
|
||||
To start a Glances RESTful API server on its default port 61208, the a test the following command can be used:
|
||||
|
||||
```bash
|
||||
$ sudo glances -w
|
||||
Glances web server started on http://0.0.0.0:61208/
|
||||
```
|
||||
|
||||
Check if you are able to access the API located at `http://IP_ADRRESS:61208/api/2`. The details about your memory usage is provided as a JSON response. If so, you are good to proceed.
|
||||
Check if you are able to access the API located at `http://IP_ADRRESS:61208/api/2`. Don't use `-s` as this will start the XMLRPC server on port 61209. Home Assistant only supports the REST API of GLANCES.
|
||||
|
||||
The details about your memory usage is provided as a JSON response. If so, you are good to proceed.
|
||||
|
||||
```bash
|
||||
$ curl -X GET http://IP_ADDRESS:61208/api/2/mem/free
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
---
|
||||
layout: page
|
||||
title: "International Space Station Sensor"
|
||||
description: "Know if or when ISS will be above your home location"
|
||||
date: 2016-12-18 10:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: nasa.png
|
||||
ha_category: Deprecated
|
||||
ha_release: 0.36
|
||||
---
|
||||
|
||||
<p class='note warning'>
|
||||
**This platform has been deprecated in favor of the "[ISS](/components/binary_sensor.iss/)" platform and will be removed in the future. Please use the "iss" binary sensor platform.**
|
||||
</p>
|
||||
|
||||
The `iss` platform uses the [Open Notify API](http://open-notify.org/Open-Notify-API/ISS-Location-Now/) to let you know if the station is above your home location. This means that ISS is 10° above the horizon of your home.
|
||||
You can check in the attributes of the sensor how many minutes you have to wait until the next rise of the station and the number of people in space.
|
||||
|
||||
To add ISS sensor to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: iss
|
||||
```
|
|
@ -13,7 +13,7 @@ ha_release: 0.29
|
|||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
The [Mi Flora plant sensor](https://www.open-homeautomation.com/2016/08/23/reverse-engineering-the-mi-plant-sensor/) is a small Bluetooth Low Energy device that monitors not only the moisture, but also light, temperature and conductivity. As only a single BLE device can be polled at the same time, the library implements locking to make sure this is the case.
|
||||
The `miflora` sensor platform allows one to monitor to plants. The [Mi Flora plant sensor](https://www.aliexpress.com/item/Newest-Original-Xiaomi-Flora-Monitor-Digital-Plants-Flowers-Soil-Water-Light-Tester-Sensor-Monitor-for-Aquarium/32685750372.html) is a small Bluetooth Low Energy device that monitors not only the moisture, but also light, temperature and conductivity. As only a single BLE device can be polled at the same time, the library implements locking to make sure this is the case.
|
||||
|
||||
To use your Mi Flora plant sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
@ -38,7 +38,7 @@ sensor:
|
|||
- **median** (*Optional*): Sometimes the sensor measurements show spikes. Using this parameter, the poller will report the median of the last 3 (you can also use larger values) measurements. This filters out single spikes. Median: 5 will also filter double spikes. If you never have problems with spikes, `median: 1` will work fine.
|
||||
- **timeout** (*Optional*): Define the timeout value in seconds when polling (defaults to 10 if not defined)
|
||||
- **retries** (*Optional*): Define the number of retries when polling (defaults to 2 if not defined)
|
||||
- **cache** (*Optional*): Define cache expiration value in seconds (defaults to 1200 if not defined)
|
||||
- **cache_value** (*Optional*): Define cache expiration value in seconds (defaults to 1200 if not defined)
|
||||
- **adapter** (*Optional*): Define the bluetooth adapter to use (defaults to hci0). Run `hciconfig` to get a list of available adapters.
|
||||
|
||||
Note that by default the sensor is only polled once every 15 minutes. This means with the `median: 3` setting will take as least 30 minutes before the sensor will report a value after a Home Assistant restart. As the values usually change very slowly, this isn't a big problem.
|
||||
|
@ -62,6 +62,3 @@ sensor:
|
|||
- battery
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ ha_category: Sensor
|
|||
ha_release: "0.40"
|
||||
---
|
||||
|
||||
The `modem_callerid` sensor platform uses an available modem for collecting caller ID information. It requires a Hayes AT compatible modem that supports caller ID detection (via AT+VCID=1).
|
||||
The `modem_callerid` sensor platform uses an available modem for collecting caller ID information. It requires a Hayes AT compatible modem that supports caller ID detection (via AT+VCID=1).
|
||||
|
||||
To enable the sensor, add the following lines to your `configuration.yaml`:
|
||||
|
||||
|
@ -19,7 +19,6 @@ To enable the sensor, add the following lines to your `configuration.yaml`:
|
|||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: modem_callerid
|
||||
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
@ -31,7 +30,7 @@ To find the path of your USB modem, run:
|
|||
|
||||
`$ ls /dev/ttyACM*`
|
||||
|
||||
If `hass` runs with another user (e.g. *homeassistant* on Hassbian) give access to the stick with:
|
||||
If Home Assistant (`hass`) runs with another user (e.g. `homeassistant` on Hassbian) give access to the stick with:
|
||||
|
||||
`$ sudo usermod -a -G dialout homeassistant`
|
||||
|
||||
|
@ -46,7 +45,7 @@ Some example automations:
|
|||
trigger:
|
||||
platform: state
|
||||
entity_id: sensor.modem_callerid
|
||||
state: "callerid"
|
||||
state: "callerid"
|
||||
action:
|
||||
service: notify.notify
|
||||
data:
|
||||
|
|
19
source/_components/sensor.tado.markdown
Normal file
19
source/_components/sensor.tado.markdown
Normal file
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Tado Sensor"
|
||||
description: "Instructions on how to integrate Tado thermostats with Home Assistant."
|
||||
date: 2017-03-20 12:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: tado.png
|
||||
ha_category: Sensor
|
||||
ha_release: 0.41
|
||||
---
|
||||
|
||||
The `tado` sensor platform allow you to monitor your tado climate devices.
|
||||
|
||||
|
||||
The requirement is that you have set up the [tado](/components/tado/) component.
|
||||
|
|
@ -28,7 +28,7 @@ Configuration variables:
|
|||
- Alias for the command
|
||||
- Command itself.
|
||||
|
||||
The commands can be dynamic, using templates to insert values of other entities. When using templates you are limited to only template the arguments. You are also no longer allowed to use pipe symbols when using templates.
|
||||
The commands can be dynamic, using templates to insert values for arguments. When using templates, shell_command runs in a more secure environment which doesn't allow any shell helpers like automatically expanding the home dir `~` or using pipe symbols to run multiple commands.
|
||||
|
||||
Any service data passed into the service call to activate the shell command will be available as a variable within the template.
|
||||
|
||||
|
|
14
source/_components/switch.lutron_caseta.markdown
Normal file
14
source/_components/switch.lutron_caseta.markdown
Normal file
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Lutron Caseta Switch"
|
||||
description: "Instructions how to setup the Lutron Caseta switches within Home Assistant."
|
||||
date: 2017-04-30 09:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: lutron.png
|
||||
ha_category: Switch
|
||||
---
|
||||
|
||||
To get your Lutron Caseta switches working with Home Assistant, follow the instructions for the general [Lutron Caseta component](/components/lutron_caseta/).
|
34
source/_components/tado.markdown
Normal file
34
source/_components/tado.markdown
Normal file
|
@ -0,0 +1,34 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Tado"
|
||||
description: "Instructions on how to integrate Tado devices with Home Assistant."
|
||||
date: 2017-03-20 12:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: tado.png
|
||||
ha_category: Hub
|
||||
ha_release: 0.41
|
||||
---
|
||||
|
||||
|
||||
The `tado` component platform is used as an interface to the [my.tado.com](https://my.tado.com/webapp/#/account/sign-in) website. It adds climate devices for every tado zone and sensors for some additional information of the zones.
|
||||
|
||||
To use your tado thermostats in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
tado:
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **username** (*Required*): Username for my.tado.com.
|
||||
- **password** (*Required*): Password for my.tado.com.
|
||||
|
||||
The tado thermostats are internet connected thermostats. There exists an unofficial API at [my.tado.com](https://my.tado.com/webapp/#/account/sign-in), which is used by their website and now by this component.
|
||||
|
||||
It currently supports presenting the current temperature, the setting temperature and the current operation mode. Switching the mode is also supported. If no user is at home anymore, the devices are showing the away-state. Switching to away-mode is not supported.
|
|
@ -16,7 +16,7 @@ Use Telegram on your mobile device to send messages or commands to your Home Ass
|
|||
|
||||
A command looks like `/thecommand`
|
||||
|
||||
When received by hass it will fire a `telegram.command` event on the event bus with the following `event_data`:
|
||||
When received by hass it will fire a `telegram_command` event on the event bus with the following `event_data`:
|
||||
|
||||
```yaml
|
||||
command: "/thecommand"
|
||||
|
@ -36,7 +36,7 @@ alias: 'telegram bot that reply pong to ping'
|
|||
hide_entity: true
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: telegram.command
|
||||
event_type: telegram_command
|
||||
event_data:
|
||||
command: '/ping'
|
||||
action:
|
||||
|
@ -50,7 +50,7 @@ Example that show keyboard interaction with `notify.telegram`
|
|||
```yaml
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: telegram.command
|
||||
event_type: telegram_command
|
||||
event_data:
|
||||
command: '/start'
|
||||
action:
|
||||
|
@ -68,7 +68,7 @@ and an automation to trigger a related command "/siren".
|
|||
```yaml
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: telegram.command
|
||||
event_type: telegram_command
|
||||
event_data:
|
||||
command: '/siren'
|
||||
action:
|
||||
|
|
|
@ -12,9 +12,9 @@ ha_category: Telegram chatbot
|
|||
ha_release: 0.42
|
||||
---
|
||||
|
||||
Telegram chatbot webhooks implementation as described in [docs](https://core.telegram.org/bots/webhooks).
|
||||
Telegram chatbot webhooks implementation as described in the Telegram [documentation](https://core.telegram.org/bots/webhooks).
|
||||
|
||||
One of two bot implementations supported by Telegram. Described by Telegram as the preferred implementation but requires your hass instance to be exposed to the internet.
|
||||
This is one of two bot implementations supported by Telegram. Described by Telegram as the preferred implementation but requires your Home Assistant instance to be exposed to the internet.
|
||||
|
||||
To integrate this into Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
||||
|
@ -46,7 +46,8 @@ Full configuration sample:
|
|||
http:
|
||||
base_url: <public_url>
|
||||
|
||||
telegram_webhooks:
|
||||
telegram_bot:
|
||||
platform: webhooks
|
||||
api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
|
||||
trusted_networks:
|
||||
- 149.154.167.197/32
|
||||
|
@ -58,4 +59,4 @@ telegram_webhooks:
|
|||
allowed_chat_ids:
|
||||
- 12345
|
||||
- 67890
|
||||
```
|
||||
```
|
||||
|
|
|
@ -1,125 +0,0 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Telegram webhooks"
|
||||
description: "Telegram webhooks support"
|
||||
date: 2017-02-13 18:50
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: telegram.png
|
||||
ha_category: Notifications
|
||||
ha_release: 0.39
|
||||
---
|
||||
|
||||
Telegram webhooks support as described in [docs](https://core.telegram.org/bots/webhooks).
|
||||
|
||||
With new component `telegram_webhooks` it is possible to send commands to Home Assistant via a Telegram bot. It works well with Telegram notification: webhooks receive commands from user and notify send messages to user.
|
||||
|
||||
Webhook responds only to:
|
||||
|
||||
- users listed in configuration, in telegram user_id format.
|
||||
- telegram servers (listed in webhooks [docs](https://core.telegram.org/bots/webhooks)) specified in trusted_networks
|
||||
|
||||
|
||||
To integrate this into Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
http:
|
||||
base_url: <public_url>
|
||||
|
||||
telegram_webhooks:
|
||||
user_id:
|
||||
user1: USER_ID
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **user_id** (*Required*): A list of user in the `user_id` Telegram format enabled to interact to webhook
|
||||
- **api_key** (*Optional*): The API token of your bot. If present, the webhook of bot is automatically registered to `public_url/api/telegram_webhooks`. If not present, manual registration is required.
|
||||
- **trusted_networks** (*Optional*): Telegram server access ACL as list. Defaults to `149.154.167.197-233`.
|
||||
|
||||
Full configuration sample:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
http:
|
||||
base_url: <public_url>
|
||||
|
||||
telegram_webhooks:
|
||||
api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
|
||||
trusted_networks:
|
||||
- 149.154.167.197/32
|
||||
- 149.154.167.198/31
|
||||
- 149.154.167.200/29
|
||||
- 149.154.167.208/28
|
||||
- 149.154.167.224/29
|
||||
- 149.154.167.232/31
|
||||
user_id:
|
||||
user1: USER_ID
|
||||
user2: USER_ID
|
||||
```
|
||||
|
||||
### {% linkable_title Configuration samples %}
|
||||
|
||||
Telegram webhooks raise an event `telegram_command` with a payload.
|
||||
|
||||
```json
|
||||
{
|
||||
"command": "/thecommand",
|
||||
"args": "strings after command",
|
||||
"user_id": "12345"
|
||||
}
|
||||
```
|
||||
|
||||
Automation example that realize simple test to command/notify interaction.
|
||||
|
||||
```yaml
|
||||
alias: 'telegram bot that reply pong to ping'
|
||||
hide_entity: true
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: telegram_command
|
||||
event_data:
|
||||
command: '/ping'
|
||||
action:
|
||||
- service: notify.telegram
|
||||
data:
|
||||
message: 'pong'
|
||||
```
|
||||
|
||||
Example that show keyboard interaction with `notify.telegram`
|
||||
|
||||
```yaml
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: telegram_command
|
||||
event_data:
|
||||
command: '/start'
|
||||
action:
|
||||
- service: notify.telegram
|
||||
data:
|
||||
message: 'commands'
|
||||
data:
|
||||
keyboard:
|
||||
- '/ping, /alarm'
|
||||
- '/siren'
|
||||
```
|
||||
|
||||
and an automation to trigger a related command "/siren".
|
||||
|
||||
```yaml
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: telegram_command
|
||||
event_data:
|
||||
command: '/siren'
|
||||
action:
|
||||
- service: homeassistant.turn_on
|
||||
entity_id: switch.vision_zm1601eu5_battery_operated_siren_switch_9_0
|
||||
- delay:
|
||||
seconds: 10
|
||||
- service: homeassistant.turn_off
|
||||
entity_id: switch.vision_zm1601eu5_battery_operated_siren_switch_9_0
|
||||
```
|
|
@ -14,22 +14,44 @@ ha_iot_class: "Local Polling"
|
|||
ha_release: 0.43
|
||||
---
|
||||
|
||||
The `tradfri` component supports for the IKEA Trådfri (Tradfri) gateway. The gateway can control lights connected to it.
|
||||
The `tradfri` component supports for the IKEA Trådfri (Tradfri) gateway. The gateway can control lights connected to it and Home Assistant will automatically discover its presence on your network.
|
||||
|
||||
For this to work, you need to install a modified lib-coap library:
|
||||
For this to work, you need to install a modified lib-coap library.
|
||||
|
||||
Linux:
|
||||
|
||||
```bash
|
||||
$ sudo apt-get install libtool
|
||||
$ sudo apt-get install autoconf
|
||||
|
||||
$ git clone --depth 1 --recursive -b dtls https://github.com/home-assistant/libcoap.git
|
||||
$ cd libcoap
|
||||
$ ./autogen.sh
|
||||
$ ./configure --disable-documentation --disable-shared --without-debug CFLAGS="-D COAP_DEBUG_FD=stderr"
|
||||
$ make
|
||||
$ make install
|
||||
$ sudo make install
|
||||
```
|
||||
|
||||
To enable these lights, add the following lines to your `configuration.yaml` file:
|
||||
macOS:
|
||||
|
||||
```bash
|
||||
$ sudo brew install libtool
|
||||
$ sudo brew install autoconf
|
||||
$ sudo brew install automake
|
||||
$ git clone --depth 1 --recursive -b dtls https://github.com/home-assistant/libcoap.git
|
||||
$ cd libcoap
|
||||
$ ./autogen.sh
|
||||
$ ./configure --disable-documentation --disable-shared --without-debug CFLAGS="-D COAP_DEBUG_FD=stderr"
|
||||
$ make
|
||||
$ sudo make install
|
||||
```
|
||||
You will be prompted to configure the gateway through the Home Assistant interface, Enter the security key when prompted and click configure
|
||||
|
||||
<p class='note'>
|
||||
If you see an "Unable to connect" message, restart the gateway and try again.
|
||||
</p>
|
||||
|
||||
The gateway can also be manually configured by adding the following lines to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
|
@ -41,4 +63,4 @@ tradfri:
|
|||
Configuration variables:
|
||||
|
||||
- **host** (*Required*): The IP address or hostname of your Trådfri gateway.
|
||||
- **api_key** (*Required*): Can be found on the back of the Trådfri gateway.
|
||||
- **api_key** (*Required*): Can be found listed as Security Key on the back of the Trådfri gateway.
|
||||
|
|
|
@ -13,7 +13,7 @@ ha_category: Other
|
|||
|
||||
The `updater` component will check daily for new releases. It will show a badge in the frontend if a new version was found.
|
||||
|
||||
The updater component will also collect basic information about Home Assistant and its environment. The information includes the current Home Assistant version, the timezone, Python version and operating system information. No identifiable information (i.e. IP address, GPS coordinates, etc.) will ever be collected. If you are concerned about your privacy, you are welcome to scrutinize the Python [source code](https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/updater.py#L91).
|
||||
The updater component will also collect basic information about the running Home Assistant instance and its environment. The information includes the current Home Assistant version, the timezone, Python version and operating system information. No identifiable information (i.e. IP address, GPS coordinates, etc.) will ever be collected. If you are concerned about your privacy, you are welcome to scrutinize the Python [source code](https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/updater.py#L91). For further information about the Updater's data please check the [detailed overview](/docs/backend/updater/).
|
||||
|
||||
To integrate this into Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue