diff --git a/source/_cookbook/track_battery_level.markdown b/source/_cookbook/track_battery_level.markdown index 76051b8c5aa..3028e1322e1 100644 --- a/source/_cookbook/track_battery_level.markdown +++ b/source/_cookbook/track_battery_level.markdown @@ -29,7 +29,32 @@ sensor: ``` {% 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 + 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. diff --git a/source/_docs/ecosystem/appdaemon/running.markdown b/source/_docs/ecosystem/appdaemon/running.markdown index 1599c8e81df..031eb19b8ce 100644 --- a/source/_docs/ecosystem/appdaemon/running.markdown +++ b/source/_docs/ecosystem/appdaemon/running.markdown @@ -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: ```bash -$ docker run -d -v /conf:/conf --name appdaemon appdaemon:latest +$ docker run -d -v /conf:/conf --name appdaemon acockburn/appdaemon:latest ``` In the example above you would use: ```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. diff --git a/source/_docs/ecosystem/haproxy.markdown b/source/_docs/ecosystem/haproxy.markdown index b9a09fed76d..85c99300b07 100644 --- a/source/_docs/ecosystem/haproxy.markdown +++ b/source/_docs/ecosystem/haproxy.markdown @@ -57,7 +57,8 @@ defaults timeout connect 5000 timeout client 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 bind *:80 @@ -68,7 +69,7 @@ frontend www-https bind *:443 ssl crt /etc/haproxy/certs/MYCERT.pem acl hass-acl hdr(host) -i SUBDOMAIN.DOMAIN.COM use_backend hass-backend if hass-acl - + backend hass-backend server hass :8123 diff --git a/source/_docs/installation.markdown b/source/_docs/installation.markdown index 3807cf4c038..003bed3a854 100644 --- a/source/_docs/installation.markdown +++ b/source/_docs/installation.markdown @@ -94,12 +94,6 @@ These guides are provided as-is. Some of these install methods are more limited
CentOS/RHEL
- -
- -
-
Windows
-
diff --git a/source/_docs/scripts.markdown b/source/_docs/scripts.markdown index c871b6303da..ee17347b3da 100644 --- a/source/_docs/scripts.markdown +++ b/source/_docs/scripts.markdown @@ -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_template: "{{ is_state('binary_sensor.entrance', 'on') }}" timeout: '00:01:00' - continue_on_timeout: 'true' ``` {% endraw %} @@ -133,7 +132,7 @@ It is also possible to use dummy variables, e.g., in scripts, when using `wait_t ``` {% 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 %} ```yaml @@ -144,6 +143,8 @@ You can also get the script to abort after the timeout by using `continue_on_tim ``` {% endraw %} +Without `continue_on_timeout` the script will always continue. + ### 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. diff --git a/source/_integrations/binary_sensor.markdown b/source/_integrations/binary_sensor.markdown index 638bfb7cae6..927a3916291 100644 --- a/source/_integrations/binary_sensor.markdown +++ b/source/_integrations/binary_sensor.markdown @@ -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: - **None**: Generic on/off. This is the default and doesn't need to be set. -- **battery**: `On` means low, `Off` means normal -- **cold**: `On` means cold, `Off` means normal -- **connectivity**: `On` means connected, `Off` means disconnected -- **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) -- **heat**: `On` means hot, `Off` means normal -- **light**: `On` means light detected, `Off` means no light -- **lock**: `On` means open (unlocked), `Off` means closed (locked) -- **moisture**: `On` means moisture detected (wet), `Off` means no moisture (dry) -- **motion**: `On` means motion detected, `Off` means no motion (clear) -- **moving**: `On` means moving, `Off` means not moving (stopped) -- **occupancy**: `On` means occupied, `Off` means not occupied (clear) -- **opening**: `On` means open, `Off` means closed -- **plug**: `On` means device is plugged in, `Off` means device is unplugged -- **power**: `On` means power detected, `Off` means no power -- **presence**: `On` means home, `Off` means away -- **problem**: `On` means problem detected, `Off` means no problem (OK) -- **safety**: `On` means unsafe, `Off` means safe -- **smoke**: `On` means smoke detected, `Off` means no smoke (clear) -- **sound**: `On` means sound detected, `Off` means no sound (clear) -- **vibration**: `On` means vibration detected, `Off` means no vibration (clear) -- **window**: `On` means open, `Off` means closed +- **battery**: `on` means low, `off` means normal +- **cold**: `on` means cold, `off` means normal +- **connectivity**: `on` means connected, `off` means disconnected +- **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) +- **heat**: `on` means hot, `off` means normal +- **light**: `on` means light detected, `off` means no light +- **lock**: `on` means open (unlocked), `off` means closed (locked) +- **moisture**: `on` means moisture detected (wet), `off` means no moisture (dry) +- **motion**: `on` means motion detected, `off` means no motion (clear) +- **moving**: `on` means moving, `off` means not moving (stopped) +- **occupancy**: `on` means occupied, `off` means not occupied (clear) +- **opening**: `on` means open, `off` means closed +- **plug**: `on` means device is plugged in, `off` means device is unplugged +- **power**: `on` means power detected, `off` means no power +- **presence**: `on` means home, `off` means away +- **problem**: `on` means problem detected, `off` means no problem (OK) +- **safety**: `on` means unsafe, `off` means safe +- **smoke**: `on` means smoke detected, `off` means no smoke (clear) +- **sound**: `on` means sound detected, `off` means no sound (clear) +- **vibration**: `on` means vibration detected, `off` means no vibration (clear) +- **window**: `on` means open, `off` means closed For analog sensors please check the [integration overview](/integrations/#sensor).

-Example of various device classes icons in `On` and `Off` state. +Example of various device classes icons in `on` and `off` state.

diff --git a/source/_integrations/enocean.markdown b/source/_integrations/enocean.markdown index d4d52e13afc..d169f707dc3 100644 --- a/source/_integrations/enocean.markdown +++ b/source/_integrations/enocean.markdown @@ -257,29 +257,29 @@ sensor: The temperature sensor supports these additional configuration properties. {% configuration %} -temp_min: +min_temp: description: The minimal temperature in °C your sensor supports. required: false type: integer default: 0 -temp_max: +max_temp: description: The maximum temperature in °C your sensor supports. required: false type: integer default: 40 -range_min: - description: The range value your sensor reports for `temp_min` +range_from: + description: The range value your sensor reports for `min_temp` required: false type: integer default: 255 -range_max: - description: The range value your sensor reports for `temp_max` +range_to: + description: The range value your sensor reports for `max_temp` required: false type: integer default: 0 {% 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: - **A5-04-01** @@ -295,8 +295,8 @@ sensor: platform: enocean id: [0x01,0x90,0x84,0x3C] device_class: temperature - range_min: 0 - range_max: 250 + range_from: 0 + range_to: 250 ``` ### Window handle diff --git a/source/_integrations/html5.markdown b/source/_integrations/html5.markdown index e628ba8932d..3fe4da08a95 100644 --- a/source/_integrations/html5.markdown +++ b/source/_integrations/html5.markdown @@ -56,15 +56,15 @@ name: type: string default: notify 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 type: string 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 type: string 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 type: string gcm_api_key: diff --git a/source/_integrations/proxmoxve.markdown b/source/_integrations/proxmoxve.markdown index e41486f4221..ea40c027202 100644 --- a/source/_integrations/proxmoxve.markdown +++ b/source/_integrations/proxmoxve.markdown @@ -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 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 diff --git a/source/_integrations/samsungtv.markdown b/source/_integrations/samsungtv.markdown index f694e0aa0e4..4e234c6226d 100644 --- a/source/_integrations/samsungtv.markdown +++ b/source/_integrations/samsungtv.markdown @@ -75,6 +75,7 @@ For example: for model `UN55NU7100`, the `UN55` would mean it's an LED, North Am - D6300SF - D6500 - D6505 +- D6900 (WOL did not work) - D7000 - D8000 - 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) - 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) -- UE46ES5500 (partially supported, turn on doesn't works) +- UE46ES5500 (partially supported, turn on doesn't work) #### Models tested but not yet working diff --git a/source/_integrations/solax.markdown b/source/_integrations/solax.markdown index 7e75822cfef..f122f96974e 100644 --- a/source/_integrations/solax.markdown +++ b/source/_integrations/solax.markdown @@ -56,3 +56,16 @@ sensors: value_template: "{{ (states('sensor.power_now') | float) - (states('sensor.exported_power') | float) }}" ``` {% 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; +} +``` diff --git a/source/_integrations/spc.markdown b/source/_integrations/spc.markdown index ce845506677..40c10b0a3ad 100644 --- a/source/_integrations/spc.markdown +++ b/source/_integrations/spc.markdown @@ -34,12 +34,11 @@ api_url: required: true type: string ws_url: - description: URL of the SPC Web Gateway websocket, e.g., `ws://:8088`. + description: URL of the SPC Web Gateway websocket, e.g., `ws://:8088/ws/spc`. required: true type: string {% endconfiguration %} -Supported sensors will be automatically discovered and added, however they will be hidden by default. ## Alarm diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index 10fd6064656..d2dd6fc2438 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -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 [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 -[pi0-w]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi0-w-3.7.img.gz -[pi1]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi-3.7.img.gz -[pi2]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi2-3.7.img.gz -[pi3-32]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi3-3.7.img.gz -[pi3-64]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi3-64-3.7.img.gz -[pi4-32]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi4-3.7.img.gz -[pi4-64]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi4-64-3.7.img.gz -[tinker]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_tinker-3.7.img.gz -[odroid-c2]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_odroid-c2-3.7.img.gz -[odroid-xu4]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_odroid-xu4-3.7.img.gz -[intel-nuc]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_intel-nuc-3.7.img.gz -[vmdk]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_ova-3.7.vmdk.gz -[vhdx]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_ova-3.7.vhdx.gz -[vdi]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_ova-3.7.vdi.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.8/hassos_rpi-3.8.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.8/hassos_rpi3-3.8.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.8/hassos_rpi4-3.8.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.8/hassos_tinker-3.8.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.8/hassos_odroid-xu4-3.8.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.8/hassos_ova-3.8.vmdk.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.8/hassos_ova-3.8.vdi.gz [linux]: https://github.com/home-assistant/hassio-installer [local]: http://hassio.local:8123 [samba]: /addons/samba/