Merge branch 'current' into next
This commit is contained in:
commit
d5883f9ee1
54 changed files with 1230 additions and 107 deletions
|
@ -17,6 +17,10 @@ The Hikvision Binary Sensor is a platform that parses the event stream of a [Hik
|
|||
|
||||
The platform will automatically add all sensors to Home Assistant that are configured within the camera/nvr interface to "Notify the surveillance center" as a trigger. If you would like to hide a sensor type you can do so by either unchecking "Notify the surveillance center" in the camera configuration or by using the "ignored" customize option detailed below.
|
||||
|
||||
<p class='note'>
|
||||
In order for the sensors to work the hikvision user must have the 'Remote: Notify Surveillance Center / Trigger Alarm Output' permission which can be enabled from the user managment section of the web interace. Also the 'WEB Authentication' needs to be set to 'digest/basic' in the security / authentication section.
|
||||
</p>
|
||||
|
||||
For example, if you configure a camera with the name "Front Porch" that has motion detection and line crossing events enabled to notify the surveillance center the following binary sensors will be added to Home Assistant:
|
||||
|
||||
```
|
||||
|
|
|
@ -22,8 +22,7 @@ To enable this component in your installation, add the following to your
|
|||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
bmw_connected_drive:
|
||||
mycar:
|
||||
name: Car 1
|
||||
name:
|
||||
username: USERNAME_BMW_CONNECTED_DRIVE
|
||||
password: PASSWORD_BMW_CONNECTED_DRIVE
|
||||
country: COUNTRY_BMW_CONNECTED_DRIVE
|
||||
|
|
|
@ -46,12 +46,12 @@ automation:
|
|||
at: "20:00:00"
|
||||
action:
|
||||
- service: climate.set_operation_mode
|
||||
entity_id: climate.remotec_zxt120_heating_1_id
|
||||
data:
|
||||
entity_id: climate.remotec_zxt120_heating_1_id
|
||||
operation_mode: Heat
|
||||
- service: climate.set_temperature
|
||||
entity_id: climate.remotec_zxt120_heating_1_39
|
||||
data:
|
||||
entity_id: climate.remotec_zxt120_heating_1_39
|
||||
temperature: 24
|
||||
```
|
||||
|
||||
|
@ -65,8 +65,8 @@ automation:
|
|||
at: "21:00:00"
|
||||
action:
|
||||
- service: climate.set_operation_mode
|
||||
entity_id: climate.remotec_zxt120_heating_1_id
|
||||
data:
|
||||
entity_id: climate.remotec_zxt120_heating_1_id
|
||||
operation_mode: 'Off'
|
||||
```
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ After the launch, go to **General Options**. Enable **Start on bootup** and **St
|
|||
GPSLogger Settings
|
||||
</p>
|
||||
|
||||
Go to **Logging details** and disable **Log to GPX**. **Log to KML**, and **Log to NMEA**. Enable **Log to custom URL**.
|
||||
Go to **Logging details** and disable **Log to GPX**, **Log to KML** and **Log to NMEA**. Enable **Log to custom URL**.
|
||||
|
||||
<p class='img'>
|
||||
<img width='300' src='/images/components/gpslogger/logging-details.png' />
|
||||
|
|
|
@ -68,7 +68,7 @@ agent_user_id:
|
|||
required: false
|
||||
type: string
|
||||
api_key:
|
||||
description: An API Key generated for the project from [Google Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) which allows you to update devices without unlinking and relinking an account (see setup below). If not provided then the request_sync service is not exposed.
|
||||
description: An API Key generated for the project from [Google Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) which allows you to update devices without unlinking and relinking an account (see step 9 below). If not provided then the `google_assistant.request_sync` service is not exposed. It is recommended to set up this configuration key as it also allows the usage of the following command, "Ok Google, sync my devices". Once you have setup this componenet you will need to call this service (or command) each time you add a new device that you wish to control via the Google Assistant integration.
|
||||
required: false
|
||||
type: string
|
||||
expose_by_default:
|
||||
|
|
|
@ -36,3 +36,7 @@ Configuration variables:
|
|||
- **entity_id** (*Required*): A camera entity id to get picture from.
|
||||
- **name** (*Optional*): This parameter allows you to override the name of your `image_processing` entity.
|
||||
- **faces** array (*Required*): List of faces sources.
|
||||
|
||||
<p class='note'>
|
||||
If the platform fails to load because it could not install its requirement, install cmake: `sudo apt-get install cmake`.
|
||||
</p>
|
||||
|
|
|
@ -23,7 +23,7 @@ The default InfluxDB configuration doesn't enforce authentication. If you have i
|
|||
influxdb:
|
||||
```
|
||||
|
||||
You will still need to create a database named `home_assistant` via InfluxDB's web interface or command line. For instructions how to create a database check the [InfluxDB documentation](https://docs.influxdata.com/influxdb/latest/introduction/getting_started/#creating-a-database) relevant to the version you have installed.
|
||||
You will still need to create a database named `home_assistant` via InfluxDB's command line interface. For instructions on how to create a database check the [InfluxDB documentation](https://docs.influxdata.com/influxdb/latest/introduction/getting_started/#creating-a-database) relevant to the version you have installed.
|
||||
|
||||
Configuration variables:
|
||||
|
||||
|
|
|
@ -8,12 +8,12 @@ comments: false
|
|||
sharing: true
|
||||
footer: true
|
||||
ha_category: Light
|
||||
ha_iot_class: "Local Polling"
|
||||
ha_iot_class: "Cloud Polling"
|
||||
logo: leviton.png
|
||||
ha_release: 0.51
|
||||
---
|
||||
|
||||
Support for [Leviton Decora Wi-Fi](http://www.leviton.com/en/products/lighting-controls/decora-smart-with-wifi) dimmers/switches.
|
||||
Support for [Leviton Decora Wi-Fi](http://www.leviton.com/en/products/lighting-controls/decora-smart-with-wifi) dimmers/switches via the MyLeviton API.
|
||||
|
||||
Supported devices (tested):
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`,
|
|||
| ---------------------- | -------- | ------------------------------------------------ |
|
||||
| `entity_id` | yes | Target a specific media player. Defaults to all. |
|
||||
|
||||
#### {% linkable_title Service `media_player/volume_mute` %}
|
||||
#### {% linkable_title Service `media_player.volume_mute` %}
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|------------------------|----------|--------------------------------------------------|
|
||||
|
@ -34,14 +34,14 @@ Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`,
|
|||
| `entity_id` | yes | Target a specific media player. Defaults to all. |
|
||||
| `volume_level` | no | Float for volume level |
|
||||
|
||||
#### {% linkable_title Service `media_player/media_seek` %}
|
||||
#### {% linkable_title Service `media_player.media_seek` %}
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|------------------------|----------|--------------------------------------------------------|
|
||||
| `entity_id` | yes | Target a specific media player. Defaults to all. |
|
||||
| `seek_position` | no | Position to seek to. The format is platform dependent. |
|
||||
|
||||
#### {% linkable_title Service `media_player/play_media` %}
|
||||
#### {% linkable_title Service `media_player.play_media` %}
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| -----------------------| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
|
@ -49,14 +49,14 @@ Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`,
|
|||
| `media_content_id` | no | A media identifier. The format of this is component dependent. For example, you can provide URLs to Sonos and Cast but only a playlist ID to iTunes. |
|
||||
| `media_content_type` | no | A media type. Must be one of `music`, `tvshow`, `video`, `episode`, `channel` or `playlist`. For example, to play music you would set `media_content_type` to `music`. |
|
||||
|
||||
#### {% linkable_title Service `media_player/select_source` %}
|
||||
#### {% linkable_title Service `media_player.select_source` %}
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ---------------------------------------------------- |
|
||||
| `entity_id` | yes | Target a specific media player. Defaults to all. |
|
||||
| `source` | no | Name of the source to switch to. Platform dependent. |
|
||||
|
||||
#### {% linkable_title Service `media_player/shuffle_set` %}
|
||||
#### {% linkable_title Service `media_player.shuffle_set` %}
|
||||
|
||||
Currently only supported on [Spotify](/components/media_player.spotify/), [MPD](/components/media_player.mpd/), [Kodi](/components/media_player.kodi/), [Squeezebox](/components/media_player.squeezebox/) and [Universal](/components/media_player.universal/).
|
||||
|
||||
|
|
|
@ -57,6 +57,7 @@ Currently known supported models:
|
|||
- K5579 (port must be set to 8001, On/Off, Forward/Backward, Volume control, but no Play button)
|
||||
- K6500AF (port must be set to 8001)
|
||||
- KS8005 (port must be set to 8001, and `pip3 install websocket-client` must be executed)
|
||||
- KU6020 (port must be set to 8001, and `pip3 install websocket-client` must be executed)
|
||||
- KU6290 (port must be set to 8001)
|
||||
- KU7000 (port must be set to 8001)
|
||||
- MU6170UXZG (port must be set to 8001, and `pip3 install websocket-client` must be executed)
|
||||
|
|
|
@ -156,14 +156,29 @@ If the `recorder` component is activated then some components support `restore_s
|
|||
| PostgreSQL | `postgresql://scott:tiger@SERVER_IP/DB_NAME` |
|
||||
| MS SQL Server | `mssql+pymssql://user:pass@SERVER_IP/DB_NAME?charset=utf8` |
|
||||
|
||||
+<p class='note'>
|
||||
+If you are running a database server instance on the same server as Home Assistant then you must ensure that this service starts before Home Assistant. For a Linux instance running Systemd (Raspberry Pi, Debian, Ubuntu and others) then you should edit the file /etc/systemd/system/home-assistant@homeassistant.service as root (e.g. sudo nano /etc/systemd/system/home-assistant@homeassistant.service) and add the service - for PostgreSQL:
|
||||
+```
|
||||
+[Unit]
|
||||
+Description=Home Assistant
|
||||
+After=network.target postgresql.service
|
||||
+```
|
||||
+</p>
|
||||
<p class='note'>
|
||||
If you use MariaDB 10 you need to add port 3307 to the SERVER_IP, e.g., `mysql://user:password@SERVER_IP:3307/DB_NAME?charset=utf8`.
|
||||
|
||||
+If you are running a database server instance on the same server as Home Assistant then you must ensure that this service starts before Home Assistant. For a Linux instance running Systemd (Raspberry Pi, Debian, Ubuntu and others) then you should edit the service file.
|
||||
|
||||
```bash
|
||||
$ sudo nano /etc/systemd/system/home-assistant@homeassistant.service
|
||||
```
|
||||
|
||||
and add the service for PostgreSQL:
|
||||
|
||||
```
|
||||
[Unit]
|
||||
Description=Home Assistant
|
||||
After=network.target postgresql.service
|
||||
```
|
||||
|
||||
Save the file then reload `systemctl`:
|
||||
|
||||
```bash
|
||||
$ sudo systemctl daemon-reload
|
||||
```
|
||||
</p>
|
||||
|
||||
## {% linkable_title Installation notes %}
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ ha_iot_class: "Local Polling"
|
|||
ha_release: 0.64
|
||||
---
|
||||
|
||||
Component for displaying the size of a file. Note that paths must be added to [whitelist_external_dirs](https://home-assistant.io/docs/configuration/basic/).
|
||||
Component for displaying the size in MB of a file. Note that paths must be added to [whitelist_external_dirs](https://home-assistant.io/docs/configuration/basic/).
|
||||
Add to your config:
|
||||
|
||||
```yaml
|
||||
|
|
|
@ -82,6 +82,32 @@ json_attributes:
|
|||
|
||||
In this section you find some real life examples of how to use this sensor.
|
||||
|
||||
### {% linkable_title JSON attributes configuration %}
|
||||
|
||||
The example sensor below shows a configuration example which uses JSON in the state topic to add extra attributes. It also makes use of the availability topic. Attributes can then be extracted in [Templates](configuration/templating/#attributes); Example to extract data from the sensor below {% raw %}'{{ states.sensor.bs_client_name.attributes.ClientName }}'{% endraw %}.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
# Example configuration.yml entry
|
||||
sensor:
|
||||
- platform: mqtt
|
||||
state_topic: "HUISHS/BunnyShed/NodeHealthJSON"
|
||||
name: "BS RSSI"
|
||||
unit_of_measurement: "dBm"
|
||||
value_template: '{{ value_json.RSSI }}'
|
||||
availability_topic: "HUISHS/BunnyShed/status"
|
||||
payload_available: "online"
|
||||
payload_not_available: "offline"
|
||||
json_attributes:
|
||||
- ClientName
|
||||
- IP
|
||||
- MAC
|
||||
- RSSI
|
||||
- HostName
|
||||
- ConnectedSSID
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### {% linkable_title Get battery level %}
|
||||
|
||||
If you are using the [Owntracks](/components/device_tracker.owntracks/) and enable the reporting of the battery level then you can use a MQTT sensor to keep track of your battery. A regular MQTT message from Owntracks looks like this:
|
||||
|
|
|
@ -30,7 +30,7 @@ liking):
|
|||
```yaml
|
||||
sensor:
|
||||
platform: pollen
|
||||
zip_code: ZIP_CODE
|
||||
zip_code: "00544"
|
||||
monitored_conditions:
|
||||
- allergy_average_forecasted
|
||||
- allergy_average_historical
|
||||
|
@ -42,15 +42,20 @@ sensor:
|
|||
|
||||
{% configuration %}
|
||||
zip_code:
|
||||
description: the U.S. ZIP code to gather data for
|
||||
description: the U.S. ZIP code to gather data for (as a quoted string)
|
||||
required: true
|
||||
type: int
|
||||
type: string
|
||||
monitored_conditions:
|
||||
description: the metric types to monitor; valid values are specified below
|
||||
required: true
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
<p class='note warning'>
|
||||
It is important to ensure the ZIP code is quoted if it starts with a 0. Unquoted
|
||||
ZIP codes that start with 0 will cause errors.
|
||||
</p>
|
||||
|
||||
## {% linkable_title Available Metrics %}
|
||||
|
||||
The following metrics can be monitored:
|
||||
|
|
|
@ -126,7 +126,7 @@ sensor:
|
|||
resource: https://elen.nu/timpriser-pa-el-for-elomrade-se3-stockholm/
|
||||
name: Electricity price
|
||||
select: ".elspot-content"
|
||||
value_template: '{{ value.split(" ")[0] }}'
|
||||
value_template: '{{ ((value.split(" ")[0]) | replace (",", ".")) }}'
|
||||
unit_of_measurement: "öre/kWh"
|
||||
```
|
||||
{% endraw %}
|
||||
|
|
|
@ -16,7 +16,7 @@ ha_release: "0.30"
|
|||
|
||||
The `statistics` sensor platform consumes the state from other sensors. Besides the maximum and the minimum values, the total, mean, median, variance and the standard deviation are also available as attributes. If it's a binary sensor then only state changes are counted.
|
||||
|
||||
If you are running the [recorder](/components/recorder/) component, on startup the data is read from the database. So after a restart of the platform, you will immediately have data available. If you're using the [history](/components/history/) component, this will automatically also start the recoder component on startup.
|
||||
If you are running the [recorder](/components/recorder/) component, on startup the data is read from the database. So after a restart of the platform, you will immediately have data available. If you're using the [history](/components/history/) component, this will automatically also start the `recorder` component on startup.
|
||||
If you are *not* running the `recorder` component, it can take time till the sensor starts to work because a couple of attributes need more than one value to do the calculation.
|
||||
|
||||
To enable the statistics sensor, add the following lines to your `configuration.yaml`:
|
||||
|
|
|
@ -14,7 +14,7 @@ ha_release: pre 0.7
|
|||
---
|
||||
|
||||
|
||||
The `worldclock` sensor platform simple displays the current time in a different time zone
|
||||
The `worldclock` sensor platform simply displays the current time in a different time zone
|
||||
|
||||
To enable this sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
|
|
@ -13,8 +13,7 @@ ha_release: 0.51
|
|||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
The `xiaomi miio` vacuum platform allows you to control the state of your
|
||||
[Xiaomi Mi Robot Vacuum](http://www.mi.com/roomrobot/).
|
||||
The `xiaomi miio` vacuum platform allows you to control the state of your [Xiaomi Mi Robot Vacuum](http://www.mi.com/roomrobot/).
|
||||
|
||||
Currently supported features are:
|
||||
|
||||
|
@ -50,10 +49,7 @@ Configuration variables:
|
|||
|
||||
## {% linkable_title Platform Services %}
|
||||
|
||||
In addition to [all of the services provided by the `vacuum` component]
|
||||
]) (`turn_on`, `turn_off`, `start_pause`, `stop`, `return_to_home`, `locate`,
|
||||
`set_fan_speed` and `send_command`), the `xiaomi` platform introduces specific
|
||||
services to access the remote control mode of the robot. These are:
|
||||
In addition to all of the services provided by the `vacuum` component (`turn_on`, `turn_off`, `start_pause`, `stop`, `return_to_home`, `locate`, `set_fan_speed` and `send_command`), the `xiaomi` platform introduces specific services to access the remote control mode of the robot. These are:
|
||||
|
||||
- `xiaomi_remote_control_start`
|
||||
- `xiaomi_remote_control_stop`
|
||||
|
@ -62,8 +58,7 @@ services to access the remote control mode of the robot. These are:
|
|||
|
||||
### {% linkable_title Service `vacuum.xiaomi_remote_control_start` %}
|
||||
|
||||
Start the remote control mode of the robot. You can then move it with
|
||||
`remote_control_move`; when done, call `remote_control_stop`.
|
||||
Start the remote control mode of the robot. You can then move it with `remote_control_move`; when done, call `remote_control_stop`.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|-------------------------------------------------------|
|
||||
|
@ -79,8 +74,7 @@ Exit the remote control mode of the robot.
|
|||
|
||||
### {% linkable_title Service `vacuum.xiaomi_remote_control_move` %}
|
||||
|
||||
Remote control the robot. Please ensure you first set it in remote control
|
||||
mode with `remote_control_start`.
|
||||
Remote control the robot. Please ensure you first set it in remote control mode with `remote_control_start`.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|-------------------------------------------------------|
|
||||
|
@ -102,9 +96,8 @@ Enter remote control mode, make one move, stop, and exit remote control mode.
|
|||
|
||||
## {% linkable_title Attributes %}
|
||||
|
||||
In addition to [all of the attributes provided by the `vacuum` component](https://home-assistant.io/components/vacuum/#attributes),
|
||||
(`battery_icon`, `cleaned_area`, `fan_speed`, `fan_speed_list`, `status`, and
|
||||
`params`), the `xiaomi` platform introduces specific attributes. These are:
|
||||
In addition to [all of the attributes provided by the `vacuum` component](/components/vacuum/#attributes),
|
||||
(`battery_icon`, `cleaned_area`, `fan_speed`, `fan_speed_list`, `status`, and `params`), the `xiaomi` platform introduces specific attributes. These are:
|
||||
|
||||
- `cleaning_time`
|
||||
- `do_not_disturb`
|
||||
|
@ -132,12 +125,45 @@ The following table shows the units of measurement for each attribute:
|
|||
## {% linkable_title Retrieving the Access Token %}
|
||||
|
||||
<p class='note'>
|
||||
This token (32 hexadecimal characters) is required for the Xiaomi Mi Robot
|
||||
Vacuum, Xiaomi Philips Lights and Xiaomi IR Remote. The Xiaomi Gateway uses another security
|
||||
method and requires a `key` (16 alphanumeric chars), which can be obtained
|
||||
easily via a hidden menu item at the Mi-Home app.
|
||||
As per [python-miio issue 185](https://github.com/rytilahti/python-miio/issues/185) the Mi-Home app no longer stores the token within the database (it's retrieved from Xiaomi servers from version 5.0.31+). Currently the only known fix is to uninstall, then install a downgraded version of the apk. Apkmirror is a trusted source for older versions of the app. [Mi-Home version 5.0.0](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-0-release/) is confirmed as working for the following Android methods.
|
||||
|
||||
This token (32 hexadecimal characters) is required for the Xiaomi Mi Robot Vacuum, Xiaomi Philips Lights and Xiaomi IR Remote. The Xiaomi Gateway uses another security method and requires a `key` (16 alphanumeric chars), which can be obtained
|
||||
easily via a hidden menu item at the Mi-Home app or using the `miio` command line tool.
|
||||
</p>
|
||||
|
||||
#### {% linkable_title Miio command line tool %}
|
||||
|
||||
You can install the command line tool with:
|
||||
|
||||
```bash
|
||||
$ npm install -g miio
|
||||
```
|
||||
|
||||
Discovering devices on current network
|
||||
|
||||
```bash
|
||||
$ miio discover
|
||||
```
|
||||
|
||||
This will list devices that are connected to the same network as your computer. Let it run for a while so it has a chance to reach all devices, as it might take a minute or two for all devices to answer.
|
||||
|
||||
The commands outputs each device on this format:
|
||||
|
||||
```text
|
||||
Device ID: 48765421
|
||||
Model info: zhimi.airpurifier.m1
|
||||
Address: 192.168.100.9
|
||||
Token: token-as-hex-here via auto-token
|
||||
Support: At least basic
|
||||
```
|
||||
|
||||
The information output is:
|
||||
|
||||
* __Device ID__ - the unique identifier of the device, does not change if the device is reset.
|
||||
* __Model ID__ - the model id if it could be determined, this indicates what type of device it is
|
||||
* __Address__ - the IP that the device has on the network
|
||||
* __Token__ - the token of the device or ??? if it could not be automatically determined
|
||||
|
||||
#### {% linkable_title Windows and Android %}
|
||||
|
||||
To fetch the token follow these instructions depending on your mobile phone platform.
|
||||
|
@ -204,7 +230,7 @@ To fetch the token follow these instructions depending on your mobile phone plat
|
|||
3. Get ADB f.e. `apt-get install android-tools-adb`
|
||||
4. `adb devices` should list your device
|
||||
5. `adb root` (does work for development builds only: ones with `ro.debuggable=1`)
|
||||
6. `adb shell`
|
||||
6. `adb shell` (for those using Magisk based root the previous command won't work. After entering a shell, type `su` to enter the root shell)
|
||||
7. `echo "select name,localIP,token from devicerecord;" | sqlite3 /data/data/com.xiaomi.smarthome/databases/miio2.db` returns a list of all registered devices including IP address and token.
|
||||
|
||||
#### {% linkable_title iOS %}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue