Merge branch 'current' into next

This commit is contained in:
Franck Nijhof 2020-01-13 12:26:28 +01:00
commit 18cfd744c1
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
13 changed files with 139 additions and 65 deletions

View File

@ -29,7 +29,32 @@ sensor:
``` ```
{% endraw %} {% endraw %}
### Android Devices
On your Android device, once the official [Home Assistant companion app](https://companion.home-assistant.io/) is installed and connected to your Home Assistance instance, you will be able to display the battery level in the frontend by adding a [template sensor](/integrations/template) to your configuration YAML file. You can also use the battery [sensor device class](/integrations/sensor/#device-class) to dynamically change the icon with the battery level.
{% raw %}
```yaml
sensor:
- platform: template
sensors:
battery_phone:
friendly_name: AndroidPhone Battery
unit_of_measurement: '%'
value_template: >-
{%- if state_attr('device_tracker.xxxxx', 'battery_level') %}
{{ state_attr('device_tracker.xxxxx', 'battery_level')|round }}
{% else %}
{{ states('device_tracker.xxxxx') }}
{%- endif %}
device_class: battery
```
{% endraw %}
Replace 'device_tracker.xxxxx' with your phone name as shown under Configuration/Devices Device Info/Entities, for example: 'device_tracker.mi_a1'
#### MQTT #### MQTT
If you have configured Owntracks to send reports via MQTT you can use the received data via a MQTT sensor. If you have configured Owntracks to send reports via MQTT you can use the received data via a MQTT sensor.
Replace username with your MQTT username (for the embedded MQTT it's simply homeassistant), and deviceid with the set Device ID in Owntracks. Replace username with your MQTT username (for the embedded MQTT it's simply homeassistant), and deviceid with the set Device ID in Owntracks.

View File

@ -11,13 +11,13 @@ As configured, `AppDaemon` comes with a single HelloWorld App that will send a g
Assuming you have set the config up as described above for Docker, you can run it with the command: Assuming you have set the config up as described above for Docker, you can run it with the command:
```bash ```bash
$ docker run -d -v <Path to Config>/conf:/conf --name appdaemon appdaemon:latest $ docker run -d -v <Path to Config>/conf:/conf --name appdaemon acockburn/appdaemon:latest
``` ```
In the example above you would use: In the example above you would use:
```bash ```bash
$ docker run -d -v /Users/foo/ha-config:/conf --name appdaemon appdaemon:latest $ docker run -d -v /Users/foo/ha-config:/conf --name appdaemon acockburn/appdaemon:latest
``` ```
Where you place the `conf` and `conf/apps` directory is up to you - it can be in downloaded repository, or anywhere else on the host, as long as you use the correct mapping in the `docker run` command. Where you place the `conf` and `conf/apps` directory is up to you - it can be in downloaded repository, or anywhere else on the host, as long as you use the correct mapping in the `docker run` command.

View File

@ -57,7 +57,8 @@ defaults
timeout connect 5000 timeout connect 5000
timeout client 50000 timeout client 50000
timeout server 50000 timeout server 50000
timeout http-request 5s #protection from Slowloris attacks timeout tunnel 60000 # long enough for websocket pings every 55 seconds
timeout http-request 5s # protection from Slowloris attacks
frontend www-http frontend www-http
bind *:80 bind *:80
@ -68,7 +69,7 @@ frontend www-https
bind *:443 ssl crt /etc/haproxy/certs/MYCERT.pem bind *:443 ssl crt /etc/haproxy/certs/MYCERT.pem
acl hass-acl hdr(host) -i SUBDOMAIN.DOMAIN.COM acl hass-acl hdr(host) -i SUBDOMAIN.DOMAIN.COM
use_backend hass-backend if hass-acl use_backend hass-backend if hass-acl
backend hass-backend backend hass-backend
server hass <Home Assistant Server IP>:8123 server hass <Home Assistant Server IP>:8123

View File

@ -94,12 +94,6 @@ These guides are provided as-is. Some of these install methods are more limited
</div> </div>
<div class='title'>CentOS/RHEL</div> <div class='title'>CentOS/RHEL</div>
</a> </a>
<a class='option-card' href='/docs/installation/windows/'>
<div class='img-container'>
<img src='/images/supported_brands/windows.png' />
</div>
<div class='title'>Windows</div>
</a>
<a class='option-card' href='/docs/installation/macos/'> <a class='option-card' href='/docs/installation/macos/'>
<div class='img-container'> <div class='img-container'>
<img src='/images/supported_brands/apple.png' /> <img src='/images/supported_brands/apple.png' />

View File

@ -107,7 +107,6 @@ Wait until some things are complete. We support at the moment `wait_template` fo
# Wait for sensor to trigger or 1 minute before continuing to execute. # Wait for sensor to trigger or 1 minute before continuing to execute.
- wait_template: "{{ is_state('binary_sensor.entrance', 'on') }}" - wait_template: "{{ is_state('binary_sensor.entrance', 'on') }}"
timeout: '00:01:00' timeout: '00:01:00'
continue_on_timeout: 'true'
``` ```
{% endraw %} {% endraw %}
@ -133,7 +132,7 @@ It is also possible to use dummy variables, e.g., in scripts, when using `wait_t
``` ```
{% endraw %} {% endraw %}
You can also get the script to abort after the timeout by using `continue_on_timeout` You can also get the script to abort after the timeout by using optional `continue_on_timeout`
{% raw %} {% raw %}
```yaml ```yaml
@ -144,6 +143,8 @@ You can also get the script to abort after the timeout by using `continue_on_tim
``` ```
{% endraw %} {% endraw %}
Without `continue_on_timeout` the script will always continue.
### Fire an Event ### Fire an Event
This action allows you to fire an event. Events can be used for many things. It could trigger an automation or indicate to another integration that something is happening. For instance, in the below example it is used to create an entry in the logbook. This action allows you to fire an event. Events can be used for many things. It could trigger an automation or indicate to another integration that something is happening. For instance, in the below example it is used to create an entry in the logbook.

View File

@ -15,33 +15,33 @@ Binary sensors gather information about the state of devices which have a "digit
The way these sensors are displayed in the frontend can be modified in the [customize section](/getting-started/customizing-devices/). The following device classes are supported for binary sensors: The way these sensors are displayed in the frontend can be modified in the [customize section](/getting-started/customizing-devices/). The following device classes are supported for binary sensors:
- **None**: Generic on/off. This is the default and doesn't need to be set. - **None**: Generic on/off. This is the default and doesn't need to be set.
- **battery**: `On` means low, `Off` means normal - **battery**: `on` means low, `off` means normal
- **cold**: `On` means cold, `Off` means normal - **cold**: `on` means cold, `off` means normal
- **connectivity**: `On` means connected, `Off` means disconnected - **connectivity**: `on` means connected, `off` means disconnected
- **door**: `On` means open, `Off` means closed - **door**: `on` means open, `off` means closed
- **garage_door**: `On` means open, `Off` means closed - **garage_door**: `on` means open, `off` means closed
- **gas**: `On` means gas detected, `Off` means no gas (clear) - **gas**: `on` means gas detected, `off` means no gas (clear)
- **heat**: `On` means hot, `Off` means normal - **heat**: `on` means hot, `off` means normal
- **light**: `On` means light detected, `Off` means no light - **light**: `on` means light detected, `off` means no light
- **lock**: `On` means open (unlocked), `Off` means closed (locked) - **lock**: `on` means open (unlocked), `off` means closed (locked)
- **moisture**: `On` means moisture detected (wet), `Off` means no moisture (dry) - **moisture**: `on` means moisture detected (wet), `off` means no moisture (dry)
- **motion**: `On` means motion detected, `Off` means no motion (clear) - **motion**: `on` means motion detected, `off` means no motion (clear)
- **moving**: `On` means moving, `Off` means not moving (stopped) - **moving**: `on` means moving, `off` means not moving (stopped)
- **occupancy**: `On` means occupied, `Off` means not occupied (clear) - **occupancy**: `on` means occupied, `off` means not occupied (clear)
- **opening**: `On` means open, `Off` means closed - **opening**: `on` means open, `off` means closed
- **plug**: `On` means device is plugged in, `Off` means device is unplugged - **plug**: `on` means device is plugged in, `off` means device is unplugged
- **power**: `On` means power detected, `Off` means no power - **power**: `on` means power detected, `off` means no power
- **presence**: `On` means home, `Off` means away - **presence**: `on` means home, `off` means away
- **problem**: `On` means problem detected, `Off` means no problem (OK) - **problem**: `on` means problem detected, `off` means no problem (OK)
- **safety**: `On` means unsafe, `Off` means safe - **safety**: `on` means unsafe, `off` means safe
- **smoke**: `On` means smoke detected, `Off` means no smoke (clear) - **smoke**: `on` means smoke detected, `off` means no smoke (clear)
- **sound**: `On` means sound detected, `Off` means no sound (clear) - **sound**: `on` means sound detected, `off` means no sound (clear)
- **vibration**: `On` means vibration detected, `Off` means no vibration (clear) - **vibration**: `on` means vibration detected, `off` means no vibration (clear)
- **window**: `On` means open, `Off` means closed - **window**: `on` means open, `off` means closed
For analog sensors please check the [integration overview](/integrations/#sensor). For analog sensors please check the [integration overview](/integrations/#sensor).
<p class='img'> <p class='img'>
<img src='/images/screenshots/binary_sensor_classes_icons.png' /> <img src='/images/screenshots/binary_sensor_classes_icons.png' />
Example of various device classes icons in `On` and `Off` state. Example of various device classes icons in `on` and `off` state.
</p> </p>

View File

@ -257,29 +257,29 @@ sensor:
The temperature sensor supports these additional configuration properties. The temperature sensor supports these additional configuration properties.
{% configuration %} {% configuration %}
temp_min: min_temp:
description: The minimal temperature in °C your sensor supports. description: The minimal temperature in °C your sensor supports.
required: false required: false
type: integer type: integer
default: 0 default: 0
temp_max: max_temp:
description: The maximum temperature in °C your sensor supports. description: The maximum temperature in °C your sensor supports.
required: false required: false
type: integer type: integer
default: 40 default: 40
range_min: range_from:
description: The range value your sensor reports for `temp_min` description: The range value your sensor reports for `min_temp`
required: false required: false
type: integer type: integer
default: 255 default: 255
range_max: range_to:
description: The range value your sensor reports for `temp_max` description: The range value your sensor reports for `max_temp`
required: false required: false
type: integer type: integer
default: 0 default: 0
{% endconfiguration %} {% endconfiguration %}
Note that the default configuration values of _range_min_ and _range_max_ are not typos, the range is backwards for most sensors. Note that the default configuration values of _range_from_ and _range_to_ are not typos, the range is backwards for most sensors.
However, some EEPs have a different, inverted range, which goes from 0 to 250. This includes the following EEPs: However, some EEPs have a different, inverted range, which goes from 0 to 250. This includes the following EEPs:
- **A5-04-01** - **A5-04-01**
@ -295,8 +295,8 @@ sensor:
platform: enocean platform: enocean
id: [0x01,0x90,0x84,0x3C] id: [0x01,0x90,0x84,0x3C]
device_class: temperature device_class: temperature
range_min: 0 range_from: 0
range_max: 250 range_to: 250
``` ```
### Window handle ### Window handle

View File

@ -56,15 +56,15 @@ name:
type: string type: string
default: notify default: notify
vapid_pub_key: vapid_pub_key:
description: The VAPID public key generated by Google (this is the key that is immediately visible under "webpush certificates"), [see configuring the platform](#configuring_the_platform). description: The VAPID public key generated by Google (this is the key that is immediately visible under "webpush certificates"), [see configuring the platform](#configuring-the-platform).
required: true required: true
type: string type: string
vapid_prv_key: vapid_prv_key:
description: The VAPID private key generated by Google, [see configuring the platform](#configuring_the_platform). description: The VAPID private key generated by Google, [see configuring the platform](#configuring-the-platform).
required: true required: true
type: string type: string
vapid_email: vapid_email:
description: The e-mail account associated with your Firebase project, [see configuring the platform](#configuring_the_platform). description: The e-mail account associated with your Firebase project, [see configuring the platform](#configuring-the-platform).
required: true required: true
type: string type: string
gcm_api_key: gcm_api_key:

View File

@ -102,3 +102,43 @@ proxmoxve:
The integration will automatically create a binary sensor for each tracked virtual machine or container. The binary sensor will either be on if the VM's state is running or off if the VM's state is different. The integration will automatically create a binary sensor for each tracked virtual machine or container. The binary sensor will either be on if the VM's state is running or off if the VM's state is different.
The created sensor will be called `binary_sensor.NODE_NAME_VMNAME_running`. The created sensor will be called `binary_sensor.NODE_NAME_VMNAME_running`.
## Proxmox Permissions
To be able to retrieve the status of VMs and containers, the user used to connect must minimally have the `VM.Audit` privilege. Below is a guide to how to configure a new user with the minimum required permissions.
### Create Home Assistant Role
Before creating the user, we need to create a permissions role for the user.
* Click `Datacenter`
* Open `Permissions` and click `Roles`
* Click the `Create` button above all the existing roles
* name the new role (e.g. "home-assistant")
* Click the arrow next to privileges and select `VM.Audit` in the dropdown
* Click `Create`
### Create Home Assistant User
Creating a dedicated user for home assistant limited to only the role just created is the most secure method. These instructions use the `pve` realm for the user. This allows a connection, but ensures that the user is not authenticated for SSH connections. If you use the `pve` realm, just be sure to add `realm: pve` to your config.
* Click `Datacenter`
* Open `Permissions` and click `Users`
* Click `Add`
* Enter a username (e.g. "hass")
* Enter a secure password (it can be complex as you will only need to copy/paste it into your Home Assistant configuration)
* Set the realm to "Proxmox VE authentication server"
* Ensure `Enabled` is checked and `Expire` is set to "never"
* Click `Add`
### Add User Permissions to Assets
To apply the user and role just created, we need to give it permissions
* Click `Datacenter`
* Click `Permissions`
* Open `Add` and click `User Permission`
* Select "\" for the path
* Select your hass user ("hass")
* Select the Home Assistant role ("home-assistant")
* Make sure `Propigate` is checked

View File

@ -75,6 +75,7 @@ For example: for model `UN55NU7100`, the `UN55` would mean it's an LED, North Am
- D6300SF - D6300SF
- D6500 - D6500
- D6505 - D6505
- D6900 (WOL did not work)
- D7000 - D7000
- D8000 - D8000
- EH5300 - EH5300
@ -114,7 +115,7 @@ For example: for model `UN55NU7100`, the `UN55` would mean it's an LED, North Am
- UE6199UXZG (port must be set to 8001, On/Off, Forward/Backward, Volume control, but no Play button) - 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) - 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) - UE49KU6470 (port must be set to 8001, On/Off, Forward/Backward, Volume are OK, but no Play button)
- UE46ES5500 (partially supported, turn on doesn't works) - UE46ES5500 (partially supported, turn on doesn't work)
#### Models tested but not yet working #### Models tested but not yet working

View File

@ -56,3 +56,16 @@ sensors:
value_template: "{{ (states('sensor.power_now') | float) - (states('sensor.exported_power') | float) }}" value_template: "{{ (states('sensor.power_now') | float) - (states('sensor.exported_power') | float) }}"
``` ```
{% endraw %} {% endraw %}
### Note
Inverter models with newer firmware (and also those using devices like PocketWifi) no longer expose an API when connected to your wireless network, they do however continue to expose it on their own broadcasted SSID. To use this sensor in this case it is necessary to set up a reverse proxy with something like Nginx and use a raspberry pi (or similar) with two network connections (one being wifi that connects to the inverters SSID).
Example Nginx configuration
```text
location / {
proxy_pass http://5.8.8.8;
}
```

View File

@ -34,12 +34,11 @@ api_url:
required: true required: true
type: string type: string
ws_url: ws_url:
description: URL of the SPC Web Gateway websocket, e.g., `ws://<ip>:8088`. description: URL of the SPC Web Gateway websocket, e.g., `ws://<ip>:8088/ws/spc`.
required: true required: true
type: string type: string
{% endconfiguration %} {% endconfiguration %}
Supported sensors will be automatically discovered and added, however they will be hidden by default.
## Alarm ## Alarm

View File

@ -207,20 +207,20 @@ A detailed guide about running Hass.io as a virtual machine is available in the
[balenaEtcher]: https://www.balena.io/etcher [balenaEtcher]: https://www.balena.io/etcher
[Virtual Appliance]: https://github.com/home-assistant/hassos/blob/dev/Documentation/boards/ova.md [Virtual Appliance]: https://github.com/home-assistant/hassos/blob/dev/Documentation/boards/ova.md
[hassos-network]: https://github.com/home-assistant/hassos/blob/dev/Documentation/network.md [hassos-network]: https://github.com/home-assistant/hassos/blob/dev/Documentation/network.md
[pi0-w]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi0-w-3.7.img.gz [pi0-w]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_rpi0-w-3.8.img.gz
[pi1]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi-3.7.img.gz [pi1]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_rpi-3.8.img.gz
[pi2]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi2-3.7.img.gz [pi2]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_rpi2-3.8.img.gz
[pi3-32]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi3-3.7.img.gz [pi3-32]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_rpi3-3.8.img.gz
[pi3-64]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi3-64-3.7.img.gz [pi3-64]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_rpi3-64-3.8.img.gz
[pi4-32]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi4-3.7.img.gz [pi4-32]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_rpi4-3.8.img.gz
[pi4-64]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi4-64-3.7.img.gz [pi4-64]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_rpi4-64-3.8.img.gz
[tinker]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_tinker-3.7.img.gz [tinker]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_tinker-3.8.img.gz
[odroid-c2]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_odroid-c2-3.7.img.gz [odroid-c2]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_odroid-c2-3.8.img.gz
[odroid-xu4]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_odroid-xu4-3.7.img.gz [odroid-xu4]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_odroid-xu4-3.8.img.gz
[intel-nuc]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_intel-nuc-3.7.img.gz [intel-nuc]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_intel-nuc-3.8.img.gz
[vmdk]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_ova-3.7.vmdk.gz [vmdk]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_ova-3.8.vmdk.gz
[vhdx]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_ova-3.7.vhdx.gz [vhdx]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_ova-3.8.vhdx.gz
[vdi]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_ova-3.7.vdi.gz [vdi]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_ova-3.8.vdi.gz
[linux]: https://github.com/home-assistant/hassio-installer [linux]: https://github.com/home-assistant/hassio-installer
[local]: http://hassio.local:8123 [local]: http://hassio.local:8123
[samba]: /addons/samba/ [samba]: /addons/samba/