From 2f25988e2711e856d4d9a68999e011cae2701e07 Mon Sep 17 00:00:00 2001 From: Logan Marchione Date: Mon, 25 Jan 2021 14:38:14 +0000 Subject: [PATCH 01/10] Add instructions to create Proxmox VM using qcow2 image (#14668) Co-authored-by: Franck Nijhof --- source/hassio/installation.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index 16c0b86f494..5d23fe8eaf3 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -30,6 +30,7 @@ The following will take you through the steps required to install Home Assistant - For Hyper-V create a new virtual machine, select "Generation 2", assign it at least 2 GB of memory and select "Connection -> "Your Virtual Switch that is bridged", then "Use an existing virtual hard disk" and select the VHDX file from above, after creation go to "Settings" -> "Security" and deselect "Enable Secure Boot". - For KVM create a new virtual machine in `virt-manager`, select "Import existing disk image", provide the path to the QCOW2 image above, choose "Generic Default" for the operating system, assign at least 2 GB memory and 1 vCPU, check the box for "Customize configuration before install" and select your bridge under "Network Selection", then under customization select "Overview" -> "Firmware" -> "UEFI x86_64: ...". If you want mDNS and another multicast to work, you'll need to manually edit the XML to add trustGuestRxFilters='yes' to the interfaces tag. See virsh or virt-manager documentation for how to do that. - For Vmware Workstation create a new virtual machine, select "Custom", make it compatible with the default of Workstation and ESX, Choose "I will install the operating system later", select "Linux" -> "Other Linux 5.x or later kernel 64-bit", give it at least 2 GB RAM and 1vCPU, select "Use Bridged Networking" then "Use an existing virtual disk" and select the VMDK file above, after creation of VM go to "Settings" and "Options" then "Advanced" and select "Firmware type" to "UEFI". + - For Proxmox, create a new virtual machine, and make note of the VM ID. Under "OS", select "Do not use any media". Under "System" select "Advanced" and change "BIOS" to "OVMF (UEFI)", then select a storage location for the EFI disk. Under "Hard Disk", create a default hard disk (we will delete this later). Set your CPU, memory, and network as needed. From the command line (as root on the Proxmox host), download the qcow2 image with `wget` or `curl` and decompress it (`gunzip hassos_ova-4.13.qcow2.gz`). Then, import the disk to your VM, changing the VM ID as needed (`qm importdisk ### hassos_ova-4.13.qcow2 local-lvm --format qcow2`). After you see `Successfully imported disk`, you can remove the qcow2 image (`rm hassos_ova-4.13.qcow2`). Back in the web UI, navigate to your VM, then "Hardware" and locate the default hard disk we created earlier (probably called `disk0`). Click on it, then click "Detach", then click on the disk again and click "Remove" (this should leave you with two disks: the EFI disk and the imported qcow2 disk). Click on the qcow2 disk (probably called `disk2`) and click "Edit" then "Add". Click on the qcow2 disk one last time, then click on "Resize disk" and set your size (Home Assistant will fill up this entire space). - For VMware ESXi/vSphere installation use the "E1001" or "E1001E" virtual network adapater. There are confirmed mDNS/Multicast discovery issues when using VMware's "VMXnet3" virtual network adapter. 3. Optional - set up the Wi-Fi or a static IP address. There are two possible places for that: From c97da3f3a8d91ce95431eadf904f156675b1dca3 Mon Sep 17 00:00:00 2001 From: Ken Guest Date: Mon, 25 Jan 2021 14:40:37 +0000 Subject: [PATCH 02/10] Update locked_out.md (#16037) Co-authored-by: Franck Nijhof --- source/_docs/locked_out.md | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/source/_docs/locked_out.md b/source/_docs/locked_out.md index c39eca15620..e7be0bfe88b 100644 --- a/source/_docs/locked_out.md +++ b/source/_docs/locked_out.md @@ -10,16 +10,36 @@ or need to recover your data. ### Home Assistant (including Supervised) -If you are still logged in to the web interface with your user, then you are in luck. Add a new user as an administrator and give the new user a password you can remember. Then log out, and log in with this new user. You may then delete the old user account. But this way, your configuration will remain, and you don't have to do a new onboarding process. +If you are still logged in to the web interface with your user, then you are in luck. Add a new user as an administrator and give the new user a password you can remember. Then log out, and log in with this new user. You may then reset your password via this new administrator account (and then delete this new account), or you can delete your old user account. Either way, your configuration will remain, and you don't have to do a new onboarding process. -If you’ve forgotten your user, then deleting the files mentioned above will be necessary to start a new onboarding process. +If you’ve forgotten your username, then deleting the files mentioned above will be necessary to start a new onboarding process. -If you know the user, but not the password and you can access the [Home Assistant console](https://www.home-assistant.io/hassio/commandline/) and use the command below: +#### To reset a user's password, via console +If you know the username, but not the password and you can access the [Home Assistant console](https://www.home-assistant.io/hassio/commandline/) and use the command below: Connect a keyboard and monitor to your device. `auth reset --username existing_user --password new_password` +#### To reset a user's password, as an administrator via the web interface + +1. Click "Configuration" in the sidebar. +2. Scroll down to "Users", and click in to that section. +3. Click on the user, this should bring up a dialog box. +4. At the bottom of the dialog box, click "Change Password". +5. Enter the new password, and then click "OK". +6. Confirm the new password by entering it again, and then click "OK" again. +7. A confirmation box will be displayed with the text "Password was changed successfully". + +#### To delete a user, as an administrator via the web interface + +1. Click "Configuration" in the sidebar. +2. Scroll down to "Users", and click in to that section. +3. Click on the user, this should bring up a dialog box. +4. At the bottom of the dialog box, click "Delete User". +5. A confirmation dialog box will be displayed, asking "Are you sure you want to delete "? +6. Click "OK". + ### Home Assistant Core and Home Assistant Container While you should hopefully be storing your passwords in a password manager, if you lose the password associated with the owner account the only way to resolve this is to delete *all* the authentication data. You do this by shutting down Home Assistant and deleting the following files from the `.storage/` folder in your [configuration folder](/docs/configuration/): From 76f1474916107180b1a53ba53af163ab1497025e Mon Sep 17 00:00:00 2001 From: Philip Allgaier Date: Mon, 25 Jan 2021 15:44:30 +0100 Subject: [PATCH 03/10] Clarification for hold_action (#16229) --- source/lovelace/actions.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/lovelace/actions.markdown b/source/lovelace/actions.markdown index bd5e9d3aa43..d8b1cfe2288 100644 --- a/source/lovelace/actions.markdown +++ b/source/lovelace/actions.markdown @@ -65,7 +65,7 @@ tap_action: ## Hold Action -Action that will be performed when an object on a card is tapped and held. +Action that will be performed when an object on a card is tapped, held for at least half a second and then released. Action will only be triggered once, not continuously during hold. ```yaml hold_action: From 5bed0ba604e4f301bb33c4a3df23923425953788 Mon Sep 17 00:00:00 2001 From: Phil Hollenback Date: Mon, 25 Jan 2021 06:45:00 -0800 Subject: [PATCH 04/10] Add explanation of Accuweather API rate limit (#16198) Co-authored-by: Franck Nijhof --- source/_integrations/accuweather.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/accuweather.markdown b/source/_integrations/accuweather.markdown index bd6cd214611..2f835bb4e6f 100644 --- a/source/_integrations/accuweather.markdown +++ b/source/_integrations/accuweather.markdown @@ -25,5 +25,6 @@ To add AccuWeather to your installation, go to **Configuration** >> **Integratio
Due to limitations of the terms of use of AccuWeather free API key, it is possible to configure only one integration instance. +The Limited Trial account only allows 50 API calls per day.
From 87c121ec1c02f04a6045054db242203dfeca9a9c Mon Sep 17 00:00:00 2001 From: nickrout Date: Tue, 26 Jan 2021 03:55:01 +1300 Subject: [PATCH 05/10] Remove 32 bit requirement fir GPIO on RPi (#16186) This i sno longer true AFAIK. --- source/hassio/installation.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index 5d23fe8eaf3..60cdfa6ecb3 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -9,9 +9,9 @@ The following will take you through the steps required to install Home Assistant - As an image for your device: - - [Raspberry Pi 3 Model B and B+ 32-bit][pi3-32] (32-bit is required for GPIO support) + - [Raspberry Pi 3 Model B and B+ 32-bit][pi3-32] - [Raspberry Pi 3 Model B and B+ 64-bit][pi3-64] - - [Raspberry Pi 4 Model B (1 GB, 2 GB and 4 GB model) 32-bit][pi4-32] (32-bit is required for GPIO support) + - [Raspberry Pi 4 Model B (1 GB, 2 GB and 4 GB model) 32-bit][pi4-32] - [Raspberry Pi 4 Model B (1 GB, 2 GB, 4 GB and 8 GB model) 64-bit][pi4-64] (64-bit is required for 8 GB model) - [Tinkerboard][tinker] - [Odroid-C2][odroid-c2], [Odroid-C4][odroid-c4], [Odroid-N2][odroid-n2], [Odroid-XU4][odroid-xu4] From ed301346b618cd74ed6ade59496248d8ffb50deb Mon Sep 17 00:00:00 2001 From: Tom Brien Date: Mon, 25 Jan 2021 14:55:55 +0000 Subject: [PATCH 06/10] Fix sidebar footer overlap (#16181) --- source/_includes/site/sidebar.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_includes/site/sidebar.html b/source/_includes/site/sidebar.html index e3372e5f76c..375d78fd713 100644 --- a/source/_includes/site/sidebar.html +++ b/source/_includes/site/sidebar.html @@ -36,10 +36,11 @@ // Some sidebars are longer than the screen so they can't be locked. document.addEventListener('DOMContentLoaded', function() { const sidebar = document.querySelector("#sidebar").querySelector(".grid"); + const footer = document.querySelector("footer").querySelector(".grid") if (sidebar) { const content = document.querySelector(".page-content").querySelector(".grid-wrapper"); const windowHeight = window.innerHeight - 82; - if (sidebar.clientHeight > content.clientHeight || sidebar.clientHeight > windowHeight) { + if (sidebar.clientHeight > content.clientHeight || sidebar.clientHeight > windowHeight - footer.clientHeight) { sidebar.style.display = "contents" } } From 089fbb0f5bd60740b84236e6cde0e6f938f37b9b Mon Sep 17 00:00:00 2001 From: Robert Teller <31879487+r-teller@users.noreply.github.com> Date: Mon, 25 Jan 2021 07:00:15 -0800 Subject: [PATCH 07/10] Adding support for EATON Accessory notification (#16112) Co-authored-by: Franck Nijhof --- source/_docs/z-wave/device-specific.markdown | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/source/_docs/z-wave/device-specific.markdown b/source/_docs/z-wave/device-specific.markdown index e04b64777c8..6422cd2f4db 100644 --- a/source/_docs/z-wave/device-specific.markdown +++ b/source/_docs/z-wave/device-specific.markdown @@ -1531,3 +1531,15 @@ Example Event: - service: switch.toggle entity_id: switch.office_fan ``` + +### EATON On/Off & Dimmer (RF9501/RF9540-N/RF9640-N/RF9601-N) + +Once you've added the remote to your Z-Wave network, you'll need to update your `zwcfg_*.xml` file with the below XML data. Stop Home Assistant and open your `zwcfg_*.xml` file (located in your configuration folder). Find the remote's device section and then its corresponding `CommandClass` section with id="112". Insert the snippet below into the CommandClass section with the below XML data. Save the file and restart Home Assistant. + +```xml + + Ensures that changes to the master node automatically notify accessory switches + + + +``` From 6fc25357661cbd7301f6d8afe8576723fc03d47e Mon Sep 17 00:00:00 2001 From: gemolnar Date: Mon, 25 Jan 2021 16:02:44 +0100 Subject: [PATCH 08/10] Add a section about general Chromecast use cases (#15812) Co-authored-by: Franck Nijhof --- source/_integrations/cast.markdown | 61 ++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/source/_integrations/cast.markdown b/source/_integrations/cast.markdown index 6ebdcab96cb..9993a904cd3 100644 --- a/source/_integrations/cast.markdown +++ b/source/_integrations/cast.markdown @@ -104,6 +104,67 @@ To cast media directly from a configured Plex server, set the fields [as documen media_content_id: 'plex://{"library_name": "Movies", "title": "Groundhog Day"}' ``` +### Play (almost) any kind of media + +Chromecasts can play many kinds of modern [media (image/audio/video) formats](https://developers.google.com/cast/docs/media). As a rule of thumb, if a Chrome browser can play a media file a Chromecast will be able to handle that too. + +The media needs to be accessible via HTTP(S). Chromecast devices do not support other protocols like DLNA or playback from an SMB file share. + +You can play MP3 streams like net radios, FLAC files or videos from your local network with the `media_player.play_media` service, as long as the media is accessible via HTTP(S). You need to set the `media_content_id` to the media URL and `media_content_type` to a matching content type. + +```yaml +# Play a video file from the local network: +service: media_player.play_media +data: + entity_id: media_player.chromecast + media_content_type: 'video' + media_content_id: 'http://192.168.0.100/movies/sample-video.mkv' +``` + +```yaml +# Show a jpeg image: +service: media_player.play_media +data: + entity_id: media_player.chromecast + media_content_type: 'image/jpeg' + media_content_id: 'http://via.placeholder.com/1024x600.jpg/0B6B94/FFFFFF/?text=Hello,%20Home%20Assistant!' +``` + +Extra media metadata (for example title, subtitle, artist or album name) can be passed into the service and that will be shown on the Chromecast display. +For the possible metadata types and values check [Google cast documentation > MediaInformation > metadata field](https://developers.google.com/cast/docs/reference/messages#MediaInformation). + +```yaml +# Play a movie from the internet, with extra metadata provided: +service: media_player.play_media +data: + entity_id: media_player.chromecast + media_content_type: 'video/mp4' + media_content_id: 'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4' + extra: + metadata: + metadataType: 1 + title: 'Big Buck Bunny' + subtitle: 'By Blender Foundation, Licensed under the Creative Commons Attribution license' + images: + - url: 'https://peach.blender.org/wp-content/uploads/watchtrailer.gif' +``` + +```yaml +# Play a netradio, with extra metadata provided: +service: media_player.play_media +data: + entity_id: media_player.chromecast + media_content_type: 'audio/mp3' + media_content_id: 'http://stream.tilos.hu:8000/tilos' + extra: + metadata: + metadataType: 3 + title: 'Radio TILOS' + artist: 'LIVE' + images: + - url: 'https://tilos.hu/images/kockalogo.png' +``` + ## Advanced use ### Manual configuration From 90c448d32555e6bc65e77158cb255826cb9ff6a4 Mon Sep 17 00:00:00 2001 From: starkillerOG Date: Mon, 25 Jan 2021 16:06:43 +0100 Subject: [PATCH 09/10] Add troubleshooting regarding UPD multicast (vlans) (#16175) Co-authored-by: Franck Nijhof --- source/_integrations/motion_blinds.markdown | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/source/_integrations/motion_blinds.markdown b/source/_integrations/motion_blinds.markdown index 5a96d2e92f9..580363d0bfb 100644 --- a/source/_integrations/motion_blinds.markdown +++ b/source/_integrations/motion_blinds.markdown @@ -84,3 +84,17 @@ The `cover.set_cover_position` will set the scaled position relative to the spac | `entity_id` | yes | Name of the motion blind cover entity to control. For example `cover.TopDownBottomUp-Bottom-0001` | | `absolute_position` | no | Absolute position to move to. For example 70 | | `width` | yes | Optionally specify the width that is covered, only for TDBU Combined entities. For example 30 | + +## Troubleshooting + +Home Assistant uses the following UDP multicast addresses/ports for communication with the gateway: + +- Motion hub receive UDP multicast `238.0.0.18:32100` +- Motion hub sending UDP multicast `238.0.0.18:32101` + +This communication needs to be allowed on your local network. If the blinds are unavailable and you see error messages like: + +`Timeout of 5.0 sec occurred on 5 attempts while waiting on multicast push from update request, communication between gateway and blind might be bad.` + +Please make sure the motion gateway and the device running Home Assistant are on the same VLAN and multicasting is enabled/allowed by your router. +If using separate VLANs, make sure the 238.0.0.18:32100 and 238.0.0.18:32101 ports are open for communication between those VLANs (not tested or confirmed to work). From 154dbfa37acf13ceab48150da340913bf5e7c572 Mon Sep 17 00:00:00 2001 From: Dmitry Vasilyev Date: Mon, 25 Jan 2021 19:34:19 +0400 Subject: [PATCH 10/10] Added the sample of DB size sensor for MS SQL. (#15529) Co-authored-by: Franck Nijhof --- source/_integrations/sql.markdown | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/source/_integrations/sql.markdown b/source/_integrations/sql.markdown index 59681e16faf..4055ca93bf9 100644 --- a/source/_integrations/sql.markdown +++ b/source/_integrations/sql.markdown @@ -161,3 +161,20 @@ sensor: ``` {% endraw %} + +#### MS SQL + +Use the same `db_url` as for the `recorder` integration. Change `DB_NAME` to the name that you use as the database name, to ensure that your sensor will work properly. Be sure `username` has enough rights to access the sys tables. + +{% raw %} +```yaml +sensor: + - platform: sql + db_url: "mssql+pyodbc://username:password@SERVER_IP/DB_NAME?charset=utf8;DRIVER={FreeTDS};Port=1433;" + queries: + - name: DB size + query: "SELECT TOP 1 SUM(m.size) * 8 / 1024 as size FROM sys.master_files m INNER JOIN sys.databases d ON d.database_id=m.database_id WHERE d.name='DB_NAME';" + column: 'size' + unit_of_measurement: MiB +``` +{% endraw %}