Merge branch 'rc' into current
@ -142,7 +142,6 @@ source/_integrations/hikvision.markdown @mezz64
|
||||
source/_integrations/hikvisioncam.markdown @fbradyirl
|
||||
source/_integrations/hisense_aehw4a1.markdown @bannhead
|
||||
source/_integrations/history.markdown @home-assistant/core
|
||||
source/_integrations/history_graph.markdown @andrey-git
|
||||
source/_integrations/hive.markdown @Rendili @KJonline
|
||||
source/_integrations/homeassistant.markdown @home-assistant/core
|
||||
source/_integrations/homekit_controller.markdown @Jc2k
|
||||
@ -385,7 +384,6 @@ source/_integrations/vlc_telnet.markdown @rodripf
|
||||
source/_integrations/waqi.markdown @andrey-git
|
||||
source/_integrations/watson_tts.markdown @rutkai
|
||||
source/_integrations/weather.markdown @fabaff
|
||||
source/_integrations/weblink.markdown @home-assistant/core
|
||||
source/_integrations/webostv.markdown @bendavid
|
||||
source/_integrations/websocket_api.markdown @home-assistant/core
|
||||
source/_integrations/wemo.markdown @sqldiablo
|
||||
|
@ -100,9 +100,9 @@ social:
|
||||
|
||||
# Home Assistant release details
|
||||
current_major_version: 0
|
||||
current_minor_version: 106
|
||||
current_patch_version: 6
|
||||
date_released: 2020-03-10
|
||||
current_minor_version: 107
|
||||
current_patch_version: 0
|
||||
date_released: 2020-03-18
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
|
@ -26,12 +26,12 @@ Please visit the [Abode website](https://goabode.com/) for further information a
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- **Alarm Control Panel**: Reports on the current alarm status and can be used to arm and disarm the system.
|
||||
- [**Binary Sensor**](/integrations/abode/#binary-sensor): Reports on `Quick Actions`, `Door Contacts`, `Connectivity` sensors (remotes, keypads, and status indicators), `Moisture` sensors, and `Motion` or `Occupancy` sensors. Also lists all Abode `Quick Actions` that are set up. You can trigger these quick actions by passing the `entity_id` of your quick action binary sensor to the [trigger_quick_action service](/integrations/abode/#trigger_quick_action).
|
||||
- **Binary Sensor**: Reports on `Quick Actions`, `Door Contacts`, `Connectivity` sensors (remotes, keypads, and status indicators), `Moisture` sensors, and `Motion` or `Occupancy` sensors.
|
||||
- **Camera**: Reports on `Camera` devices and will download and show the latest captured still image.
|
||||
- **Cover**: Reports on `Secure Barriers` and can be used to open and close the cover.
|
||||
- **Lock**: Reports on `Door Locks` and can be used to lock and unlock the door.
|
||||
- [**Light**](/integrations/abode/#light): Reports on `Dimmer` lights and can be used to dim or turn the light on and off.
|
||||
- [**Switch**](/integrations/abode/#switch): Reports on `Power Switch` and `Water Valve` devices which can be used to turn the devices on and off. Also reports on `Automations` set up in the Abode system and allows you to activate or deactivate them (does not currently work with Abode's CUE automations).
|
||||
- **Light**: Reports on `Dimmer` lights and can be used to dim or turn the light on and off.
|
||||
- **Switch**: Reports on `Power Switch` and `Water Valve` devices which can be turned on and off. Also reports on `Automations` set up in the Abode system and allows you to activate or deactivate them.
|
||||
- **Sensor**: Reports on `Temperature`, `Humidity`, and `Light` sensors.
|
||||
|
||||
## Configuration
|
||||
@ -115,16 +115,16 @@ For a full list of settings and valid values, consult the
|
||||
|
||||
### Service `capture_image`
|
||||
|
||||
Request a new still image from your Abode IR camera.
|
||||
Request a new still image from your Abode camera.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | No | String or list of strings that point at `entity_id`s of Abode cameras.
|
||||
|
||||
### Service `trigger_quick_action`
|
||||
### Service `trigger_automation`
|
||||
|
||||
Trigger a quick action automation on your Abode system.
|
||||
Trigger an automation on your Abode system.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | No | String or list of strings that point at `entity_id`s of binary_sensors that represent your Abode quick actions.
|
||||
| `entity_id` | No | String or list of strings that point at `entity_id`s of switches that represent your Abode automations.
|
||||
|
@ -10,7 +10,7 @@ ha_codeowners:
|
||||
ha_domain: airvisual
|
||||
---
|
||||
|
||||
The `airvisual` sensor platform queries the [AirVisual](https://airvisual.com/) API for air quality data. Data can be collected via latitude/longitude or by city/state/country. The resulting information creates sensors for the Air Quality Index (AQI), the human-friendly air quality level, and the main pollutant of that area. Sensors that conform to either/both the [U.S. and Chinese air quality standards](https://www.clm.com/publication.cfm?ID=366) can be created.
|
||||
The `airvisual` sensor platform queries the [AirVisual](https://airvisual.com/) API for air quality data. Data can be collected via latitude/longitude or by city/state/country. The resulting information creates sensors for the Air Quality Index (AQI), the human-friendly air quality level, and the main pollutant of that area. Sensors that conform to either/both the [U.S. and Chinese air quality standards](https://www.clm.com/publication.cfm?ID=366) are created.
|
||||
|
||||
This platform requires an AirVisual API key, which can be obtained [here](https://airvisual.com/api). Note that the platform was designed using the "Community" package; the "Startup" and "Enterprise" package keys should continue to function, but actual results may vary (or not work at all).
|
||||
|
||||
@ -18,7 +18,7 @@ The Community API key is valid for 12 months after which it will expire. You mus
|
||||
|
||||
<div class='note warning'>
|
||||
|
||||
The "Community" API key is limited to 10,000 calls per month. In order to leave a buffer, the `airvisual` platform queries the API every 10 minutes (600 seconds) by default. Modification of this (via the `scan_interval` key) to a too-low value may result in your API key being deactivated.
|
||||
The "Community" API key is limited to 10,000 calls per month. In order to leave a buffer, the `airvisual` platform queries the API every 10 minutes (600 seconds) by default. Note that each item in the `geographies` list will consume an API call with each update.
|
||||
|
||||
</div>
|
||||
|
||||
@ -27,8 +27,7 @@ The "Community" API key is limited to 10,000 calls per month. In order to leave
|
||||
To enable the platform and gather data via latitude/longitude, add the following lines to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: airvisual
|
||||
airvisual:
|
||||
api_key: YOUR_AIRVISUAL_API_KEY
|
||||
```
|
||||
|
||||
@ -37,74 +36,74 @@ api_key:
|
||||
description: Your AirVisual API key.
|
||||
required: true
|
||||
type: string
|
||||
monitored_conditions:
|
||||
description: "The air quality standard(s) to use (`us` for U.S., `cn` for Chinese)."
|
||||
required: true
|
||||
type: list
|
||||
default: ['us', 'cn']
|
||||
show_on_map:
|
||||
description: "Whether to show a marker on the map at the specified location."
|
||||
geographies:
|
||||
description: A list of geographical locations to monitor
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
scan_interval:
|
||||
description: "The rate in seconds at which AirVisual should be polled for new data."
|
||||
required: false
|
||||
type: integer
|
||||
default: 600
|
||||
latitude:
|
||||
description: The latitude of the location to monitor.
|
||||
required: false
|
||||
type: string
|
||||
default: "The latitude defined under the `homeassistant` key in `configuration.yaml`."
|
||||
longitude:
|
||||
description: The longitude of the location to monitor.
|
||||
required: false
|
||||
type: string
|
||||
default: "The longitude defined under the `homeassistant` key in `configuration.yaml`."
|
||||
city:
|
||||
description: The city to monitor.
|
||||
required: false
|
||||
type: string
|
||||
state:
|
||||
description: The state the city belongs to.
|
||||
required: false
|
||||
type: string
|
||||
country:
|
||||
description: The country the state belongs to.
|
||||
required: false
|
||||
type: string
|
||||
type: [list, map]
|
||||
keys:
|
||||
latitude:
|
||||
description: The latitude of the location to monitor.
|
||||
required: inclusive
|
||||
type: float
|
||||
longitude:
|
||||
description: The longitude of the location to monitor.
|
||||
required: inclusive
|
||||
type: float
|
||||
city:
|
||||
description: The city to monitor.
|
||||
required: inclusive
|
||||
type: string
|
||||
state:
|
||||
description: The state the city belongs to.
|
||||
required: inclusive
|
||||
type: string
|
||||
country:
|
||||
description: The country the state belongs to.
|
||||
required: inclusive
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## Example Configurations
|
||||
|
||||
Configuration using custom Latitude and Longitude:
|
||||
No explicit configuration (uses the `latitude` and `longitude` defined within `configuration.yaml`):
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: airvisual
|
||||
airvisual:
|
||||
api_key: YOUR_AIRVISUAL_API_KEY
|
||||
monitored_conditions:
|
||||
- cn
|
||||
show_on_map: false
|
||||
scan_interval: 300
|
||||
latitude: 42.81212
|
||||
longitude: 108.12422
|
||||
```
|
||||
|
||||
Configuration using city, state, and country:
|
||||
Configuration using a single custom latitude and longitude:
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: airvisual
|
||||
airvisual:
|
||||
api_key: YOUR_AIRVISUAL_API_KEY
|
||||
monitored_conditions:
|
||||
- us
|
||||
show_on_map: false
|
||||
geographies:
|
||||
latitude: 42.81212
|
||||
longitude: 108.12422
|
||||
scan_interval: 300
|
||||
city: Los Angeles
|
||||
state: California
|
||||
country: USA
|
||||
```
|
||||
|
||||
Configuration using multiple custom latitude and longitude pairs:
|
||||
|
||||
```yaml
|
||||
airvisual:
|
||||
api_key: YOUR_AIRVISUAL_API_KEY
|
||||
geographies:
|
||||
- latitude: 42.81212
|
||||
longitude: 108.12422
|
||||
- latitude: 32.87336
|
||||
longitude: -117.22743
|
||||
```
|
||||
|
||||
Configuration using a single city, state, and country:
|
||||
|
||||
```yaml
|
||||
airvisual:
|
||||
api_key: YOUR_AIRVISUAL_API_KEY
|
||||
geographies:
|
||||
city: Los Angeles
|
||||
state: California
|
||||
country: USA
|
||||
```
|
||||
|
||||
## Determining the City/State/Country
|
||||
@ -114,20 +113,17 @@ To easily determine the proper values for a particular location, use the [AirVis
|
||||
For example, Sao Paulo, Brazil shows a breadcrumb title of `Brazil > Sao Paulo > Sao Paulo`. Thus, the proper configuration would look like this:
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: airvisual
|
||||
api_key: abc123
|
||||
monitored_conditions:
|
||||
- us
|
||||
- cn
|
||||
city: sao-paulo
|
||||
state: sao-paulo
|
||||
country: brazil
|
||||
airvisual:
|
||||
api_key: YOUR_AIRVISUAL_API_KEY
|
||||
geographies:
|
||||
city: sao-paulo
|
||||
state: sao-paulo
|
||||
country: brazil
|
||||
```
|
||||
|
||||
## Sensor Types
|
||||
|
||||
When configured, the platform will create three sensors for each configured air quality standard:
|
||||
When configured, the platform will create three sensors for each air quality standard:
|
||||
|
||||
### Air Quality Index
|
||||
|
||||
|
@ -905,7 +905,15 @@ Support _"turn on"_ and _"turn off"_ utterances.
|
||||
|
||||
### Timer
|
||||
|
||||
Start, Pause, and Restart Timer entities in Home Assistant.
|
||||
Start a timer with using the _"turn on"_ utterance.
|
||||
|
||||
- _"Alexa, turn on the laundry."_
|
||||
|
||||
Cancel a timer using the _"turn off"_ utterance.
|
||||
|
||||
- _"Alexa, turn off the laundry."_
|
||||
|
||||
Pause and Restart Timer entities in Home Assistant.
|
||||
|
||||
- _"Alexa, pause the microwave."_
|
||||
- _"Alexa, hold the sous vide."_
|
||||
|
@ -68,6 +68,16 @@ require_ip:
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
interface:
|
||||
description: "The interface of the router that you want statistics from (e.g. eth0,eth1 etc)"
|
||||
required: false
|
||||
type: string
|
||||
default: eth0
|
||||
dnsmasq:
|
||||
description: "The location of the dnsmasq.leases files"
|
||||
required: false
|
||||
type: string
|
||||
default: /var/lib/misc
|
||||
sensors:
|
||||
description: List of enabled sensors
|
||||
required: false
|
||||
@ -116,32 +126,5 @@ The example above, creates the following sensors:
|
||||
|
||||
## Padavan custom firmware (The rt-n56u project)
|
||||
|
||||
The [rt-n56u project](https://bitbucket.org/padavan/rt-n56u) does not store `dnsmasq.leases` which is used to track devices at `/var/lib/misc/` as `asuswrt` do. However this integration can still be used for the rt-n56u project by linking `dnsmasq.leases` during the boot process of the router.
|
||||
|
||||
Follow these steps to setup the link.
|
||||
|
||||
1. SSH or Telnet into the router. (default ssh admin@my.router)
|
||||
2. Run the following command to find the file:
|
||||
|
||||
```bash
|
||||
$ find / -name "dnsmasq.leases"
|
||||
```
|
||||
3. Copy or remember the full path of, example: `/tmp/dnsmasq.leases`
|
||||
4. Create the folder if it does not exist:
|
||||
|
||||
```bash
|
||||
$ mkdir -p /var/lib/misc
|
||||
```
|
||||
5. Add the linking process to the routers started script (one line):
|
||||
|
||||
```bash
|
||||
$ echo "/bin/ln -s /tmp/dnsmasq.leases /var/lib/misc/dnsmasq.leases" >> /etc/storage/started_script.sh
|
||||
```
|
||||
|
||||
6. Reboot the router or link the file:
|
||||
|
||||
```bash
|
||||
$ /bin/ln -s /tmp/dnsmasq.leases /var/lib/misc/dnsmasq.leases
|
||||
```
|
||||
|
||||
The started script is also accessible and editable in the Router's web interface. `Advanced Settings -> Customization -> Scripts -> Custom User Script -> Run After Router Started`
|
||||
The [rt-n56u project](https://bitbucket.org/padavan/rt-n56u) does not store `dnsmasq.leases` which is used to track devices at `/var/lib/misc/` as `asuswrt` do. However this integration can still be used for the rt-n56u project by changing the dnsmasq location using the `dnsmasq` variable to `dnsmasq: '/tmp'`
|
||||
Also, to get the statistics for the `WAN` port, specify `interface: 'eth3'` as this is the interface used in the rt-n56u project
|
||||
|
@ -5,10 +5,12 @@ logo: august.png
|
||||
ha_category:
|
||||
- Doorbell
|
||||
- Binary Sensor
|
||||
- Sensor
|
||||
- Camera
|
||||
- Lock
|
||||
ha_release: 0.64
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@bdraco'
|
||||
ha_domain: august
|
||||
@ -20,6 +22,7 @@ There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- Doorbell
|
||||
- Binary Sensor
|
||||
- Sensor
|
||||
- Camera
|
||||
- Lock
|
||||
|
||||
@ -31,7 +34,9 @@ August Lock 2nd Gen will need either August Connect or Doorbell to connect to Ho
|
||||
|
||||
You will need your August login information (username (either phone# or email), and password) to use this module.
|
||||
|
||||
To set it up, add the following to your `configuration.yaml` file:
|
||||
To add `August` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **August**.
|
||||
|
||||
Alternatively, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -65,16 +70,56 @@ Once Home Assistant is started, a configurator will pop up asking you to enter v
|
||||
|
||||
### Binary Sensor
|
||||
|
||||
If you have August Doorbell, once you have enabled the August component, you should see following sensors:
|
||||
If you have an August Doorbell, once you have enabled the August component, you should see following sensors:
|
||||
|
||||
- Doorbell ding sensor
|
||||
- Doorbell motion sensor
|
||||
- Doorbell online sensor
|
||||
|
||||
If you have August Smart Lock with DoorSense, once you have enabled the August component, you should see the following sensors:
|
||||
If you have an August Smart Lock with DoorSense, once you have enabled the August component, you should see the following sensors:
|
||||
|
||||
- Door sensor
|
||||
|
||||
### Camera
|
||||
|
||||
The `august` camera platform allows you to view the latest camera image (triggered by motion) by your [August](https://august.com/) device in Home Assistant.
|
||||
|
||||
### Sensor
|
||||
|
||||
If you have an August Doorbell with a battery, once you have enabled the August component, you should see the following sensors:
|
||||
|
||||
- Doorbell Battery
|
||||
|
||||
If you have an August Smart Lock, once you have enabled the August component, you should see the following sensors:
|
||||
|
||||
- Lock Battery
|
||||
- Lock Operation
|
||||
|
||||
If you have an August Keypad, once you have enabled the August component, you should see the following sensors:
|
||||
|
||||
- Keypad Battery
|
||||
|
||||
### Presence Detection with Lock Operation
|
||||
|
||||
Using the lock operation sensors, you can detect when a user operates a lock and is physically present (not remote). The below example will trigger when the user named “John Doe” in August locks or unlocks the door from the keypad (if present), via Bluetooth from their phone, or by auto-unlock. The state of the sensor will be the name of the party operating the lock as returned by August.
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
- id: '1583706446906'
|
||||
alias: joe_doe_front_door_operate
|
||||
description: John Doe locks or unlocks the Front Door
|
||||
trigger:
|
||||
- entity_id: sensor.front_door_operator
|
||||
platform: state
|
||||
to: John Doe
|
||||
condition:
|
||||
- condition: template
|
||||
value_template: "{{ not state_attr('sensor.front_door_operator', 'remote') }}"
|
||||
action:
|
||||
- data: {}
|
||||
entity_id: camera.inside
|
||||
service: camera.turn_off
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
52
source/_integrations/avri.markdown
Normal file
@ -0,0 +1,52 @@
|
||||
---
|
||||
title: Avri
|
||||
description: Instructions on how to set up Avri Waste sensor within Home Assistant.
|
||||
logo: avri.jpeg
|
||||
ha_category:
|
||||
- Sensor
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_release: 0.107
|
||||
ha_codeowners:
|
||||
- '@timvancann'
|
||||
ha_domain: avri
|
||||
---
|
||||
|
||||
The `Avri Waste` platform allows you to track the next scheduled waste pickup and the type of waste from [Avri](https://www.avri.nl/).
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable this sensor, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: avri
|
||||
zip_code: YOUR_ZIP_CODE
|
||||
house_number: YOUR_HOUSE_NUMBER
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
zip_code:
|
||||
description: Your zip code
|
||||
required: true
|
||||
type: string
|
||||
house_number:
|
||||
description: Your house number
|
||||
required: true
|
||||
type: integer
|
||||
house_number_extension:
|
||||
description: Your house number extension
|
||||
required: false
|
||||
type: string
|
||||
county_code:
|
||||
description: Your country code
|
||||
required: false
|
||||
type: string
|
||||
default: NL
|
||||
{% endconfiguration %}
|
||||
|
||||
The default frequency for pulling data from the Avri API is once every 4 hours. If the Avri API does not return any pickup days the state of the sensor is set to `unknown`.
|
||||
|
||||
<p class='note warning'>
|
||||
The Avri sensor uses an unofficial API to obtain data. Use it at your own risk.
|
||||
</p>
|
@ -18,7 +18,7 @@ The `cert_expiry` sensor fetches information from a configured URL and displays
|
||||
|
||||
There are 2 options in configuring the `cert_expiry` sensor:
|
||||
|
||||
- Via the Home Assistant user interface where it will let you enter a name, host and port for the certificate to check.
|
||||
- Via the Home Assistant user interface where it will let you enter a host and port for the certificate to check.
|
||||
- Via the Home Assistant `configuration.yaml` file.
|
||||
|
||||
|
||||
@ -39,13 +39,17 @@ port:
|
||||
required: false
|
||||
default: 443
|
||||
type: integer
|
||||
name:
|
||||
description: The friendly name for the certificate.
|
||||
required: false
|
||||
default: SSL Certificate Expiry
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## Attributes
|
||||
|
||||
The Certificate Expiry entities provide extra attributes to represent the state of the certificate.
|
||||
|
||||
| Name | Description |
|
||||
| ---- | ----------- |
|
||||
| `is_valid` | If the certificate is able to be validated: `True` / `False`.
|
||||
| `error` | A human-readable error description if the certificate is considered invalid, "None" otherwise.
|
||||
|
||||
<div class='note warning'>
|
||||
Make sure that the URL exactly matches your endpoint or resource.
|
||||
</div>
|
||||
|
@ -6,83 +6,34 @@ ha_category:
|
||||
ha_release: 0.25
|
||||
ha_iot_class: Local Polling
|
||||
ha_domain: directv
|
||||
ha_config_flow: true
|
||||
---
|
||||
|
||||
Master [DirecTV](https://www.directv.com/) receivers (ie: those that have tuners) will be automatically discovered if you enable the [discovery integration](/integrations/discovery/) and the receiver is powered-on. Slave/RVU client/Genie boxes will also be discovered, but only if they are also online at the time of discovery.
|
||||
The DirecTV platform allows you to control a [DirecTV](https://www.directv.com) receiver and its client devices.
|
||||
|
||||
### Configuration
|
||||
|
||||
Go to the integrations page in your configuration and click on new integration -> DirecTV.
|
||||
If your DirecTV device is on, it has likely been discovered already and you just have to confirm the detected device.
|
||||
|
||||
### YAML Configuration
|
||||
|
||||
Manual configuration of your DirecTV device is also possible, add the following to your `configuration.yaml` file:
|
||||
|
||||
To ensure that your DirecTV boxes are always found and configured, they should be added into your `configuration.yaml`.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
media_player:
|
||||
- platform: directv
|
||||
directv:
|
||||
- host: IP_ADDRESS
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: The IP address or the hostname of the device. Use only if you don't want to scan for devices.
|
||||
required: false
|
||||
type: string
|
||||
port:
|
||||
description: The port your receiver is using.
|
||||
required: false
|
||||
default: 8080
|
||||
type: integer
|
||||
name:
|
||||
description: Use to give a specific name to the device.
|
||||
required: false
|
||||
default: DirecTV Receiver
|
||||
type: string
|
||||
device:
|
||||
description: Use to specify a particular receiver in a Genie setup.
|
||||
required: false
|
||||
description: "The hostname or IP of the DirecTV receiver, e.g., `192.168.0.10`."
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
To find valid device IDs, open `http://<IP Address of Genie Server>:8080/info/getLocations` in a web browser. For each Genie slave, you will find a variable `clientAddr` in the response, and this should be used for `device` in `configuration.yaml`
|
||||
|
||||
For example, a response such as:
|
||||
|
||||
```json
|
||||
{
|
||||
"locations": [
|
||||
{
|
||||
"clientAddr": "0",
|
||||
"locationName": "MASTER GENIE SERVER",
|
||||
"tunerBond": true
|
||||
},
|
||||
{
|
||||
"clientAddr": "5009591D6969",
|
||||
"locationName": "SOME SLAVE GENIE"
|
||||
}
|
||||
],
|
||||
"status": {
|
||||
"code": 200,
|
||||
"commandResult": 0,
|
||||
"msg": "OK.",
|
||||
"query": "/info/getLocations"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Could be formatted into `configuration.yaml` like so:
|
||||
|
||||
```yaml
|
||||
media_player:
|
||||
- platform: directv
|
||||
host: 192.168.1.10
|
||||
port: 8080
|
||||
name: Main DirecTV Box
|
||||
device: 0
|
||||
- platform: directv
|
||||
host: 192.168.1.10
|
||||
port: 8080
|
||||
name: Bedroom DirecTV
|
||||
device: 5009591D6969
|
||||
```
|
||||
|
||||
It is important to notice that the host and port variables for slave/Genie receivers are the same as the master receiver.
|
||||
|
||||
## Services
|
||||
|
||||
### Media control services
|
||||
|
@ -1,10 +1,11 @@
|
||||
---
|
||||
title: Philips Dynalite
|
||||
description: Instructions on setting up Philips Dynalite within Home Assistant.
|
||||
title: "Philips Dynalite"
|
||||
description: "Instructions on setting up Philips Dynalite within Home Assistant."
|
||||
logo: dynalite.png
|
||||
ha_category:
|
||||
- Hub
|
||||
- Light
|
||||
- Switch
|
||||
ha_iot_class: Local Push
|
||||
ha_release: 0.106
|
||||
ha_codeowners:
|
||||
@ -13,17 +14,18 @@ ha_config_flow: true
|
||||
ha_domain: dynalite
|
||||
---
|
||||
|
||||
Philips Dynalite support is integrated into Home Assistant as a hub that can drive the light platforms.
|
||||
Philips Dynalite support is integrated into Home Assistant as a hub that can drive the light and switch platforms.
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- Lights
|
||||
- Switches
|
||||
|
||||
A Philips Dynalite hub connects to the Dynet network, which is composed of areas, channels, and preset.
|
||||
|
||||
A Dynalite area typically (although not necessarily) defines some physical area, such as a room.
|
||||
|
||||
Each area can have one or more channels that correspond to the different devices they control. A channel can relate to a dimmable light, or other devices, such as a cover.
|
||||
Each area can have one or more channels that correspond to the different devices they control. A channel can relate to a dimmable light, or other devices.
|
||||
|
||||
Additionally, each area can have one or more presets that determine the behavior of all the channels, and sometimes trigger additional actions. Typically, preset 1 in an area means 'on', and preset '4' means off. Additional presets could be used for scenes and dimming.
|
||||
|
||||
@ -54,17 +56,17 @@ name:
|
||||
type: string
|
||||
default: dynalite
|
||||
active:
|
||||
description: Actively query network. When starting, it will query all devices for their current status, and also will send queries when some changes are in progress (e.g., lights dimming or covers moving). Better experience but creates more load on the Dynalite network.
|
||||
description: "Actively query network. When starting, it will query all devices for their current status, and also will send queries when some changes are in progress (e.g., lights dimming or covers moving). Better experience but creates more load on the Dynalite network. Value can be `on`, `off`, our `init`, where `init` will only send queries during the initial init of Home Assistant."
|
||||
required: false
|
||||
type: boolean
|
||||
type: [boolean, string]
|
||||
default: false
|
||||
polltimer:
|
||||
description: Polling interval for devices in transition. Value in seconds. When devices are in transition (e.g., a light fading), it will ask for a new state every X seconds until it is at the target level. Only relevant when active is set.
|
||||
description: "Polling interval for devices in transition. Value in seconds. When devices are in transition (e.g., a light fading), it will ask for a new state every X seconds until it is at the target level. Only relevant when active is set to `on`."
|
||||
required: false
|
||||
type: float
|
||||
default: 1.0
|
||||
autodiscover:
|
||||
description: Enable auto-discover. As Dynalite does not support autodiscovery, this tracks event on your network, so if you turn on a light, it will be added to Home Assistant.
|
||||
description: Enable auto-discover. As Dynalite does not support native autodiscovery, this tracks events on your network, so if you turn on a light, it will be added to Home Assistant.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
@ -82,7 +84,7 @@ area:
|
||||
required: true
|
||||
type: map
|
||||
keys:
|
||||
'AREA_NUMBER':
|
||||
AREA_NUMBER:
|
||||
description: The Dynalite area number, 1-255.
|
||||
required: true
|
||||
type: map
|
||||
@ -96,12 +98,37 @@ area:
|
||||
required: false
|
||||
type: float
|
||||
default: 2.0
|
||||
preset:
|
||||
description: Specific presets for the area.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
PRESET_NUMBER:
|
||||
description: The Dynalite preset number in the area.
|
||||
required: true
|
||||
type: map
|
||||
keys:
|
||||
name:
|
||||
description: Name of the preset.
|
||||
required: false
|
||||
type: string
|
||||
default: AREA_NAME Preset PRESET_NUMBER
|
||||
fade:
|
||||
description: Fade time for the preset, in seconds.
|
||||
required: false
|
||||
type: float
|
||||
default: 2.0
|
||||
nodefault:
|
||||
description: Do not use the default presets defined globally, but only the specific ones defined for this area.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
channel:
|
||||
description: Map of the channels in this area.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
'CHANNEL_NUMBER':
|
||||
CHANNEL_NUMBER:
|
||||
description: The Dynalite channel number in the area, 1-255.
|
||||
required: true
|
||||
type: map
|
||||
@ -110,12 +137,37 @@ area:
|
||||
description: Name of the channel.
|
||||
required: false
|
||||
type: string
|
||||
default: \"AREA_NAME Channel CHANNEL_NUMBER\"
|
||||
default: AREA_NAME Channel CHANNEL_NUMBER
|
||||
type:
|
||||
description: "Type of entity this should appear as. Can be either `light` or if this is a device that is not a light (e.g., water heater), can be `switch`."
|
||||
require: false
|
||||
type: string
|
||||
default: light
|
||||
fade:
|
||||
description: Fade time for the channel, in seconds.
|
||||
required: false
|
||||
type: float
|
||||
default: 2.0
|
||||
preset:
|
||||
description: "Default presets for any area without the `nodefault` option."
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
PRESET_NUMBER:
|
||||
description: The Dynalite preset number in the area.
|
||||
required: true
|
||||
type: map
|
||||
keys:
|
||||
name:
|
||||
description: "Name of the preset. When used in an area, it will be 'AREA_NAME name'. For example, if a room's name is 'Kitchen' and preset 4 is defined with the name `Off`, it will appear in HA as 'Kitchen Off'."
|
||||
required: false
|
||||
type: string
|
||||
default: AREA_NAME Preset PRESET_NUMBER
|
||||
fade:
|
||||
description: Fade time for the preset, in seconds.
|
||||
required: false
|
||||
type: float
|
||||
default: 2.0
|
||||
{% endconfiguration %}
|
||||
|
||||
## Examples
|
||||
@ -128,17 +180,29 @@ dynalite:
|
||||
port: 12345
|
||||
autodiscover: true
|
||||
polltimer: 1
|
||||
areacreate: auto
|
||||
log_level: debug
|
||||
area:
|
||||
'1':
|
||||
name: Office
|
||||
'2':
|
||||
name: Living Room
|
||||
nodefault: true
|
||||
channel:
|
||||
'2':
|
||||
name: Entrance Spot
|
||||
fade: 10.0
|
||||
'3':
|
||||
name: Dining Table
|
||||
preset:
|
||||
'5':
|
||||
name: Blinking Lights
|
||||
'6':
|
||||
name: All Off
|
||||
fade: 3.0
|
||||
preset:
|
||||
'1':
|
||||
name: 'On'
|
||||
'4':
|
||||
name: 'Off'
|
||||
```
|
||||
|
||||
## Initial configuration and discovery
|
||||
|
38
source/_integrations/edl21.markdown
Normal file
@ -0,0 +1,38 @@
|
||||
---
|
||||
title: "EDL21 smart meter"
|
||||
description: "Instructions on how to integrate SML-based EDL21 smart meters into Home Assistant."
|
||||
ha_category:
|
||||
- Sensor
|
||||
ha_release: 0.107
|
||||
ha_domain: edl21
|
||||
---
|
||||
|
||||
The `edl21` integration lets you read German EDL21 smart meters using [SML](https://de.wikipedia.org/wiki/Smart_Message_Language) from Home Assistant.
|
||||
|
||||
In order to connect to the smart meter, an infrared transceiver is required.
|
||||
|
||||
Compatible transceivers:
|
||||
|
||||
- [DIY](https://wiki.volkszaehler.org/hardware/controllers/ir-schreib-lesekopf-rs232-ausgang)
|
||||
- [Weidmann Elektronik Schreib-/Lesekopf USB](https://shop.weidmann-elektronik.de/index.php?page=product&info=24)
|
||||
|
||||
Tested smart meters:
|
||||
|
||||
- Iskraemeco MT175 (ISKRA MT175-D2A51-V22-K0t)
|
||||
|
||||
## Configuration
|
||||
|
||||
To set it up, add the following information to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: edl21
|
||||
serial_port: /dev/ttyUSB0
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
serial_port:
|
||||
description: The device to communicate with. When using ser2net, use socket://host:port.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
@ -22,17 +22,49 @@ sensor:
|
||||
id: 1
|
||||
```
|
||||
|
||||
As of Feb 2020, the integration will discover all sensors from Emoncms and will use the unit of measurement specified in the Feed from Emoncms, in preference to the one set in the configuration. Tested with [Emoncms](https://github.com/emoncms/emoncms) V10.1.13 - `unit` was added to the API around version V9.9.1.
|
||||
|
||||
## Configuration variables
|
||||
|
||||
- `api_key` (*Required*): The read API key for your Emoncms user.
|
||||
- `url` (*Required*): The base URL of Emoncms, use <https://emoncms.org> for the cloud based version.
|
||||
- `id` (*Required*): Positive integer identifier for the sensor. Must be unique if you specify multiple Emoncms sensors.
|
||||
- `include_only_feed_id` (*Optional*): Positive integer list of Emoncms feed IDs. Only the feeds with feed IDs specified here will be displayed. Can not be specified if `exclude_feed_id` is specified.
|
||||
- `exclude_feed_id` (*Optional*): Positive integer list of Emoncms feed IDs. All the feeds will be displayed as sensors except the ones listed here. Can not be specified if `include_only_feed_id` is specified.
|
||||
- `sensor_names` (*Optional*): Dictionary of names for the sensors created that are created based on feed ID. The dictionary consists of `feedid: name` pairs. Sensors for feeds with their feed ID mentioned here will get the chosen name instead of the default name
|
||||
- `value_template` (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to alter the feed value.
|
||||
- `scan_interval` (*Optional*): Defines the update interval of the sensor in seconds.
|
||||
- `unit_of_measurement` (*Optional*): Defines the unit of measurement of for all the sensors. default is "W".
|
||||
{% configuration %}
|
||||
api_key:
|
||||
description: The read API key for your Emoncms user.
|
||||
required: true
|
||||
type: string
|
||||
url:
|
||||
description: "The base URL of Emoncms, use <https://emoncms.org> for the cloud-based version. For self-hosted Emoncms or EmonPi you may need a URL of `http://x.x.x.x/emoncms`."
|
||||
required: true
|
||||
type: string
|
||||
id:
|
||||
description: Positive integer identifier for the sensor. Must be unique if you specify multiple Emoncms sensors.
|
||||
required: true
|
||||
type: integer
|
||||
include_only_feed_id:
|
||||
description: Positive integer list of Emoncms feed IDs. Only the feeds with feed IDs specified here will be displayed. Can not be specified if `exclude_feed_id` is specified.
|
||||
required: false
|
||||
type: list
|
||||
exclude_feed_id:
|
||||
description: Positive integer list of Emoncms feed IDs. All the feeds will be displayed as sensors except the ones listed here. Can not be specified if `include_only_feed_id` is specified.
|
||||
required: false
|
||||
type: list
|
||||
sensor_names:
|
||||
description: "Dictionary of names for the sensors created that are created based on feed ID. The dictionary consists of `feedid: name` pairs. Sensors for feeds with their feed ID mentioned here will get the chosen name instead of the default name."
|
||||
required: false
|
||||
type: [integer, list]
|
||||
value_template:
|
||||
description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to alter the feed value.
|
||||
required: false
|
||||
type: template
|
||||
scan_interval:
|
||||
description: Defines the update interval of the sensor in seconds.
|
||||
required: false
|
||||
type: integer
|
||||
unit_of_measurement:
|
||||
description: Defines the unit of measurement to be used for any sensor where the unit is *not* set in Emoncms. If no unit is set in Emoncms or in the configuration, the default (W) will be used.
|
||||
required: false
|
||||
default: W
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## Default naming scheme
|
||||
|
||||
@ -46,6 +78,16 @@ If `sensor_names` is used, any feeds with defined names will get those names exa
|
||||
|
||||
In this section you find some more examples of how this sensor can be used.
|
||||
|
||||
Minimal configuration. All Feeds are added as sensors with the unit of measurement being set by the Emoncms Feed or the default unit.
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
platform: emoncms
|
||||
api_key: API_KEY
|
||||
url: https://emoncms.org
|
||||
id: 1
|
||||
```
|
||||
|
||||
Display only feeds with their feed IDs specified in `include_only_feed_id`.
|
||||
|
||||
```yaml
|
||||
@ -70,7 +112,7 @@ sensor:
|
||||
api_key: API_KEY
|
||||
url: https://emoncms.org
|
||||
id: 1
|
||||
unit_of_measurement: "KWH"
|
||||
unit_of_measurement: "kWh"
|
||||
exclude_feed_id:
|
||||
- 107
|
||||
- 105
|
||||
@ -85,7 +127,7 @@ sensor:
|
||||
api_key: API_KEY
|
||||
url: https://emoncms.org
|
||||
id: 1
|
||||
unit_of_measurement: "KW"
|
||||
unit_of_measurement: "kW"
|
||||
include_only_feed_id:
|
||||
- 5
|
||||
- 120
|
||||
@ -127,7 +169,7 @@ sensor:
|
||||
- 107
|
||||
- 106
|
||||
- platform: emoncms
|
||||
api_key: put your emoncms read api key here
|
||||
api_key: API_KEY
|
||||
url: https://emoncms.org
|
||||
id: 2
|
||||
scan_interval: 60
|
||||
|
244
source/_integrations/ezviz.markdown
Normal file
@ -0,0 +1,244 @@
|
||||
---
|
||||
title: "Ezviz Camera"
|
||||
description: "Integrate Ezviz camera within Home Assistant."
|
||||
logo: ezviz.png
|
||||
ha_release: 0.107
|
||||
ha_category:
|
||||
- Camera
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_domain: ezviz
|
||||
---
|
||||
|
||||
The `ezviz` sensor platform uses the EzvizLife API to interact with the devices.
|
||||
It also exposes an RTSP stream, by using the local camera IPs (so the device hosting Home Assistant has to be able to access the local IP of the cameras).
|
||||
|
||||
As there is no official documentation for the API, the component retrieves data from the API used in the Ezviz mobile app, [hosted here](https://apiieu.ezvizlife.com).
|
||||
|
||||
## Configuration
|
||||
|
||||
The configuration (see below) needs your Ezviz username & password you use within the Ezviz mobile application.
|
||||
|
||||
Next, add the Ezviz camera to your `configuration.yaml` file like below:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
camera:
|
||||
- platform: ezviz
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
cameras:
|
||||
D12345678:
|
||||
username: YOUR_CAMERA_USERNAME
|
||||
password: YOUR_CAMERA_PASSWORD
|
||||
```
|
||||
|
||||
As you see, here is the way to describe the camera credentials.
|
||||
The password for each camera is usually written underneath the device, near the QR code. It is also code "verification code".
|
||||
|
||||
{% configuration %}
|
||||
username:
|
||||
description: The Ezviz account username.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The Ezviz account password.
|
||||
required: true
|
||||
type: string
|
||||
cameras:
|
||||
description: A list of cameras
|
||||
required: false
|
||||
type: string
|
||||
serial:
|
||||
description: The Ezviz camera Serial, usually a letter followed by 8 digits.
|
||||
required: true
|
||||
type: string
|
||||
username:
|
||||
description: The Ezviz camera RTSP username.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The Ezviz verification code.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## Lovelace
|
||||
|
||||
If you want a shiny Lovelace card, with proper buttons, here is a snippet of a Lovelace card:
|
||||
|
||||
```yaml
|
||||
|
||||
camera_image: camera.c6n_d12345678
|
||||
camera_view: live
|
||||
elements:
|
||||
- icon: 'mdi:arrow-up'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
bottom: 50px
|
||||
right: 25px
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: camera.ezviz_ptz
|
||||
service_data:
|
||||
direction: up
|
||||
entity_id: camera.c6n_d12345678
|
||||
type: icon
|
||||
- icon: 'mdi:arrow-down'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
bottom: 0px
|
||||
right: 25px
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: camera.ezviz_ptz
|
||||
service_data:
|
||||
direction: down
|
||||
entity_id: camera.c6n_d12345678
|
||||
type: icon
|
||||
- icon: 'mdi:arrow-left'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
bottom: 25px
|
||||
right: 50px
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: camera.ezviz_ptz
|
||||
service_data:
|
||||
direction: left
|
||||
entity_id: camera.c6n_d12345678
|
||||
type: icon
|
||||
- icon: 'mdi:arrow-right'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
bottom: 25px
|
||||
right: 0px
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: camera.ezviz_ptz
|
||||
service_data:
|
||||
direction: right
|
||||
entity_id: camera.c6n_d12345678
|
||||
type: icon
|
||||
- icon: 'mdi:run-fast'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
top: 25px
|
||||
right: 25px
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: camera.ezviz_switch_follow_move_on
|
||||
service_data:
|
||||
entity_id: camera.c6n_d12345678
|
||||
confirmation: true
|
||||
type: icon
|
||||
- icon: 'mdi:run'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
top: 25px
|
||||
right: 0px
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: camera.ezviz_switch_follow_move_off
|
||||
service_data:
|
||||
entity_id: camera.c6n_d12345678
|
||||
confirmation: true
|
||||
type: icon
|
||||
- icon: 'mdi:eye'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
right: 25px
|
||||
top: 50px
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: camera.ezviz_switch_privacy_off
|
||||
service_data:
|
||||
entity_id: camera.c6n_d12345678
|
||||
confirmation: true
|
||||
type: icon
|
||||
- icon: 'mdi:eye-off'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
right: 0px
|
||||
top: 50px
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: camera.ezviz_switch_privacy_on
|
||||
service_data:
|
||||
entity_id: camera.c6n_d12345678
|
||||
confirmation: true
|
||||
type: icon
|
||||
- icon: 'mdi:volume-high'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
right: 25px
|
||||
top: 75px
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: camera.ezviz_switch_audio_off
|
||||
service_data:
|
||||
entity_id: camera.c6n_d12345678
|
||||
confirmation: true
|
||||
type: icon
|
||||
- icon: 'mdi:volume-off'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
right: 0px
|
||||
top: 75px
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: camera.ezviz_switch_audio_on
|
||||
service_data:
|
||||
entity_id: camera.c6n_d12345678
|
||||
confirmation: true
|
||||
type: icon
|
||||
- icon: 'mdi:led-on'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
right: 25px
|
||||
top: 100px
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: camera.ezviz_switch_state_off
|
||||
service_data:
|
||||
entity_id: camera.c6n_d12345678
|
||||
confirmation: true
|
||||
type: icon
|
||||
- icon: 'mdi:led-off'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
right: 0px
|
||||
top: 100px
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: camera.ezviz_switch_state_on
|
||||
service_data:
|
||||
entity_id: camera.c6n_d12345678
|
||||
confirmation: true
|
||||
type: icon
|
||||
- icon: 'mdi:brightness-4'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
right: 25px
|
||||
top: 100px
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: camera.ezviz_switch_ir_off
|
||||
service_data:
|
||||
entity_id: camera.c6n_d12345678
|
||||
confirmation: true
|
||||
type: icon
|
||||
- icon: 'mdi:brightness-5'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
right: 0px
|
||||
top: 100px
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: camera.ezviz_switch_ir_on
|
||||
service_data:
|
||||
entity_id: camera.c6n_d12345678
|
||||
confirmation: true
|
||||
type: icon
|
||||
entity: camera.c6n_d12345678
|
||||
type: picture-elements
|
||||
```
|
@ -119,20 +119,3 @@ script:
|
||||
title: Blue
|
||||
payload: DEVELOPER_DEFINED_PAYLOAD_FOR_PICKING_BLUE
|
||||
```
|
||||
|
||||
You can now also use Facebook public beta broadcast API to push messages to ALL users who interacted with your chatbot on your page, without having to collect their number. This will scale to thousands of users. Facebook requires that this only be used for non-commercial purposes and they validate every message you send. Also note, your Facebook bot needs to be authorized for "page_subscritions" if you want to make it to all but can be used right away to a selected group of testers of your choice.
|
||||
|
||||
To enable broadcast just use the keyword "BROADCAST" as your target. Only put ONE target BROADCAST as below:
|
||||
|
||||
```yaml
|
||||
- alias: Facebook Broadcast
|
||||
trigger:
|
||||
platform: sun
|
||||
event: sunset
|
||||
action:
|
||||
service: notify.facebook
|
||||
data:
|
||||
message: Some text you want to send
|
||||
target:
|
||||
- BROADCAST
|
||||
```
|
||||
|
@ -49,6 +49,11 @@ password:
|
||||
required: false
|
||||
default: 1234
|
||||
type: string
|
||||
name:
|
||||
description: Friendly name of the Internet Radio. If present this will override the friendly name reported by the radio itself.
|
||||
required: false
|
||||
default: empty
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
Some models use a separate port (2244) for API access, this can be verified by visiting http://[host]:[port]/device.
|
||||
|
@ -7,6 +7,7 @@ ha_category:
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_release: 0.98
|
||||
ha_config_flow: true
|
||||
ha_quality_scale: platinum
|
||||
ha_codeowners:
|
||||
- '@exxamalte'
|
||||
ha_domain: geonetnz_quakes
|
||||
@ -26,7 +27,7 @@ on the default map automatically, or on a map card by defining the source
|
||||
converted to the unit (kilometers or miles) configured in Home Assistant.
|
||||
|
||||
<p class='img'>
|
||||
<img src='{{site_root}}/images/screenshots/geonetnz-quakes-feed-map.png' />
|
||||
<img src='/images/screenshots/geonetnz-quakes-feed-map.png' />
|
||||
</p>
|
||||
|
||||
The data is updated every 5 minutes.
|
||||
@ -111,7 +112,7 @@ some useful attributes that indicate the currentness of the data retrieved
|
||||
from the feed.
|
||||
|
||||
<p class='img'>
|
||||
<img src='{{site_root}}/images/screenshots/geonetnz-quakes-sensor.png' />
|
||||
<img src='/images/screenshots/geonetnz-quakes-sensor.png' />
|
||||
</p>
|
||||
|
||||
| Attribute | Description |
|
||||
|
64
source/_integrations/griddy.markdown
Normal file
@ -0,0 +1,64 @@
|
||||
---
|
||||
title: Griddy
|
||||
description: Instructions on how to integrate griddy prices into Home Assistant.
|
||||
ha_category:
|
||||
- Sensor
|
||||
ha_release: 0.107
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@bdraco'
|
||||
ha_domain: griddy
|
||||
---
|
||||
|
||||
The `griddy` integration allows you to integrate your [Griddy](https://griddy.com/) price data into Home Assistant.
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- Sensor
|
||||
|
||||
## Configuration
|
||||
|
||||
You will need your Griddy Load Zone to use this module.
|
||||
|
||||
To add `Griddy` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Griddy**.
|
||||
|
||||
Alternatively, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
griddy:
|
||||
loadzone: YOUR_LZ
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
loadzone:
|
||||
description: Your Load Zone is in your Griddy account under “Account > Meter > Load Zone.”
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
### Sensor
|
||||
|
||||
The current price for the Load Zone will appear as a sensor:
|
||||
|
||||
- LZ_XXXXX Price Now
|
||||
|
||||
### Example Automation
|
||||
|
||||
```yaml
|
||||
- id: '1572630019168'
|
||||
alias: Stop Tesla Charging if Power Price Spikes
|
||||
description: ''
|
||||
trigger:
|
||||
- above: '30'
|
||||
entity_id: sensor.lz_houston_price_now
|
||||
platform: numeric_state
|
||||
condition:
|
||||
- condition: zone
|
||||
entity_id: device_tracker.my_tesla
|
||||
zone: zone.home
|
||||
action:
|
||||
- service: switch.turn_off
|
||||
entity_id: switch.my_tesla_charger_switch
|
||||
```
|
@ -71,7 +71,7 @@ Without any `include` or `exclude` configuration the history displays graphs for
|
||||
Define domains and entities to `exclude` (aka. blacklist). This is convenient
|
||||
when you are basically happy with the information displayed, but just want to
|
||||
remove some entities or domains. Usually these are entities/domains which do not
|
||||
change (like `weblink`) or rarely change (like `updater` or `automation`).
|
||||
change or rarely change (like `updater` or `automation`).
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry with exclude
|
||||
@ -79,7 +79,6 @@ history:
|
||||
exclude:
|
||||
domains:
|
||||
- automation
|
||||
- weblink
|
||||
- updater
|
||||
entities:
|
||||
- sensor.last_boot
|
||||
|
@ -1,79 +0,0 @@
|
||||
---
|
||||
title: History Graph
|
||||
description: Instructions for setting up History Graph.
|
||||
ha_category:
|
||||
- History
|
||||
logo: home-assistant.png
|
||||
ha_release: 0.55
|
||||
ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@andrey-git'
|
||||
ha_domain: history_graph
|
||||
---
|
||||
|
||||
<div class='note'>
|
||||
This integration is deprecated and pending removal in Home Assistant 0.107.0,
|
||||
as it was only used by the old states UI (not our current Lovelace UI).
|
||||
</div>
|
||||
|
||||
<p class='img'>
|
||||
<img src='{{site_root}}/images/screenshots/history_graph.png' />
|
||||
</p>
|
||||
|
||||
The `history_graph` integration will make the UI display a graph similar to the graphs in `more-info` popups and the [history](/integrations/history/) panel. If you want to add history graphs to the Lovelace UI, please check the [History Graph Card](/lovelace/history-graph/) configuration as it slightly differs from the component.
|
||||
|
||||
To use this integration in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Minimal configuration.yaml entry
|
||||
history_graph:
|
||||
gr1:
|
||||
entities:
|
||||
- light.ceiling.lights
|
||||
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
entities:
|
||||
description: List of entities whose history to show as a graph.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: Name to display.
|
||||
required: false
|
||||
default: ID
|
||||
type: string
|
||||
hours_to_show:
|
||||
description: Number of hours to show in the graph.
|
||||
required: false
|
||||
default: 24
|
||||
type: integer
|
||||
refresh:
|
||||
description: Number of seconds between graph refreshes. 0 to disable refreshing.
|
||||
required: false
|
||||
default: 0
|
||||
type: integer
|
||||
{% endconfiguration %}
|
||||
|
||||
### Full Example
|
||||
|
||||
```yaml
|
||||
# Full configuration.yaml entry
|
||||
history_graph:
|
||||
gr1:
|
||||
name: Lights Graph
|
||||
entities:
|
||||
- light.ceiling.lights
|
||||
- light.bed_light
|
||||
hours_to_show: 240
|
||||
refresh: 60
|
||||
gr2:
|
||||
name: Temperature
|
||||
entities:
|
||||
- sensor.outside_temperature
|
||||
- sensor.inside_temperature
|
||||
hours_to_show: 120
|
||||
# refresh: 0
|
||||
```
|
||||
|
||||
For sensors to automatically be combined into one graph they need to have exactly the same unit of measurement. This is important if you have, e.g., a unit-less temperature `state_topic` MQTT sensor and you want to combine this with a weather sensor. `unit_of_measurement:` of the MQTT sensor then needs to be set to `°C`.
|
@ -59,7 +59,7 @@ scan_interval:
|
||||
|
||||
### Service `hive.boost_heating`
|
||||
|
||||
You can use the service `hive.boost_heating` to set your heating to boost for a period of time at a certain target temperature".
|
||||
You can use the service `hive.boost_heating` to set your heating to boost for a period of time at a certain target temperature". Individual TRVs can also be boosted in the same way, using this service.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ---------------------------------------------------------------------- |
|
||||
|
@ -14,7 +14,7 @@ ha_category:
|
||||
- Fan
|
||||
- Health
|
||||
ha_release: 0.68
|
||||
ha_iot_class: Local Polling
|
||||
ha_iot_class: Local Push
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@Jc2k'
|
||||
@ -37,7 +37,7 @@ There is currently support for the following device types within Home Assistant:
|
||||
- Light (HomeKit lights)
|
||||
- Lock (HomeKit lock)
|
||||
- Switch (HomeKit switches)
|
||||
- Binary Sensor (HomeKit motion, contact and smoke sensors)
|
||||
- Binary Sensor (HomeKit motion, contact, occupancy and smoke sensors)
|
||||
- Sensor (HomeKit humidity, temperature, co2 and light level sensors)
|
||||
- Fan
|
||||
- Air Quality
|
||||
@ -47,6 +47,8 @@ HomeKit IP accessories for these device types may work with some caveats:
|
||||
- If the device is Wi-Fi based and has no physical controls or screen then you may need an Apple HomeKit device like an iPhone or iPad to get the accessory onto your Wi-Fi network. For example, for a Koogeek LS1 you must add the accessory to HomeKit on your iOS device, then remove it from the iOS device. This leaves the LS1 in an unpaired state but still on your Wi-Fi. Home Assistant can then find it and pair with it.
|
||||
- You need to know the HomeKit PIN. There is no way to recover this if you do not have it. In this case, you will need to contact the manufacturer to see what options you have.
|
||||
|
||||
HomeKit controller will poll your devices, but it will also automatically enable push updates for accessories that support it.
|
||||
|
||||
Home Assistant does not currently support HomeKit BLE.
|
||||
|
||||
<div class='note'>
|
||||
@ -67,10 +69,6 @@ If your device doesn't have a display and received HomeKit support after it was
|
||||
|
||||
If you have lost your PIN code, then you may not be able to pair your accessory. You should contact the manufacturer to see if there is anything you can do.
|
||||
|
||||
### My accessory isn't updating straight away
|
||||
|
||||
This is normal - HomeKit controller is currently a local polling based integration. It polls your accessory for its latest state once per minute.
|
||||
|
||||
### Home Assistant cannot discover my device
|
||||
|
||||
For IP accessories, Home Assistant can only find devices that are already on the same network as your device. If an accessory is Wi-Fi based and has no user interface for joining it to your Wi-Fi network, you will need an Apple HomeKit controller device (an iPhone or iPad). You should pair it with the controller and then remove the pairing in the UI (but do not reset the accessory itself). This will leave the accessory on your Wi-Fi network but in an unpaired state, and then Home Assistant can find it.
|
||||
|
@ -185,12 +185,15 @@ Afterward, this device can be implemented into Home Assistant.
|
||||
|
||||
## Services
|
||||
|
||||
Executable by all users:
|
||||
- `homematicip_cloud.activate_eco_mode_with_duration`: Activate eco mode with duration.
|
||||
- `homematicip_cloud.activate_eco_mode_with_period`: Activate eco mode with period.
|
||||
- `homematicip_cloud.activate_vacation`: Activates the vacation mode until the given time.
|
||||
- `homematicip_cloud.deactivate_eco_mode`: Deactivates the eco mode immediately.
|
||||
- `homematicip_cloud.deactivate_vacation`: Deactivates the vacation mode immediately.
|
||||
- `homematicip_cloud.set_active_climate_profile`: Set the active climate profile index.
|
||||
|
||||
Executable by administrators or within the context of an automation:
|
||||
- `homematicip_cloud.dump_hap_config`: Dump the configuration of the Homematic IP Access Point(s).
|
||||
- `homematicip_cloud.reset_energy_counter`: Reset energy counter of measuring actuators.
|
||||
|
||||
|
83
source/_integrations/iammeter.markdown
Normal file
@ -0,0 +1,83 @@
|
||||
---
|
||||
title: "iammeter"
|
||||
description: "Instructions on how to integrate IAMMETER sensor within Home Assistant."
|
||||
logo: iammeter-logo.png
|
||||
ha_category:
|
||||
- Energy
|
||||
- Sensor
|
||||
ha_release: 0.107
|
||||
ha_iot_class: Local Polling
|
||||
ha_domain: iammeter
|
||||
---
|
||||
|
||||
`iammeter` provides real-time readings of single-phase (WEM3080, WEM3162) and three-phase (WEM3080T) meters from [IAMMETER](https://www.iammeter.com) over Wi-Fi.
|
||||
|
||||
## Configuration
|
||||
|
||||
To use this sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: iammeter
|
||||
host: IP_ADDRESS_OF_HOST
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: The IP address of your IAMMETER.
|
||||
required: true
|
||||
type: string
|
||||
port:
|
||||
description: port of your IAMMETER.
|
||||
required: false
|
||||
default: 80
|
||||
type: integer
|
||||
name:
|
||||
description: Name for the sensor entity.
|
||||
required: false
|
||||
type: string
|
||||
default: IamMeter
|
||||
{% endconfiguration %}
|
||||
|
||||
## Sensors
|
||||
|
||||
Sensors available in the library:
|
||||
|
||||
### Single-phase energy meter (WEM3080/WEM3162)
|
||||
|
||||
| name | Unit | Description |
|
||||
|--------------------|------|:-----------------------------------------------------------------------------|
|
||||
| wem3080_voltage | V | Voltage. |
|
||||
| wem3080_current | A | current. |
|
||||
| wem3080_power | W | active power. |
|
||||
| wem3080_importenergy | kWh | Energy consumption from gird |
|
||||
| wem3080_exportgrid | kWh | Energy export to grid |
|
||||
|
||||
### Three-phase energy meter (WEM3080T)
|
||||
|
||||
| name | Unit | Description |
|
||||
|--------------------|------|:-----------------------------------------------------------------------------|
|
||||
| wem3080t_voltage_a | V | A phase voltage |
|
||||
| wem3080t_current_a | A | A phase current |
|
||||
| wem3080t_power_a | W | A phase active power |
|
||||
| wem3080t_importenergy_a | kWh | A phase import energy |
|
||||
| wem3080t_exportgrid_a | kWh | A phase export energy |
|
||||
| wem3080t_frequency_a | kWh | A phase frequency |
|
||||
| wem3080t_pf_a | kWh | A phase power factor |
|
||||
| | | |
|
||||
| wem3080t_voltage_b | V | B phase voltage |
|
||||
| wem3080t_current_b | A | B phase current |
|
||||
| wem3080t_power_b | W | B phase active power |
|
||||
| wem3080t_importenergy_b | kWh | B phase import energy |
|
||||
| wem3080t_exportgrid_b | kWh | B phase export energy |
|
||||
| wem3080t_frequency_b | kWh | B phase frequency |
|
||||
| wem3080t_pf_b | kWh | B phase power factor |
|
||||
| | | |
|
||||
| wem3080t_voltage_c | V | C phase voltage |
|
||||
| wem3080t_current_c | A | C phase current |
|
||||
| wem3080t_power_c | W | C phase active power |
|
||||
| wem3080t_importenergy_c | kWh | C phase import energy |
|
||||
| wem3080t_exportgrid_c | kWh | C phase export energy |
|
||||
| wem3080t_frequency_c | kWh | C phase frequency |
|
||||
| wem3080t_pf_c | kWh | C phase power factor |
|
@ -56,6 +56,11 @@ password:
|
||||
description: Your iCloud account password.
|
||||
required: true
|
||||
type: string
|
||||
with_family:
|
||||
description: If you want to fetch your family devices.
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
max_interval:
|
||||
description: Maximum interval in minutes between subsequent location updates. This tracker uses dynamic intervals for requesting location updates. When the iPhone is stationary, the interval will eventually be set to `max_interval` to save battery. When the iPhone starts moving again, the interval will be dynamically updated to 1 min. Note that updating interval to 1 min might be delayed by maximum `max_interval` minutes. Minimum value is 1 min.
|
||||
required: false
|
||||
|
@ -29,15 +29,6 @@ liking):
|
||||
```yaml
|
||||
iqvia:
|
||||
zip_code: "00544"
|
||||
monitored_conditions:
|
||||
- allergy_average_forecasted
|
||||
- allergy_index_today
|
||||
- allergy_index_tomorrow
|
||||
- asthma_average_forecasted
|
||||
- asthma_index_today
|
||||
- asthma_index_tomorrow
|
||||
- disease_average_forecasted
|
||||
- disease_index_today
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -45,27 +36,6 @@ zip_code:
|
||||
description: The U.S. ZIP code to gather data for (as a quoted string).
|
||||
required: true
|
||||
type: string
|
||||
monitored_conditions:
|
||||
description: The metric types to monitor.
|
||||
required: true
|
||||
type: list
|
||||
keys:
|
||||
allergy_average_forecasted:
|
||||
description: "The average forecasted allergy index over the next 5 days."
|
||||
allergy_index_today:
|
||||
description: "The allergy index for today."
|
||||
allergy_index_tomorrow:
|
||||
description: "The allergy index for tomorrow."
|
||||
asthma_average_forecasted:
|
||||
description: "The average forecasted asthma index over the next 5 days."
|
||||
asthma_index_today:
|
||||
description: "The asthma index for today."
|
||||
asthma_index_tomorrow:
|
||||
description: "The asthma index for tomorrow."
|
||||
disease_average_forecasted:
|
||||
description: "The average forecasted cold/flu index over the next 5 days."
|
||||
disease_index_today:
|
||||
description: "The cold/flu index for today."
|
||||
{% endconfiguration %}
|
||||
|
||||
<div class='note warning'>
|
||||
|
@ -65,7 +65,6 @@ logbook:
|
||||
- sensor.date
|
||||
domains:
|
||||
- sun
|
||||
- weblink
|
||||
```
|
||||
|
||||
In case you just want to see messages from some specific entities or domains use
|
||||
|
@ -16,7 +16,7 @@ The `melcloud` integration integrates Mitsubishi Electric's [MELCloud](https://w
|
||||
## Device support
|
||||
|
||||
- Air-to-Air heat pumps, e.g., AC units - **Supported**
|
||||
- Air-to-Water heat pumps - **Work in progress**
|
||||
- Air-to-Water heat pumps - **Supported**
|
||||
- Energy recovery ventilators - **Not supported**
|
||||
- Other - **Not supported**
|
||||
|
||||
@ -64,3 +64,49 @@ The following attributes are available for `sensor` platform entities:
|
||||
|
||||
- Room temperature
|
||||
- Energy - The total consumed energy in kWh. **Not supported by all models.**
|
||||
|
||||
## Air-to-Water device
|
||||
|
||||
An Air-to-Water device provides `water_heater`, `climate` and `sensor` platforms.
|
||||
|
||||
### Climate
|
||||
|
||||
A `climate` platform entity is provided for each radiator zone in the air-to-water system. The following parameters can be controlled:
|
||||
|
||||
- Target room temperature
|
||||
|
||||
The radiators need to be configured to run in room temperature control mode either through the local HMI or MELCloud. Flow temperature and curve modes are not supported.
|
||||
|
||||
Some air-to-water devices allow cooling using the radiator zones. This feature has not been implemented due to the lack of sample devices.
|
||||
|
||||
The system cannot be turned on/off through the `climate` entities.
|
||||
|
||||
#### State attributes
|
||||
|
||||
|Attribute|Description|Example|
|
||||
|---------|-----------|-------|
|
||||
|`status` |Current operation status|`idle`|
|
||||
|
||||
### Sensor
|
||||
|
||||
The following attributes are available for `sensor` platform entities:
|
||||
|
||||
- Room temperature for each zone
|
||||
- Tank water temperature
|
||||
- Outside temperature - 1°C precision, polled every 1-2 hours.
|
||||
|
||||
Unlike air-to-air devices, air-to-water devices do not report energy consumption in an easily accessible manner.
|
||||
|
||||
### Water heater
|
||||
|
||||
The following parameters can be controlled for the `water_heater` platform entities:
|
||||
|
||||
- Power - Controls the entire system.
|
||||
- Target tank temperature
|
||||
- Operation mode
|
||||
|
||||
#### State attributes
|
||||
|
||||
|Attribute|Description|Example|
|
||||
|---------|-----------|-------|
|
||||
|`status` |Current operation status|`heat`|
|
||||
|
@ -60,7 +60,7 @@ extra_arguments:
|
||||
|
||||
Most of the ONVIF cameras support more than one audio/video profile. Each profile provides different image quality. Usually, the first profile has the highest quality and it is the profile used by default. However, you may want to use a lower quality image. One of the reasons may be that your hardware isn't able to render the highest quality image in real-time, especially when running on Raspberry Pi. Therefore you can choose which profile do you want to use by setting in configuration `profile` variable.
|
||||
|
||||
### Service `camera.onvif_ptz`
|
||||
### Service `onvif.ptz`
|
||||
|
||||
If your ONVIF camera supports PTZ, you will be able to pan, tilt or zoom your camera.
|
||||
|
||||
@ -70,5 +70,9 @@ If your ONVIF camera supports PTZ, you will be able to pan, tilt or zoom your ca
|
||||
| `tilt` | Tilt direction. Allowed values: `UP`, `DOWN`, `NONE`
|
||||
| `pan` | Pan direction. Allowed values: `RIGHT`, `LEFT`, `NONE`
|
||||
| `zoom` | Zoom. Allowed values: `ZOOM_IN`, `ZOOM_OUT`, `NONE`
|
||||
| `distance` | Distance coefficient. Sets how much PTZ should be executed in one request. Allowed values: floating point numbers, 0 to 1. Default : 0.1
|
||||
| `speed` | Speed coefficient. Sets how fast PTZ will be executed. Allowed values: floating point numbers, 0 to 1. Default : 0.5
|
||||
| `move_mode` | PTZ moving mode. Allowed values: `ContinuousMove`, `RelativeMove`, `AbsoluteMove`. Default :`RelativeMove`
|
||||
| `continuous_duration` | Set ContinuousMove delay in seconds before stoping the move. Allowed values: floating point numbers or integer. Default : 0.5
|
||||
|
||||
If you are running into trouble with this sensor, please refer to the [Troubleshooting section](/integrations/ffmpeg/#troubleshooting).
|
||||
|
@ -10,7 +10,7 @@ ha_domain: owntracks
|
||||
|
||||
[OwnTracks](https://owntracks.org/) is a free and open source application for iOS and Android that allow you to track your location and send it directly to Home Assistant. It can be set up via the integrations panel in the configuration screen.
|
||||
|
||||
By default the integration will listen for incoming messages from OwnTracks via HTTP. It will also listen for MQTT messages if Home Assistant is configured to use MQTT.
|
||||
By default the integration will listen for incoming messages from OwnTracks via HTTP. It will also listen for MQTT messages if Home Assistant is configured to use MQTT. When a location is submitted via HTTP, Home Assistant will return all [Persons](/integrations/person/)' last known locations and they will be displayed within the OwnTracks app.
|
||||
|
||||
<div class='videoWrapper'>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/UieAQ8sC6GY" frameborder="0" allowfullscreen></iframe>
|
||||
|
@ -30,8 +30,6 @@ Local and secure connections are preferred when setting up an Integration. After
|
||||
|
||||
</div>
|
||||
|
||||
If [discovery](/integrations/discovery/) is enabled and a local Plex server is found, a legacy `media_player` configuration (i.e., a `plex.conf` file) will be imported. GDM can be enabled via the Plex Web App under **Settings** -> **(Server Name)** -> **Settings** -> **Network** and choosing **Enable local network discovery (GDM)**.
|
||||
|
||||
The `plex` integration can also be configured via `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
@ -79,11 +77,6 @@ media_player:
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
show_all_controls:
|
||||
description: Forces all controls to display. Ignores dynamic controls (ex. show volume controls for client A but not for client B) based on detected client capabilities. This option allows you to override this detection if you suspect it to be incorrect.
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
use_episode_art:
|
||||
description: Display TV episode art instead of TV show art.
|
||||
required: false
|
||||
@ -106,7 +99,6 @@ plex:
|
||||
verify_ssl: true
|
||||
media_player:
|
||||
use_episode_art: true
|
||||
show_all_controls: false
|
||||
ignore_new_shared_users: false
|
||||
```
|
||||
|
||||
@ -159,11 +151,10 @@ Plays a song, playlist, TV episode, or video on a connected client.
|
||||
| Any (when all controls disabled) | A stop button will appear but is not functional. |
|
||||
| Any (when casting) | Controlling playback will work but with error logging. |
|
||||
| Any (remote client) | Controls disabled. |
|
||||
| Apple TV (PlexConnect) | Controls disabled. Music does not work. |
|
||||
| Apple TV | None |
|
||||
| iOS | None |
|
||||
| NVidia Shield | Mute disabled. Volume set below 2 will cause error logging. Controlling playback when the Shield is both a client and a server will work but with error logging |
|
||||
| NVidia Shield | Controlling playback when the Shield is both a client and a server will work but with error logging |
|
||||
| Plex Web | None |
|
||||
| Tivo Plex App | Only play, pause, stop/off controls enabled |
|
||||
|
||||
### Notes
|
||||
|
||||
|
@ -113,20 +113,21 @@ Type | Prefix | Suffix | Example
|
||||
Device | `device/` | Device nickname | `device/iphone`
|
||||
Channel | `channel/` | Channel tag | `channel/my_home`
|
||||
Email | `email/` | Contact's email address | `email/email@example.com`
|
||||
SMS | `sms/` | Contact's phone number | `sms/0612345678`
|
||||
|
||||
If using targets, your own account's email address functions as 'send to all devices'. All targets are verified (if exists) before sending, except email.
|
||||
|
||||
#### Example service payload
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "A message for many people",
|
||||
"target": [
|
||||
"device/telephone",
|
||||
"email/hello@example.com",
|
||||
"channel/my_home"
|
||||
]
|
||||
}
|
||||
```yaml
|
||||
|
||||
message: A message for many people
|
||||
target:
|
||||
- device/telephone
|
||||
- email/hello@example.com
|
||||
- channel/my_home
|
||||
- sms/0612345678
|
||||
|
||||
```
|
||||
|
||||
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
|
||||
|
55
source/_integrations/qvr_pro.markdown
Normal file
@ -0,0 +1,55 @@
|
||||
---
|
||||
title: "QVR Pro"
|
||||
description: "Instructions on how to integrate QVR Pro within Home Assistant."
|
||||
logo: qvr_pro.png
|
||||
ha_category:
|
||||
- Camera
|
||||
ha_release: 0.107
|
||||
ha_domain: qvr_pro
|
||||
---
|
||||
|
||||
[QVR Pro](https://www.qnap.com/solution/qvr-pro-official) allows you to create
|
||||
an independent and expandable surveillance environment on your QNAP NAS. The
|
||||
`qvr_pro` component allows you to view your QVR Pro channels in Home Assistant.
|
||||
|
||||
Currently, only cameras are supported by this integration.
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable QVR Pro integration, add the following to your
|
||||
`configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
qvr_pro:
|
||||
host: YOUR_HOST
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: The IP address where QVR Pro is accessible.
|
||||
required: true
|
||||
type: string
|
||||
username:
|
||||
description: The username for accessing your Ring account.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The password for accessing your Ring account.
|
||||
required: true
|
||||
type: string
|
||||
exclude_channels:
|
||||
description: Comma separated list of channel numbers to be excluded.
|
||||
required: false
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
Enabling the QVR Pro camera platform will add all QVR Pro channels by
|
||||
default. Please see `exclude_channels` if you would like to exclude
|
||||
specific channels from showing up in Home Assistant.
|
||||
|
||||
<p class="note warning">
|
||||
The QVR Pro user must have Surveillance Management permission.
|
||||
</p>
|
@ -57,6 +57,11 @@ recorder:
|
||||
required: false
|
||||
default: 1
|
||||
type: integer
|
||||
commit_interval:
|
||||
description: How often (in seconds) the events and state changes are committed to the database. The default of `1` allows events to be committed almost right away without trashing the disk when an event storm happens. Increasing this will reduce disk I/O and may prolong disk (SD card) lifetime with the trade-off being that the logbook and history will lag. If this is set to `0` (zero), commit are made as soon as possible after an event is processed.
|
||||
required: false
|
||||
default: 1
|
||||
type: integer
|
||||
exclude:
|
||||
description: Configure which integrations should be excluded from recordings.
|
||||
required: false
|
||||
@ -89,7 +94,7 @@ recorder:
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
Defining domains and entities to `exclude` (aka. blacklist) 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 that do not change (like `weblink`) or rarely change (like `updater` or `automation`).
|
||||
Defining domains and entities to `exclude` (aka. blacklist) 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 that do not change or rarely change (like `updater` or `automation`).
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry with exclude
|
||||
@ -99,7 +104,6 @@ recorder:
|
||||
exclude:
|
||||
domains:
|
||||
- automation
|
||||
- weblink
|
||||
- updater
|
||||
entities:
|
||||
- sun.sun # Don't record sun data
|
||||
|
@ -105,7 +105,7 @@ headers:
|
||||
required: false
|
||||
type: [string, list]
|
||||
json_attributes:
|
||||
description: A list of keys to extract values from a JSON dictionary result and then set as sensor attributes. If the endpoint returns XML with the "text/xml" content type, it will automatically be converted to JSON according to this [specification](https://www.xml.com/pub/a/2006/05/31/converting-between-xml-and-json.html)
|
||||
description: A list of keys to extract values from a JSON dictionary result and then set as sensor attributes. If the endpoint returns XML with the "text/xml" or "application/xml" content type, it will automatically be converted to JSON according to this [specification](https://www.xml.com/pub/a/2006/05/31/converting-between-xml-and-json.html)
|
||||
required: false
|
||||
type: [string, list]
|
||||
json_attributes_path:
|
||||
|
@ -37,11 +37,6 @@ host:
|
||||
description: "The hostname or IP of the Samsung Smart TV, e.g., `192.168.0.10`."
|
||||
required: true
|
||||
type: string
|
||||
port:
|
||||
description: The port of the Samsung Smart TV. If set to 8001, the new websocket connection will be used (required for 2016+ TVs) - For Home Assistant Core installations, you may need to install a Python package, see below.
|
||||
required: false
|
||||
type: integer
|
||||
default: automatically detected
|
||||
name:
|
||||
description: The name you would like to give to the Samsung Smart TV.
|
||||
required: false
|
||||
@ -102,29 +97,29 @@ For example: for model `UN55NU7100`, the `UN55` would mean it's an LED, North Am
|
||||
- F6500
|
||||
- F7000
|
||||
- F8000BF
|
||||
- K5579 (port must be set to 8001, On/Off, Forward/Backward, Volume control, but no Play button)
|
||||
- K5579 (On/Off, Forward/Backward, Volume control, but no Play button)
|
||||
- K5600AK (partially supported, turn on works but state is not updated)
|
||||
- K6500AF (port must be set to 8001)
|
||||
- KS7005 (port must be set to 8001, MAC address must be provided, On/Off, Volume are OK, no channel change)
|
||||
- KS7502 (port must be set to 8001, turn on doesn't work, turn off works fine)
|
||||
- KS8000 (port must be set to 8001)
|
||||
- KS8005 (port must be set to 8001)
|
||||
- KS8500 (port must be set to 8001)
|
||||
- KU6020 (port must be set to 8001)
|
||||
- KU6100 (port must be set to 8001)
|
||||
- KU6290 (port must be set to 8001)
|
||||
- KU6400U (port must be set to 8001)
|
||||
- KU7000 (port must be set to 8001)
|
||||
- M5620 (port must be set to 8001)
|
||||
- MU6170UXZG (port must be set to 8001)
|
||||
- NU7090 (port must be set to 8801, On/Off, MAC must be specified for Power On)
|
||||
- NU7400 (port set to 8001)
|
||||
- K6500AF
|
||||
- KS7005 (MAC address must be provided, On/Off, Volume are OK, no channel change)
|
||||
- KS7502 (turn on doesn't work, turn off works fine)
|
||||
- KS8000
|
||||
- KS8005
|
||||
- KS8500
|
||||
- KU6020
|
||||
- KU6100
|
||||
- KU6290
|
||||
- KU6400U
|
||||
- KU7000
|
||||
- M5620
|
||||
- MU6170UXZG
|
||||
- NU7090 (On/Off, MAC must be specified for Power On)
|
||||
- NU7400
|
||||
- NU8000
|
||||
- U6000 (port must be set to 8001)
|
||||
- U6300 (port must be set to 8001)
|
||||
- UE6199UXZG (port must be set to 8001, On/Off, Forward/Backward, Volume control, but no Play button)
|
||||
- UE65KS8005 (port must be set to 8001, On/Off, Forward/Backward, Volume are OK, but no Play button)
|
||||
- UE49KU6470 (port must be set to 8001, On/Off, Forward/Backward, Volume are OK, but no Play button)
|
||||
- U6000
|
||||
- U6300
|
||||
- UE6199UXZG (On/Off, Forward/Backward, Volume control, but no Play button)
|
||||
- UE65KS8005 (On/Off, Forward/Backward, Volume are OK, but no Play button)
|
||||
- UE49KU6470 (On/Off, Forward/Backward, Volume are OK, but no Play button)
|
||||
- UE46ES5500 (partially supported, turn on doesn't work)
|
||||
|
||||
#### Models tested but not yet working
|
||||
|
@ -8,6 +8,7 @@ ha_category:
|
||||
- Sensor
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_release: 0.82
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@kbickar'
|
||||
ha_domain: sense
|
||||
@ -22,7 +23,9 @@ There is currently support for the following device types within Home Assistant:
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable this sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
To add `Sense` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Sense**.
|
||||
|
||||
Alternatively, to enable this sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -52,3 +55,5 @@ Sensors are added for both usage and production with the following names:
|
||||
- **Daily/Weekly/Monthly Usage/Production**: Daily/Weekly/Monthly power usage/production in kWh. Updated every 5 minutes.
|
||||
|
||||
Binary sensors are created for each of the devices detected by your Sense monitor to show their power state.
|
||||
|
||||
Sensors are created for each of the devices detected by your Sense monitor to show their power usage in Watts.
|
||||
|
@ -4,13 +4,25 @@ description: Instructions on how to integrate a Shopping list into Home Assistan
|
||||
ha_category:
|
||||
- Intent
|
||||
ha_release: '0.50'
|
||||
ha_config_flow: true
|
||||
ha_quality_scale: internal
|
||||
ha_domain: shopping_list
|
||||
---
|
||||
|
||||
The `shopping_list` integration allows you to keep track of shopping list items. Includes the ability to add items via your voice using the sentence "Add eggs to my shopping list".
|
||||
|
||||
## Configuration
|
||||
## Configuration - GUI
|
||||
|
||||
From the Home Assistant front page go to **Configuration** and then select **Integrations** from the list.
|
||||
|
||||
Use the plus button in the bottom right to add a new integration called **Shopping List**.
|
||||
|
||||
In the popup:
|
||||
- Submit
|
||||
|
||||
The success dialog will appear or an error will be displayed in the popup.
|
||||
|
||||
## Configuration - Manual
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
|
@ -15,7 +15,9 @@ Detect people in camera images using [Sighthound Cloud](https://www.sighthound.c
|
||||
|
||||
This integration adds an image processing entity where the state of the entity is the number of people detected in an image. For each person detected, an `sighthound.person_detected` event is fired. The event data includes the entity_id of the image processing entity firing the event, and the bounding box around the detected person.
|
||||
|
||||
**Note** that by default the component will not automatically scan images, but requires you to call the `image_processing.scan` service e.g., using an automation triggered by motion.
|
||||
If `save_file_folder` is configured, on each new detection of a person, an annotated image with the name `sighthound_{camera_name}_latest.jpg` is saved in the configured folder if it doesn't already exist, and overwritten if it does exist. The saved image shows the bounding box around detected people and can be displayed on the Home Assistant front end using a [Local File](/integrations/local_file/) camera, and used in notifications. If `save_timestamped_file` is configured as `true`, then the annotated image is saved with a file name that includes the time of detection.
|
||||
|
||||
**Note** that by default the component will not automatically scan images, but requires you to call the `image_processing.scan` service, e.g., using an automation triggered by motion.
|
||||
|
||||
## Configuration
|
||||
|
||||
@ -26,6 +28,8 @@ To enable this platform in your installation, add the following to your `configu
|
||||
image_processing:
|
||||
- platform: sighthound
|
||||
api_key: some_key
|
||||
save_file_folder: /my_dir/
|
||||
save_timestamped_file: True
|
||||
source:
|
||||
- entity_id: camera.my_cam
|
||||
```
|
||||
@ -39,6 +43,14 @@ account_type:
|
||||
description: If you have a paid account, used `prod`.
|
||||
required: false
|
||||
type: string
|
||||
save_file_folder:
|
||||
description: The folder to save annotated images to.
|
||||
required: false
|
||||
type: string
|
||||
save_timestamped_file:
|
||||
description: Save the processed image with the time of detection in the filename. Requires save_file_folder to be configured.
|
||||
required: false
|
||||
type: string
|
||||
source:
|
||||
description: The list of image sources.
|
||||
required: true
|
||||
|
@ -18,7 +18,7 @@ The Somfy integration will allow users to integrate their Somfy devices into Hom
|
||||
Somfy is leveraging the new account linking service. This means that to set up Somfy, you only need to go to the integrations page and click on add new integration.
|
||||
|
||||
<div class='videoWrapper'>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/y0SECWUVR-M" frameborder="0" allowfullscreen></iframe>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/y0SECWUVR-M" frameborder="0" allowfullscreen></iframe>
|
||||
</div>
|
||||
|
||||
## Installation with own developer account
|
||||
@ -58,8 +58,15 @@ client_secret:
|
||||
description: Your Somfy consumer secret.
|
||||
required: true
|
||||
type: string
|
||||
optimistic:
|
||||
description: Set optimistic mode.
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
{% endconfiguration %}
|
||||
|
||||
**optimistic** mode should only be used when the integration is not able to gain information on whether a cover is open or closed (e.g., [RTS](https://www.somfysystems.com/en-us/discover-somfy/technology/radio-technology-somfy) devices). It will attempt to track the status within Home Assistant. This mode should only be used if Home Assistant is the only way you operate the blind. If you also use the physical remote control or the Somfy app, Home Assistant will become out of sync.
|
||||
|
||||
### Potential duplicate with the Tahoma integration
|
||||
|
||||
If you use the [Tahoma](/integrations/tahoma) integration, you will have to exclude the covers added by this one. Otherwise, they will be added twice.
|
||||
|
@ -25,6 +25,7 @@ ssdp:
|
||||
The following integrations are automatically discovered by the SSDP integration:
|
||||
|
||||
- [deCONZ](../deconz/)
|
||||
- [DirecTV](/integrations/directv/)
|
||||
- [Huawei LTE](../huawei_lte/)
|
||||
- [Philips Hue](../hue/)
|
||||
- [Samsung TV](../samsungtv/)
|
||||
|
@ -11,11 +11,12 @@ ha_codeowners:
|
||||
ha_domain: supla
|
||||
---
|
||||
|
||||
The [Supla](https://supla.org/) is an Open Source home automation system for ESP8266 based devices. It has its own set of protocols, it's own firmware and commercially available devices (produced for example by [Zamel](https://supla.zamel.pl/))
|
||||
The [Supla](https://supla.org/) is an Open Source home automation system for ESP8266 based devices. It has its own set of protocols, its own firmware and commercially available devices (produced for example by [Zamel](https://supla.zamel.pl/))
|
||||
|
||||
Currently only covers (shutters in Supla's lingo) and switches are supported, but, thanks to comprehensive and universal REST API, it's pretty easy to add more.
|
||||
Currently only covers (shutters in Supla's lingo), gates and switches are supported, but, thanks to comprehensive and universal REST API, it's pretty easy to add more.
|
||||
|
||||
Right now it's impossible to add single devices -- all of them are discovered from Supla Cloud's servers or yours.
|
||||
Right now it's impossible to add a device -- all of them are discovered from Supla Cloud's servers or yours.
|
||||
Devices disabled on Supla Cloud will not be loaded into Home Assistant.
|
||||
|
||||
## Configuration
|
||||
|
||||
|
95
source/_integrations/tankerkoenig.markdown
Executable file
@ -0,0 +1,95 @@
|
||||
---
|
||||
title: "Tankerkoenig Sensor"
|
||||
description: "Instructions on how to integrate Tankerkoenig sensors within Home Assistant."
|
||||
logo: tankerkoenig.png
|
||||
ha_category:
|
||||
- Energy
|
||||
- Sensor
|
||||
ha_release: 0.107
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_domain: tankerkoenig
|
||||
---
|
||||
|
||||
The `tankerkoenig` platform allows you to monitor the fuel prices with [tankerkoenig.de](https://www.tankerkoenig.de/) from within Home Assistant and setup automations based on the information.
|
||||
One sensor entity will be created for each fuel station within the given radius and for each configured fuel type in it.
|
||||
|
||||
You can also add additional stations manually, referencing them via their IDs. To find out the ID for a given fuel station, you can use the [TankstellenFinder](https://creativecommons.tankerkoenig.de/TankstellenFinder/index.html) tool.
|
||||
|
||||
## Setup
|
||||
|
||||
To use this sensor you need an API key from [tankerkoenig](https://creativecommons.tankerkoenig.de). Go to [api-key](https://creativecommons.tankerkoenig.de/api-key), fill out the form and request a key. The API is free, but requests should be limited to less than once every 5 minutes.
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable this platform, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
tankerkoenig:
|
||||
api_key: YOUR_API_KEY
|
||||
radius: 1
|
||||
fuel_type:
|
||||
- "diesel"
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
api_key:
|
||||
description: The api key you got when you registered.
|
||||
required: true
|
||||
type: string
|
||||
fuel_types:
|
||||
description: The types of fuels you want to track. Allowed values are `e5`, `e10` and `diesel`.
|
||||
required: false
|
||||
default: ["e5", "e10", "diesel"]
|
||||
type: list
|
||||
latitude:
|
||||
description: The latitude of the gas station to list.
|
||||
required: inclusive
|
||||
type: float
|
||||
default: latitude of your home zone
|
||||
longitude:
|
||||
description: The longitude of the gas station to list.
|
||||
required: inclusive
|
||||
type: float
|
||||
default: longitude of your home zone
|
||||
radius:
|
||||
description: The radius in km. in which to search for gas stations. Cannot be less than 1.
|
||||
required: false
|
||||
default: 2
|
||||
type: integer
|
||||
scan_interval:
|
||||
description: The time interval to poll the server for new data. You should not put values lower than 5 minutes here; otherwise you risk your API key being blocked.
|
||||
required: false
|
||||
default: 0:30
|
||||
type: time
|
||||
stations:
|
||||
description: List of additional fuel stations to create entities for.
|
||||
required: false
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
## Full example
|
||||
|
||||
This is a full example of the platform:
|
||||
|
||||
```yaml
|
||||
tankerkoenig:
|
||||
api_key: YOUR_API_KEY
|
||||
fuel_types:
|
||||
- "diesel"
|
||||
- "e10"
|
||||
latitude: 52.51627
|
||||
longitude: 13.3777
|
||||
radius: 1
|
||||
scan_interval: "0:10:01"
|
||||
stations:
|
||||
- 8531b393-1e42-423b-cb4d-e4b98cff8a0c
|
||||
```
|
||||
|
||||
Assuming there are two fuel stations within the specified range and location, you would get six sensor entities:
|
||||
* sensor.tankerkoenig_berlin_paulstrasse_20_diesel
|
||||
* sensor.tankerkoenig_berlin_paulstrasse_20_e10
|
||||
* sensor.tankerkoenig_aral_tankstelle_diesel
|
||||
* sensor.tankerkoenig_aral_tankstelle_e10
|
||||
* sensor.tankerkoenig_svg_hamburg_strassen>_diesel
|
||||
* sensor.tankerkoenig_svg_hamburg_strassen_e10
|
@ -21,23 +21,51 @@ The `thinkingcleaner` sensor platform simple displays information about your [Th
|
||||
To enable this sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: thinkingcleaner
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: IP address of Thinking Cleaner device
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
|
||||
This will automatically add sensors for each Thinking Cleaner in your network.
|
||||
|
||||
## switch
|
||||
## Switch
|
||||
|
||||
The `thinkingcleaner` switch platform allows you to control your [Thinking Cleaner](https://www.thinkingcleaner.com/) add-on.
|
||||
|
||||
To enable this switch in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
switch:
|
||||
- platform: thinkingcleaner
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: IP address of Thinking Cleaner device
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
|
||||
This will automatically add switches for each Thinking Cleaner in your network.
|
||||
|
||||
## Example configuration using a Roomba with a static IP
|
||||
|
||||
If your `thinkingcleaner` device has a static IP address, you can also supply this to the sensor and switch using the host parameter. This is optional and will disable the automatic lookup.
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: thinkingcleaner
|
||||
host: 10.0.0.55
|
||||
switch:
|
||||
- platform: thinkingcleaner
|
||||
host: 10.0.0.55
|
||||
```
|
||||
|
||||
|
@ -49,6 +49,7 @@ Supported models:
|
||||
- EVW321B
|
||||
- EVW32C-0N
|
||||
- EVW3226@UPC
|
||||
- DVW32CB
|
||||
|
||||
<div class='note info'>
|
||||
|
||||
|
@ -80,6 +80,15 @@ Reset the Utility Meter. All sensors tracking tariffs will be reset to 0.
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | no | String or list of strings that point at `entity_id`s of utility_meters.
|
||||
|
||||
### Service `utility_meter.calibrate`
|
||||
|
||||
Calibrate the Utility Meter. Change the value of a given sensor.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | no | String or list of strings that point at `entity_id`s of utility_meters.
|
||||
| `value` | no | Number | Value to calibrate the sensor with |
|
||||
|
||||
### Service `utility_meter.next_tariff`
|
||||
|
||||
Change the current tariff to the next in the list.
|
||||
|
@ -1,11 +1,12 @@
|
||||
---
|
||||
title: Vizio SmartCast TV
|
||||
title: Vizio SmartCast
|
||||
description: Instructions on how to integrate Vizio SmartCast TVs and sound bars into Home Assistant.
|
||||
ha_category:
|
||||
- Media Player
|
||||
ha_release: 0.49
|
||||
ha_iot_class: Local Polling
|
||||
ha_config_flow: true
|
||||
ha_quality_scale: platinum
|
||||
ha_codeowners:
|
||||
- '@raman325'
|
||||
ha_quality_scale: platinum
|
||||
@ -16,9 +17,15 @@ The `vizio` integration allows you to control [SmartCast](https://www.vizio.com/
|
||||
|
||||
## Find your device
|
||||
|
||||
### Install pyvizio locally
|
||||
If `zeroconf` discovery is enabled, your device will get discovered automatically. To discover your device manually, read the subsections below.
|
||||
|
||||
> NOTE: If the `pip3` command is not found, try `pip` instead
|
||||
### Install `pyvizio` locally
|
||||
|
||||
<div class='note'>
|
||||
|
||||
If the `pip3` command is not found, try `pip` instead
|
||||
|
||||
</div>
|
||||
|
||||
- To install, run `pip3 install pyvizio` in your terminal.
|
||||
- If `pyvizio` is already installed locally, make sure you are using the latest version by running `pip3 install --upgrade pyvizio` in your terminal.
|
||||
@ -26,17 +33,43 @@ The `vizio` integration allows you to control [SmartCast](https://www.vizio.com/
|
||||
### Discover devices
|
||||
|
||||
Find your device using the following command:
|
||||
|
||||
```bash
|
||||
$ pyvizio --ip=0 discover
|
||||
pyvizio --ip=0 discover
|
||||
```
|
||||
|
||||
and note its IP address and port number. If you have trouble finding a device you were expecting to, you can try increasing the discovery timeout period by adding the `--timeout` option (e.g., `pyvizio --ip=0 discover --timeout=10`).
|
||||
Write down its IP address and port number. If you have trouble finding a device you were expecting to, you can try increasing the discovery timeout period by adding the `--timeout` option (e.g., `pyvizio --ip=0 discover --timeout=10`).
|
||||
|
||||
## Pairing
|
||||
|
||||
Before adding your device to Home Assistant, you may need to pair it manually. In particular, it is unclear how a sound bar would notify you of a valid auth token. In this case, it might be best to first skip the pairing process entirely, specify a `device_class` of `speaker` in your configuration, and try interacting with the entity to see if you have any success. If the media player controls aren't working, and if specifying different ports as mentioned above doesn't work, you will need to find a way to obtain the auth token during this process.
|
||||
This integration requires an access token in order to communicate with TVs (speakers do not need an access token). An access token can be obtained by going through a pairing process, either manually, or through the HA frontend.
|
||||
|
||||
To obtain an auth token, follow these steps:
|
||||
### Pair using the HA frontend
|
||||
|
||||
- **Using `configuration.yaml`:** If you have a `vizio` entry in `configuration.yaml` but don't provide an access token value in your configuration, after you initialize HomeAssistant, you will see a Vizio SmartCast device ready to be configured. When you open the configuration window, you will be guided through the pairing process. While HA will store the access token for the life of your `vizio` entity, it is a good idea to note the access token value displayed in the window and add it to your `configuration.yaml`. This will ensure that you will not have to go through the pairing process again in the future if you decide to rebuild your HA instance.
|
||||
- **Using discovery or manual setup through the Integrations menu:** To initiate the pairing process, submit your initial configuration with an empty Access Token value.
|
||||
|
||||
### Pair manually using the CLI
|
||||
|
||||
The following script, written by [JeffLIrion](https://github.com/JeffLIrion) can be run to obtain an auth token. You will need to replace `<IP>` with your IP and `<PORT>` (which is typically 7345 or 9000).
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
|
||||
VIZIO_IP="<IP>"
|
||||
VIZIO_PORT="<PORT>"
|
||||
|
||||
curl -k -H "Content-Type: application/json" -X PUT -d '{"DEVICE_ID":"pyvizio","DEVICE_NAME":"Python Vizio"}' https://${VIZIO_IP}:${VIZIO_PORT}/pairing/start
|
||||
|
||||
read -p "PIN: " VIZIO_PIN
|
||||
read -p "PAIRING_REQ_TOKEN: " VIZIO_PAIRING_REQ_TOKEN
|
||||
|
||||
curl -k -H "Content-Type: application/json" -X PUT -d '{"DEVICE_ID": "pyvizio","CHALLENGE_TYPE": 1,"RESPONSE_VALUE": "'"${VIZIO_PIN}"'","PAIRING_REQ_TOKEN": '"${VIZIO_PAIRING_REQ_TOKEN}"'}' https://${VIZIO_IP}:${VIZIO_PORT}/pairing/pair
|
||||
```
|
||||
|
||||
### Pair manually using `pyvizio`
|
||||
|
||||
To obtain an auth token manually, follow these steps:
|
||||
|
||||
Make sure that your device is on before continuing.
|
||||
|
||||
@ -48,20 +81,20 @@ Make sure that your device is on before continuing.
|
||||
Enter the following command to initiate pairing:
|
||||
|
||||
```bash
|
||||
$ pyvizio --ip={ip:port} --device_type={device_type} pair
|
||||
pyvizio --ip={ip:port} --device_type={device_type} pair
|
||||
```
|
||||
|
||||
Initiation will show you two different values:
|
||||
|
||||
| Value | Description |
|
||||
| :-------------- | :-------------------------------------------------- |
|
||||
| Challenge type | Usually it should be `"1"` |
|
||||
| Challenge token | Token required to finalize pairing in the next step |
|
||||
| Value | Description |
|
||||
| :-------------- | :------------------------------------------------------------------------------------------------------ |
|
||||
| Challenge type | Usually, it should be `"1"`. |
|
||||
| Challenge token | Token required to finalize pairing in the next step |
|
||||
|
||||
At this point, a PIN code should be displayed at the top of your TV. With all these values, you can now finish pairing:
|
||||
|
||||
```bash
|
||||
$ pyvizio --ip={ip:port} --device_type={device_type} pair-finish --token={challenge_token} --pin={pin} --ch_type={challenge_type}
|
||||
pyvizio --ip={ip:port} --device_type={device_type} pair-finish --token={challenge_token} --pin={pin} --ch_type={challenge_type}
|
||||
```
|
||||
|
||||
You will need the authentication token returned by this command to configure Home Assistant.
|
||||
@ -88,11 +121,11 @@ name:
|
||||
type: string
|
||||
default: Vizio SmartCast
|
||||
access_token:
|
||||
description: Authentication token you received in the last step of the pairing process (if applicable).
|
||||
description: Authentication token you received in the last step of the pairing process. This token is only needed if your device is a TV, and you can opt not to provide it in your configuration and instead go through the pairing process via the HA frontend.
|
||||
required: false
|
||||
type: string
|
||||
device_class:
|
||||
description: The class of your device. Valid options are `tv` or `speaker`
|
||||
description: The class of your device. Valid options are `tv` or `speaker`.
|
||||
required: false
|
||||
type: string
|
||||
default: tv
|
||||
@ -101,8 +134,65 @@ volume_step:
|
||||
required: false
|
||||
type: integer
|
||||
default: 1
|
||||
apps:
|
||||
description: Use this section to define app specific settings (only applicable for Vizio Smart TVs).
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
include:
|
||||
description: List of apps to include in the source list. Cannot be used in combination with `exclude`.
|
||||
required: exclusive
|
||||
type: list
|
||||
exclude:
|
||||
description: List of apps to exclude from the source list. Cannot be used in combination with `include`.
|
||||
required: exclusive
|
||||
type: list
|
||||
additional_configs:
|
||||
description: List of manually configured apps that aren't available in the default app list provided by the integration.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
name:
|
||||
description: The name of the app that will be used in the source list and used to launch the app.
|
||||
required: true
|
||||
type: string
|
||||
config:
|
||||
description: The app configuration that will be used to detect and launch the app.
|
||||
required: true
|
||||
type: map
|
||||
keys:
|
||||
APP_ID:
|
||||
description: See [Obtaining an app configuration](#obtaining-an-app-configuration) section below.
|
||||
required: true
|
||||
type: string
|
||||
NAME_SPACE:
|
||||
description: See [Obtaining an app configuration](#obtaining-an-app-configuration) section below.
|
||||
required: true
|
||||
type: integer
|
||||
MESSAGE:
|
||||
description: See [Obtaining an app configuration](#obtaining-an-app-configuration) section below.
|
||||
required: false
|
||||
type: string
|
||||
default: null
|
||||
{% endconfiguration %}
|
||||
|
||||
### Obtaining an app configuration
|
||||
|
||||
If there is an app you want to be able to launch from Home Assistant that isn't detected by default, you will need to specify the app configuration in `configuration.yaml`. In order to determine the values to specify for each configuration parameter, launch the app you want to configure on your device, and run the following command (requires `pyvizio` to be installed locally):
|
||||
|
||||
```bash
|
||||
pyvizio --ip={IP:PORT} get-current-app-config
|
||||
```
|
||||
|
||||
`pyvizio` will return the value of the three parameters (`APP_ID`, `NAME_SPACE`, `MESSAGE`) for the currently running app which you can then include in your configuration.
|
||||
|
||||
### Obtaining a list of valid apps to include or exclude
|
||||
To get the list of apps that can be excluded or included, run the following command (requires `pyvizio` to be installed locally):
|
||||
|
||||
```bash
|
||||
pyvizio --ip=0 get-apps-list
|
||||
```
|
||||
|
||||
## Notes and limitations
|
||||
|
||||
### Turning device on
|
||||
@ -112,7 +202,3 @@ If the `Power Mode` of your device is set to `Eco Mode`, turning the device on w
|
||||
### Changing tracks
|
||||
|
||||
Changing tracks works like switching channels. If the current input is anything other than regular TV, this command might not do anything.
|
||||
|
||||
### Sources
|
||||
|
||||
The source list shows all external devices connected to the Vizio device through HDMI, plus a list of internal devices (TV mode, Chromecast, etc.)
|
||||
|
@ -1,56 +0,0 @@
|
||||
---
|
||||
title: Weblink
|
||||
description: Instructions on how to setup Links within Home Assistant.
|
||||
logo: home-assistant.png
|
||||
ha_category:
|
||||
- Front End
|
||||
ha_release: 0.13
|
||||
ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: weblink
|
||||
---
|
||||
|
||||
The `weblink` integration allows you to display links in the Home Assistant frontend.
|
||||
|
||||
<div class='note'>
|
||||
|
||||
The below documentation applies to the classic "States" user interface.
|
||||
The `weblink` integration has been **deprecated** and pending for removal in Home Assistant 0.107.0.
|
||||
|
||||
Starting with Home Assistant 0.86, Lovelace is the new default interface. For information on configuring weblinks in Lovelace please follow [these instructions](/lovelace/entities/#weblink) instead.
|
||||
|
||||
</div>
|
||||
|
||||
## Configuration
|
||||
|
||||
To use this integration in your installation, add something like the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
weblink:
|
||||
entities:
|
||||
- name: Router
|
||||
url: http://192.168.1.1/
|
||||
- name: Home Assistant
|
||||
url: https://www.home-assistant.io
|
||||
- name: Grafana
|
||||
url: /grafana
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: Text for the link.
|
||||
required: true
|
||||
type: string
|
||||
url:
|
||||
description: The URL (absolute URL or absolute path) for the link.
|
||||
required: true
|
||||
type: string
|
||||
icon:
|
||||
description: Icon for entry.
|
||||
required: false
|
||||
type: icon
|
||||
{% endconfiguration %}
|
||||
|
||||
Pick an icon that you can find on [materialdesignicons.com](https://materialdesignicons.com/) to use for your input and prefix the name with `mdi:`. For example `mdi:car`, `mdi:ambulance`, or `mdi:motorbike`.
|
@ -11,15 +11,14 @@ ha_codeowners:
|
||||
ha_domain: workday
|
||||
---
|
||||
|
||||
The `workday` binary sensor indicates, whether the current day is a workday or not. It allows specifying, which days of the week counts as workdays and also
|
||||
uses the Python module [holidays](https://pypi.python.org/pypi/holidays) to incorporate information about region-specific public holidays.
|
||||
The `workday` binary sensor indicates, whether the current day is a workday or not. It allows specifying, which days of the week will count as workdays and also
|
||||
uses the Python module [holidays](https://pypi.python.org/pypi/holidays) to incorporate information about region-specific public holidays.
|
||||
|
||||
## Setup
|
||||
|
||||
Check the [country list](https://github.com/dr-prodigy/python-holidays#available-countries) for available province.
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable the `workday` sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
@ -71,26 +70,40 @@ The keyword `holiday` is used for public holidays identified by the holidays mod
|
||||
<div class='note warning'>
|
||||
|
||||
If you use the sensor for Norway (`NO`) you need to wrap `NO` in quotes or write the name in full.
|
||||
Otherwise the value is evaluated as `false`.
|
||||
Otherwise, the value is evaluated as `false`.
|
||||
If you use the sensor for Canada (`CA`) with Ontario (`ON`) as `province:` then you need to wrap `ON` in quotes.
|
||||
Otherwise the value is evaluated as `true` (check the YAML documentation for further details) and the sensor will not work.
|
||||
Otherwise, the value is evaluated as `true` (check the YAML documentation for further details) and the sensor will not work.
|
||||
|
||||
One other thing to watch is how the `holiday` keyword is used. Your first instinct might be to add it to the `exclude` configuration, thinking that it means to skip the holidays. Actually it means to exclude the days in the holidays’ list from the workdays. So when you exclude `holiday` and a workday falls on that day, then that workday is excluded. Meaning the sensor will be off. If you want the workday flagged without regarding holidays, make sure that there is something in your `Excludes` configuration other than `holiday`.
|
||||
|
||||
</div>
|
||||
|
||||
## Full example
|
||||
## Full examples
|
||||
|
||||
This examples excludes Saturdays, Sundays and holiday. Two custom holidays are added.
|
||||
This example excludes Saturdays, Sundays but not a holiday. Two custom holidays are added.
|
||||
Even though `sat` and `sun` was not included in `workdays` and in theory, it would not need to be excluded, but because we do not what holidays excluded, we add them so exclude would not default and skip the holidays. Therefore as the note above, 2/17/2020 in the US would still be a workday.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
# Example 1 configuration.yaml entry
|
||||
binary_sensor:
|
||||
- platform: workday
|
||||
country: US
|
||||
workdays: [mon, tue, wed, thu, fri]
|
||||
excludes: [sat, sun]
|
||||
```
|
||||
|
||||
This example excludes Saturdays, Sundays and holidays. Two custom holidays are added.
|
||||
The date February 24th, 2020 is a Monday but will be excluded because it was added to the `add_holiday` configuration.
|
||||
|
||||
```yaml
|
||||
# Example 2 configuration.yaml entry
|
||||
binary_sensor:
|
||||
- platform: workday
|
||||
country: DE
|
||||
workdays: [mon, wed, fri]
|
||||
excludes: [sat, sun, holiday]
|
||||
add_holidays:
|
||||
- '2018-12-26'
|
||||
- '2018-12-31'
|
||||
- '2020-02-24'
|
||||
```
|
||||
|
||||
## Automation example
|
||||
|
@ -1,35 +0,0 @@
|
||||
---
|
||||
title: Xfinity Gateway
|
||||
description: Instructions on how to integrate Xfinity Gateways into Home Assistant.
|
||||
ha_category:
|
||||
- Presence Detection
|
||||
ha_release: 0.9
|
||||
ha_iot_class: Local Polling
|
||||
ha_codeowners:
|
||||
- '@cisasteelersfan'
|
||||
ha_domain: xfinity
|
||||
---
|
||||
|
||||
The `xfinity` device tracker platform offers presence detection by looking at connected devices to an Xfinity gateway.
|
||||
|
||||
It was tested with an Xfinity Gateway model TG1682G.
|
||||
|
||||
## Configuration
|
||||
|
||||
To use an Xfinity Gateway in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
device_tracker:
|
||||
- platform: xfinity
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: The IP address of your router, e.g., `192.168.1.1`.
|
||||
required: false
|
||||
type: string
|
||||
default: 10.0.0.1
|
||||
{% endconfiguration %}
|
||||
|
||||
See the [device tracker integration page](/integrations/device_tracker/) for instructions how to configure the people to be tracked.
|
@ -153,6 +153,10 @@ type:
|
||||
required: true
|
||||
description: cast
|
||||
type: string
|
||||
dashboard:
|
||||
required: false
|
||||
description: Path to the dashboard of the view that needs to be shown.
|
||||
type: string
|
||||
view:
|
||||
required: true
|
||||
description: Path to the view that needs to be shown.
|
||||
|
@ -165,6 +165,11 @@ entity:
|
||||
required: true
|
||||
description: Entity id
|
||||
type: string
|
||||
attribute:
|
||||
required: false
|
||||
description: If present, the corresponding attribute will be shown,
|
||||
instead of the entity's state
|
||||
type: string
|
||||
prefix:
|
||||
required: false
|
||||
description: Text before entity state.
|
||||
@ -456,6 +461,13 @@ elements:
|
||||
style:
|
||||
top: 82%
|
||||
left: 79%
|
||||
- type: state-label
|
||||
entity: climate.kitchen
|
||||
attribute: current_temperature
|
||||
suffix: "°C"
|
||||
style:
|
||||
top: 33%
|
||||
left: 15%
|
||||
- type: service-button
|
||||
title: Turn lights off
|
||||
style:
|
||||
|
@ -13,7 +13,7 @@ The focus of 0.13 was on test coverage, big cheers to [@rmkraus] for his hard wo
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/blog/2016-02-release-13/input_select__input_boolean__weblink.png'>
|
||||
Examples of the new [input_select] and [weblink] components.
|
||||
Examples of the new [input_select] and weblink components.
|
||||
</p>
|
||||
|
||||
Not only did we gain a lot of test coverage, we also attracted a lot of new developers that contributed a variety of components and platforms:
|
||||
@ -32,7 +32,7 @@ Not only did we gain a lot of test coverage, we also attracted a lot of new deve
|
||||
- Component: Added support for [Bloomsky Weather Station] ([@haraldnagel])
|
||||
- Component: Added support for pushing stats to [graphite] ([@kk7ds])
|
||||
- Component: Added support for [SCSGate] devices ([@flavio])
|
||||
- Component: Added [weblink] component to link to other pages ([@MagnusKnutas])
|
||||
- Component: Added weblink component to link to other pages ([@MagnusKnutas])
|
||||
- Component: Support for Ubiquiti mFI [sensors][mfi.sensor] and [switchable devices][mfi.switch] added ([@kk7ds])
|
||||
- Alarm control panel: Added [Caddx/GE/Interlogix NetworX][nx584] support ([@kk7ds])
|
||||
- Camera: [MJPEG] camera's will now show real stream instead of a 2fps stream ([@stjohnjohnson])
|
||||
@ -92,7 +92,6 @@ Not only did we gain a lot of test coverage, we also attracted a lot of new deve
|
||||
[Bloomsky Weather Station]: /integrations/bloomsky/
|
||||
[graphite]: /integrations/graphite/
|
||||
[SCSGate]: /integrations/scsgate/
|
||||
[weblink]: /integrations/weblink/
|
||||
[mfi.switch]: /integrations/mfi#switch
|
||||
[mfi.sensor]: /integrations/mfi#sensor
|
||||
[nx584]: /integrations/nx584
|
||||
|
@ -15,7 +15,7 @@ You'll need two key software packages, besides Home Assistant. The first is [Mop
|
||||
|
||||
Finally, you also need a player to control Mopidy. Any MPD-compatible player will work, and there are several [Mopidy-only web-based options](https://docs.mopidy.com/en/latest/ext/web/#ext-web) available. On Android, [Remotedy](https://play.google.com/store/apps/details?id=se.anil.remotedy) is particularly nice since you can access multiple Mopidy instances in one place.
|
||||
|
||||
Home Assistant will provide device status, and volume control for each room. If you want to play music in all your rooms (on all your clients), access the server instance of Mopidy. If you want to play music only in a specific room, access that specific Mopidy instance. If you're using a web UI for Mopidy, you can add links to each instance in Home Assistant with the [weblink] component.
|
||||
Home Assistant will provide device status, and volume control for each room. If you want to play music in all your rooms (on all your clients), access the server instance of Mopidy. If you want to play music only in a specific room, access that specific Mopidy instance. If you're using a web UI for Mopidy, you can add links to each instance in Home Assistant with the weblink component.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/blog/2016-02-snapcast/diagram.png'>
|
||||
@ -134,6 +134,5 @@ weblink:
|
||||
url: xxxx
|
||||
```
|
||||
|
||||
[weblink]: /integrations/weblink/
|
||||
[snapcast]: /integrations/snapcast
|
||||
[mpd]: /integrations/mpd
|
||||
|
@ -61,7 +61,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
|
||||
## Breaking Changes
|
||||
|
||||
- history_graph component: If your component used `history.get_significant_states` function then you need to adjust the string `entity_id` parameter has been changed to a list of strings `entity_ids` parameter. ([@andrey-git] - [#9472]) ([history_graph docs]) (breaking change)
|
||||
- history_graph component: If your component used `history.get_significant_states` function then you need to adjust the string `entity_id` parameter has been changed to a list of strings `entity_ids` parameter. ([@andrey-git] - [#9472]) (breaking change)
|
||||
- UPNP component: The `external_port` configuration option was removed. ([@balloob] - [#9560]) ([upnp docs]) (breaking change)
|
||||
- New Wink services: pair new device, rename, delete and add new lock key code. All device attributes that are multi-words are now separated by "_" and no longer " ". ([@w1ll1am23] - [#9303]) ([wink docs]) ([binary_sensor.wink docs]) ([lock.wink docs]) (breaking change)
|
||||
- TP-Link Switch: Attribute names now uses underscores and unnecessary capitalization was removed. ([@djchen] - [#9607]) ([switch.tplink docs]) (breaking change)
|
||||
@ -383,7 +383,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
[forum]: https://community.home-assistant.io/
|
||||
[issue]: https://github.com/home-assistant/home-assistant/issues
|
||||
[discord]: https://discord.gg/c5DvZ4e
|
||||
[history_graph docs]: /integrations/history_graph/
|
||||
[#9754]: https://github.com/home-assistant/home-assistant/pull/9754
|
||||
[#9776]: https://github.com/home-assistant/home-assistant/pull/9776
|
||||
[#9785]: https://github.com/home-assistant/home-assistant/pull/9785
|
||||
|
@ -127,7 +127,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
- Map media_stop to idle state ([@akloeckner] - [#11819])
|
||||
- Adds allergy/disease sensor platform from Pollen.com ([@bachya] - [#11573]) ([sensor.pollen docs]) (new-platform)
|
||||
- check_config.py: allow colorlog==3.1. ([@dotlambda] - [#11927])
|
||||
- Weblink - Allow relative urls in config ([@ReneNulschDE] - [#11808]) ([weblink docs])
|
||||
- Weblink - Allow relative urls in config ([@ReneNulschDE] - [#11808])
|
||||
- Panel_Iframe - Allow relative urls in config ([@ReneNulschDE] - [#11832]) ([panel_iframe docs])
|
||||
- Python 3.6 invalid escape sequence deprecation fixes ([@scop] - [#11941])
|
||||
- tests: Use assertEqual instead of deprecated assertEquals ([@scop] - [#11943])
|
||||
@ -622,7 +622,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
[wake_on_lan docs]: /integrations/wake_on_lan/
|
||||
[waterfurnace docs]: /integrations/waterfurnace/
|
||||
[weather.openweathermap docs]: /integrations/openweathermap#weather
|
||||
[weblink docs]: /integrations/weblink/
|
||||
[websocket_api docs]: /integrations/websocket_api/
|
||||
[zha docs]: /integrations/zha/
|
||||
[zha.const docs]: /integrations/zha.const/
|
||||
|
@ -139,7 +139,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
- check_config check bootstrap errors ([@kellerza] - [#12291])
|
||||
- Attempt fixing flakiness of check config test ([@balloob] - [#12283])
|
||||
- Fix MQTT retained message not being re-dispatched ([@OttoWinter] - [#12004]) ([mqtt docs])
|
||||
- Fix config error for FTP links, add test ([@ReneNulschDE] - [#12294]) ([weblink docs])
|
||||
- Fix config error for FTP links, add test ([@ReneNulschDE] - [#12294])
|
||||
- Fix Panel_IFrame - FTP URL not allowed in 0.63 ([@ReneNulschDE] - [#12295]) ([panel_iframe docs])
|
||||
- Upgrade pylint to 1.8.2 ([@OttoWinter] - [#12274])
|
||||
- Move HassIntent handler code into helpers/intent ([@tschmidty69] - [#12181]) ([conversation docs])
|
||||
@ -580,7 +580,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
[vacuum.xiaomi_miio docs]: /integrations/vacuum.xiaomi_miio/
|
||||
[vera docs]: /integrations/vera/
|
||||
[weather.buienradar docs]: /integrations/buienradar
|
||||
[weblink docs]: /integrations/weblink/
|
||||
[xiaomi_aqara docs]: /integrations/xiaomi_aqara/
|
||||
[zha docs]: /integrations/zha/
|
||||
[#12635]: https://github.com/home-assistant/home-assistant/pull/12635
|
||||
|
@ -234,9 +234,9 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
|
||||
Please ensure your configuration and automations do not use these anymore. - ([@frenck] - [#30831]) ([group docs])
|
||||
|
||||
- __Weblink__ *Deprecated* - The weblink integration is now deprecated and pending removal in Home Assistant 0.107.0. This integration only works with the old states UI. - ([@frenck] - [#30834]) ([weblink docs])
|
||||
- __Weblink__ *Deprecated* - The weblink integration is now deprecated and pending removal in Home Assistant 0.107.0. This integration only works with the old states UI. - ([@frenck] - [#30834])
|
||||
|
||||
- __History Graph__ *Deprecated* - The `history_graph` integration has been deprecated and pending for removal in Home Assistant 0.107.0. This integration was used for the old states UI. Going ahead, please ensure this configuration option is not used in your configuration. - ([@frenck] - [#30835]) ([history_graph docs])
|
||||
- __History Graph__ *Deprecated* - The `history_graph` integration has been deprecated and pending for removal in Home Assistant 0.107.0. This integration was used for the old states UI. Going ahead, please ensure this configuration option is not used in your configuration. - ([@frenck] - [#30835])
|
||||
|
||||
- __Neato__ - This change adds a neato boundary name to the state if it exists, requiring to potentially update automations. - ([@Olen] - [#29915]) ([neato docs])
|
||||
|
||||
@ -774,9 +774,9 @@ Hats over your heart for these shuttered integrations. Pour one out for:
|
||||
- Use collection helpers for input_datetime component ([@Adminiuga] - [#30815]) ([input_datetime docs])
|
||||
- Handle location API being exhausted ([@balloob] - [#30798])
|
||||
- Deprecate states UI options in group integration ([@frenck] - [#30831]) ([group docs]) (breaking change)
|
||||
- Deprecate weblink integration ([@frenck] - [#30834]) ([weblink docs]) (breaking change)
|
||||
- Deprecate weblink integration ([@frenck] - [#30834]) (breaking change)
|
||||
- Deprecate hide_if_away from device_tracker ([@frenck] - [#30833]) ([device_tracker docs]) (breaking change)
|
||||
- Deprecate history_graph integration ([@frenck] - [#30835]) ([history_graph docs]) (breaking change)
|
||||
- Deprecate history_graph integration ([@frenck] - [#30835]) (breaking change)
|
||||
- Remove unused import ([@dshokouhi] - [#30858]) ([ring docs])
|
||||
- Bump pyvizio version to 0.1.1 ([@raman325] - [#30867]) ([vizio docs])
|
||||
- Update pyatmo to 3.2.2 and add available attribute ([@cgtobi] - [#30882]) ([netatmo docs])
|
||||
@ -1458,7 +1458,6 @@ Hats over your heart for these shuttered integrations. Pour one out for:
|
||||
[group docs]: /integrations/group/
|
||||
[hassio docs]: /integrations/hassio/
|
||||
[hisense_aehw4a1 docs]: /integrations/hisense_aehw4a1/
|
||||
[history_graph docs]: /integrations/history_graph/
|
||||
[hlk_sw16 docs]: /integrations/hlk_sw16/
|
||||
[homeassistant docs]: /integrations/homeassistant/
|
||||
[homekit docs]: /integrations/homekit/
|
||||
@ -1551,7 +1550,6 @@ Hats over your heart for these shuttered integrations. Pour one out for:
|
||||
[versasense docs]: /integrations/versasense/
|
||||
[vicare docs]: /integrations/vicare/
|
||||
[vizio docs]: /integrations/vizio/
|
||||
[weblink docs]: /integrations/weblink/
|
||||
[webostv docs]: /integrations/webostv/
|
||||
[wemo docs]: /integrations/wemo/
|
||||
[withings docs]: /integrations/withings/
|
||||
|
1293
source/_posts/2020-03-18-release-107.markdown
Normal file
@ -373,7 +373,6 @@
|
||||
/components/device_tracker.unifi_direct /integrations/unifi_direct
|
||||
/components/device_tracker.upc_connect /integrations/upc_connect
|
||||
/components/device_tracker.volvooncall /integrations/volvooncall
|
||||
/components/device_tracker.xfinity /integrations/xfinity
|
||||
/components/device_tracker.xiaomi_miio /integrations/xiaomi_miio
|
||||
/components/fan.comfoconnect /integrations/comfoconnect
|
||||
/components/fan.dyson /integrations/dyson#fan
|
||||
@ -1420,7 +1419,6 @@
|
||||
/components/hikvision /integrations/hikvision
|
||||
/components/hikvisioncam /integrations/hikvisioncam
|
||||
/components/history /integrations/history
|
||||
/components/history_graph /integrations/history_graph
|
||||
/components/history_stats /integrations/history_stats
|
||||
/components/hitron_coda /integrations/hitron_coda
|
||||
/components/hive /integrations/hive
|
||||
@ -1989,7 +1987,6 @@
|
||||
/components/weather.darksky /integrations/weather.darksky
|
||||
/components/webhook /integrations/webhook
|
||||
/components/webhooks /integrations/telegram_webhooks
|
||||
/components/weblink /integrations/weblink
|
||||
/components/webostv /integrations/webostv
|
||||
/components/websocket_api /integrations/websocket_api
|
||||
/components/wemo /integrations/wemo
|
||||
@ -2008,7 +2005,6 @@
|
||||
/components/x10 /integrations/x10
|
||||
/components/xbox_live /integrations/xbox_live
|
||||
/components/xeoma /integrations/xeoma
|
||||
/components/xfinity /integrations/xfinity
|
||||
/components/xiaomi /integrations/xiaomi
|
||||
/components/xiaomi_aqara /integrations/xiaomi_aqara
|
||||
/components/xiaomi_miio /integrations/xiaomi_miio
|
||||
|
BIN
source/images/blog/2020-03-0.107/components.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
source/images/blog/2020-03-0.107/helper-config-dialog.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
source/images/blog/2020-03-0.107/lovelace-config-panel.png
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
source/images/blog/2020-03-0.107/lovelace-edit-improvements.gif
Normal file
After Width: | Height: | Size: 3.3 MiB |
BIN
source/images/blog/2020-03-0.107/new-media-control-card.png
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
source/images/blog/2020-03-0.107/social.png
Normal file
After Width: | Height: | Size: 142 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 20 KiB |
BIN
source/images/supported_brands/avri.jpeg
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
source/images/supported_brands/ezviz.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
source/images/supported_brands/iammeter-logo.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
source/images/supported_brands/qvr_pro.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
source/images/supported_brands/tankerkoenig.png
Executable file
After Width: | Height: | Size: 1.2 KiB |
@ -23,8 +23,103 @@ When you make changes to `ui-lovelace.yaml`, you don't have to restart Home Assi
|
||||
|
||||
To revert back to using the UI to edit your Lovelace interface, remove the `lovelace` section from your `configuration.yaml` and copy the contents of your `ui-lovelace.yaml` into the raw configuration section of Home Assistant and restart.
|
||||
|
||||
### Advanced configuration
|
||||
|
||||
As a super minimal example, here's the bare minimum you will need for this to work:
|
||||
You can define multiple dashboards that all have their own YAML file, and add custom resources that are shared by all dashboards.
|
||||
|
||||
The key of the dashboard is used as the URL, this needs to contain a hyphen (`-`).
|
||||
|
||||
```yaml
|
||||
lovelace:
|
||||
mode: yaml
|
||||
# Include external resources only add when mode is yaml, otherwise manage in the resources in the lovelace configuration panel.
|
||||
resources:
|
||||
- url: /local/my-custom-card.js
|
||||
type: module
|
||||
- url: /local/my-webfont.css
|
||||
type: css
|
||||
# Add more dashboards
|
||||
dashboards:
|
||||
lovelace-generated: # Needs to contain a hyphen (-)
|
||||
mode: yaml
|
||||
filename: notexist.yaml
|
||||
title: Generated
|
||||
icon: mdi:tools
|
||||
show_in_sidebar: true
|
||||
require_admin: true
|
||||
lovelace-hidden:
|
||||
mode: yaml
|
||||
title: hidden
|
||||
show_in_sidebar: false
|
||||
filename: hidden.yaml
|
||||
```
|
||||
|
||||
You can also add YAML dashboards when your main dashboard is UI configurated:
|
||||
```yaml
|
||||
lovelace:
|
||||
mode: storage
|
||||
# Add yaml dashboards
|
||||
dashboards:
|
||||
yaml:
|
||||
mode: yaml
|
||||
title: YAML
|
||||
icon: mdi:script
|
||||
show_in_sidebar: true
|
||||
filename: lovelace.yaml
|
||||
```
|
||||
|
||||
{% configuration Lovelace %}
|
||||
mode:
|
||||
required: true
|
||||
description: "In what mode should the main Lovelace panel be, `yaml` or `storage` (UI managed)."
|
||||
type: string
|
||||
resources:
|
||||
required: false
|
||||
description: "List of resources that should be loaded when you use Lovelace. Only use this when mode is `yaml`."
|
||||
type: list
|
||||
keys:
|
||||
url:
|
||||
required: true
|
||||
description: The URL of the resource to load.
|
||||
type: string
|
||||
type:
|
||||
required: true
|
||||
description: "The type of resource, this should be either `module` for a JavaScript module or `css` for a StyleSheet."
|
||||
type: string
|
||||
dashboards:
|
||||
required: false
|
||||
description: Additional Lovelace YAML dashboards. The key is used for the URL and should contain a hyphen (`-`)
|
||||
type: map
|
||||
keys:
|
||||
mode:
|
||||
required: true
|
||||
description: "The mode of the dashboard, this should always be `yaml`. Dashboards in `storage` mode can be created in the Lovelace configuration panel."
|
||||
type: string
|
||||
filename:
|
||||
required: true
|
||||
description: "The file in your `config` directory where the Lovelace configuration for this panel is."
|
||||
type: string
|
||||
title:
|
||||
required: true
|
||||
description: "The title of the dashboard, will be used in the sidebar."
|
||||
type: string
|
||||
icon:
|
||||
required: false
|
||||
description: The icon to show in the sidebar.
|
||||
type: string
|
||||
show_in_sidebar:
|
||||
required: false
|
||||
description: Should this view be shown in the sidebar.
|
||||
type: boolean
|
||||
default: true
|
||||
require_admin:
|
||||
required: false
|
||||
description: Should this view be only accessible for admin users.
|
||||
type: boolean
|
||||
default: false
|
||||
{% endconfiguration %}
|
||||
|
||||
As a super minimal example of a Lovelace dashboard config, here's the bare minimum you will need for it to work:
|
||||
|
||||
```yaml
|
||||
title: My Awesome Home
|
||||
@ -39,17 +134,10 @@ views:
|
||||
Welcome to your **Lovelace UI**.
|
||||
```
|
||||
|
||||
A slightly more advanced example shows additional elements which can be used to customize your frontend.
|
||||
A slightly more advanced example:
|
||||
|
||||
```yaml
|
||||
title: My Awesome Home
|
||||
# Include external resources
|
||||
resources:
|
||||
- url: /local/my-custom-card.js
|
||||
type: js
|
||||
- url: /local/my-webfont.css
|
||||
type: css
|
||||
|
||||
views:
|
||||
# View tab title.
|
||||
- title: Example
|
||||
|