Merge branch 'next' of https://github.com/home-assistant/home-assistant.io into evohome-component

This commit is contained in:
David Bonnes 2018-09-25 23:00:33 +01:00
commit ab4605bac1
202 changed files with 3251 additions and 886 deletions

View File

@ -5,7 +5,7 @@
## Checklist:
- [ ] Branch: Fixes, changes and adjustments should be created against `current`. New documentation for platforms/components and features should go to `next`.
- [ ] Branch: `next` is for changes and new documentation that will go public with the next [home-assistant](https://github.com/home-assistant/home-assistant) release. Fixes, changes and adjustments for the current release should be created against `current`.
- [ ] The documentation follow the [standards][standards].
[standards]: https://home-assistant.io/developers/documentation/standards/

1
.gitignore vendored
View File

@ -20,3 +20,4 @@ source/.jekyll-metadata
/.vs/slnx.sqlite-journal
/.vs/VSWorkspaceState.json
.vscode
*.suo

View File

@ -141,14 +141,14 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 77
current_patch_version: 2
date_released: 2018-08-31
current_minor_version: 78
current_patch_version: 3
date_released: 2018-09-22
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
# Major release:
patch_version_notes: "#release-0772---august-31"
patch_version_notes: "#release-0783---september-22"
# Minor release (Example #release-0431---april-25):
# Date we moved to Discourse for comments

View File

@ -10,7 +10,7 @@ footer: true
featured: true
---
[Duck DNS](https://www.duckdns.org/) is a free service which will point a DNS (sub domains of duckdns.org) to an IP of your choice. This add-on includes support for Let's Encrypt and will automatically create and renew your certificates.
[Duck DNS](https://www.duckdns.org/) is a free service which will point a DNS (sub domains of duckdns.org) to an IP of your choice. This add-on includes support for Let's Encrypt and will automatically create and renew your certificates. You will need to sign up for a Duck DNS account before using this add-on.
```json
{
@ -28,7 +28,7 @@ featured: true
Configuration variables:
- **lets_encrypt.accept_terms** (*Required*): If you accept the [Let's Encrypt Subscriber Agreement](https://letsencrypt.org/repository/), it will generate and update Let's Encrypt certificates for your DuckDNS domain.
- **token** (*Required*): Your Duck DNS API key.
- **token** (*Required*): Your Duck DNS API key, from your DuckDNS account page.
- **domains** (*Required*): A list of domains to update DNS.
- **seconds** (*Required*): Seconds between updates to Duck DNS.

View File

@ -89,10 +89,11 @@ See the following links for more information:
Add the following configuration to enable ACLs:
1. Set `customize` flag to `true` in your configuration.
1. Set the `active` flag within the `customize` section to `true` in your configuration.
2. Create a file in `/share/mosquitto` named `acl.conf` with the following contents:
```text
acl_file /share/mosquitto/accesscontrollist
```
3. Create a file in `/share/mosquitto` named `accesscontrollist` and add contents according to your requirements.
The `/share` folder can be found on the host filesystem under `/usr/share/hassio/share`, or via the `Share` folder through SMB (Samba).

View File

@ -46,3 +46,4 @@ alarm_control_panel:
type: string
{% endconfiguration %}
This platform has also been confirmed to work with the alarm system brands Meian and Emooluxr.

View File

@ -0,0 +1,60 @@
---
layout: page
title: "Yale Smart Alarm Control"
description: "Instructions on how to integrate Yale Smart Alarms into Home Assistant."
date: 2018-09-01 11:11
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Alarm
ha_release: 0.78
---
The `yale_smart_alarm` platform provides connectivity with the Yale Smart Alarm systems and Smart Hub through Yale's API.
This platform supports the following services: `alarm_arm_away`, `alarm_arm_home`, `alarm_arm_night` (duplicate of home) and `alarm_disarm`.
Currently only one alarm is supported.
To enable, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
alarm_control_panel:
- platform: yale_smart_alarm
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
Configuration variables:
- **name** (*Optional*): Name of device in Home Assistant.
- **username** (*Required*): Username used to sign into the Yale app/web client.
- **password** (*Required*): Password used to sign into the Yale app/web client.
- **area_id** (*Optional*): Area ID of the device when talking to Yale's API if required ('1' by default).
Automation example:
```yaml
automation:
- alias: "Alarm: Disarmed Daytime"
trigger:
platform: state
entity_id: alarm_control_panel.yale_smart_alarm
to: 'disarmed'
condition:
condition: sun
before: sunset
action:
service: scene.turn_on
entity_id: scene.OnDisarmedDaytime
- alias: "Alarm: Armed Away"
trigger:
platform: state
entity_id: alarm_control_panel.yale_smart_alarm
to: 'armed_away'
action:
service: scene.turn_on
entity_id: scene.OnArmedAway
```

View File

@ -37,6 +37,10 @@ Configuration variables:
- **switches** array (*Optional*): Conditions to display settings in the frontend. See the list of supported settings.
- **motion_sensor** (*Optional*): Activate motion sensor if auto_discovery is disabled.
<p class='note'>
You need to enable logging in the Android app (`Data logging` > `Enable data logging`), if you wish to see the sensor states in Home Assistant. The sensor states stays as `unknown`, until it's enabled.
</p>
### {% linkable_title Supported features %}
Sensors:

View File

@ -8,7 +8,7 @@ comments: false
sharing: true
footer: true
logo: apcupsd.png
ha_category: Hub
ha_category: System Monitor
ha_release: 0.13
---

View File

@ -8,7 +8,7 @@ comments: false
sharing: true
footer: true
logo: apple.png
ha_category: Hub
ha_category: Multimedia
ha_iot_class: "Local Push"
ha_release: 0.49
---

View File

@ -8,7 +8,7 @@ comments: false
sharing: true
footer: true
logo: august.png
ha_category: Door bell
ha_category: Doorbell
ha_release: "0.64"
ha_iot_class: "Cloud Polling"
---

View File

@ -12,4 +12,4 @@ ha_category: Other
ha_release: 0.73
---
This component creates the endpoints for the authentication system that is built into Home Assistant. There are no configuration options for this component directly as it relies on the auth system in the core.
This component creates the endpoints for the [authentication system](/docs/authentication/) that is built into Home Assistant. There are no configuration options for this component directly as it relies on the auth system in the core.

View File

@ -8,7 +8,7 @@ comments: false
sharing: true
footer: true
logo: axis.png
ha_category: Hub
ha_category: Camera
ha_release: "0.45"
ha_iot_class: "Local Polling"
---
@ -17,6 +17,8 @@ ha_iot_class: "Local Polling"
Home Assistant will automatically discover their presence on your network.
## {% linkable_title Configuration %}
You can also manually configure your devices by adding the following lines to your `configuration.yaml` file:
```yaml
@ -28,8 +30,6 @@ axis:
- camera
```
Configuration variables:
## {% linkable_title Configuration variables %}
- **device** (*Required*): Unique name

View File

@ -8,7 +8,7 @@ comments: false
sharing: true
footer: true
logo: august.png
ha_category: Door bell
ha_category: Doorbell
ha_release: "0.64"
ha_iot_class: "Cloud Polling"
---
@ -20,3 +20,4 @@ If you have August Doorbell, once you have enabled the [August component](/compo
* Doorbell ding sensor
* Doorbell motion sensor
* Doorbell online sensor

View File

View File

@ -15,26 +15,24 @@ ha_iot_class: "Local Polling"
The `knx` sensor platform allows you to monitor [KNX](http://www.knx.org) binary sensors.
## {% linkable_title Configuration %}
The `knx` component must be configured correctly, see [KNX Component](/components/knx).
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: knx
name: "Entrance.Motion.Sensor"
address: '6/0/2'
device_class: 'motion'
#significant_bit: 2
#reset_after: 100
```
Configuration variables:
- **address** (*Required*): KNX group address of the binary sensor.
- **name** (*Optional*): A name for this device used within Home Assistant.
- **address**: KNX group address of the binary sensor.
- **device_class** (Optional): HASS device class e.g., "motion".
- **significant_bit** (Optional): Specify which significant bit of the KNX value should be used. Default is 1.
- **reset_after** (Optional): Reset back to OFF state after specified milliseconds.
- **device_class** (*Optional*): HASS device class e.g., "motion".
- **significant_bit** (*Optional*): Specify which significant bit of the KNX value should be used. Default is 1.
- **reset_after** (*Optional*): Reset back to OFF state after specified milliseconds.
You can also attach actions to binary sensors (e.g., to switch on a light when a switch was pressed). In this example, one light is switched on when the button was pressed once and two others when the button was pressed a second time.

View File

@ -39,7 +39,7 @@ Configuration variables:
A full configuration example could look like this:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
binary_sensor:
- platform: pilight
name: 'Motion'

View File

@ -15,6 +15,8 @@ ha_iot_class: Cloud Polling
The `upcloud` binary sensor platform allows you to monitor your UpCloud servers.
## {% linkable_title Configuration %}
To use your UpCloud servers, you first have to set up your [UpCloud hub](/components/upcloud/) and then add the following to your `configuration.yaml` file:
```yaml

View File

@ -8,15 +8,19 @@ comments: false
sharing: true
footer: true
logo: bloomsky.png
ha_category: Hub
ha_category: Environment
ha_release: 0.14
ha_iot_class: "Cloud Polling"
---
The `bloomsky` component allows you to access your [BloomSky](https://www.bloomsky.com/) weather station's [sensors](/components/sensor.bloomsky), [binary sensors](/components/binary_sensor.bloomsky), and [camera](/components/camera.bloomsky) from Home Assistant.
## {% linkable_title Setup %}
Obtain your API key from your [BloomSky dashboard](https://dashboard.bloomsky.com). Click `developers` in the bottom left of the screen.
## {% linkable_title Configuration %}
To integrate your BloomSky hub with Home Assistant, add the following section to your `configuration.yaml` file:
```yaml
@ -25,6 +29,9 @@ bloomsky:
api_key: YOUR_API_KEY
```
Configuration variables:
- **api_key** (*Required*): Your BloomSky API key.
{% configuration %}
api_key:
description: Your BloomSky API key.
required: true
type: string
{% endconfiguration %}

View File

@ -16,6 +16,8 @@ ha_iot_class: "Local Polling"
The `bloomsky` camera component allows you to view the current photo created by the camera in the [BloomSky](https://www.bloomsky.com) weather station. This can work in concert with [BloomSky sensors](/components/sensor.bloomsky).
## {% linkable_title Configuration %}
To enable this camera in your installation, set up the [BloomSky component](/components/bloomsky) with your API key and add the following to your `configuration.yaml` file:
```yaml

View File

@ -37,6 +37,7 @@ Configuration variables:
- **limit_refetch_to_url_change** (*Optional*): True/false value (default: false). Limits re-fetching of the remote image to when the URL changes. Only relevant if using a template to fetch the remote image.
- **content_type** (*Optional*): Set the content type for the IP camera if it is not a jpg file (default: `image/jpeg`). Use `image/svg+xml` to add a dynamic svg file.
- **framerate** (*Optional*): The number of frames-per-second (FPS) of the stream (setting this too high may cause too much traffic on the network or be heavy on the camera).
- **verify_ssl** (*Optional*): True/false value (default: true). Enable or disable SSL certificate verification.
<p class='img'>
<a href='/cookbook/google_maps_card/'>
@ -68,6 +69,7 @@ camera:
- platform: generic
name: Some Image
still_image_url: https://127.0.0.1:8123/local/your_image.png
verify_ssl: false
```
### {% linkable_title Sharing a camera feed from one Home Assistant instance to another %}

View File

@ -0,0 +1,69 @@
---
layout: page
title: "Logi Circle Camera"
description: "Instructions on how to integrate your Logi Circle cameras within Home Assistant."
date: 2018-09-08 11:00
sidebar: true
comments: false
sharing: true
footer: true
logo: logi_circle.png
ha_category: Camera
ha_release: 0.79
ha_iot_class: "Cloud Polling"
---
The `logi_circle` camera platform allows you to watch the still frames of your [Logi Circle](https://circle.logi.com/) camera's live stream in Home Assistant.
<p class='note'>
You must have the [Logi Circle component](/components/logi_circle/) configured to use this camera platform.
</p>
Logi Circle cameras support the `camera.turn_on` and `camera.turn_off` services. This will set the streaming mode property of your camera accordingly, controlling whether the live stream is available and activity recordings are captured.
## {% linkable_title Configuration %}
Once you have enabled the [Logi Circle component](/components/logi_circle), add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
camera:
- platform: logi_circle
```
Configuration variables:
- **scan_interval**: (*Optional*): How frequently to query for new camera stills. Defaults to 60 seconds.
### {% linkable_title Service `camera.logi_circle_livestream_record` %}
Initiates a recording of the camera's live stream.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | Name(s) of entities to initiate a recording for, e.g., `camera.living_room_camera`. If blank, targets all Logi Circle cameras. |
| `filename ` | no | Template of a file name. Variable is `entity_id`, e.g., {% raw %}`/tmp/snapshot_{{ entity_id }}.mp4`{% endraw %}. |
| `duration` | no | Duration of recording, in seconds.
The path part of `filename` must be an entry in the `whitelist_external_dirs` in your [`homeassistant:`](/docs/configuration/basic/) section of your `configuration.yaml` file.
### {% linkable_title Service `camera.logi_circle_livestream_snapshot` %}
Take a snapshot from a camera's live stream. This differs from the generic [snapshot](/components/camera/#service-snapshot) service in that it sources the snapshot from the camera's live stream. For battery powered devices, this will wake your camera from sleep to perform this action.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | Name(s) of entities to create a live stream snapshot from, e.g., `camera.living_room_camera`. If blank, targets all Logi Circle cameras. |
| `filename` | no | Template of a file name. Variable is `entity_id`, e.g., {% raw %}`/tmp/snapshot_{{ entity_id }}.jpg`{% endraw %}. |
The path part of `filename` must be an entry in the `whitelist_external_dirs` in your [`homeassistant:`](/docs/configuration/basic/) section of your `configuration.yaml` file.
### {% linkable_title Service `camera.logi_circle_set_config` %}
Sets an configuration property for your camera.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | Name(s) of entities to set the operation mode for, e.g., `camera.living_room_camera`. If blank, targets all Logi Circle cameras. |
| `mode` | no | Configuration property to set. Allowed values: `BATTERY_SAVING`, `LED`, `PRIVACY_MODE` |
| `value` | no | Mode value. Allowed values: `true`, `false` |

View File

@ -30,4 +30,5 @@ Configuration variables:
- **topic** (*Required*): MQTT topic to subscribe to.
- **name** (*Optional*): Name of the camera
- **unique_id** (*Optional*): An ID that uniquely identifies this camera. If two cameras have the same unique ID, Home Assistant will raise an exception.

View File

@ -25,11 +25,9 @@ The `push` camera can as an example be used with [motionEye](https://github.com/
In motionEye, under **File Storage -> Run A Command** type in:
```bash
curl -X POST -F "image=@%f" http://my.hass.server.com:8123/api/camera_push/camera.push_camera
curl -X POST -F "image=@%f" http://my.hass.server.com:8123/api/camera_push/camera.push_camera?token=12345678
```
Please take note that you might need to add `-H "x-ha-access: YOUR_PASSWORD"` if you have API authentication enabled.
Optionally configure motionEye to save only motion triggered images by going into **Still Images -> Capture Mode** and setting **Motion Triggered**. Tune your preferences under **Motion Detection**.
In this setup, you can configure the push camera to continuously replay the last motion triggered event using a configuration such as:
@ -40,6 +38,7 @@ camera:
name: MotionEye Outdoor
buffer: 3
timeout: 5
token: 12345678
```
## {% linkable_title Configuration %}
@ -51,6 +50,7 @@ To enable this camera in your installation, add the following to your `configura
camera:
- platform: push
name: My Push Camera
token: 12345678
```
{% configuration %}
@ -69,6 +69,10 @@ timeout:
required: false
default: 5 seconds
type: time
token:
description: User provided token acting as access control, should be a large string (more then 8 chars). Required if you can't use HA new auth system (0.77).
required: false
type: string
field:
description: HTTP POST field containing the image file
required: false

View File

@ -23,11 +23,7 @@ The `daikin` climate platform integrates Daikin air conditioning systems into Ho
Current temperature is displayed.
<p class='note warning'>
Please note, the `daikin` platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant. BRP069A42 does not support setting of fan speed or fan swing mode.
</p>
The platform has been integrated with discovery so all your Daikin AC's climate devices can be automatically discovered.
## {% linkable_title Configuration %}
To enable the platform, add the following lines to your `configuration.yaml` file:

View File

@ -1,6 +1,6 @@
---
layout: page
title: "Modbus"
title: "Modbus Climate"
description: "Instructions how to integrate a Modbus thermostat within Home Assistant."
date: 2018-01-29 9:35
sidebar: true

View File

@ -0,0 +1,65 @@
---
layout: page
title: "OpenTherm Gateway"
description: "Control your OpenTherm Gateway from Home Assistant."
date: 2018-08-29 16:23
sidebar: true
comments: false
sharing: true
footer: true
logo: opentherm.png
ha_category: Climate
ha_release: 0.78
ha_iot_class: "Local Push"
---
The `opentherm_gw` climate platform is used to control the [OpenTherm Gateway](http://otgw.tclcode.com/) from Home Assistant.
# {% linkable_title Configuration %}
```yaml
# Example configuration.yaml entry
climate:
- platform: opentherm_gw
device: /dev/ttyUSB0
```
{% configuration %}
device:
description: "Path to OpenTherm Gateway device as supported by [PySerial](https://pythonhosted.org/pyserial/url_handlers.html)."
required: true
type: string
name:
description: The name for the device within Home Assistant.
required: false
type: string
default: OpenTherm Gateway
precision:
description: "The desired precision for this device. Can be used to match your actual thermostat's precision. Supported values are `0.1`, `0.5` and `1.0`."
required: false
type: float
default: "`0.5` for Celsius and `1.0` for Fahrenheit."
floor_temperature:
description: Some thermostats round all temperatures down to the lower value according to their precision. Default behaviour for Home Assistant is to round temperatures to the nearest value. Set this to `True` to override Home Assistant and round to the lower value according to the configured `precision`.
required: false
type: boolean
{% endconfiguration %}
<p class='note'>
The OpenTherm protocol is based on polling. The thermostat sends requests to the boiler at specific intervals. As a result, it may take some time for changes to propagate between Home Assistant and the thermostat.
</p>
# {% linkable_title Example %}
A full configuration example with the OpenTherm Gateway connected to a remote host running `ser2net` looks like the one below.
```yaml
# Full example configuration.yaml entry
climate:
- platform: opentherm_gw
device: socket://otgw.example.org:2345
name: Thermostat
precision: 0.5
floor_temperature: True
```

View File

@ -7,13 +7,13 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
logo: nabu-casa.svg
ha_release: "0.60"
ha_category: Voice
ha_iot_class: "Cloud Push"
---
The Home Assistant Cloud allows you to quickly integrate your local Home Assistant with various cloud services like Amazon Alexa. [Learn more.](/cloud)
The Home Assistant Cloud allows you to quickly integrate your local Home Assistant with various cloud services like Amazon Alexa and Google Assistant. [Learn more.](/cloud)
```yaml
# Example configuration.yaml entry to enable the cloud component

View File

@ -19,14 +19,16 @@ The `aladdin_connect` cover platform lets you control Genie Aladdin Connect gara
Only doors that are owned by your Aladdin Connect account will be available. Doors that your account has been granted shared access to are not yet supported.
</p>
## {% linkable_title Configuration %}
To use your Aladdin Connect cover in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
cover:
- platform: aladdin_connect
username: user@email.com
password: password
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
{% configuration %}

View File

@ -0,0 +1,26 @@
---
layout: page
title: "deCONZ Covers"
description: "Instructions on how to integrate Zigbee covers from deCONZ into Home Assistant."
date: 2018-09-20 23:32
sidebar: true
comments: false
sharing: true
footer: true
logo: deconz.jpeg
ha_category: Cover
ha_release: "0.79"
ha_iot_class: "Local Push"
---
See the [deCONZ main component](/components/deconz/) for configuration instructions.
Covers are devices like ventilation dampers.
Note that devices in the cover platform identify as lights, so there is a manually curated list that defines which "lights" are covers.
The `entity_id` name will be `cover.device_name`, where `device_name` is defined in deCONZ.
#### {% linkable_title Verified supported covers %}
- Keen vents

View File

@ -15,7 +15,7 @@ The display style of each entity can be modified in the [customize section](/get
| Attribute | Default | Description |
| --------- | ------- | ----------- |
| `device_class` | | `none` Generic cover device<br>`window` Window controller<br>`garage` Garage door controller
| `device_class` | | `none` Generic cover device<br>`damper` Ventilation damper controller<br>`garage` Garage door controller<br>`window` Window controller
| `assumed_state` | `false` | If set to `true`, cover buttons will always be enabled
## {% linkable_title Services %}

0
source/_components/cover.mqtt.markdown Executable file → Normal file
View File

View File

@ -8,7 +8,7 @@ comments: false
sharing: true
footer: true
logo: daikin.png
ha_category: Hub
ha_category: Climate
ha_release: 0.59
ha_iot_class: "Local Polling"
---
@ -16,11 +16,15 @@ ha_iot_class: "Local Polling"
The `daikin` component integrates Daikin air conditioning systems into Home Assistant.
To automatically add all your Daikin devices (ACs and associated sensors) into your Home Assistant installation, add the following to your 'configuration.yaml' file:
## {% linkable_title Supported hardware %}
<p class='note warning'>
Please note, the Daikin platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant.
</p>
**Only** the european versions of Daikin ACs (models BRP069A41, 42, 43, 45).
The model BRP069A42 does not support setting of fan speed or fan swing mode.
Please note that some AC devices may report outside temperature only when they are turned on.
## {% linkable_title Configuration %}
To automatically add all your Daikin devices (ACs and associated sensors) into your Home Assistant installation, add the following to your `configuration.yaml` file:
@ -52,7 +56,3 @@ monitored_conditions:
description: The current temperature measured outside the house.
{% endconfiguration %}
<p class='note warning'>
Please note that some AC devices may report outside temperature only when they are turned on.
</p>

View File

@ -29,7 +29,7 @@ See [deCONZ wiki](https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/
Home Assistant will automatically discover deCONZ presence on your network, if `discovery:` is present in your `configuration.yaml` file.
If you don't have the API key, you can generate an API key for deCONZ by using the one-click functionality similar to Philips Hue. Go to **Menu** -> **Settings** -> **Unlock Gateway** in deCONZ and then use the deCONZ configurator in Home Assistant frontend to create an API key. When you're done setting up deCONZ it will be stored as a config entry.
If you don't have the API key, you can generate an API key for deCONZ by using the one-click functionality similar to Philips Hue. Go to **Settings** -> **Gateway** -> **Advanced** -> **Authenticate app** in deCONZ and then use the deCONZ configurator in Home Assistant frontend to create an API key. When you're done setting up deCONZ it will be stored as a config entry.
You can add the following to your `configuration.yaml` file if you are not using the `discovery:` component:
@ -79,16 +79,16 @@ logger:
## {% linkable_title Device services %}
Available services: `configure`.
Available services: `configure` and `deconz.refresh_devices`.
#### {% linkable_title Service `deconz.configure` %}
Set attribute of device in Deconz using [Rest API](http://dresden-elektronik.github.io/deconz-rest-doc/rest/).
Set attribute of device in deCONZ using [Rest API](http://dresden-elektronik.github.io/deconz-rest-doc/rest/).
| Service data attribute | Optional | Description |
|-----------|----------|-------------|
| `field` | No | String representing a specific device in deCONZ. |
| `entity` | No | String representing a specific HASS entity of a device in deCONZ. |
| `entity` | No | String representing a specific Home Assistant entity of a device in deCONZ. |
| `data` | No | Data is a JSON object with what data you want to alter. |
Field and entity are exclusive, i.e you can only use one in a request.
@ -99,9 +99,15 @@ Field and entity are exclusive, i.e you can only use one in a request.
{ "field": "/config", "data": {"permitjoin": 60} }
#### {% linkable_title Service `deconz.refresh_devices` %}
Refresh with devices added to deCONZ after Home Assistants latest restart.
Note: deCONZ automatically signals Home Assistant when new sensors are added, but other devices must at this point in time (deCONZ v2.05.35) be added manually using this service or a restart of Home Assistant.
## {% linkable_title Remote control devices %}
Remote controls (ZHASwitch category) will be not be exposed as a regular entity, but as events named 'deconz_event' with a payload of 'id' and 'event'. Id will be the device name from deCONZ and Event will be the momentary state of the switch. However, a sensor entity will be created that shows the battery level of the switch as reported by deCONZ, named sensor.device_name_battery_level.
Remote controls (ZHASwitch category) will be not be exposed as regular entities, but as events named `deconz_event` with a payload of `id` and `event`. Id will be the device name from deCONZ and Event will be the momentary state of the switch. However, a sensor entity will be created that shows the battery level of the switch as reported by deCONZ, named sensor.device_name_battery_level.
Typical values for switches, the event codes are 4 numbers where the first and last number are of interest here.
@ -173,6 +179,36 @@ automation:
### {% linkable_title Appdaemon %}
#### {% linkable_title Appdaemon event helper %}
Helper app that creates a sensor `sensor.deconz_event` with a state that represents the id from the last event and an attribute to show the event data.
{% raw %}
```yaml
deconz_helper:
module: deconz_helper
class: DeconzHelper
```
```python
import appdaemon.plugins.hass.hassapi as hass
import datetime
from datetime import datetime
class DeconzHelper(hass.Hass):
def initialize(self) -> None:
self.listen_event(self.event_received, "deconz_event")
def event_received(self, event_name, data, kwargs):
event_data = data["event"]
event_id = data["id"]
event_received = datetime.now()
self.log("Deconz event received from {}. Event was: {}".format(event_id, event_data))
self.set_state("sensor.deconz_event", state = event_id, attributes = {"event_data": event_data, "event_received": str(event_received)})
```
{% endraw %}
#### {% linkable_title Appdaemon remote template %}
{% raw %}

View File

@ -16,9 +16,11 @@ ha_iot_class: "Local Polling"
The `bbox` platform offers presence detection by looking at connected devices to a [Bbox](https://fr.wikipedia.org/wiki/Bbox) based router from [Bouygues](https://www.bouyguestelecom.fr/), which is one of the main Internet provider in France.
<p class='note'>
Bbox is a generic name for different hardware routers. The platform has only been tested on a Sagem F@st 5330b because it's the only model the developer owns.
</p>
Bbox is a generic name for different hardware routers. The platform has been tested with the following devices:
- Sagem F@st 5330b
## {% linkable_title Configuration %}
To use an Bbox router in your installation, add the following to your `configuration.yaml` file:
@ -28,8 +30,17 @@ device_tracker:
- platform: bbox
```
{% configuration %}
host:
description: IP address of your Bbox device.
required: false
type: string
default: 192.168.1.254
{% endconfiguration %}
<p class='note warning'>
For now and due to third party limitation, the Bbox must be on the same local network as the Home Assistant installation. And with the default IP configuration (IP of the router must be 192.168.1.254).
For now and due to third party limitation, the Bbox must be on the same local network as the Home Assistant installation.
</p>
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -13,10 +13,6 @@ ha_iot_class: "Local Poll"
ha_release: 0.27
---
<p class='note warning'>
We have received <a href='https://github.com/home-assistant/home-assistant/issues/4442'>numerous reports</a> that this integration will have a big impact on the performance of the server.
</p>
This tracker discovers new devices on boot and in regular intervals and tracks Bluetooth low-energy devices periodically based on interval_seconds value. It is not required to pair the devices with each other.
Devices discovered are stored with 'BLE_' as the prefix for device mac addresses in `known_devices.yaml`.
@ -24,7 +20,7 @@ Devices discovered are stored with 'BLE_' as the prefix for device mac addresses
This platform requires pybluez to be installed. On Debian based installs, run
```bash
$ sudo apt install bluetooth libbluetooth-dev pkg-config libboost-python-dev libboost-thread-dev libglib2.0-dev python-dev
$ sudo apt install bluetooth
```
Before you get started with this platform, please note that:
@ -42,9 +38,7 @@ device_tracker:
Configuration variables:
- **device_id** (*Optional*): The device ID for the Bluetooth device to be used for tracking. Defaults to `hci0`.
- **track_new_devices** (*Optional*): If new discovered devices are tracked by default. Defaults to `True`.
- **scan_duration** (*Optional*): How long should the scanner be looking for BLE devices. Defaults to `10` seconds.
- **interval_seconds** (*Optional*): Seconds between each scan for new devices. Defaults to `12` seconds.
As some BT LE devices change their MAC address regularly, a new device is only discovered when it has been seen 5 times.
@ -59,12 +53,6 @@ $ sudo apt-get install libcap2-bin
$ sudo setcap 'cap_net_raw,cap_net_admin+eip' `readlink -f \`which python3\``
```
If you have installed Home Assistant with [AIO](/getting-started/installation-raspberry-pi-all-in-one/), you need to do the following command, this will grant access to Home Assistant to run the required command.
```bash
$ sudo setcap cap_net_raw,cap_net_admin+eip /srv/homeassistant/homeassistant_venv/bin/python3
```
A restart of Home Assistant is required.
For additional configuration variables check the [Device tracker page](/components/device_tracker/).

View File

@ -0,0 +1,32 @@
---
layout: page
title: "Huawei LTE Router Device Tracker"
description: "Instructions on how to use Huawei LTE routers to track devices within Home Assistant."
date: 2018-09-08 20:00
sidebar: true
comments: false
sharing: true
footer: true
logo: huawei.svg
ha_category: Presence Detection
ha_release: 0.79
---
This platform offers presence detection by looking at connected devices to a [Huawei LTE router](https://consumer.huawei.com/en/smart-home/).
This requires you to have set up the [Huawei LTE component](/components/huawei_lte/).
## {% linkable_title Configuration %}
To enable the sensor, add the following lines to your
`configuration.yaml` file:
```yaml
# Example configuration.yaml entry
device_tracker:
- platform: huawei_lte
```
See the [device tracker component page](/components/device_tracker/)
for instructions how to configure the people to be tracked.

View File

@ -2,7 +2,7 @@
layout: page
title: "Nmap"
description: "Instructions on how to integrate Nmap into Home Assistant."
date: 2015-03-23 19:59
date: 2018-09-21 18:59
sidebar: true
comments: false
sharing: true
@ -15,6 +15,10 @@ featured: false
As an alternative to the router-based device tracking, it is possible to directly scan the network for devices by using Nmap. The IP addresses to scan can be specified in any format that Nmap understands, including the network-prefix notation (`192.168.1.1/24`) and the range notation (`192.168.1.1-255`).
<p class='note'>
Please keep in mind that modern smart phones will usually turn off WiFi when they are idle. Simple trackers like this may not be reliable on their own.
</p>
You might have to install the packages for `arp` and `nmap`. On Debian based hosts (for example Hassbian and Raspbian) do so by running `$ sudo apt-get install net-tools nmap`. On a Fedora host run `$ sudo dnf -y install nmap`.
<p class='note'>
@ -39,6 +43,7 @@ Configuration variables:
- **exclude** (*Optional*): Hosts not to include in nmap scanning. Scanning the host where Home Assistant is running can cause problems (websocket error), so excluding that host is a good idea.
- **scan_options** (*Optional*): Configurable scan options for nmap. Default to `-F --host-timeout 5s`
## {% linkable_title Examples %}
A full example for the `nmap` tracker could look like the following sample:
@ -69,10 +74,13 @@ In the above example, Nmap will be call with the process:
An example of how the Nmap scanner can be customized:
Add the capabilities to Nmap. Be sure to specify the full path to wherever you installed Nmap:
### {% linkable_title Linux capabilities %}
`sudo setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip /usr/bin/nmap
`
On Linux systems you can extend the functionality of Nmap, without having to run it as root, by using *Linux capabilities*. Be sure to specify the full path to wherever you installed Nmap:
```bash
$ sudo setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip /usr/bin/nmap
```
And you can set up the device tracker as
```yaml
@ -81,5 +89,4 @@ And you can set up the device tracker as
scan_options: " --privileged -sP "
```
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -15,6 +15,10 @@ ha_release: 0.36
The `ping` device tracker platform offers presence detection by using `ping` to send ICMP echo requests. This can be useful when devices are running a firewall and are blocking UDP or TCP packets but responding to ICMP requests (like Android phones). This tracker doesn't need to know the MAC address since the host can be on a different subnet. This makes this an option to detect hosts on a different subnet when `nmap` or other solutions don't work since `arp` doesn't work.
<p class='note'>
Please keep in mind that modern smart phones will usually turn off WiFi when they are idle. Simple trackers like this may not be reliable on their own.
</p>
## {% linkable_title Configuration %}
To use this presence detection in your installation, add the following to your `configuration.yaml` file:

View File

@ -13,7 +13,7 @@ ha_release: 0.7.5
---
A lot WiFi access points and WiFi routers support the Simple Network Management Protocol (SNMP). This is a standardized method for monitoring/manageing network connected devices. SNMP uses a tree-like hierarchy where each node is an object. Many of these objects contain (live) lists of instances and metrics, like network interfaces, disks, and WiFi registrations.
A lot of WiFi access points and WiFi routers support the Simple Network Management Protocol (SNMP). This is a standardized method for monitoring/manageing network connected devices. SNMP uses a tree-like hierarchy where each node is an object. Many of these objects contain (live) lists of instances and metrics, like network interfaces, disks, and WiFi registrations.
<p class='note warning'>
This device tracker needs SNMP to be enabled on the router. It could be that you need to install the SNMP support manually.

View File

@ -16,11 +16,11 @@ ha_iot_class: "Local Polling"
The `digital_ocean` component allows you to access the information about your [Digital Ocean](https://www.digitalocean.com/) droplets from Home Assistant.
### {% linkable_title Setup %}
## {% linkable_title Setup %}
Obtain your API key from your [Digital Ocean dashboard](https://cloud.digitalocean.com/settings/api/tokens).
### {% linkable_title Configuration %}
## {% linkable_title Configuration %}
To integrate your Digital Ocean droplets with Home Assistant, add the following section to your `configuration.yaml` file:

View File

@ -99,7 +99,7 @@ Valid values for ignore are:
* `tellstick`: Telldus Live
* `wink`: Wink Hub
* `yamaha`: Yamaha media player
* `yeelight`: Yeelight Sunflower bulb
* `yeelight`: Yeelight lamps and bulbs (not only Yeelight Sunflower bulb)
* `xiaomi_gw`: Xiaomi Aqara gateway
Valid values for enable are:

View File

@ -8,13 +8,15 @@ comments: false
sharing: true
footer: true
logo: doorbird.png
ha_category: Hub
ha_category: Doorbell
ha_release: "0.54"
ha_iot_class: "Local Polling"
---
The `doorbird` implementation allows you to integrate your [DoorBird](http://www.doorbird.com/) device in Home Assistant.
## {% linkable_title Configuration %}
To connect your device, add the following to your `configuration.yaml` file:
```yaml

View File

@ -0,0 +1,45 @@
---
layout: page
title: "EDP re:dy"
description: "Instructions on how to integrate the EDP re:dy platform into Home Assistant."
date: 2018-09-04 16:30
sidebar: true
comments: false
sharing: true
footer: true
logo: edp_redy.png
ha_category: Hub
ha_release: "0.79"
ha_iot_class: "Cloud Polling"
---
[EDP re:dy](https://www.edp.pt/particulares/servicos/redy/) is a Home Automation platform from Portuguese energy provider EDP, that allows control of appliances and other devices, as well as monitoring power consumption. This component allows integrating EDP re:dy into Home Assistant.
## {% linkable_title Configuration %}
You will need your re:dy login information (username and password) to use this component.
To set it up, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
edp_redy:
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
{% configuration %}
username:
description: The username for accessing your re:dy account.
required: true
type: string
password:
description: The password for accessing your re:dy account.
required: true
type: string
{% endconfiguration %}
After configuring the component, it will automatically add to Home Assistant:
* A switch per toggleable device (switch, plug, etc).
* A sensor per each device that reports power consumption (SmartMeter, plug, meter)

View File

@ -38,17 +38,21 @@ eufy:
name: Smart Switch
```
access_token can be obtained by running:
`access_token can be obtained by running:
```
curl -H "Content-Type: application/json" -d '{"client_id":"eufyhome-app", "client_Secret":"GQCpr9dSp3uQpsOMgJ4xQ", "email":"USERNAME", "password":"PASSWORD"}' https://home-api.eufylife.com/v1/user/email/login | jq
```bash
$ curl -H "Content-Type: application/json" \
-d '{"client_id":"eufyhome-app", "client_Secret":"GQCpr9dSp3uQpsOMgJ4xQ", "email":"USERNAME", "password":"PASSWORD"}' \
https://home-api.eufylife.com/v1/user/email/login \
| jq
```
replacing USERNAME and PASSWORD with the Eufy username and password. This will give an access_token. Then run:
replacing USERNAME and PASSWORD with the Eufy username and password. This will give an `access_token`. Then run:
```
curl -H token:TOKEN -H category:Home https://home-api.eufylife.com/v1/device/list/devices-and-groups | jq
```bash
$ curl -H token:TOKEN -H category:Home \
https://home-api.eufylife.com/v1/device/list/devices-and-groups | jq
```
replacing TOKEN with the access_token from the previous command. This will provide the local_code for each device.
replacing TOKEN with the `access_token` from the previous command. This will provide the local_code for each device.

View File

@ -0,0 +1,57 @@
---
layout: page
title: "GeoJSON Events"
description: "Instructions on how to integrate GeoJSON feeds into Home Assistant."
date: 2018-09-19 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: geo_location.png
ha_category: Geo Location
ha_iot_class: "Cloud Polling"
ha_release: "0.79"
---
The `geo_json_events` platform lets you integrate GeoJSON feeds. It retrieves events from a feed and shows information of those events filtered by distance to Home Assistant's location.
All entries in the GeoJSON feed must define a `geometry` which typically is a point or polygon with geo coordinates. In addition, this platform will look for a `title` key in the entry's `properties` and use that as the entity's name.
Entities are generated, updated and removed automatically with each update from the GeoJSON feed. Each entity defines latitude and longitude and will be shown on the map automatically. The distance in kilometers is available as the state of each entity.
The data is updated every 5 minutes.
## {% linkable_title Configuration %}
To integrate a GeoJSON feed, add the following lines to your `configuration.yaml`. This is an example configuration showing [earthquake data provided by the U.S. Geological Survey](https://earthquake.usgs.gov/earthquakes/feed/v1.0/geojson.php).
```yaml
# Example configuration.yaml entry
geo_location:
- platform: geo_json_events
url: https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojson
```
{% configuration %}
url:
description: Full URL of the GeoJSON feed.
required: true
type: string
radius:
description: The distance in kilometers around the Home Assistant's coordinates in which events are considered.
required: false
type: string
default: 20km
{% endconfiguration %}
## {% linkable_title Advanced Configuration Example %}
When integrating several GeoJSON feeds, it may be useful to distinguish the entities of different feeds. The easiest way to do that is by defining an [`entity_namespace`](/docs/configuration/platform_options/#entity-namespace/) for each platform which will prefix each entity ID with the defined value.
```yaml
# Example configuration.yaml entry
geo_location:
- platform: geo_json_events
url: https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojson
radius: 250
entity_namespace: 'usgs_earthquakes'
```

View File

@ -7,7 +7,7 @@ sidebar: true
comments: false
sharing: true
footer: true
ha_category: Other
logo: geo_location.png
ha_release: "0.78"
---

View File

@ -25,6 +25,37 @@ The Google Assistant component requires a bit more setup than most due to the wa
To use Google Assistant, your Home Assistant configuration has to be externally accessible with a hostname and SSL certificate. If you haven't already configured that, you should do so before continuing.
</p>
## {% linkable_title Setup %}
You need to create an API Key with the [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 [below](/#troubleshooting-the-request_sync-service)). If you don't provided it 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 component 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.
1. Create a new project in the [developer console](https://console.actions.google.com/).
a. Add/Import project, give it a name
b. Click on `Home Control` card, select the `Smart home` recommendation.
c. Create an Action, under the build section. Add in your Home Assistant URL: `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant`, replace the `[YOUR HOME ASSISTANT URL:PORT]` with the domain / ip address and the port under which your Home Assistant is reachable. If you have set `api_password:` add this password to the URL. E.g., `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant?api_password=[YOUR API PASSWORD]`)
d. Click `Done`. Then click on `Overview`, which will lead you back to the app details screen.
2. `Account linking` is required for your app to interact with Home Assistant. Set this up under the `Quick Setup` section
a. Leave it at the default `No, I only want to allow account creation on my website` and select Next
b. For the `Linking type` select `OAuth` and `Implicit`
c. Client ID: The `client_id` from your Home Assistant configuration above
d. Authorization URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant/auth`. If you have set `api_password:` add this password to the URL `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant/auth?api_password=[YOUR API PASSWORD]`)
e. Configure your client. Add scopes for `email` and `name`.
f. Testing instructions: Enter anything. It doesn't matter since you won't submit this app.
3. Back on the overview page. Click `Simulator` under `TEST`. You don't have to actually test .
4. If you haven't already added the component configuration to `configuration.yaml` file and restarted Home Assistant, you'll be unable to continue until you have.
5. Open the Google Assistant app and go into `Settings > Home Control`
6. Click the `+` sign, and near the bottom, you should have `[test] your app name`. Selecting that should lead you the screen where you can set rooms for your devices or nicknames for your devices.
7. If you want to allow other household users to control the devices:
a. Go to the settings for the project you created in point 1 in the developer console.
b. Under the gear icon, click `Permissions`
c. Click `Add`, type the new user's e-mail address and choose `Project -> Editor` role
d. Have the new user go to [developer console](https://console.actions.google.com/) and repeat steps starting from point 3
8. If you want to use the `google_assistant.request_sync` service, to update devices without unlinking and relinking, in Home Assistant, then enable Homegraph API for your project:
a. Go to the [cloud console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview)
b. Select your project and click Enable Homegraph API
c. Go to Credentials, which you can find on the left navigation bar under the key icon, and select API Key from Create Credentials
d. Note down the generated API Key and use this in the configuration
## {% linkable_title Configuration %}
To enable this, add the following lines to your `configuration.yaml` file:
@ -73,11 +104,11 @@ 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 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 component 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.
description: Your API key.
required: false
type: string
expose_by_default:
description: Expose devices in all supported domains by default. If set to false, you need to either expose domains or add the expose configuration option to each entity in entity_config and set it to true.
description: "Expose devices in all supported domains by default. If set to false, you need to either expose domains or add the expose configuration option to each entity in `entity_config` and set it to true."
required: false
default: True
type: boolean
@ -114,6 +145,7 @@ entity_config:
{% endconfiguration %}
### {% linkable_title Available domains %}
Currently, the following domains are available to be used with Google Assistant, listed with their default types:
- group (on/off)
@ -135,35 +167,6 @@ $ cat /dev/urandom | fold -w 120 | head -n 1 | base64 -w 0 | tr -dc '0-9A-Za-z'
If you're not using Linux, you can use sites such as [this one](https://www.browserling.com/tools/random-string) to generate a random string (containing mixed case letters and numbers) of up to 80 characters.
### {% linkable_title Setup %}
1. Create a new project in the [developer console](https://console.actions.google.com/).
a. Add/Import project, give it a name
b. Click on `Home Control` card, select the `Smart home` recommendation
c. Create an Action, under the build section. Add in your home assistant url: `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant`, replace the `[YOUR HOME ASSISTANT URL:PORT]` with the domain / ip address and the port under which your Home Assistant is reachable. If you have set `api_password:` add this password to the URL - eg `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant?api_password=[YOUR API PASSWORD]`)
d. Click `Done`. Then click on `Overview`, which will lead you back to the app details screen.
2. `Account linking` is required for your app to interact with Home Assistant. Set this up under the `Quick Setup` section
a. Leave it at the default `No, I only want to allow account creation on my website` and select Next
b. For the `Linking type` select `OAuth` and `Implicit`
c. Client ID: The `client_id` from your Home Assistant configuration above
d. Authorization URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant/auth`. If you have set `api_password:` add this password to the URL `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant/auth?api_password=[YOUR API PASSWORD]`)
e. Configure your client. Add scopes for `email` and `name`.
f. Testing instructions: Enter anything. It doesn't matter since you won't submit this app.
3. Back on the overview page. Click `Simulator` under `TEST` - you don't have to actually test .
4. If you haven't already added the component configuration to `configuration.yaml` and restarted Home Assistant, you'll be unable to continue until you have.
5. Open the Google Assistant app and go into `Settings > Home Control`
6. Click the `+` sign, and near the bottom, you should have `[test] your app name`. Selecting that should lead you the screen where you can set rooms for your devices or nicknames for your devices.
7. If you want to allow other household users to control the devices:
a. Go to the settings for the project you created in point 1 in the developer console.
b. Under the gear icon, click `Permissions`
c. Click `Add`, type the new user's e-mail address and choose `Project -> Editor` role
d. Have the new user go to [developer console](https://console.actions.google.com/) and repeat steps starting from point 3
8. If you want to use the `google_assistant.request_sync` service, to update devices without unlinking and relinking, in Home Assistant, then enable Homegraph API for your project:
a. Go to the [cloud console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview)
b. Select your project and click Enable Homegraph API
c. Go to Credentials, which you can find on the left navigation bar under the key icon, and select API Key from Create Credentials
d. Note down the generated API Key and use this in the configuration
### {% linkable_title Troubleshooting the request_sync service %}
The request_sync service requires that the initial sync from Google includes the agent_user_id. If not, the service will log an error that reads something like "Request contains an invalid argument". If this happens, then [unlink the account](https://support.google.com/googlehome/answer/7506443?hl=en-GB) from Home Control and relink.

View File

@ -0,0 +1,132 @@
---
layout: page
title: "Habitica"
description: "Instructions on enabling Habitica support for your Home Assistant"
date: 2018-08-09 00:00
sidebar: true
comments: false
sharing: true
footer: true
logo: habitica.png
ha_category: Hub
ha_version: 0.78
ha_iot_class: "Cloud Polling"
---
This component allows you to monitor and manage your Habitica profile. This component exposes the [Habitica's API](https://habitica.com/apidoc/) as a Home Assistant service. It supports multiple users and allows you to automate checking out your habits and daily tasks or casting magics using Home Assistant.
This component enables usage of [`sensor.habitica` platform.](/components/sensor.habitica/)
To use the component you should use this example configuration:
```yaml
# Minimum viable configuration.yaml entry
habitica:
- api_user: 'REPLACE_ME_WITH_YOUR_USER_ID'
api_key: 'REPLACE_ME_WITH_YOUR_API_KEY'
```
You can specify several users, providing `api_user` and `api_key` for each.
At runtime you will be able to use API for each respective user by their Habitica's username.
You can override this by passing `name` key, this value will be used instead of the username.
If you are hosting your own instance of Habitica, you can specify a URL to it in `url` key.
{% configuration %}
api_user:
description: "Habitica's API user ID. This value can be grabbed from [account setting](https://habitica.com/user/settings/api)"
required: true
type: string
api_key:
description: "Habitica's API password (token). This value can be grabbed from [account setting](https://habitica.com/user/settings/api) by pressing 'Show API token'"
required: true
type: string
name:
description: "Override for Habitica's username. Will be used for service calls"
required: false
type: string
default: Deduced at startup
url:
description: "URL to your Habitica instance, if you are hosting your own"
required: false
type: string
default: http://habitica.com
sensors:
description: List of sensors to generate for this user. If you don't specify this entry then the default (all sensors) will be generated. If you specify this entry empty then no sensors will be generated.
required: false
type: list
default: all (`name`, `hp`, `maxHealth`, `mp`, `maxMP`, `exp`, `toNextLevel`, `lvl`, `gp`, `class`)
{% endconfiguration %}
### {% linkable_title API Service Parameters %}
The API is exposed to Home Assistant as a service called `habitica.api_call`. To call it you should specify this keys in service data:
| Service data attribute | Required | Type | Description |
|----------------------|--------|--------|----------------|
| `name` | yes | string | Habitica's username as per `configuration.yaml` entry. |
| `path` | yes | [string] | Items from API URL in form of an array with method attached at the end. See the example below. |
| `args` | no | map | Any additional json or url parameter arguments. See the example below and [apidoc](https://habitica.com/apidoc/). |
A successful call to this service will fire an event `habitica_api_call_success`.
| Event data attribute | Type | Description |
|----------------------|--------|----------------|
| `name` | string | Copied from service data attribute. |
| `path` | [string] | Copied from service data attribute. |
| `data` | map | Deserialized `data` field of JSON object Habitica's server returned in response to api call. For more info see [docs](https://habitica.com/apidoc/). |
#### Let's consider some examples on how to call the service.
For example, let's say that there is a configured `habitica` platform for user `xxxNotAValidNickxxx` with their respective `api_user` and `api_key`.
Let's create a new task (a todo) for this user via Home Assistant. There is an [API call](https://habitica.com/apidoc/#api-Task-CreateUserTasks) for this purpose.
To create a new task one should hit `https://habitica.com/api/v3/tasks/user` endpoint with `POST` request with a json object with task properties.
So let's call the API on `habitica.api_call`.
* The `name` key becomes `xxxNotAValidNickxxx`.
* The `path` key is trickier.
* Remove 'https://habitica.com/api/v3/' at the beginning of the endpoint URL.
* Split the remaining on slashes (/) and **append the lowercase method** at the end.
* You should get `["tasks", "user", "post"]`. To get a better idea of the API you are recommended to try all of the API calls in IPython console [using this package](https://github.com/ASMfreaK/habitipy/blob/master/README.md).
* The `args` key is more or less described in the [docs](https://habitica.com/apidoc/).
Combining all together:
call `habitica.api_call` with data
```
{
"name": "xxxNotAValidNickxxx",
"path": ["tasks", "user", "post"],
"args": {"text": "Use API from Home Assistant", "type": "todo"}
}
```
This call will create a new todo on `xxxNotAValidNickxxx`'s account with text `Use API from Home Assistant` like this:
![example task created](/images/screenshots/habitica_new_task.png)
Also an event `habitica_api_call_success` will be fired with the following data:
```
{
"name": "xxxNotAValidNickxxx",
"path": ["tasks", "user", "post"],
"data": {
"challenge": {},
"group": {"approval": {"required": false,
"approved": false,
"requested": false},
"assignedUsers": [],
"sharedCompletion": "recurringCompletion"},
"completed": false,
"collapseChecklist": false,
"type": "todo",
"notes": "",
"tags": [],
"value": 0,
"priority": 1,
"attribute": "str",
"text": "Use API from Home Assistant",
"checklist": [],
"reminders": [],
"_id": "NEW_TASK_UUID",
"createdAt": "2018-08-09T18:03:27.759Z",
"updatedAt": "2018-08-09T18:03:27.759Z",
"userId": "xxxNotAValidNickxxx's ID",
"id": "NEW_TASK_UUID"}
}
```

View File

@ -272,6 +272,7 @@ The following components are currently supported:
| sensor | TemperatureSensor | All sensors that have `Celsius` or `Fahrenheit` as their `unit_of_measurement` or `temperature` as their `device_class`. |
| sensor | HumiditySensor | All sensors that have `%` as their `unit_of_measurement` and `humidity` as their `device_class`. |
| sensor | AirQualitySensor | All sensors that have `pm25` as part of their `entity_id` or `pm25` as their `device_class` |
| sensor | CarbonMonoxideSensor | All sensors that have `co` as their `device_class` |
| sensor | CarbonDioxideSensor | All sensors that have `co2` as part of their `entity_id` or `co2` as their `device_class` |
| sensor | LightSensor | All sensors that have `lm` or `lx` as their `unit_of_measurement` or `illuminance` as their `device_class` |
| switch | Switch | Represented as a switch by default but can be changed by using `type` within `entity_config`. |

View File

@ -65,9 +65,11 @@ authtoken:
- homematicip_cloud.binary_sensor
- Window and door contact (*HmIP-SWDO*)
- Rotary Handle Sensor (*HmIP-SRH*)
- Smoke sensor and alarm (*HmIP-SWSD*)
- Motion detectors (*HmIP-SMI*)
- Motion detectors and push button (*HmIP-SMI55*)
- Water detector (*HmIP-SWD*)
- homematicip_cloud.climate
- Radiator thermostat (*HmIP-eTRV,-2*)
@ -82,6 +84,7 @@ authtoken:
- Wall-mounted thermostat (*HmIP-WTH*)
- Temperature and humidity sensor (*HmIP-STH*)
- Temperature and humidity Sensor with display (*HmIP-STHD*)
- Outdoor temperature and humidity sensor (*HmIP-STHO*)
- Illuminance sensor (*HmIP-SMI, 55*)
- homematicip_cloud.switch

View File

@ -0,0 +1,49 @@
---
layout: page
title: "Huawei LTE Routers"
description: "Instructions on how to integrate Huawei LTE routers with Home Assistant."
date: 2018-09-08 20:00
sidebar: true
comments: false
sharing: true
footer: true
logo: huawei.svg
ha_category: Network
ha_release: 0.79
---
The Huawei LTE router integration for Home Assistant allows you to observe
and control [Huawei LTE routers](https://consumer.huawei.com/en/smart-home/).
The integration provides:
* a sensor with device, signal, and traffic information
* a device tracker for connected devices
## {% linkable_title Configuration %}
To enable the component, add the following lines to your
`configuration.yaml` file:
```yaml
# Example configuration.yaml entry
huawei_lte:
- url: http://192.168.100.1/
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
{% configuration %}
url:
description: URL of the router web interface.
required: true
type: url
username:
description: The username used for the router web interface.
required: true
type: string
password:
description: The password used for the router web interface.
required: true
type: string
{% endconfiguration %}

View File

@ -1,7 +1,7 @@
---
layout: page
title: "Insteon"
description: "Instructions on how to setup an Insteon Modem (PLM or Hub) locally within Home Assistant."
description: "Instructions on how to set up an Insteon Modem (PLM or Hub) locally within Home Assistant."
date: 2018-08-20 16:00
sidebar: true
comments: false
@ -18,19 +18,20 @@ linked INSTEON devices to be used within Home Assistant as binary sensors,
lights, fans, sensors and switches. Device support is provided by the
underlying [insteonplm] package. It is known to work with the [2413U] USB and
[2412S] RS242 flavors of PLM and the [2448A7] USB stick. It has also been
tested to work with the [2245] Hub.
tested to work with the [2242] and [2245] Hubs.
[insteonplm]: https://github.com/nugget/python-insteonplm
[2413U]: https://www.insteon.com/powerlinc-modem-usb
[2412S]: https://www.insteon.com/powerlinc-modem-serial
[2448A7]: https://www.smarthome.com/insteon-2448a7-portable-usb-adapter.html
[2245]: https://www.insteon.com/insteon-hub/
[2242]: https://www.insteon.com/support-knowledgebase/2014/9/26/insteon-hub-owners-manual
### {% linkable_title INSTEON Modem configuration %}
To setup a Powerline Modem (PLM) device such as the [2413U], use the following
configuration:
To set up an INSTEON Powerline Modem (PLM) device such as the [2413U], use the
following configuration:
```yaml
# PLM configuration variables
@ -38,15 +39,26 @@ insteon:
port: SERIAL_PORT
```
To setup an INSTEON Hub such as the [2245], use the following configuration:
To set up an INSTEON Hub model [2245], use the following configuration:
```yaml
# Hub configuration variables
# Hub 2245 configuration variables
insteon:
host: HOST
ip_port: IP_PORT
username: USERNAME
password: PASSWORD
hub_version: 2
```
To set up an INSTEON Hub model [2242], use the following configuration:
```yaml
# Hub 2242 configuration variables
insteon:
host: HOST
ip_port: IP_PORT
hub_version: 1
```
Addtional configuration items are available:
@ -71,14 +83,23 @@ insteon:
```
Configuration variables:
- **port** (*Required for PLM setup*): The serial or USB port for your device,
e.g., `/dev/ttyUSB0`
- **host** (*Required for Hub setup*): The host name or IP address of the Hub
- **ip_port** (*Optional for Hub setup*): The IP port number of the Hub.
(default value is 25105)
- **username** (*Required for Hub setup*): The username to login to the local
Hub
- **password** (*Required for Hub setup*): The password to login to the local
Hub
e.g., `/dev/ttyUSB0` or `COM3`
- **host** (*Required for Hub setup*): The host name or IP address of the Hub.
- **ip_port** (*Optional for Hub setup*): The IP port number of the Hub. For
Hub model [2245] (i.e. Hub version 2) the default port is 25105. For the Hub
model [2242] (i.e. Hub version 1) the default port is 9761. Use the Insteon
app to find the port number for your specific Hub.
- **username** (*Required for Hub version 2 setup*): The username to login in
to the local Hub. This is required for Hub [2245] (i.e. Hub version 2) setup.
You can find your Hub username on the bottom of the Hub or you can use the
Insteon app.
- **password** (*Required for Hub version 2 setup*): The password to login in
to the local Hub. This is required for Hub [2245] (i.e. Hub version 2) setup.
You can find your Hub password on the bottom of the Hub or you can use the
Insteon app.
- **hub_version** (*Required for Hub version 1 setup*): The Hub version number
where model [2242] is Hub version 1 and model [2245] is Hub version 2.
(Default is 2)
- **device_override** (*Optional*): Override the default device definition
- *ADDRESS* is found on the device itself in the form 1A.2B.3C or 1a2b3c
- *CATEGORY* is found in the back of the device's User Guide in the form of
@ -92,16 +113,16 @@ Configuration variables:
- *UNITCODE* is the X10 unit code values 1 - 16
- *PLATFORM* is the Home Assistant Platform to associate the device with.
The following platforms are supported
- binary_sensor: Used for on/off devices or keypad buttons that are read only.
- binary_sensor: Used for on/off devices or keypad buttons that are read-only.
- light: Used for dimmable X10 devices
- switch: Used for On/Off X10 devices
- *STEPS* is the number of dim/bright steps the device supports. Used for
dimmable X10 devices only. Default value is 22.
- **x10_all_units_off** (*Optional*): Creates an binary_sensor that responds
- **x10_all_units_off** (*Optional*): Creates a binary_sensor that responds
to the X10 standard command for All Units Off.
- **x10_all_lights_on** (*Optional*): Creates an binary_sensor that responds
- **x10_all_lights_on** (*Optional*): Creates a binary_sensor that responds
to the X10 standard command for All Lights On
- **x10_all_lights_off** (*Optional*): Creates an binary_sensor that responds
- **x10_all_lights_off** (*Optional*): Creates a binary_sensor that responds
to the X10 standard command for All Lights Off
### {% linkable_title Autodiscovery %}
@ -111,27 +132,27 @@ per device. Subsequent startups will occur much quicker using cached device
information. If a device is not recognized during autodiscovery, you can add
the device to the **device_override** configuration.
In order for a device to be discovered it must be linked to the INSTEON Modem
In order for a device to be discovered, it must be linked to the INSTEON Modem
as either a responder or a controller.
### {% linkable_title Linking Devices to the INSTEON Modem %}
In order for any two Insteon devices to talk with one another, they must be
linked. For an overview of device linking please read the Insteon page on
linked. For an overview of device linking, please read the Insteon page on
[understanding linking]. The Insteon Modem module supports All-Linking through
[Development Tools] service calls. The following services are available:
- **insteon.add_all_link**: Puts the Insteon Modem (IM) into All-Linking
mode. The IM can be set as as controller or a responder. If the IM is a
controler, put the IM into linking mode then press the SET button on the
device. If the IM is a responer, press the SET button on the device then
mode. The IM can be set as a controller or a responder. If the IM is a
controller, put the IM into linking mode then press the SET button on the
device. If the IM is a responder, press the SET button on the device then
put the IM into linking mode.
- **insteon.delete_all_link**: Tells the Insteon Modem (IM) to remove an
All-Link record from the All-Link Database of the IM and a device. Once the IM
is set to delete the link, press the SET button on the corresponding device
to complete the process.
- **insteon.load_all_link_database**: Load the All-Link Database for a
device. WARNING - Loading a device All-Link database may take a LONG time and
device. WARNING - Loading a device All-Link database may take a LONG time and
may need to be repeated to obtain all records.
- **insteon.print_all_link_database**: Print the All-Link Database for a
device. Requires that the All-Link Database is loaded first.
@ -174,7 +195,7 @@ devices.
INSTEON devices are added to Home Assistant using the platform(s) that make the
most sense given the model and features of the hardware. The features of the
INSTEON device are built into the Home Assistant platform. Changing the
INSTEON devices are built into the Home Assistant platform. Changing the
platform is not recommended. There are two primary uses for the
**device_override** feature.
- Devices that do not respond during autodiscovery. This is common for battery
@ -185,7 +206,7 @@ platform is not recommended. There are two primary uses for the
### {% linkable_title Example Configuration with Options%}
```yaml
# Full example of insteon configuration with customizations and overrides
# Full example of Insteon configuration with customizations and overrides
homeassistant:
customize:
@ -205,7 +226,7 @@ insteon:
### {% linkable_title What NOT to do %}
Insteon Modem is a top level component and device discovery will identify
Insteon Modem is a top-level component and device discovery will identify
the Home Assistant platform the device belongs in. As such, do not
declare Insteon devices in other platforms. For example, this configuration
will NOT work:
@ -224,19 +245,18 @@ events. The following events are available:
- **insteon.button_on**
- **address**: (required) The Insteon device address in lower case without
dots (e.g. 1a2b3c)
- **button**: (Optional) The button id in lower case. For an 4 button remote
the values are a to d. For an 8 button remote the values are a to g. For
a one button remote this field is not used.
- **button**: (Optional) The button id in lower case. For a 4-button remote
the values are `a` to `d`. For an 8 button remote the values are `a` to `g`. For
a one-button remote this field is not used.
- **insteon.button_of**
- **address**: (required) The Insteon device address in lower case without
dots (e.g. 1a2b3c)
- **button**: (Optional) The button id in lower case. For an 4 button remote
the values are a to d. For an 8 button remote the values are a to g. For
a one button remote this field is not used.
- **button**: (Optional) The button id in lower case. For a 4-button remote
the values are a to d. For an 8 button remote the values are `a` to `g`. For
a one-button remote this field is not used.
This allows the mini-remotes to be configured as
Here is an example of how to use these events for automations:
This allows the mini-remotes to be configured as triggers for automations. Here
is an example of how to use these events for automations:
```
automation:
@ -276,8 +296,8 @@ The INSTEON Hub has three known issues that are inherent to the design of the
Hub:
1. If you see multiple error messages in the log file stating the Hub
connection is closed and reconnection has failed, this generally requires
the Hub to be restarted in order to reconnect.
connection is closed, and reconnection has failed, this generally requires
the Hub to be restarted to reconnect.
2. You cannot use both Home Assistant and the INSTEON app. If you do, the
changes made in the app will not appear in Home Assistant. Changes made in

View File

@ -33,7 +33,7 @@ There is currently support for the following device types within Home Assistant:
- [Notify](/components/notify.knx)
- [Scene](/components/scene.knx)
### {% linkable_title Configuration %}
## {% linkable_title Configuration %}
To use your KNX in your installation, add the following lines to your `configuration.yaml` file:
@ -77,8 +77,8 @@ knx:
```yaml
knx:
fire_event: True
fire_event_filter: ["1/0/*", "6/2,3,4-6/*"]
fire_event: True
fire_event_filter: ["1/0/*", "6/2,3,4-6/*"]
```
- **fire_event** (*Optional*): If set to True, platform will write all received KNX messages to event bus
@ -105,21 +105,20 @@ KNX component is able to expose time or sensor values to KNX bus. The component
```yaml
# Example configuration.yaml entry
knx:
expose:
- type: 'temperature'
entity_id: 'sensor.owm_temperature'
address: '0/0/2'
- type: 'time'
address: '0/0/1'
- type: 'datetime'
address: '0/0/23'
expose:
- type: 'temperature'
entity_id: 'sensor.owm_temperature'
address: '0/0/2'
- type: 'time'
address: '0/0/1'
- type: 'datetime'
address: '0/0/23'
```
* **type**: Type of the exposed value. Either time or datetime or any supported type of [KNX Sensor](/components/sensor.knx/) (e.g., "temperature" or "humidity").
* **entity_id**: Entity id of the HASS component to be exposed. Not necessary for types time and datetime.
* **address**: KNX group address.
### {% linkable_title Known issues %}
Due to lame multicast support the routing abstraction and the gateway scanner only work with Python >=3.5.

View File

@ -25,20 +25,20 @@ This component requires the [`discovery`](https://www.home-assistant.io/componen
### {% linkable_title Configuration %}
A `konnected` section must be present in the `configuration.yml` file that specifies the Konnected devices on the network and the sensors or actuators attached to them:
A `konnected` section must be present in the `configuration.yaml` file that specifies the Konnected devices on the network and the sensors or actuators attached to them:
```yaml
# Example configuration.yaml entry
konnected:
access_token: REPLACE_ME_WITH_A_RANDOM_STRING
devices:
- id: 6001948bcd53
- id: 438a388bcd53
binary_sensors:
- zone: 1
type: door
switches:
- zone: out
- id: 5ccf7f438a38
- id: 8bcd53438a38
binary_sensors:
- pin: 2
type: door
@ -83,6 +83,11 @@ devices:
description: The name of the device used in the front end.
required: false
default: automatically generated
inverse:
type: boolean
description: Inverts the open/closed meaning of a binary sensor circuit. Commonly needed for normally open wired smoke alarm circuits.
required: false
default: false
switches:
description: A list of actuators (on/off switches) connected to the device. See [Konnected Switch](/components/switch.konnected/) for configuration variables.
required: false
@ -133,6 +138,7 @@ konnected:
- zone: 2
type: smoke
name: 'Bedroom Smoke Detector'
inverse: true
- zone: 3
type: motion
name: 'Test Motion'
@ -182,6 +188,9 @@ Konnected runs on an ESP8266 board with the NodeMCU firmware. It is commonly use
### {% linkable_title Revision History %}
#### 0.79
* Added `inverse` configuration option for binary sensors.
#### 0.77
* Added support for momentary and beep/blink switches. [[#15973](https://github.com/home-assistant/home-assistant/pull/15973)]
* Decouple entity initialization from discovery, enabling devices to recover faster after a Home Assistant reboot. [[#16146](https://github.com/home-assistant/home-assistant/pull/16146)]

View File

@ -1,6 +1,6 @@
---
layout: page
title: "Blinkstick"
title: "Blinkstick Light"
description: "Instructions on how to setup Blinkstick lights within Home Assistant."
date: 2015-10-08 10:00
sidebar: true

View File

@ -1,6 +1,6 @@
---
layout: page
title: "Blinkt!"
title: "Blinkt! Light"
description: "Instructions on how to setup Blinkt! RGB LED lights within Home Assistant."
date: 2017-04-30 9:00
sidebar: true

View File

@ -18,6 +18,8 @@ The `knx` light component is used as in interface to switching/light actuators.
The `knx` component must be configured correctly, see [KNX Component](/components/knx).
## {% linkable_title Configuration %}
To use your KNX light in your installation, add the following lines to your `configuration.yaml` file:
```yaml
@ -31,12 +33,14 @@ light:
Configuration variables:
- **address** (*Required*): KNX group address for switching the light on and off.
- **name** (*Optional*): A name for this device used within Home Assistant.
- **address**: KNX group address for switching the light on and off.
- **brightness_address** (Optional): KNX group address for dimming light.
- **state_address** (*Optional*): separate KNX group address for retrieving the switch state of the light.
- **brightness_state_address** (*Optional*): separate KNX group address for retrieving the dimmed state of the light.
- **color_address** (*Optional*): separate KNX group address for setting the color of the light.
- **color_state_address** (*Optional*): separate KNX group address for retrieving the color of the light.
Some KNX devices can change their state internally without any messages on the KNX 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.

View File

@ -56,6 +56,10 @@ name:
required: false
type: string
default: MQTT JSON Light
unique_id:
description: An ID that uniquely identifies this light. If two lights have the same unique ID, Home Assistant will raise an exception.
required: false
type: string
command_topic:
description: The MQTT topic to publish commands to change the lights state.
required: true

0
source/_components/light.template.markdown Executable file → Normal file
View File

View File

@ -28,7 +28,7 @@ light:
name: Living Room
transition: 1000
use_music_mode: True #(defaults to False)
save_on_change: False #(defaults to True)
save_on_change: True #(defaults to False)
192.168.1.13:
name: Front Door
```
@ -39,10 +39,11 @@ Configuration variables:
- **name** (*Optional*): A friendly name for the device.
- **transition** (*Optional*, default 350): Smooth transitions over time (in ms).
- **use_music_mode** (*Optional*, default False): Enable music mode.
- **save_on_change** (*Optional*, default True): Saves the bulb state when changed from Home Assistant.
- **save_on_change** (*Optional*, default False): Saves the bulb state in its nonvolatile memory when changed from Home Assistant.
#### {% linkable_title Music mode %}
Per default the bulb limits the amount of requests per minute to 60, a limitation which can be bypassed by enabling the music mode. In music mode the bulb is commanded to connect back to a socket provided by the component and it tries to keep the connection open, which may not be wanted in all use-cases.
**Also note that bulbs in music mode will not update their state to "unavailable" if they are disconnected, which can cause delays in Home Assistant**.
### {% linkable_title Initial setup %}
<p class='note'>
@ -59,6 +60,7 @@ This component is tested to work with the following models. If you have a differ
- **YLDP01YL**: LED Bulb (White)
- **YLDP02YL**: LED Bulb (Color)
- **YLDP03YL**: LED Bulb (Color) - E26
- **YLDP05YL**: LED Bulb (White) II
- **YLDP06YL**: LED Bulb (Color) II
- **YLDD01YL**: Lightstrip (Color)
- **YLDD02YL**: Lightstrip (Color)

View File

@ -15,7 +15,7 @@ ha_iot_class: "Cloud Polling"
The `linode` component allows you to access the information about your [Linode](https://linode.com) systems from Home Assistant.
## {% linkable_title sETUP %}
## {% linkable_title Setup %}
Obtain your oAuth2 Access Token from Linode account.

0
source/_components/lock.bmw_connected_drive.markdown Executable file → Normal file
View File

View File

@ -101,8 +101,9 @@ In this section you will find some real life examples of how to use this lock.
The example below shows a full configuration for a MQTT lock.
{% raw %}
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
lock:
- platform: mqtt
name: Frontdoor
@ -113,8 +114,9 @@ lock:
optimistic: false
qos: 1
retain: true
value_template: '{% raw %}{{ value.x }}{% endraw %}'
value_template: '{{ value.x }}'
```
{% endraw %}
Keep an eye on retaining messages to keep the state as you don't want to unlock your door by accident when you restart something.

View File

@ -0,0 +1,40 @@
---
layout: page
title: "Logi Circle"
description: "Instructions on how to integrate your Logi Circle cameras within Home Assistant."
date: 2018-09-08 11:00
sidebar: true
comments: false
sharing: true
footer: true
logo: logi_circle.png
ha_category: Camera
ha_release: 0.79
ha_iot_class: "Cloud Polling"
---
The `logi_circle` implementation allows you to integrate your [Logi Circle](https://circle.logi.com/) cameras in Home Assistant.
## {% linkable_title Configuration %}
To integrate cameras linked with your [Logi Circle](https://circle.logi.com/) account, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
logi_circle:
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
{% configuration %}
username:
description: The username for accessing your Logi Circle account.
required: true
type: string
password:
description: The password for accessing your Logi Circle account.
required: true
type: string
{% endconfiguration %}
Finish its configuration by visiting the [Logi Circle camera](/components/camera.logi_circle/) or [Logi Circle sensor](/components/sensor.logi_circle/) documentation.

View File

@ -0,0 +1,15 @@
---
layout: page
title: "Asterisk Call Data Recorder"
description: "Instructions on how to integrate an Asterisk CDR within Home Assistant."
date: 2018-09-12 06:30
sidebar: true
comments: false
sharing: true
footer: true
logo: asterisk.png
ha_category: Mailbox
ha_release: 0.79
---
The Asterisk Call Data Recorder provides access to Asterisk call logs on the Asterisk PBX server. This mailbox is enabled automatically through the [Asterisk Voicemail component](/components/asterisk_mbox/) configuration if the `asterisk_mbox_server` is configured to provide CDR data. More information on configuring the server can be found in the [Asterisk PBX configuration guide](/docs/asterisk_mbox/).

0
source/_components/map.markdown Executable file → Normal file
View File

View File

@ -79,3 +79,26 @@ List of source names:
- multi-ch
- xm
- sirius
### {% linkable_title Example `play_media` script %}
The `play_media` function can be used in script to play radio station by preset number.
Not working for NET radio.
```yaml
# Example play_media script
#
script:
radio1:
alias: "Radio 1"
sequence:
- service: media_player.turn_on
data:
entity_id: media_player.onkyo
- service: media_player.play_media
data:
entity_id: media_player.onkyo
media_content_type: "radio"
media_content_id: "1"
```

View File

@ -75,3 +75,6 @@ You can send playlists to spotify via the "media_content_type": "playlist" and "
In this example this is a URI link to the Reggae Infusions playlist, [this support document from Spotify](https://support.spotify.com/us/using_spotify/share_music/why-do-you-have-two-different-link-formats/) explains how to get this URI value to use for playlists in the Spotify component.
## {% linkable_title Unsupported devices %}
- **Sonos**: Although its a Spotify Connect device, it is not supported by the official Spotify API.

View File

@ -8,14 +8,18 @@ comments: false
sharing: true
footer: true
logo: microsoft.png
ha_category: Hub
ha_category: Image Processing
ha_release: "0.37"
---
The `microsoft_face` component platform is the main component for Microsoft Azure Cognitive service [Face](https://www.microsoft.com/cognitive-services/en-us/face-api). All data are stored in your own private instance in the Azure cloud.
## {% linkable_title Setup %}
You need an API key, which is free, but requires an [Azure registration](https://azure.microsoft.com/de-de/free/) using your Microsoft ID. The free resource (*F0*) is limited to 20 requests per minute and 30k requests in a month. If you don't want to use the Azure cloud, you can also get an API key by registering with [cognitive-services](https://www.microsoft.com/cognitive-services/en-us/subscriptions). Please note that all keys on cognitive services must be recreated every 90 days.
## {% linkable_title Configuration %}
To enable the Microsoft Face component, add the following to your `configuration.yaml`:
```yaml

View File

@ -11,19 +11,14 @@ logo: mqtt.png
ha_category: Hub
featured: true
ha_release: pre 0.7
ha_iot_class: depends
ha_iot_class: local push
---
MQTT (aka MQ Telemetry Transport) is a machine-to-machine or "Internet of Things" connectivity protocol on top of TCP/IP. It allows extremely lightweight publish/subscribe messaging transport.
Your first step to get MQTT and Home Assistant working is to choose a [broker](/docs/mqtt/broker).
To integrate MQTT into Home Assistant, add the following section to your `configuration.yaml` file. Keep in mind that the minimal setup will run with [an embedded MQTT broker](/docs/mqtt/broker#embedded-broker):
```yaml
# Example configuration.yaml entry
mqtt:
```
To integrate MQTT into Home Assistant, add the following section to your `configuration.yaml` file.
To connect to your [own MQTT broker](/docs/mqtt/broker#run-your-own):
@ -33,9 +28,15 @@ mqtt:
broker: IP_ADDRESS_BROKER
```
<p class='note'>
The minimal setup uses the embedded MQTT broker, however a separate broker is advised for more stability.
</p>
You can also use the [embedded MQTT broker](/docs/mqtt/broker#embedded-broker). A separate broker is advised for more stability.
```yaml
# Example configuration.yaml entry
mqtt:
password: hello
```
This allows you to connect to the MQTT broker with user `homeassistant` and password `hello`.
## {% linkable_title Additional features %}

View File

@ -72,13 +72,24 @@ The `html5` platform can only function if all of the following requirements are
Assuming you have already added the platform to your configuration:
1. Open Home Assistant in Chrome or Firefox.
2. Assuming you have met all the [requirements](#requirements) above, you should see a new slider for Push Notifications through the profile page Profile > Push notifications.
2. Load profile page by clicking on the badge next to the Home Assistant title in the sidebar. Assuming you have met all the [requirements](#requirements) above then you should see a new slider for Push Notifications. If the slider is greyed out, ensure you are viewing Home Assistant via its external HTTPS address. If the slider is not visible, ensure you are not in the user configuration (Sidebar, Configuration, Users, View User).
3. Slide it to the on position.
4. Within a few seconds you should be prompted to allow notifications from Home Assistant.
5. Assuming you accept, that's all there is to it!
6. (Optional, but highly recommended!) Open the `html5_push_registrations.conf` file in your configuration directory. You will see a new entry for the browser you just added. Rename it from `unnamed device` to a name of your choice, which will make it easier to identify later. _Do not change anything else in this file!_ You need to restart Home Assistant after making any changes to the file.
### {% linkable_title Testing %}
Assuming the previous test completed successfully and your browser was registered, you can test the notification as follows:
1. Open Home Assistant in Chrome or Firefox.
2. Open the sidebar and click the Services button at the bottom (shaped like a remote control), located below the Developer Tools.
3. From the Services dropdown, search for your HTML5 notify service (E.G. notify.NOTIFIER_NAME) and select it.
4. In the Service Data text box enter: {"message":"hello world"}, then press the CALL SERVICE button.
5. If everything worked you should see a popup notification.
### {% linkable_title Usage %}
The `html5` platform accepts a standard notify payload. However, there are also some special features built in which you can control in the payload.

View File

@ -17,6 +17,8 @@ The `knx` notify platform allows you to send notifications to [KNX](http://www.k
The `knx` component must be configured correctly, see [KNX Component](/components/knx).
## {% linkable_title Configuration %}
To use your KNX switch in your installation, add the following lines to your `configuration.yaml` file:
```yaml
@ -26,5 +28,8 @@ notify:
address: '5/1/10'
```
Configuration variables:
* **address** (*Required*): KNX group address of the notification.
* **name** (*Optional*): A name for this device used within Home Assistant.
* **address**: KNX group address of the notification

View File

@ -10,15 +10,14 @@ footer: true
logo: nfandroidtv.png
ha_category: Notifications
ha_release: 0.32
ha_iot_class: "Local Polling"
---
Notification platform for [Notifications for Android TV](https://play.google.com/store/apps/details?id=de.cyberdream.androidtv.notifications.google) and [Notifications for FireTV](https://play.google.com/store/apps/details?id=de.cyberdream.firenotifications.google).
Notification platform for [Notifications for Android TV](https://play.google.com/store/apps/details?id=de.cyberdream.androidtv.notifications.google) and [Notifications for FireTV](https://play.google.com/store/apps/details?id=de.cyberdream.firenotifications.google). You can use this plarform to send notifications to your Android TV device. An overlay with the message content will appear for a configurable amount of seconds and then disapper again. Sending images (e.g. security cam) is supported too.
The notifications are in the global scope of your Android TV device. They will be displayed regardless of which application is running.
When setting this up be aware, that there are two apps: one for your smartphone to send notifications (not required for this platform) and one for your Android TV device to receive the notifications. The app available in the store of your target device is the one that is needed to display notifications sent from Home Assistant. The In-App purchases only apply to the client for Android smartphones, so there isn't any limit when pushing notifications from Home Assistant.
When setting this up be aware, that there are two apps: one for your smartphone to send notifications (not required for this platform) and one for your Android TV device to receive the notifications. The app available in the store of your Android TV device is the one that is needed to display notifications sent from Home Assistant. 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:
@ -35,6 +34,7 @@ Configuration variables:
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- **host** (*Required*): IP address of the Android TV / FireTV device.
- **duration** (*Optional*): The duration in seconds for which the notification will be displayed. Default is 5 seconds.
- **fontsize** (*Optional*): Has to be one of: small, medium (default), large, max
- **position** (*Optional*): Has to be one of: bottom-right (default), bottom-left, top-right, top-left, center
- **color** (*Optional*): Has to be one of: grey (default), black, indigo, green, red, cyan, teal, amber, pink
- **transparency** (*Optional*): Has to be one of: 0%, 25% (default), 50%, 75%, 100%
@ -48,6 +48,7 @@ This is a fully customized JSON you can use to test how the final notification w
"message": "Messagetext",
"title": "My Notification",
"data":{
"fontsize": "large",
"position":"center",
"duration":2,
"transparency":"0%",
@ -56,3 +57,48 @@ This is a fully customized JSON you can use to test how the final notification w
}
}
```
### {% linkable_title Service data for sending images %}
The following attributes can be placed inside `data` to send images.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `file` | yes | Groups the attributes for file upload. If present, either `url` or `path` have to be provided.
| `path ` | yes | Local path of an image file. Is placed inside `file`.
| `url` | yes | URL of an image file. Is placed inside `file`.
| `username` | yes | Username if the url requires authentication. Is placed inside `file`.
| `password` | yes | Password if the url requires authentication. Is placed inside `file`.
| `auth` | yes | If set to `digest` HTTP-Digest-Authentication is used. If missing, HTTP-BASIC-Authentication is used. Is placed inside `file`.
Example for posting file from URL:
```json
{
"message":"Messagetext",
"title":"My Notification",
"data":{
"file":{
"url":"http://[url to image file]",
"username":"optional user, if necessary",
"password":"optional password, if necessary",
"auth":"digest"
}
}
}
```
Example for posting file from local path:
```json
{
"message":"Messagetext",
"title":"My Notification",
"data":{
"file":{
"path":"/path/to/file.ext"
}
}
}
```
Please note that `path` is validated against the `whitelist_external_dirs` in the `configuration.yaml`.

View File

@ -12,7 +12,6 @@ ha_category: Notifications
ha_release: 0.39
---
The [Pushsafer service](https://www.pushsafer.com/) is a platform for the notify component. This allows you to send messages to the user using Pushsafer.
In order to get a private or alias key you need to go to the [Pushsafer website](https://www.pushsafer.com) and register.
@ -90,6 +89,10 @@ Message to two devices and one device group with formatted text and local image.
"url": "https://www.home-assistant.io/",
"urltitle": "Open Home Assistant",
"time2live": "10",
"priority": "2",
"retry": "60",
"expire": "600",
"answer": "1",
"picture1": {
"path":"C:\\Users\\Kevin\\AppData\\Roaming\\.homeassistant\\image-760-testimage.jpg"
}

View File

@ -15,12 +15,22 @@ ha_release: pre 0.7
The `slack` platform allows you to deliver notifications from Home Assistant to [Slack](https://slack.com/).
If you are planning to use Slack as yourself then you need to obtain a [Slack API token](https://api.slack.com/web?sudo=1) to be able to send notifications.
## {% linkable_title Setup %}
If you are planning to use Slack as yourself then you'll need to create a [new app](https://api.slack.com/apps) under your Slack.com account. After creating the app, access the OAuth & Permissions link under the Features heading in the sidebar. Your OAuth Access Token should be located there. This is the key that you'll use in your `configuration.yaml` file.
<p class='note'>
There is an app credential Verification Token on the Basic Settings of your app. This is **not** the API key you want.
</p>
You will also need to ensure that you have added the appropriate scope when configuring your app. In this case, in the Scopes section, add the `Send messages as user` scope, e.g., (chat:write:user).
It is also possible to use Slack bots as users. Just create a new bot at https://[YOUR_TEAM].slack.com/apps/build/custom-integration and use the provided token for that. You can add an icon from the frontend for Home Assistant and give the bot a meaningful name.
Don't forget to invite the bot to the room where you want to get the notifications.
## {% linkable_title Configuration %}
To enable the Slack notification in your installation, add the following to your `configuration.yaml` file:
```yaml
@ -85,6 +95,7 @@ Example for posting file from local path:
}
}
```
Please note that `path` is validated against the `whitelist_external_dirs` in the `configuration.yaml`.
Example for posting formatted attachment:
@ -106,4 +117,3 @@ Example for posting formatted attachment:
Please note that both `message` is a required key, but is always shown, so use an empty (`""`) string for `message` if you don't want the extra text.
To use notifications, please see the [getting started with automation page](/getting-started/automation/).

View File

@ -74,7 +74,7 @@ sensors:
description: the conditions to create sensors from
required: false
type: list
default: all ( `current_ozone_index`, `current_uv_index`, `current_uv_level`, `max_uv_index`, `safe_exposure_time_type_1`, `safe_exposure_time_type_2`, `safe_exposure_time_type_3`, `safe_exposure_time_type_4`, `safe_exposure_time_type_5`, `safe_exposure_time_type_6` )
default: all ( `current_ozone_level`, `current_uv_index`, `current_uv_level`, `max_uv_index`, `safe_exposure_time_type_1`, `safe_exposure_time_type_2`, `safe_exposure_time_type_3`, `safe_exposure_time_type_4`, `safe_exposure_time_type_5`, `safe_exposure_time_type_6` )
{% endconfiguration %}
## {% linkable_title Binary Sensor Types %}

View File

@ -8,12 +8,14 @@ comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category: Other
ha_category: Environment
ha_release: 0.44
---
This`plant`component lets you merge moisture, conductivity, light intensity, temperature and battery level for a plant into a single UI element. It also supports setting minimum and maximum values for each measurement and will change its state to "problem" if it is not within those limits.
## {% linkable_title Configuration %}
To use your `plant` sensor in your installation, add the following to your `configuration.yaml` file:
```yaml

View File

@ -10,7 +10,7 @@ footer: true
logo: rainmachine.png
ha_category: Irrigation
ha_release: 0.69
ha_iot_class: "Cloud Polling"
ha_iot_class: "Local Polling"
---
The `rainmachine` component is the main component to integrate all platforms

View File

@ -18,7 +18,7 @@ Home Assistant uses [SQLAlchemy](http://www.sqlalchemy.org/) as Object Relationa
The default database engine is [SQLite](https://www.sqlite.org/) which doesn't require any configuration. The database is stored in your Home Assistant configuration directory (`.homeassistant`) and called `home-assistant_v2.db`.
To setup the `recorder` component in your installation, add the following to your `configuration.yaml` file:
To change the defaults for `recorder` component in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
@ -73,7 +73,7 @@ recorder:
type: List
{% endconfiguration %}
Define domains and entities to `exclude` (aka. blacklist). This is convenient when you are basically happy with the information recorded, but just want to remove some entities or domains. Usually these are entities/domains which do not change (like `weblink`) or rarely change (`updater` or `automation`).
Define domains and entities to `exclude` (aka. blacklist). This is convenient when you are basically happy with the information recorded, but just want to remove some entities or domains. Usually, these are entities/domains which do not change (like `weblink`) or rarely change (`updater` or `automation`).
```yaml
# Example configuration.yaml entry with exclude
@ -103,7 +103,7 @@ recorder:
- media_player
```
Use the `include` list to define the domains/entities to record, and exclude some of them with in the `exclude` list. This makes sense if you for instance include the `sensor` domain, but want to exclude some specific sensors. Instead of adding every sensor entity to the `include` `entities` list just include the `sensor` domain and exclude the sensor entities you are not interested in.
Use the `include` list to define the domains/entities to record, and exclude some of them within the `exclude` list. This makes sense if you, for instance, include the `sensor` domain, but want to exclude some specific sensors. Instead of adding every sensor entity to the `include` `entities` list just include the `sensor` domain and exclude the sensor entities you are not interested in.
```yaml
# Example configuration.yaml entry with include and exclude
@ -119,7 +119,7 @@ recorder:
- sensor.date
```
If you only want to hide events from e.g., your history, take a look at the [`history` component](/components/history/). Same goes for logbook. But if you have privacy concerns about certain events or neither want them in history or logbook, you should use the `exclude`/`include` options of the `recorder` component, that way they aren't even in your database. That way you can save storage and keep the database small by excluding certain often-logged events (like `sensor.last_boot`).
If you only want to hide events from e.g., your history, take a look at the [`history` component](/components/history/). Same goes for the logbook. But if you have privacy concerns about certain events or neither want them in history or logbook, you should use the `exclude`/`include` options of the `recorder` component, that way they aren't even in your database. That way you can save storage and keep the database small by excluding certain often-logged events (like `sensor.last_boot`).
### {% linkable_title Service `purge` %}
@ -128,7 +128,7 @@ Call the service `recorder.purge` to start a purge task which deletes events and
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `keep_days` | yes | The number of history days to keep in recorder database (defaults to the component `purge_keep_days` configuration)
| `repack` | yes | Rewrite the entire database, possibly saving some disk space (only supported for SQLite)
| `repack` | yes | Rewrite the entire database, possibly saving some disk space. Only supported for SQLite and requires at least as much disk space free as the database currently uses.
### {% linkable_title Restore State %}
@ -154,18 +154,28 @@ If the `recorder` component is activated then some components support `restore_s
| MySQL (pymysql) | `mysql+pymysql://user:password@SERVER_IP/DB_NAME?charset=utf8` |
| PostgreSQL | `postgresql://SERVER_IP/DB_NAME` |
| PostgreSQL | `postgresql://scott:tiger@SERVER_IP/DB_NAME` |
| PostgreSQL (Socket) | `postgresql://@/DB_NAME` |
| MS SQL Server | `mssql+pymssql://user:pass@SERVER_IP/DB_NAME?charset=utf8` |
<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`.
</p>
+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.
<p class='note'>
Unix Socket connections always bring performance advantages over TCP, if the database on the same host as the `recorder` instance (i.e. `localhost`).</p>
<p class='note warning'>
If you want to use Unix Sockets for PostgreSQL you need to modify the `pg_hba.conf`. See [PostgreSQL](#postgresql)</p>
### {% linkable_title Database startup %}
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:
and add the service for the database, for example, PostgreSQL:
```
[Unit]
@ -178,7 +188,6 @@ Save the file then reload `systemctl`:
```bash
$ sudo systemctl daemon-reload
```
</p>
## {% linkable_title Installation notes %}
@ -212,7 +221,7 @@ $ pip3 install mysqlclient
After installing the dependencies, it is required to create the database manually. During the startup, Home Assistant will look for the database specified in the `db_url`. If the database doesn't exist, it will not automatically create it for you.
Once Home Assistant finds the database, with right level of permissions, all the required tables will then be automatically created and the data will be populated accordingly.
Once Home Assistant finds the database, with the right level of permissions, all the required tables will then be automatically created and the data will be populated accordingly.
### {% linkable_title PostgreSQL %}
@ -223,6 +232,22 @@ $ sudo apt-get install postgresql-server-dev-X.Y
$ pip3 install psycopg2
```
For using Unix Sockets, add the following line to your [`pg_hba.conf`](https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html):
`local DB_NAME USER_NAME peer`
Where `DB_NAME` is the name of your database and `USER_NAME` is the name of the user running the Home Assistant instance (see [securing your installation](/docs/configuration/securing/)).
Reload the PostgreSQL configuration after that:
```bash
$ sudo -i -u postgres psql -c "SELECT pg_reload_conf();"
pg_reload_conf
----------------
t
(1 row)
```
A service restart will work as well.
### {% linkable_title MS SQL Server %}
For MS SQL Server you may have to install a few dependencies:

0
source/_components/remote.harmony.markdown Executable file → Normal file
View File

0
source/_components/remote.itach.markdown Executable file → Normal file
View File

0
source/_components/remote.markdown Executable file → Normal file
View File

View File

@ -16,6 +16,10 @@ The `knx` scenes platform allows you to trigger [KNX](http://www.knx.org) scenes
The `knx` component must be configured correctly, see [KNX Component](/components/knx).
## {% linkable_title Configuration %}
To use your KNX scence in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
scene:
@ -27,8 +31,7 @@ scene:
Configuration variables:
- **address** (*Required*): KNX group address of the binary sensor.
- **scene_number** (*Required*): Zero-indexed KNX scene number to be activated.
- **name** (*Optional*): A name for this device used within Home Assistant.
- **address**: KNX group address of the binary sensor.
- **scene_number** KNX scene number to be activated.

View File

@ -16,6 +16,8 @@ ha_iot_class: "Cloud Polling"
The `bloomsky` sensor component allows you to view the measurements made by sensors in the [BloomSky](https://www.bloomsky.com) weather station. This can work in concert with the [BloomSky camera](/components/camera.bloomsky).
## {% linkable_title Configuration %}
To enable these sensors in your installation, set up the [BloomSky component](/components/bloomsky) with your API key add the following to your `configuration.yaml` file:
```yaml

View File

@ -39,6 +39,8 @@ sensor:
- gust_kt
- air_temp
- dewpt
- local_date_time
- local_date_time_full
- press
- press_qnh
- press_msl

View File

@ -8,13 +8,15 @@ comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category: System Monitor
ha_category: Network
ha_release: 0.44
ha_iot_class: "depends"
---
The `cert_expiry` sensor fetches information from a configured URL and displays the certificate expiry in days.
## {% linkable_title Configuration %}
To add the Certificate Expiry sensor to your installation, add these options to `configuration.yaml` file:
```yaml

View File

@ -16,12 +16,8 @@ ha_iot_class: "Local Polling"
The `daikin` sensor platform integrates Daikin air conditioning systems into Home Assistant, enabling displaying the following parameters:
- **inside temperature**
- **outside temperature**
<p class='note warning'>
Please note, the `daikin` platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant.
</p>
- Inside temperature
- Outside temperature
## {% linkable_title Configuration %}
@ -54,6 +50,3 @@ monitored_conditions:
description: The current temperature measured outside the house.
{% endconfiguration %}
<p class='note warning'>
Please note that some AC devices may report outside temperature only when they are turned on.
</p>

View File

@ -0,0 +1,18 @@
---
layout: page
title: "EDP re:dy Sensor"
description: "Instructions on how to integrate the EDP re:dy sensors into Home Assistant."
date: 2018-09-04 16:30
sidebar: true
comments: false
sharing: true
footer: true
logo: edp_redy.png
ha_category: Sensor
ha_release: "0.79"
ha_iot_class: "Cloud Polling"
---
See the [EDP re:dy main component](/components/edp_redy/) for configuration instructions.
This sensor platform will provide a sensor per each EDP re:dy device that reports power consumption (SmartMeter, plug, meter).

View File

@ -10,66 +10,73 @@ footer: true
ha_category: Finance
ha_release: "0.70"
ha_iot_class: "Local Push"
logo: home-assistant.png
---
With the FinTS sensor, you can fetch your account information from your bank. This only works with banks that support the FinTS (aka. HBCI) standard. The FinTS standard used by many German banks. So if you do not have a German bank account, this will most likely not work for you. To find out if your bank supports FinTS, check the bank's website or call their hotline.
## {% linkable_title Configuration %}
To find out the configuration for your bank, check their website or call their hotline. Do not use random information you find on the Internet! As you're storing your bank account information in the Home Assistant configuration: Make sure that this configuration is not accessible to anyone.
For each account you have with the bank, a separate sensor is created. If you have several accounts with a bank, you can select which ones you want to have, and you can also give the accounts a name.
{% raw %}
```yaml
# Example configuration.yaml entry
sensor:
- platform: fints
bank_identification_number: <for your bank>
username: <your FinTS user name>
pin: <your FinTS pin>
url: <FinTS url of your bank>
- platform: fints
bank_identification_number: ID_FOR_YOUR_BANK
username: YOUR_FINTS_USERNAME
pin: YOUR_PIN
url: URL_FOR_YOUR_BANK
```
{% endraw %}
To find out the configuration for your bank, check their website or call their hotline. Do not use random information you find on the Internet! As you're storing your bank account information in the Home Assistant configuration: make sure that this configuration is not accessible to anyone.
{% configuration %}
sensors:
description: List of your sensors.
required: true
type: map
keys:
name:
description: (optional) name of the bank.
required: false
type: string
bank_identification_number:
description: Bank identification number, in most cases the "Bankleitzahl".
required: true
type: string
username:
description: Your FinTS username.
required: true
type: string
pin:
description: Your FinTS PIN or password.
required: true
type: string
url:
description: URL of your bank's FinTS server.
required: true
type: string
accounts:
description: (optional) You can configure with of the accounts of your bank shall be shown in Home Assistant. If this attribute is set, only the accounts listed here are shown.
required: false
type: list
keys:
account:
description: For balance accounts use the IBAN of the account for holdings accounts use the classic account number.
required: true
type: string
name:
description: (optional) Use this field to give the account a meaningful name.
required: false
type: string
name:
description: Name of the bank.
required: false
type: string
bank_identification_number:
description: Bank identification number, in most cases the "Bankleitzahl".
required: true
type: string
username:
description: Your FinTS username.
required: true
type: string
pin:
description: Your FinTS PIN or password.
required: true
type: string
url:
description: URL of your bank's FinTS server.
required: true
type: string
accounts:
description: The balance accounts to show. If not set then all accounts will show up.
required: false
type: list
keys:
account:
description: The IBAN of the blance account.
required: true
type: string
name:
description: Use this field to give the account a meaningful name.
required: false
type: string
holdings:
description: The holding accounts of your bank. If not set then all accounts will show up.
required: false
type: list
keys:
account:
description: The classic account number.
required: true
type: string
name:
description: Use this field to give the account a meaningful name.
required: false
type: string
{% endconfiguration %}

View File

@ -13,7 +13,6 @@ ha_iot_class: "Cloud Polling"
ha_release: "0.51"
---
The `geizhals` sensor will give you the best price of a product from [Geizhals](https://geizhals.de) or related site. With this information can be used in e.g., automations to notify you when a price drops.
To enable this sensor, add the following lines to your `configuration.yaml` file:
@ -23,16 +22,16 @@ To enable this sensor, add the following lines to your `configuration.yaml` file
sensor:
- platform: geizhals
name: qc35
product_id: 1453021
product_id: 1696985
```
Configuration variables:
- **name** (*Required*): The internal name of the product in Home Assistant.
- **product_id** (*Required*): ID of the product. Get the ID from the geizhals website of your chosen product by clicking on the *Price History* tab, e.g., [here](https://geizhals.de/?phist=1453021). The URL of this site reveals the ID, e.g., <https://geizhals.de/?phist=1453021> with `product_id: 1453021`.
- **product_id** (*Required*): ID of the product. Get the ID from the Geizhals website of your chosen product by opening the *Price History* in a new browser tab (right-click on the price history > open in new tab).
The URL of this site reveals the ID, e.g. `https://geizhals.de/?phist=1696985` with a `product_id` of `1696985`.
- **description** (*Optional*): The name of the product in the front end.
- **domain** (*Optional*): Domain which should be used for the request. Set this to `geizhals.at`, `geizhals.eu`, `geizhals.de`, `skinflint.co.uk` or `cenowarka.pl`. Defaults to `geizhals.de`.
- **regex** (*Optional*): Regular expression to parse the price. Default: `\D\s(\d*)[\,|\.](\d*)`.
- **locale** (*Optional*): Localisation which should be used for the request. Set this to `AT`, `EU`, `DE`, `UK` or `PL`. Defaults to `DE`.
#### {% linkable_title Extended example %}
@ -41,8 +40,7 @@ Configuration variables:
sensor:
- platform: geizhals
name: qc35
product_id: 1453021
product_id: 1696985
description: "Bose QC35"
domain: 'geizhals.de'
regex: '\D\s(\d*)[\,|\.](\d*)'
locale: "DE"
```

View File

@ -0,0 +1,21 @@
---
layout: page
title: "Habitica Sensor"
description: "Instructions on enabling Habitica support for your Home Assistant"
date: 2018-08-09 00:00
sidebar: true
comments: false
sharing: true
footer: true
logo: habitica.png
ha_category: Sensor
ha_iot_class: "Cloud Polling"
ha_version: 0.78
---
The `habitica` sensor platform allows you to view and monitor your player data from [Habitica](https://habitica.com/) in Home Assistant.
<p class='note'>
You must have the [`habitica` component](/components/habitica/)
configured to use this platform. After configuring that component, sensors specified there will automatically appear.
</p>

View File

@ -0,0 +1,51 @@
---
layout: page
title: "Huawei LTE Router Sensor"
description: "Instructions on how to integrate Huawei LTE router sensors into Home Assistant."
date: 2018-09-08 20:00
sidebar: true
comments: false
sharing: true
footer: true
logo: huawei.svg
ha_category: Network
ha_iot_class: "Local Polling"
ha_release: 0.79
---
The `huawei_lte` sensor platform allows you to monitor Huawei LTE routers.
This requires you to have set up the [Huawei LTE component](/components/huawei_lte/).
## {% linkable_title Configuration %}
To enable the sensor, add the following lines to your
`configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: huawei_lte
monitored_conditions:
- device_information.SoftwareVersion
- device_signal.rssi
- traffic_statistics.CurrentDownloadRate
- traffic_statistics.TotalConnectTime
```
Configuration variables:
**monitored_conditions** array (*Optional*): Defines the data to monitor as sensors. Defaults to a few generally available data items expected to be available on most boxes. The names here are dot separated paths to information returned by the router. The data set varies by router model; to see what your router provides, set logging level to debug and watch homeassistant.components.huawei_lte debug entries. The following list contains a few example paths just to illustrate the syntax; these may not be available on all routers or their semantics may differ, and there are quite likely many more that are not listed here.
- **device_information.SoftwareVersion**: Software version.
- **device_information.WanIPAddress**: WAN interface IP address.
- **device_information.WanIPv6Address**: WAN interface IP address.
- **device_signal.rsrq**: The signal RSRQ value.
- **device_signal.rsrp**: The signal RSRP value.
- **device_signal.rssi**: The signal RSSI value.
- **device_signal.sinr**: The signal SINR value.
- **traffic_statistics.CurrentDownloadRate**: Current download rate, bytes/sec.
- **traffic_statistics.CurrentUploadRate**: Current upload rate, bytes/sec.
- **traffic_statistics.TotalUpload**: Total bytes uploaded since last reset.
- **traffic_statistics.TotalDownload**: Total bytes downloaded since last reset.
- **traffic_statistics.TotalConnectTime**: Total time connected since last reset.

View File

@ -0,0 +1,104 @@
---
layout: page
title: "Jewish Calendar"
description: "Instructions on how to integrate the Jewish Calendar sensor within Home Assistant."
date: 2018-09-09 00:00
sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category: Calendar
ha_iot_class: "Local Push"
ha_release: "0.80"
---
The Jewish Calendar (`jewish_calendar`) sensor platform displays a variety of information related to the Jewish Calendar as a variety of sensors.
## {% linkable_title Configuration %}
To enable this sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: jewish_calendar
```
{% configuration %}
language:
required: false
default: hebrew
description: Whether to represent the sensors in Hebrew (א' תשרי תשע"ט) or English characters (1 Tishri 5779).
type: string
latitude:
required: false
description: Latitude for time calculations of the sensor.
default: Home Assistant location
type: int
longitude:
required: false
description: Longitude for time calculations of the sensor.
default: Home Assistant location
type: int
disapora:
required: false
description: Consider the location as diaspora or not for calculation of the weekly portion and holidays.
default: False
type: string
sensors:
required: false
default: date
description: List of available sensors.
keys:
date:
description: Show the hebrew date for today.
weekly_portion:
description: Show the weekly portion (parshat hashavu'a) - _At the moment only shows up on Saturday's_.
holiday_name:
description: If it is a holiday, show the name of the holiday.
holyness:
description: On a scale of 1 to 9 show the level of holyness _(see below)_.
first_light:
description: First light of dawn (Alot Hashachar - עלות השחר).
gra_end_shma:
description: Last time for reading of the Shma according to the GR"A.
mga_end_shma:
description: Last time for reading of the Shma according to the MG"A.
plag_mincha:
description: Time of the Plag Hamincha.
first_stars:
description: Time at which the first stars are visible (Tset Hakochavim - צאת הכוכבים).
{% endconfiguration %}
### {% linkable_title Holyness levels %}
1. Mido'rayta - by Torah ordination (Rosh Hashana, Yom Kippur, Pesach, Shavuot, Sukkot)
2. Erev Yom Kippur
3. Hol Hamo'ed
4. Hanukka and Purim
5. Fast days
6. Yom Yerushalayim and Yom Haatsmaut
7. Lag ba'omer and Tu bishvat
8. Memorial days: yom hazikaron and yom hashoah
9. Days mentioned by the Israeli parliament: Rabin memorial day, Ze'ev Zhabotinsky day, etc.
## {% linkable_title Full configuration sample %}
```yaml
# Example configuration.yaml entry
sensor:
- platform: jewish_calendar
language: english
disapora: True
sensors:
- date
- weekly_portion
- holiday_name
- holyness
- first_light
- gra_end_shma
- mga_end_shma
- plag_mincha
- first_stars
```

View File

@ -17,8 +17,26 @@ The `knx` sensor platform allows you to monitor [KNX](http://www.knx.org) sensor
The `knx` component must be configured correctly, see [KNX Component](/components/knx).
## {% linkable_title Configuration %}
To use your KNX sensor in your installation, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: knx
name: Heating.Valve1
address: '2/0/0'
```
- **address** (*Required*): KNX group address of the sensor.
- **name** (*Optional*): A name for this device used within Home Assistant.
- **type** (*Optional*): "percent", "temperature", "humidity", "illuminance", "brightness", "speed_ms", "current", "power", "electric_current", "electric_potential", "energy", "frequency", "heatflowrate", "phaseanglerad", "phaseangledeg", "powerfactor" or "speed".
## {% linkable_title Full example %}
```yaml
# Example configuration.yaml entry
sensor:
@ -31,8 +49,3 @@ sensor:
address: '6/2/1'
type: 'temperature'
```
- **name** (*Optional*): A name for this device used within Home Assistant.
- **address**: KNX group address of the sensor.
- **type** (Optional): "percent", "temperature", "humidity", "illuminance", "brightness", "speed_ms", "current", "power", "electric_current", "electric_potential", "energy", "frequency", "heatflowrate", "phaseanglerad", "phaseangledeg", "powerfactor" or "speed".

View File

@ -0,0 +1,41 @@
---
layout: page
title: "Linky Sensor"
description: "Instructions on how to integrate Linky daily data within Home Assistant."
date: 2018-09-06 08:35
sidebar: true
comments: false
sharing: true
footer: true
logo: enedis.png
ha_release: 0.79
ha_category: Energy
ha_iot_class: "Cloud Polling"
---
The `linky` sensor platform is showing the last day consumption of your home from the [Linky electric meter](https://www.enedis.fr/english).
## {% linkable_title Configuration %}
To add the Linky sensor to your installation, add your Enedis account credentials to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: linky
username: YOUR_LINKY_USERNAME
password: YOUR_LINKY_PASSWORD
```
{% configuration %}
username:
description: The Enedis account username.
required: true
type: string
password:
description: The Enedis account password.
required: true
type: string
{% endconfiguration %}

View File

@ -0,0 +1,43 @@
---
layout: page
title: "Logi Circle Sensor"
description: "Instructions on how to integrate your Logi Circle cameras within Home Assistant."
date: 2018-09-08 11:00
sidebar: true
comments: false
sharing: true
footer: true
logo: logi_circle.png
ha_category: Camera
ha_release: 0.79
ha_iot_class: "Cloud Polling"
---
The `logi_circle` sensor platform lets you monitor sensors connected to your [Logi Circle](https://circle.logi.com) cameras in Home Assistant.
<p class='note'>
You must have the [Logi Circle component](/components/logi_circle/) configured to use this sensor platform.
</p>
## {% linkable_title Configuration %}
Once you have enabled the [Logi Circle component](/components/logi_circle), add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: logi_circle
```
Configuration variables:
- **monitored_conditions** array (*Optional*): Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions supported by your camera will be enabled.
- **battery_level**: Return the battery level percentage from the camera.
- **last_activity_time**: Return the timestamp from the last time the Logi Circle camera detected any activity.
- **privacy_mode**: Return the privacy mode status from the camera.
- **signal_strength_category**: Return the WiFi signal level from the camera.
- **signal_strength_percentage**: Return the WiFi signal percentage from the camera.
- **speaker_volume**: Return the relative speaker volume from the camera (0-100%).
- **streaming_mode**: Return the streaming mode status from the camera.
Currently it supports all 1st and 2nd generation cameras. Cameras without an internal battery will not expose a `battery_level` sensor.

View File

@ -8,7 +8,7 @@ comments: false
sharing: true
footer: true
logo: miflora.png
ha_category: DIY
ha_category: Environment
ha_release: 0.29
ha_iot_class: "Local Polling"
---
@ -70,13 +70,10 @@ sensor:
- **name** (*Optional*): The name displayed in the frontend.
- **force_update** (*Optional*): Sends update events even if the value hasn't changed.
- **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_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.
<p class='note warning'>
By default the sensor is only polled once every 20 minutes. So, if you set `median: 3` it will take _at least_ 40 minutes before the sensor will report a value after a Home Assistant restart. Since the values usually change very slowly, this usually isn't a big problem. Keep in mind though that reducing polling intervals will have a negative effect on the battery life.
By default the sensor is only polled once every 20 minutes (`scan_interval` is 1200 seconds by default). On a Home Assistant restart sensor will report initial value. If you set `median: 3`, it will take _at least_ 40 minutes before the sensor will report an average value. Keep in mind though that reducing polling intervals will have a negative effect on the battery life.
</p>
A full configuration example could look like the one below:

View File

@ -8,7 +8,7 @@ comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category: Climate
ha_category: Environment
ha_release: '0.20'
ha_iot_class: "Local Polling"
---

View File

@ -13,7 +13,14 @@ ha_iot_class: "Cloud Polling"
ha_release: 0.77
---
The `netatmo_public` sensor allows you to expose data from [Netatmo](https://weathermap.netatmo.com/) to Home Assistant, even if you don't have a Netatmo device yourself. Currently, only live rain data is supported.
The `netatmo_public` sensor allows you to expose data from [Netatmo](https://weathermap.netatmo.com/) to Home Assistant, even if you don't have a Netatmo device yourself. Currently the following conditions are supported:
* temperature
* pressure
* humidity
* rain
* windstrength
* guststrength
To enable the Netatmo sensor, you have to set up [netatmo](/components/netatmo/).
@ -30,6 +37,13 @@ sensor:
lon_ne: -73.735
lat_sw: 40.552
lon_sw: -74.105
monitored_conditions:
- temperature
- pressure
- humidity
- rain
- windstrength
- guststrength
```
{% configuration %}
@ -54,14 +68,18 @@ areas:
description: Longitude of south-western corner of area.
required: true
type: string
monitored_conditions:
description: List of environment conditions to monitor.
required: true
type: list
name:
description: Name of the sensor.
required: false
type: string
default: Netatmo Public Data
type:
mode:
description: "How to calculate the value of the sensor if there are multiple stations reporting data. Accepts `max` or `avg`."
required: false
type: string
default: max
default: avg
{% endconfiguration %}

Some files were not shown because too many files have changed in this diff Show More