From f8233dade5a9b5110c2c1b0c61aadc0db2e77c6f Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Fri, 8 May 2020 18:51:35 -0400 Subject: [PATCH 01/21] Add complete Vizio configuration.yaml entry example (#13242) --- source/_integrations/vizio.markdown | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/source/_integrations/vizio.markdown b/source/_integrations/vizio.markdown index 0e1b114e7ef..c7075bf32d0 100644 --- a/source/_integrations/vizio.markdown +++ b/source/_integrations/vizio.markdown @@ -175,6 +175,29 @@ apps: default: null {% endconfiguration %} +```yaml +# Complete configuration.yaml entry +vizio: + - host: "DEVICE_IP:DEVICE_PORT" + access_token: AUTH_TOKEN + name: MY_VIZIO_DEVICE + device_class: tv + volume_step: 1 + apps: + include: + - APP_1 + - APP_2 + exclude: + - APP_1 + - APP_2 + additional_configs: + - name: MY_CUSTOM_APP + config: + APP_ID: 9 + NAME_SPACE: 9 + MESSAGE: MY_MESSAGE +``` + ### 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`. This configuration can be obtained from the `app_id` state attribute when an unknown app is running on your device. From 2255b726cc6cad56694e911e553e9ac40fa9cb31 Mon Sep 17 00:00:00 2001 From: Andreas Setterlind Date: Sat, 9 May 2020 00:55:10 +0200 Subject: [PATCH 02/21] Update zha.markdown to clearify zigpy-cc & zigpy-zigate as experimental (#13192) Co-Authored-By: Klaas Schoute --- source/_integrations/zha.markdown | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown index ef661ddccd0..7aacddb1096 100644 --- a/source/_integrations/zha.markdown +++ b/source/_integrations/zha.markdown @@ -41,7 +41,11 @@ Zigbee devices that deviate from or do not fully conform to the standard specifi The custom quirks implementations for zigpy implemented as ZHA Device Handlers for Home Assistant are a similar concept to that of [Hub-connected Device Handlers for the SmartThings Classics platform](https://docs.smartthings.com/en/latest/device-type-developers-guide/) as well as that of [Zigbee-Shepherd Converters as used by Zigbee2mqtt](https://www.zigbee2mqtt.io/how_tos/how_to_support_new_devices.html), meaning they are each virtual representations of a physical device that expose additional functionality that is not provided out-of-the-box by the existing integration between these platforms. -## Known working Zigbee radio modules +## Compatible hardware + +ZHA integration uses a hardware independent Zigbee stack implementation with modular design which means that it can support any one of the many Zigbee coordinator radio modules/adapters available from different manufacturers, as long as that module/adapter is compatible with [zigpy](https://github.com/zigpy/zigpy). + +### Known working Zigbee radio modules - dresden elektronik deCONZ based Zigbee radios (via the [zigpy-deconz](https://github.com/zigpy/zigpy-deconz) library for zigpy) - [ConBee II (a.k.a. ConBee 2) USB adapter from dresden elektronik](https://phoscon.de/conbee2) @@ -54,18 +58,21 @@ The custom quirks implementations for zigpy implemented as ZHA Device Handlers f - Telegesis ETRX357USB (Note! This first have to be flashed with other EmberZNet firmware) - Telegesis ETRX357USB-LRS (Note! This first have to be flashed with other EmberZNet firmware) - Telegesis ETRX357USB-LRS+8M (Note! This first have to be flashed with other EmberZNet firmware) -- Texas Instruments CC253x, CC26x2R, and CC13x2 based radios (via the [zigpy-cc](https://github.com/sanyatuning/zigpy-cc) library for zigpy) +- XBee Zigbee based radios (via the [zigpy-xbee](https://github.com/zigpy/zigpy-xbee) library for zigpy) + - Digi XBee Series 3 (xbee3-24) modules + - Digi XBee Series 2C (S2C) modules + - Digi XBee Series 2 (S2) modules (Note! This first have to be flashed with Zigbee Coordinator API firmware) + +### Experimental support for additional Zigbee radio modules + +- Texas Instruments CC253x, CC26x2R, and CC13x2 based radios (via the [zigpy-cc](https://github.com/zigpy/zigpy-cc) library for zigpy) - [CC2531 USB stick hardware flashed with custom Z-Stack coordinator firmware from the Zigbee2mqtt project](https://www.zigbee2mqtt.io/getting_started/what_do_i_need.html) - [CC2530 + CC2591 USB stick hardware flashed with custom Z-Stack coordinator firmware from the Zigbee2mqtt project](https://www.zigbee2mqtt.io/getting_started/what_do_i_need.html) - [CC2530 + CC2592 dev board hardware flashed with custom Z-Stack coordinator firmware from the Zigbee2mqtt project](https://www.zigbee2mqtt.io/getting_started/what_do_i_need.html) - [CC2652R dev board hardware flashed with custom Z-Stack coordinator firmware from the Zigbee2mqtt project](https://www.zigbee2mqtt.io/getting_started/what_do_i_need.html) - [CC1352P-2 dev board hardware flashed with custom Z-Stack coordinator firmware from the Zigbee2mqtt project](https://www.zigbee2mqtt.io/getting_started/what_do_i_need.html) - [CC2538 + CC2592 dev board hardware flashed with custom Z-Stack coordinator firmware from the Zigbee2mqtt project](https://www.zigbee2mqtt.io/getting_started/what_do_i_need.html) -- XBee Zigbee based radios (via the [zigpy-xbee](https://github.com/zigpy/zigpy-xbee) library for zigpy) - - Digi XBee Series 3 (xbee3-24) modules - - Digi XBee Series 2C (S2C) modules - - Digi XBee Series 2 (S2) modules (Note! This first have to be flashed with Zigbee Coordinator API firmware) -- ZiGate based radios (via the [zigpy-zigate](https://github.com/doudz/zigpy-zigate) library for zigpy and require firmware 3.1a or later) +- ZiGate based radios (via the [zigpy-zigate](https://github.com/zigpy/zigpy-zigate) library for zigpy and require firmware 3.1a or later) - [ZiGate USB-TTL](https://zigate.fr/produit/zigate-ttl/) - [ZiGate USB-DIN](https://zigate.fr/produit/zigate-usb-din/) - [PiZiGate](https://zigate.fr/produit/pizigate-v1-0/) From 794576522ccaf601864162fd1e07161a9902be48 Mon Sep 17 00:00:00 2001 From: Andreas Riddering Date: Sat, 9 May 2020 00:59:01 +0200 Subject: [PATCH 03/21] fixed broken(?) manual and made it overall easier (#13241) --- source/_integrations/vacuum.xiaomi_miio.markdown | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/source/_integrations/vacuum.xiaomi_miio.markdown b/source/_integrations/vacuum.xiaomi_miio.markdown index b8a20c924d1..7548fcbf3c5 100644 --- a/source/_integrations/vacuum.xiaomi_miio.markdown +++ b/source/_integrations/vacuum.xiaomi_miio.markdown @@ -293,13 +293,11 @@ This token (32 hexadecimal characters) is required for the Xiaomi Mi Robot Vacuu 1. Configure the robot with the Mi-Home app. Make sure to select the correct region, as Xiaomi uses different product names for different geographical areas. Note that the new RoboRock app is currently not supported for this method. 2. Install [BlueStacks](https://www.bluestacks.com). -3. Set up [Mi Home version 5.0.30](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-30-release/) in BlueStacks and login to synchronize devices. -4. Use [BlueStacks Tweaker](https://forum.xda-developers.com/general/general/bluestacks-tweaker-2-tool-modifing-t3622681) to access the filesystem and retrieve the token. -5. Copy `/data/data/com.xiaomi.smarthome/databases/miio2.db` file to your computer using the Bluestacks Tweakers filesystem tool. -6. Install [DB Browser for SQLite](https://sqlitebrowser.org/). -7. Open the DB Browser and load the `miio2.db` from your computer. -8. Select `Browse Data` tab from the DB Browser and switch to table called `devicerecord` -9. This will display all the connected devices information with the token. +3. Set up [Mi Home version 5.4.49](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-4-49-release/) in BlueStacks and login to synchronize devices. +4. Open Filemanager in the `More Apps` menu. +5. Use `Explore` on the left and navigate to `sdcard/SmartHome/logs/plug_DeviceManager`. +6. Click on `Export to Windows` in the lower left corner and select any or all files to export to you local disk. +7. Search for `"token":""`. ### Miio command line tool From 5317a609f74d80315ccf02bf7a76e0b71d33e0e9 Mon Sep 17 00:00:00 2001 From: Paddy0174 <1948551+Paddy0174@users.noreply.github.com> Date: Sat, 9 May 2020 00:59:14 +0200 Subject: [PATCH 04/21] Update Icon to Tab-Icon to avoid anchor duplication (#13012) --- source/lovelace/dashboards-and-views.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/lovelace/dashboards-and-views.markdown b/source/lovelace/dashboards-and-views.markdown index 354b926f2f8..d89ed251907 100644 --- a/source/lovelace/dashboards-and-views.markdown +++ b/source/lovelace/dashboards-and-views.markdown @@ -264,9 +264,9 @@ Picture card configuration: navigation_path: /lovelace/living_room ``` -## Icon +## View icon -If you define an icon the title will be used as a tool-tip. +If you define a view icon, the icon instead of the title will be displayed, the title will then be used as a tool-tip. #### Example From afa08bc4016917a686571ff8b264d218b9f9183d Mon Sep 17 00:00:00 2001 From: Alexei Chetroi Date: Sat, 9 May 2020 06:37:26 -0400 Subject: [PATCH 05/21] Add directions to enable ZHA debug logging (#13365) --- source/_integrations/zha.markdown | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown index 7aacddb1096..010f96e35b1 100644 --- a/source/_integrations/zha.markdown +++ b/source/_integrations/zha.markdown @@ -157,6 +157,36 @@ Reset your Zigbee devices according to the device instructions provided by the m ## Troubleshooting +### Reporting issues + +When reporting issues, please provide the following information in addition to information requested by issue template: + +1. Debug logs for the issue, see [debug logging](#debug-logging) +2. Model of Zigbee radio being used +3. If issue is related to a specific Zigbee device, provide device Zigbee signature. Signature is available at +`Configuration` Panel -> `Zigbee Home Automation` -> Pick your Device -> `Zigbee Information` + +### Debug logging + +To enable debug logging for ZHA component ard radio libraries, add the following [logger](https://www.home-assistant.io/integrations/logger/) configuration to `configuration.yaml`: + +```yaml +logger: + default: info + logs: + homeassistant.core: debug + homeassistant.components.zha: debug + bellows.zigbee.application: debug + bellows.ezsp: debug + zigpy: debug + zigpy_cc: debug + zigpy_deconz.zigbee.application: debug + zigpy_deconz.api: debug + zigpy_xbee.zigbee.application: debug + zigpy_xbee.api: debug + zigpy_zigate: debug +``` + ### Add Philips Hue bulbs that have previously been added to another bridge Philips Hue bulbs that have previously been added to another bridge won't show up during search. You have to restore your bulbs back to factory settings first. To achieve this, you basically have the following options. From d151523c71fd76e2446bd45221038a0c01812739 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 9 May 2020 12:37:57 -0700 Subject: [PATCH 06/21] Bump version to 0.109.6 --- _config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index f4d63b4680e..10d3f29e532 100644 --- a/_config.yml +++ b/_config.yml @@ -101,8 +101,8 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 109 -current_patch_version: 5 -date_released: 2020-05-06 +current_patch_version: 6 +date_released: 2020-05-07 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. From 6ccbf5b752ee1574a4682acdc947891740a6cd71 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 9 May 2020 12:55:54 -0700 Subject: [PATCH 07/21] Add supervised blog (#13372) --- ...stant-supervised-on-generic-linux.markdown | 67 ++++++++++++++++++ .../installation-options.png | Bin 0 -> 33753 bytes 2 files changed, 67 insertions(+) create mode 100644 source/_posts/2020-05-09-deprecating-home-assistant-supervised-on-generic-linux.markdown create mode 100644 source/images/blog/2020-05-09-deprecating-supervised/installation-options.png diff --git a/source/_posts/2020-05-09-deprecating-home-assistant-supervised-on-generic-linux.markdown b/source/_posts/2020-05-09-deprecating-home-assistant-supervised-on-generic-linux.markdown new file mode 100644 index 00000000000..72c6d9aeacb --- /dev/null +++ b/source/_posts/2020-05-09-deprecating-home-assistant-supervised-on-generic-linux.markdown @@ -0,0 +1,67 @@ +--- +title: Deprecating Home Assistant Supervised on generic Linux +description: "Home Assistant Supervised is no longer a supported installation option." +date: 2020-05-09 00:00:00 +date_formatted: "May 9, 2020" +author: Paulus Schoutsen +author_twitter: balloob +categories: Announcements +--- + +TL;DR: Home Assistant Supervised (also known as Home Assistant on Generic Linux) installation method is no longer supported. + +There are currently three different ways of installing Home Assistant: + +- Home Assistant: our operating system running either directly on a supported device like the ODROID N2, Raspberry Pi 4, Intel NUC or a virtual machine. +- Home Assistant Supervised: an installation of core + supervisor that are hosted on a generic Linux installation. +- Home Assistant Core: our Python core application running in a Python virtual environment or a Docker container. + +![Different installation methods](/images/blog/2020-05-09-deprecating-supervised/installation-options.png) + +The benefit of running the Supervisor is that you are able to keep Home Assistant up to date from within Home Assistant, and easily install add-ons that are pre-configured to be able to integrate with Home Assistant. + +The Supervisor is an extremely complicated program that interacts with a wide range of applications and components in the host operating system. Examples are Docker containers, DNS, sound and USB hardware sticks that users want to use with Home Assistant. The Supervisor is controlled from Home Assistant which allows us to create a full home automation hub experience. + +The Home Assistant operating system is made with the bare minimum that the Supervisor needs to run and makes sure it does not get in the way of the Supervisor: the system is fully managed by the Supervisor. + +Some users still wanted to be able to control the host operating system, and so a generic installer was introduced that could install Home Assistant Core and Supervisor on a generic Linux system, like Debian or Ubuntu. + +However, when people run it on top of their own system, things can go wrong. And in fact, it’s quite complex to maintain it on generic Linux. Installing is fine, everyone can follow a tutorial, but after that when things break, people come to us, not the author of the tutorial. And this workload keeps growing, to a problematic extent. + +Home Assistant OS and Supervisor are being maintained by Pascal. He started them 3,5 years ago and has been maintaining this first in his spare time, later as a full-time employee of Nabu Casa. + +Building the operating system and the supervisor is a complex task that requires specific expertise. Sadly after 3,5 years, there are still no other contributors to help. This has resulted in his responsibilities outgrowing what one can expect from a full-time employee. + +Nabu Casa was founded to make the development of Home Assistant sustainable. To be able to maintain a healthy work/life balance and to avoid developer burn-out that is, unfortunately, common in the open source world. + +In an effort to reduce Pascal’s constraints we’re per direct no longer supporting the generic Linux installation method. It will no longer be mentioned in the documentation. We have archived the repository. If you are willing to maintain it, feel free to fork it. Issues that result from using this will be ignored or closed when reported to us. + +## Open Source & Community + +I know that this blog post will make a small subset of our community angry. There are people that think that they deserve other people’s work, even if it costs them their health. You’re wrong. + +Just as with our [recent decision to limit the usage of YAML in some cases](https://www.home-assistant.io/blog/2020/04/14/the-future-of-yaml/), Home Assistant will keep choosing health over features. Open source is not about us having to support every feature anyone on the internet can think of. Open source means that anyone can do that themselves and choose to share this or not. + +There are still tons of ways of installing Home Assistant, there are still tons of features and customizations possible. + +## Frequently Asked Questions + +### How do I run Home Assistant while still keeping control over the operating system? + +We offer a virtual machine image of Home Assistant. These images can be used on e.g., VMWare, VirtualBox and Proxmox, and also on NAS systems that support running a VM as most modern NAS systems do. Using these provided images will give you the full supported Home Assistant experience. + +[You can find virtual machine images here.](https://www.home-assistant.io/hassio/installation/) + +### I run on a platform that doesn’t support VMs and I still want to keep control over the operating system. + +To do this we recommend running Home Assistant Core in Docker. You will lose out on the easy updates, system management and pre-configured apps (add-ons) from the UI. However, you are still able to run the full beating heart of the Home Assistant home automation platform. + +All applications that are available as Home Assistant add-ons are also available as third-party Docker containers. You will be responsible to configure them to work with Home Assistant Core yourself. + +### I know what I am doing. Can I still use the generic Linux installer? + +Yep, the archived repository is still there. You can also fork it and change things. But there is no official resource to visit when things break. + +### I am currently running Home Assistant Supervised. Now what? + +Everything will continue to work as-is. Bugs won’t be fixed and you should consider migrating to one of the other methods. If you are migrating to a virtual machine, you can make a snapshot in the Supervisor panel and restore that in your new installation. diff --git a/source/images/blog/2020-05-09-deprecating-supervised/installation-options.png b/source/images/blog/2020-05-09-deprecating-supervised/installation-options.png new file mode 100644 index 0000000000000000000000000000000000000000..8fd6ee690a328b170e88570a07e95bacafabe2ba GIT binary patch literal 33753 zcmeEuWk8f&w>F`OQVL2pN=VGm9fA^)f)bKLBV7VRj7X^r-O^GbEh;@UNH;_G5JLWsv({EruXj$p2SgWh!JjPxV;^5(u+gP(=_Kdo7K|J8a!ISc>4u5s^QcWgY@NX8CgVE0nrLtkA@!ot~+4`k_V zZpG*A=yKfwN6K3Qd+BK90b=%cbZ~N)@Rnx%(?bG#eSI6i%KWE`hrKkbzPc8(g0q_y zvoN0!ACOh%4l^^el$)isg!WU#e|#PLNt)Hx!^1@a0Pyni;`0*Zb9S=<@QaI!1Aqbm z0RdiY4_1VV`_Gz6`(ApPv76?;p>R0$e}* zpC-4^6yU$bCUZxvg~I>`M-E5j>64e@rOZ0SEJ?1${EnIP;vMTJg65vm zCX(;B_aV-R(TNdp8v(&CHEW;7HMEA89(>$6v-I0lZQ>WLhs?OQmF4irqu<^5zsvuV z!~fqy(902s&@)13-fN%!MhrfaE$?;Xt{2LL%!fA1mLGnHpf)!78*UyD^InyD4ZQKT zkmfhLO?=igJa7i(O}0^sOkb;B|AILx*zrD1JVQOv1j|Z5WWo5AQw^JujUlebAUxH2 zo32jZR?LXhVV|2-0LpM10}sp0inQ^MiS*r$9jHS2`n^rUqgBQ`P%ukRNMiN&x@^2O z9T?~{_yDRyLn`i;_2#a{y&E|6!xQp`-}bPmS;5q9R#|0-ZgpVVt(!X9ec=tP^wor+UgkSg>u4Gb&{Y z|Eafud=!In!&V*y@&BpNS&etGZKgZ9aF)LrHR-l3^M-%~{`3Ew>!2wiwhiDly!kg~ zBCF?yP_ze4I_{(YG$rc*Y};Xy!}Yw=lkiBOv1I z$(Vu2vr6BHI~%p~c;w31Q&%UYCHr-e=@<(iB#CB<^)vu1h6U(KpdoIYX> zys7>U{ORml%&ttk&m7g+x0SP;1__@hCes(Y$U<;#!Q3L{LwE>{UYSVr#daBls}$yD zj-B0%*FbvL0C(A8Z;x+|pU2qcoM|6VzR^|AQf*;ec&0}E*P=Eby%&VsY! zi;>3pZE@sd0BwhYh+&oYRgF!Za1`}NWu+MGb`K^IYH7YO6(*l65F0p`H+?W?P)&d= zZj?Pyt1?y8^NuO=Z>%upU#5b;wZF>n-U76jGr;sOt^()Z+DlyW?wdF=Z#b848V|gR z1Mp%M=!A09x!z!}lADif4t&rDo})~jW;|!mHWEXhX>^KiED?cM!e>Ug`S|9*MZPp1 zXGbm2 z@=EG-+PC)pTjpEH69RJD=M3Ah;Q2RIMv;=k6G$})G?^023AXdie5Bd%fuU2C#T$pd z4~n+FEkUvXd(OSsOmIhHew6cox4>IJk(o!1+2hL79b z=993EmY_?>j&B~5;0fz8YlF*em?8G_!7D)D8;R4vLe@X3=T5ldRxu~3m~by(Ghr+OS?+e4 zrZHK3*WV$GV$S%FEFRau>;RW1dU98kGVC z`kg9&rpC^zkLz=VAO_xc^M^g4r?|D|T)SG}*aBCz$u$18<08tww2Vt#e?;28YPhXc z@4n~tK(E6k6)f*n!3)P&@_Wy|di_)47b(%=V3{9_F~DceR!`21ocU)_`M(-%!oQeYmE6OLUprXT+_~LMJnOJzeirk}NOC zt=9l0^KZs-7Yg&;dyZrW3|zRe0?RTb&$`O)?L%-Pq!9iFobFsq8$X{IC-!L7u4#{J znpjekXM>dQ^x+=wB2g zB47|(^BYr*I}}_~I7Wk0!4(d7S$FKdRRBbgRs55g8s&%|vr6|<9rqHJ&^DP|uluDNCY-BS+N*EJ zeNu;2KfBYylpxDb(kPu{KPs>%H&k7F_+C)QTZ%z?6>96(@G6aAc_LEWa^Czh;`4}} zQ2(Ay<4I{sd$}`%)*#7g9@SOM#a@%C+ZZ7Hm98;^Gsz=J44bT9%=xg0>$`6sebO`a&#QL1;A;Phe?n@%-WfgyKU1qf zvCOM)kb&oKeUesU)b=y~DXe3p#Pq`p*+C##T(A;OAPO&U^PSV7ckiAov6I<9zomWk zYZ{%(1?&7`KN(_^{+gbixUBIYyE^iTdqL${ng=c3VKDZM9%%A(;pi=xK9S^xcu#Ll z8?{}iK4ZXEVHX;iX_V1zh^%Lel;y4I3$W8DYl>-wy><|^gpVeO4w(K#4Q^}Wmm7ug zmp!oBr<~qNZn01+fH9}Pu;}NZH1-%8Weaw@ih!E}-cESx_iN8?3;*0hPHzhdr8Dgx zEf&t@*3Vm=R=sZ3D$vFR@E~D(RGM6KmphL>oue9x#2_;#L`Y=CnrY$%qx*VQEA{?n z^{URN{HTC>ZxQ0%QP)wB-uy8}o8i2h8&FXDiMQoQ`|X!2`M zyht@YA2KoI&wDuXdz4*j%Mhws9Ovecs%_(9wd7~odC<#SvmPf*+6-x^d6siOwh(D_ zTDZ<~BO;9{cbDnB?M>m3v`1M?VToK&=9z0d86@8F{&g(kA1aq~@(nC41M}R9%+ryi!qFv3fQvc-h_DwF+`QCeltvFXKp-4 z5CRvZ7!TZ`GDlk;(wM?9*lQ!NPSmh3v1ez8Hs=;zNPr8v6SI zAzJVkdacMG2LQm_Iqakg7A4Jul1l10U##79o;h>6Lk1NmJP6s6^q8*RALEki1T5Ud+o!`(5S6?Lq57iC3?S?&)0@{12Sj4!!CY5c0X}b zi9rie1V06Yb=G#zo2GPOS9LTdf@`$sBy) zHVjKIrUf7l-Ll?gWp{+jv?xIKPe|1x8dd?$aj-Waees2_%i+>6e;0c{d&t|M`&Y%~ z>*Hbcqx78*d!b%eAx) zwvM~S)%WkLkYxv6bl8_YpymM5BRpQSeN3OupS`OX?Kx$HPom2cJs@-WGL8F_W6q1- zTt8JnrNb15)J;aXtR;N0Js`}#O!ztRGqR_xCp#&QontS|=-m!g+MPgZ-FQ00dX3>N z2`$+s5|d?y*QcZ*UG54z9^+>Y%yw0n^y<%(wdc*Wa~X2Ud7?zM_&qy)Uj%MXEz23i zgr3E>D<$prwe0hhNrjOQowjKTL@S|<)x*AjX5=i$Je^(YSp>j6kM?CehaVN5?|#li zJ4iGbjPg@I`fV{O=XSC!sGVMmYMxhTBH2}gX^Sp%Tuspmd(tXWLeC9sSJW?tYKGR& z?KhP^_(g6z@6<{&mPgk%6L2I`6v1kqm@ zmuc5oy3jm+SqmAK*%~W|cWCv6YV`PYXJ;VYFx3kr?=!56FK5a&m@;?ckP;#&LuqsUvjt@Rjv|Yy#G5$&cs`8DlQ>a=JWpZMI}&3g=L;gD*S0_n}27kX4PBAemk>M z1F6tE4g0I~t?F-W!ehSiq;RGEWu?+_5TXq$$lIZBXbla#7YnNJt-xd65krA2^o_Ni zuj%kreiG*`Dk>Bkg&_!-UD?Fb(_uAmqYVcdic)PGfsb^aiqbWL`%Sm-We6-mVw`b5 zhjl_a95pgc!U&B6y5MJYq6OfuGu10nXxIjltI(-6OH(2KkPZFX}KgHbgTX#p5$RX0s)SgyRZBc+8MoX+2^exF{(7mJ1G`B@&(RJ5Q|mei9tE} zbft#(Pu`s*^NezgDs7k)(6g+m^iW0ZJ{9ZF`syhQf})zw``Dj zRFFiohZ}s4FcZ_V`q2<=0X{aIU9y>wnYU{t4N}<|J2;`f_kuFC&U%?}XS8p$U=lJ} zcAm~QXhZzaipUgAZdZ<-pFS5l=p_?hOYwK)8!p?L7x7F}ZfRQp*y)mE+T32`vuXM` z(w5WjirSZt6D~n_tIxW7M(|yx_LQvGe)vn*O2)~Cj;+||5Be;?e6@p86b0d(3eT4* z@rgq2l8KP$gTaF&M2jrh*-935jAR$|B4_cV?a-FHi01inv}#xKOTLG@h7azrf$Oxq zn}U3sgVX{NBb;1cvCMzEe$8J!e@C^UsA$(gmPGQf@(UeMUJvnYg=&9`BXfYH%&#|5 zpia8W6_`d)!a+?$t71YL8)~!D_rWx@l-1)&KLL5D<#2e66I`5k=4;q#ax|TrMZc3u zC~2*6&ZuT8>D>1TtBI=DvL?B|Rb_?R_&cJ>kn~6zS{saiW7 zQ&5xLLqrr?#Kk(_wa*NouzjgFH1g#Q^P+@L!Ph$oAi_(;ZRNm^bGsNAOppy#+EnpX zd^4B&oj;HfVz95I50>AdV~TJ$<_B+y@4T~!bV;(SO4nJ))UJucbDP=*?fKG39_W;~i> z5Wpq!nw?U0?)`m6fmKeshY?VK(5P+N7`Mavt0xu-u9lN>E%+*W!i@J5U+2br5>8TF zVyMXM^tABFy(f;1*F(>LcrX&NQ&6hI_9AN)$r)D)M<8)asWg;kt1r7kC=OzQrF9u* z^fbR(S2u9;U7;@!Y%g$tZG@`!Kg)}$!kn%{I)cZ6->^m|tW-##Xm6#1#W>Zytl?Yc zPx!gt7#D+%CTKJp*GRZ+7lCT0y2^l(LLfUU<7Xi(N%Ir#jqkxbrC)QtmI2=nHhiuP z^#(csPey0GWJ60iSg-K`9++UozZr;vWJ~*xb6YmrD;df%Gt^H zom`_}w3)|3ls=<++f+SpWxy46| zrn3Vs%7~=;lKni#Ey@|f+D9c1py0_BBDQObonvc+07)8~%ij+JVGB_HjqEf^ZoJ*5 z#E=7Ewj7Jo{l(2GM*biHw1XvcO#o6;JMcxiUhwX=fuwlZHDE-&ej{0n&Swh%d9xiD zlX8KMA}g466J7Kxt(*yiEGe^c^ z-ElcD>kUDE>1`|HJR*(@w8&~Aloji+6hz&p=uW5;)XCH?;K%im#=m{U+@K3|87v}4 z*t5jt>6i-C3!2))WPTa3*^Nx_M15Q{@(H1j{9{qcZB^ezHPmM%`EJ@U`SJK;QJA%F zt^4SH2lsU4&<-6p8cX zC`ZJiGQw}4KhUd_OLTrV--O-t`2e}M(f~XBvT!I47qpc6eK*Xy!}0uKBp9;zP-#_{1k~nC_E{nk<=aGm`?7QJd@ZXxci;|-+;X^EB7tFzLwi;eku<{V zAZfZkWGEr6*f6#76W<8J<3o6D2;xRz74o)mEZ2ET+s}-_Q?^VUzSL-9mQe#g#ADG_ zvCOclVYbzjf($h~lh+2_Vgp3SJ10B_fWq|Jyj{F*Pg_vPTzJ=1xShRspcu-ZGI(k}4(y)=~$pSh2z*%G7v zRGoL6tw7nN4;wM`SKG70E`x631GjDxUxf3HzeR@7lZATCb*^vdCmMCWC`incss$aZ z0u<}awCI)z12!gyUm2Kx6!%2-RAS1CUJ(Cw!PxO0#`Ua)zs!(|OcLr4uC#jV2R2Ca z=m@^)mZwiw@p8W)4>z|-?Dx9= zcB?HGiXLg!3Uqy!K}Foqr5NfaA=Sfq#N|`M(Uz`9SbgxzaM*~MI1hAnPuJG)E&4(1 zlVI?N{Ro<4F8tfA-aC3ZrIxIEt8-uY5NAcw4DPk9Upfinz8|!}Hh0*x8&1~Q$U4J< zRki(6#;TXR0xCR$AtM{I=~>RGRcOrl&8*CU=9Ka0wp z@%_~rc*GfqtGMu6U)o_^PedKz%r}i@?iOr2&@nFmQskXH=sS=OOPllZmdz&3F6sS& zPfeZd{OxhQeff%%)dLiJL~z$@v=(|KSu{L@$xo{Q1{Q27d(c7AEroo9%=VM^-SM*h zmQ(2Ui*%W&K{A;$(Jj`F5ZN`Z0HZ`$jn>Rd0~?}1X=~Dlv9_B!xAtJ6D?`Mm4X6xB zHceSɶ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 literal 0 HcmV?d00001 From f3f705c6298ee230c03f0ecd83c41289f577b25a Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 9 May 2020 16:21:03 -0700 Subject: [PATCH 08/21] Update 2020-05-09-deprecating-home-assistant-supervised-on-generic-linux.markdown --- ...cating-home-assistant-supervised-on-generic-linux.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_posts/2020-05-09-deprecating-home-assistant-supervised-on-generic-linux.markdown b/source/_posts/2020-05-09-deprecating-home-assistant-supervised-on-generic-linux.markdown index 72c6d9aeacb..2d4538695bb 100644 --- a/source/_posts/2020-05-09-deprecating-home-assistant-supervised-on-generic-linux.markdown +++ b/source/_posts/2020-05-09-deprecating-home-assistant-supervised-on-generic-linux.markdown @@ -38,8 +38,6 @@ In an effort to reduce Pascal’s constraints we’re per direct no longer suppo ## Open Source & Community -I know that this blog post will make a small subset of our community angry. There are people that think that they deserve other people’s work, even if it costs them their health. You’re wrong. - Just as with our [recent decision to limit the usage of YAML in some cases](https://www.home-assistant.io/blog/2020/04/14/the-future-of-yaml/), Home Assistant will keep choosing health over features. Open source is not about us having to support every feature anyone on the internet can think of. Open source means that anyone can do that themselves and choose to share this or not. There are still tons of ways of installing Home Assistant, there are still tons of features and customizations possible. @@ -65,3 +63,5 @@ Yep, the archived repository is still there. You can also fork it and change thi ### I am currently running Home Assistant Supervised. Now what? Everything will continue to work as-is. Bugs won’t be fixed and you should consider migrating to one of the other methods. If you are migrating to a virtual machine, you can make a snapshot in the Supervisor panel and restore that in your new installation. + +[Edit May 9, 16:19] Removed paragraph from Open Source & Community as it was insinuating. From 469cb0d8dd1105b5d504a349533d083051c480c0 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Sun, 10 May 2020 02:48:25 +0200 Subject: [PATCH 09/21] Remove iOS from docs navigation tree (#13375) --- source/_includes/asides/docs_navigation.html | 51 -------------------- 1 file changed, 51 deletions(-) diff --git a/source/_includes/asides/docs_navigation.html b/source/_includes/asides/docs_navigation.html index f3c5b3ba8b5..15d2a4e364c 100644 --- a/source/_includes/asides/docs_navigation.html +++ b/source/_includes/asides/docs_navigation.html @@ -193,57 +193,6 @@
  • {% active_link /docs/mqtt/processing_json/ Processing JSON %}
  • -
  • - {% active_link /docs/ecosystem/ios/ iOS %} -
      -
    • - {% active_link /docs/ecosystem/ios/notifications/basic/ Basic - notifications %} -
    • -
        -
      • - {% active_link /docs/ecosystem/ios/notifications/sounds/ Sounds %} -
      • -
      • - {% active_link /docs/ecosystem/ios/notifications/architecture/ - Architecture %} -
      • -
      • - {% active_link - /docs/ecosystem/ios/notifications/privacy_security_rate_limits/ - Privacy, rate limiting and security %} -
      • -
      -
    • Advanced notifications
    • -
        -
      • - {% active_link /docs/ecosystem/ios/notifications/attachments/ - Attachments %} -
      • -
      • - {% active_link - /docs/ecosystem/ios/notifications/content_extensions/ Dynamic - content %} -
      • -
      • - {% active_link /docs/ecosystem/ios/notifications/actions/ - Actionable notifications %} -
      • -
      • - {% active_link - /docs/ecosystem/ios/notifications/requesting_location_updates/ - Requesting location updates %} -
      • -
      -
    • - {% active_link /docs/ecosystem/ios/location/ Location Tracking %} -
    • -
    • - {% active_link /docs/ecosystem/ios/integration/ Integration with - other apps %} -
    • -
    -
  • {% active_link /docs/ecosystem/ Ecosystem %}
      From 72ddc2b7c005a736d8d6dbd8e74f8923cb5a9597 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Sun, 10 May 2020 03:02:36 +0200 Subject: [PATCH 10/21] Remove ensure_config page (#13377) --- source/_docs/tools/ensure_config.markdown | 11 ----------- source/_includes/asides/docs_navigation.html | 1 - 2 files changed, 12 deletions(-) delete mode 100644 source/_docs/tools/ensure_config.markdown diff --git a/source/_docs/tools/ensure_config.markdown b/source/_docs/tools/ensure_config.markdown deleted file mode 100644 index 78b7dd6def4..00000000000 --- a/source/_docs/tools/ensure_config.markdown +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: "ensure_config" -description: "Script to perform a check if the configuration file exists" ---- - -This script checks if the `configuration.yaml` file exists. If the file is not available, one is created. - -```bash -$ hass --script ensure_config -``` - diff --git a/source/_includes/asides/docs_navigation.html b/source/_includes/asides/docs_navigation.html index 15d2a4e364c..508b1f7e977 100644 --- a/source/_includes/asides/docs_navigation.html +++ b/source/_includes/asides/docs_navigation.html @@ -135,7 +135,6 @@
    • {% active_link /docs/tools/benchmark/ benchmark %}
    • {% active_link /docs/tools/check_config/ check_config %}
    • {% active_link /docs/tools/credstash/ credstash %}
    • -
    • {% active_link /docs/tools/ensure_config/ ensure_config %}
    • {% active_link /docs/tools/keyring/ keyring %}
  • From 1bffdc4bae399774725ce68c0648d5f0627e7223 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 10 May 2020 07:51:25 -0700 Subject: [PATCH 11/21] Update blog post --- ...ssistant-supervised-on-generic-linux.markdown | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/source/_posts/2020-05-09-deprecating-home-assistant-supervised-on-generic-linux.markdown b/source/_posts/2020-05-09-deprecating-home-assistant-supervised-on-generic-linux.markdown index 2d4538695bb..54801146a13 100644 --- a/source/_posts/2020-05-09-deprecating-home-assistant-supervised-on-generic-linux.markdown +++ b/source/_posts/2020-05-09-deprecating-home-assistant-supervised-on-generic-linux.markdown @@ -1,5 +1,5 @@ --- -title: Deprecating Home Assistant Supervised on generic Linux +title: [On hold] Deprecating Home Assistant Supervised on generic Linux description: "Home Assistant Supervised is no longer a supported installation option." date: 2020-05-09 00:00:00 date_formatted: "May 9, 2020" @@ -8,6 +8,20 @@ author_twitter: balloob categories: Announcements --- +**[Update May 10]** + +We’ve been overwhelmed with the many reactions. We realize our communication has been poor on this subject, for which I want to apologize. We do not collect data and so can’t always judge the impact of our decisions. + +We’re going to put the deprecation plan on hold for now. Anyone running this installation method today can continue running this. We will offer more clear information in the future. + +We’re going to investigate how we can maintain the supervised installation on generic Linux. + +Furthermore, we are going to make sure that supported installation guides are properly documented. + +Paulus + +--- + TL;DR: Home Assistant Supervised (also known as Home Assistant on Generic Linux) installation method is no longer supported. There are currently three different ways of installing Home Assistant: From 54607dcf1ffeee5cdb24986b5518b11693b8d71a Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Sun, 10 May 2020 17:00:30 +0200 Subject: [PATCH 12/21] Fix build --- ...recating-home-assistant-supervised-on-generic-linux.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_posts/2020-05-09-deprecating-home-assistant-supervised-on-generic-linux.markdown b/source/_posts/2020-05-09-deprecating-home-assistant-supervised-on-generic-linux.markdown index 54801146a13..7c7721392e1 100644 --- a/source/_posts/2020-05-09-deprecating-home-assistant-supervised-on-generic-linux.markdown +++ b/source/_posts/2020-05-09-deprecating-home-assistant-supervised-on-generic-linux.markdown @@ -1,5 +1,5 @@ --- -title: [On hold] Deprecating Home Assistant Supervised on generic Linux +title: "[On hold] Deprecating Home Assistant Supervised on generic Linux" description: "Home Assistant Supervised is no longer a supported installation option." date: 2020-05-09 00:00:00 date_formatted: "May 9, 2020" From b932e8a75cd604c3c133fb28dd2995d353987a5c Mon Sep 17 00:00:00 2001 From: Alec Rust Date: Sun, 10 May 2020 19:38:47 +0100 Subject: [PATCH 13/21] Fix ASUSWRT link (#13385) --- source/_integrations/asuswrt.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/asuswrt.markdown b/source/_integrations/asuswrt.markdown index fe916eac67e..a0c5f28b32b 100644 --- a/source/_integrations/asuswrt.markdown +++ b/source/_integrations/asuswrt.markdown @@ -12,7 +12,7 @@ ha_codeowners: ha_domain: asuswrt --- -The `asuswrt` integration is the main integration to connect to a [ASUSWRT](https://event.asus.com/2013/nw/ASUSWRT/) based router. +The `asuswrt` integration is the main integration to connect to a [ASUSWRT](https://www.asus.com/ASUSWRT/) based router. There is currently support for the following device types within Home Assistant: From a88f88965246e10bcf8c167b9c31d304748134c8 Mon Sep 17 00:00:00 2001 From: Karol Babioch Date: Sun, 10 May 2020 20:43:59 +0200 Subject: [PATCH 14/21] Remove abundant word used twice (#13387) There is an abundant `put` in the introduction being used twice right after each other. Most probably this is an oversight / typo. This removes one instance of the word, to make the sentence better readable and grammatically correct. --- source/_docs/installation/docker.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/installation/docker.markdown b/source/_docs/installation/docker.markdown index 4c32c3dfc26..209eb9d26cf 100644 --- a/source/_docs/installation/docker.markdown +++ b/source/_docs/installation/docker.markdown @@ -8,7 +8,7 @@ redirect_from: /getting-started/installation-docker/ These below instructions are for an installation of Home Assistant Core running in your own Docker environment, which you manage yourself. -Note that Docker command line option `--net=host` or the compose file equivalent `network_mode: host` must be used to put put Home Assistant on the host's network, otherwise certain functionality - including mDNS and UPnP - will break. The `-p` command line option or the compose file equivalent `ports:` is not compatible with host networking mode and must not be used. +Note that Docker command line option `--net=host` or the compose file equivalent `network_mode: host` must be used to put Home Assistant on the host's network, otherwise certain functionality - including mDNS and UPnP - will break. The `-p` command line option or the compose file equivalent `ports:` is not compatible with host networking mode and must not be used. From d9e4afcd4ecfda5cbd8f572d20b545f7d7b28bc9 Mon Sep 17 00:00:00 2001 From: ovidiulaz7 Date: Mon, 11 May 2020 14:03:39 +0300 Subject: [PATCH 15/21] Update models (#13391) --- source/_integrations/denonavr.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/denonavr.markdown b/source/_integrations/denonavr.markdown index a973a839b5d..311468dc6d5 100644 --- a/source/_integrations/denonavr.markdown +++ b/source/_integrations/denonavr.markdown @@ -15,6 +15,7 @@ The `denonavr` platform allows you to control a [Denon Network Receivers](https: Known supported devices: +- Denon AVR-X1200W - Denon AVR-X1300W - Denon AVR-X1500H - Denon AVR-X2000 From c09915ea6e2d27ff13bd3b07fd07e224e22984e3 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 11 May 2020 14:01:25 +0200 Subject: [PATCH 16/21] Bump public_suffix from 4.0.4 to 4.0.5 (#13392) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 568f7e4d472..5fc942cbb8b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -79,7 +79,7 @@ GEM mini_portile2 (~> 2.4.0) pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (4.0.4) + public_suffix (4.0.5) rack (2.2.2) rack-protection (2.0.8.1) rack From 964adcf651293d4fab3492397061fb6631c0ed79 Mon Sep 17 00:00:00 2001 From: hioctane61 <45384517+hioctane61@users.noreply.github.com> Date: Mon, 11 May 2020 13:22:58 +0100 Subject: [PATCH 17/21] Update sensor.websocket_api.markdown (#13393) --- source/_integrations/sensor.websocket_api.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/sensor.websocket_api.markdown b/source/_integrations/sensor.websocket_api.markdown index 156f3fbd780..1df89fb0968 100644 --- a/source/_integrations/sensor.websocket_api.markdown +++ b/source/_integrations/sensor.websocket_api.markdown @@ -25,3 +25,4 @@ sensor: ### Note This replaces the previous `api_streams` sensor. +The default sensor name is `connected_clients`. From eb326b51ea32452be20b2d889ec03b55b62538ad Mon Sep 17 00:00:00 2001 From: CyberDave17 <37354015+CyberDave17@users.noreply.github.com> Date: Mon, 11 May 2020 15:30:22 +0100 Subject: [PATCH 18/21] Update proxmoxve.markdown (#13394) --- source/_integrations/proxmoxve.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/proxmoxve.markdown b/source/_integrations/proxmoxve.markdown index c190434bf84..3fbde11a70b 100644 --- a/source/_integrations/proxmoxve.markdown +++ b/source/_integrations/proxmoxve.markdown @@ -126,8 +126,8 @@ Creating a dedicated user for Home Assistant, limited to only the role just crea * 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" +* Enter a secure password (it can be complex as you will only need to copy/paste it into your Home Assistant configuration) * Ensure `Enabled` is checked and `Expire` is set to "never" * Click `Add` From f9635ceaf114e3b897c091858fff9b3eb7a4ba39 Mon Sep 17 00:00:00 2001 From: dcrusader Date: Mon, 11 May 2020 11:20:29 -0700 Subject: [PATCH 19/21] SimpliSafe integration: Added clarifying statement about the `code` config option (#13396) --- source/_integrations/simplisafe.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/simplisafe.markdown b/source/_integrations/simplisafe.markdown index 41098bbee46..8224a9f0334 100644 --- a/source/_integrations/simplisafe.markdown +++ b/source/_integrations/simplisafe.markdown @@ -40,7 +40,7 @@ password: required: true type: string code: - description: A code to enable or disable the alarm in the frontend. + description: A code to enable or disable the alarm in the frontend. *Under normal operation, the integration doesn’t need a SimpliSafe keypad code.* required: false type: string {% endconfiguration %} From 3b4d0a471d66159892715ae33ae9bbdce9efb67a Mon Sep 17 00:00:00 2001 From: BenDaMAN303 Date: Tue, 12 May 2020 17:05:26 +1000 Subject: [PATCH 20/21] New model tested & typos fixed (#13405) --- source/_integrations/denonavr.markdown | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/_integrations/denonavr.markdown b/source/_integrations/denonavr.markdown index 311468dc6d5..d4ba451aef7 100644 --- a/source/_integrations/denonavr.markdown +++ b/source/_integrations/denonavr.markdown @@ -11,7 +11,7 @@ ha_codeowners: - '@starkillerOG' --- -The `denonavr` platform allows you to control a [Denon Network Receivers](https://www.denon.co.uk/chg/product/compactsystems/networkmusicsystems/ceolpiccolo) from Home Assistant. It might be that your device is supported by the [Denon] platform. +The `denonavr` platform allows you to control [Denon Network Receivers](https://www.denon.co.uk/chg/product/compactsystems/networkmusicsystems/ceolpiccolo) from Home Assistant. It might be that your device is supported by the [Denon] platform. Known supported devices: @@ -20,6 +20,7 @@ Known supported devices: - Denon AVR-X1500H - Denon AVR-X2000 - Denon AVR-X2100W +- Denon AVR-X2200W - Denon AVR-X3400H - Denon AVR-X4100W - Denon AVR-X4300H @@ -32,7 +33,7 @@ Known supported devices: - Denon AVR-S750H - Marantz M-CR510 - Marantz M-CR603 -- Marantz M-RC610 +- Marantz M-CR610 - Marantz SR5008 - Marantz SR6007 - SR6010 - Marantz NR1504 From ee7abbbef9ae84cb8ce7efdc773a368cfefc8f73 Mon Sep 17 00:00:00 2001 From: Brad Johnson Date: Tue, 12 May 2020 01:06:31 -0600 Subject: [PATCH 21/21] Add link to Hosting documentation from Picture Element docs (#13403) --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- README.md | 6 ++++-- source/_lovelace/picture-elements.markdown | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index d0dac4f97ff..e15b5006736 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -45,4 +45,4 @@ - I made a change that is related to an upcoming version of Home Assistant and used the `next` branch. - [ ] The documentation follows the Home Assistant documentation [standards][]. -[standards]: https://developers.home-assistant.io/docs/documentation_standards.html +[standards]: https://developers.home-assistant.io/docs/documenting/standards diff --git a/README.md b/README.md index 06146e2b09c..ad0bef4d82a 100644 --- a/README.md +++ b/README.md @@ -9,11 +9,13 @@ This is the source for the [Home-Assistant.io website](https://home-assistant.io ## Setup -Setting up to contribute to documentation and the process for submitting pull requests is explained in the [developer documentation](https://developers.home-assistant.io/docs/documentation_index.html). +Setting up to contribute to documentation and the process for submitting pull requests is explained in the [developer documentation](https://developers.home-assistant.io/docs/documenting). ## Site preview -In order to make the preview available on [http://127.0.0.1:4000](http://127.0.0.1:4000), use the command as follows: +In order to make the preview available on [http://127.0.0.1:4000](http://127.0.0.1:4000), use the following [bundler]( +https://bundler.io/ +) command: ```bash bundle exec rake preview diff --git a/source/_lovelace/picture-elements.markdown b/source/_lovelace/picture-elements.markdown index deeab796057..0a94663af4f 100644 --- a/source/_lovelace/picture-elements.markdown +++ b/source/_lovelace/picture-elements.markdown @@ -6,7 +6,7 @@ description: "The Picture Elements card is one of the most versatile types of ca The Picture Elements card is one of the most versatile types of cards. -The cards allow you to position icons or text and even services! On an image based on coordinates. Imagine floor plan, imagine [picture-glance](/lovelace/picture-glance/) with no restrictions! +The cards allow you to position icons or text and even services on an image based on coordinates. Imagine floor plan, imagine [picture-glance](/lovelace/picture-glance/) with no restrictions!

    A functional floorplan powered by picture elements @@ -20,7 +20,7 @@ type: type: string image: required: true - description: The URL of an image. + description: The URL of an image.
    To use a locally hosted image, see [Hosting](/integrations/http#hosting-files). type: string elements: required: true