diff --git a/package-lock.json b/package-lock.json
index d9c47a59184..230137f1d6e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2098,46 +2098,103 @@
}
},
"remark-lint": {
- "version": "6.0.6",
- "resolved": "https://registry.npmjs.org/remark-lint/-/remark-lint-6.0.6.tgz",
- "integrity": "sha512-JBY6zz5fYQFN724Vq6VeiHwhyjVIlrww/dE1+hWGcDyUuz7YNCqwZKwBdQGDvslICkzHw/wEExNEb8D4PNiLlA==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/remark-lint/-/remark-lint-7.0.0.tgz",
+ "integrity": "sha512-OLrWPYy0MUcGLa/2rjuy1kQILTRRK+JiRtyUzqe4XRoHboGuvFDcy/W2e7sq5hu/0xmD+Eh7cEa1Coiqp7LeaA==",
"dev": true,
"requires": {
- "remark-message-control": "^4.0.0"
+ "remark-message-control": "^6.0.0"
}
},
"remark-lint-fenced-code-flag": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-1.0.4.tgz",
- "integrity": "sha512-bkQvlEYco6ZzdzvGPrY7DBsqSq/2mZEmdhpn0KdMEZ9kcKJP4unQdVQys04SKnf9QISqQ446VnQj5Q4E3HMSkQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-2.0.0.tgz",
+ "integrity": "sha512-SyQ31cdQlbsS+eBw2DUxkuzNwGIGlWnnCLyHLz3D1nxtZBVUaUOnIAturSA3PsguIrnxH4qD2JYCTp5aPbZhzQ==",
"dev": true,
"requires": {
"unified-lint-rule": "^1.0.0",
"unist-util-generated": "^1.1.0",
"unist-util-position": "^3.0.0",
- "unist-util-visit": "^1.1.1"
+ "unist-util-visit": "^2.0.0"
+ },
+ "dependencies": {
+ "unist-util-is": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz",
+ "integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==",
+ "dev": true
+ },
+ "unist-util-visit": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.2.tgz",
+ "integrity": "sha512-HoHNhGnKj6y+Sq+7ASo2zpVdfdRifhTgX2KTU3B/sO/TTlZchp7E3S4vjRzDJ7L60KmrCPsQkVK3lEF3cz36XQ==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^4.0.0",
+ "unist-util-visit-parents": "^3.0.0"
+ }
+ },
+ "unist-util-visit-parents": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.0.2.tgz",
+ "integrity": "sha512-yJEfuZtzFpQmg1OSCyS9M5NJRrln/9FbYosH3iW0MG402QbdbaB8ZESwUv9RO6nRfLAKvWcMxCwdLWOov36x/g==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^4.0.0"
+ }
+ }
}
},
"remark-lint-no-shell-dollars": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-1.0.4.tgz",
- "integrity": "sha512-YXFj8FUVTKkVvoAbFY3zv1Ol7Kj1i+qdze3pXSgRG61y1LpfL8/HpnvFrseMbBmNw6o4WpjTo7GoArngJ1sCeg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-2.0.0.tgz",
+ "integrity": "sha512-1uEM0kSGlV6UY7w3PdIeIf/USFFvVuU1352myQdaiw/Wof7+uVXznFFCPnhJDTVlPN4vrgwFnLb32UwXrjkrQw==",
"dev": true,
"requires": {
"unified-lint-rule": "^1.0.0",
"unist-util-generated": "^1.1.0",
- "unist-util-visit": "^1.1.1"
+ "unist-util-visit": "^2.0.0"
+ },
+ "dependencies": {
+ "unist-util-is": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz",
+ "integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==",
+ "dev": true
+ },
+ "unist-util-visit": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.2.tgz",
+ "integrity": "sha512-HoHNhGnKj6y+Sq+7ASo2zpVdfdRifhTgX2KTU3B/sO/TTlZchp7E3S4vjRzDJ7L60KmrCPsQkVK3lEF3cz36XQ==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^4.0.0",
+ "unist-util-visit-parents": "^3.0.0"
+ }
+ },
+ "unist-util-visit-parents": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.0.2.tgz",
+ "integrity": "sha512-yJEfuZtzFpQmg1OSCyS9M5NJRrln/9FbYosH3iW0MG402QbdbaB8ZESwUv9RO6nRfLAKvWcMxCwdLWOov36x/g==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^4.0.0"
+ }
+ }
}
},
"remark-message-control": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/remark-message-control/-/remark-message-control-4.2.0.tgz",
- "integrity": "sha512-WXH2t5ljTyhsXlK1zPBLF3iPHbXl58R94phPMreS1xcHWBZJt6Oiu8RtNjy1poZFb3PqKnbYLJeR/CWcZ1bTFw==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/remark-message-control/-/remark-message-control-6.0.0.tgz",
+ "integrity": "sha512-k9bt7BYc3G7YBdmeAhvd3VavrPa/XlKWR3CyHjr4sLO9xJyly8WHHT3Sp+8HPR8lEUv+/sZaffL7IjMLV0f6BA==",
"dev": true,
"requires": {
"mdast-comment-marker": "^1.0.0",
- "unified-message-control": "^1.0.0",
- "xtend": "^4.0.1"
+ "unified-message-control": "^3.0.0"
}
},
"remark-parse": {
@@ -2812,14 +2869,48 @@
}
},
"unified-message-control": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/unified-message-control/-/unified-message-control-1.0.4.tgz",
- "integrity": "sha512-e1dEtN4Z/TvLn/qHm+xeZpzqhJTtfZusFErk336kkZVpqrJYiV9ptxq+SbRPFMlN0OkjDYHmVJ929KYjsMTo3g==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/unified-message-control/-/unified-message-control-3.0.1.tgz",
+ "integrity": "sha512-K2Kvvp1DBzeuxYLLsumZh/gDWUTl4e2z/P3VReFirC78cfHKtQifbhnfRrSBtKtd1Uc6cvYTW0/SZIUaMAEcTg==",
"dev": true,
"requires": {
- "trim": "0.0.1",
- "unist-util-visit": "^1.0.0",
- "vfile-location": "^2.0.0"
+ "unist-util-visit": "^2.0.0",
+ "vfile-location": "^3.0.0"
+ },
+ "dependencies": {
+ "unist-util-is": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz",
+ "integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==",
+ "dev": true
+ },
+ "unist-util-visit": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.2.tgz",
+ "integrity": "sha512-HoHNhGnKj6y+Sq+7ASo2zpVdfdRifhTgX2KTU3B/sO/TTlZchp7E3S4vjRzDJ7L60KmrCPsQkVK3lEF3cz36XQ==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^4.0.0",
+ "unist-util-visit-parents": "^3.0.0"
+ }
+ },
+ "unist-util-visit-parents": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.0.2.tgz",
+ "integrity": "sha512-yJEfuZtzFpQmg1OSCyS9M5NJRrln/9FbYosH3iW0MG402QbdbaB8ZESwUv9RO6nRfLAKvWcMxCwdLWOov36x/g==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^4.0.0"
+ }
+ },
+ "vfile-location": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.0.1.tgz",
+ "integrity": "sha512-yYBO06eeN/Ki6Kh1QAkgzYpWT1d3Qln+ZCtSbJqFExPl1S3y2qqotJQXoh6qEvl/jDlgpUJolBn3PItVnnZRqQ==",
+ "dev": true
+ }
}
},
"unique-concat": {
diff --git a/package.json b/package.json
index 5e8270bb254..b44e2c4152d 100644
--- a/package.json
+++ b/package.json
@@ -6,9 +6,9 @@
"devDependencies": {
"remark-cli": "^8.0.0",
"remark-frontmatter": "^1.3.3",
- "remark-lint": "^6.0.6",
- "remark-lint-fenced-code-flag": "^1.0.4",
- "remark-lint-no-shell-dollars": "^1.0.4",
+ "remark-lint": "^7.0.0",
+ "remark-lint-fenced-code-flag": "^2.0.0",
+ "remark-lint-no-shell-dollars": "^2.0.0",
"remark-stringify": "^8.0.0",
"textlint": "^11.6.3",
"textlint-rule-common-misspellings": "^1.0.1",
diff --git a/source/_docs/configuration.markdown b/source/_docs/configuration.markdown
index b416afff1d6..aa496c85f4b 100644
--- a/source/_docs/configuration.markdown
+++ b/source/_docs/configuration.markdown
@@ -32,7 +32,7 @@ If you run into trouble while configuring Home Assistant, have a look at the [co
## Reloading changes
You will have to restart Home Assistant for most changes to `configuration.yaml` to take effect.
-You can load changes to [automations](/docs/automation/), [core (customize)](/docs/configuration/customizing-devices/), [groups](/integrations/group/), and [scripts](/integrations/script/) without restarting.
+You can load changes to [automations](/docs/automation/), [core (customize)](/docs/configuration/customizing-devices/), [groups](/integrations/group/), [input_booleans](/integrations/input_boolean/), [input_datetimes](/integrations/input_datetime/), [input_numbers](/integrations/input_number/), [input_selects](/integrations/input_select/), [input_texts](/integrations/input_text/), [persons](/integrations/person/), [scenes](/integrations/scene/), [scripts](/integrations/script/), [timers](/integrations/timer/), and [zones](/integrations/zone/) without restarting.
diff --git a/source/_integrations/asuswrt.markdown b/source/_integrations/asuswrt.markdown
index 78ee129a359..3198d58435f 100644
--- a/source/_integrations/asuswrt.markdown
+++ b/source/_integrations/asuswrt.markdown
@@ -1,7 +1,6 @@
---
title: ASUSWRT
description: Instructions on how to integrate ASUSWRT into Home Assistant.
-logo: asus.png
ha_category:
- Hub
- Presence Detection
diff --git a/source/_integrations/august.markdown b/source/_integrations/august.markdown
index 7de24bb8888..4f1de45e2ae 100644
--- a/source/_integrations/august.markdown
+++ b/source/_integrations/august.markdown
@@ -1,7 +1,6 @@
---
title: August
description: Instructions on how to integrate your August devices into Home Assistant.
-logo: august.png
ha_category:
- Doorbell
- Binary Sensor
@@ -101,7 +100,7 @@ If you have an August Keypad, once you have enabled the August component, you sh
### Presence Detection with Lock Operation
-Using the lock operation sensors, you can detect when a user operates a lock and is physically present (not remote). The below example will trigger when the user named “John Doe” in August locks or unlocks the door from the keypad (if present), via Bluetooth from their phone, or by auto-unlock. The state of the sensor will be the name of the party operating the lock as returned by August.
+Using the lock operation sensors, you can detect when a user operates a lock and is physically present (not remote). The below automation example (added to `automations.yaml`) will trigger when the user named “John Doe” in August locks or unlocks the door from the keypad (if present), via Bluetooth from their phone, or by auto-unlock. The state of the sensor will be the name of the party operating the lock as returned by August.
{% raw %}
diff --git a/source/_integrations/brother.markdown b/source/_integrations/brother.markdown
index 7c3e62c8345..33ce95074f8 100644
--- a/source/_integrations/brother.markdown
+++ b/source/_integrations/brother.markdown
@@ -1,7 +1,6 @@
---
title: Brother Printer
description: Instructions on how to integrate a Brother printer into Home Assistant.
-logo: brother.png
ha_category:
- System Monitor
ha_release: 0.104
diff --git a/source/_integrations/coolmaster.markdown b/source/_integrations/coolmaster.markdown
index f8b54c59fa3..d43b16f7659 100644
--- a/source/_integrations/coolmaster.markdown
+++ b/source/_integrations/coolmaster.markdown
@@ -1,7 +1,6 @@
---
title: CoolMasterNet
description: Instructions on how to integrate CoolMasterNet within Home Assistant.
-logo: coolautomation.png
ha_category:
- Climate
ha_release: 0.88
diff --git a/source/_integrations/darksky.markdown b/source/_integrations/darksky.markdown
index 2dc3ea93873..a1d0f24d363 100644
--- a/source/_integrations/darksky.markdown
+++ b/source/_integrations/darksky.markdown
@@ -14,7 +14,13 @@ The `darksky` platform uses the [Dark Sky](https://darksky.net/) web service as
## Setup
-You need an API key which is free but requires [registration](https://darksky.net/dev/register). You can make up to 1000 calls per day for free which means that you could make one approximately every 86 seconds.
+
+
+On March 31, 2020 Dark Sky was [acquired by Apple](https://blog.darksky.net/dark-sky-has-a-new-home/) and is no longer allowing new API registrations. The Dark Sky API will continue to function for existing users through the end of 2021, but it is no longer possible to obtain an API key for new users.
+
+
+
+You can make up to 1000 calls per day for free which means that you could make one approximately every 86 seconds.
diff --git a/source/_integrations/doorbird.markdown b/source/_integrations/doorbird.markdown
index 89fa3215d54..c2f39708de3 100644
--- a/source/_integrations/doorbird.markdown
+++ b/source/_integrations/doorbird.markdown
@@ -1,7 +1,6 @@
---
title: DoorBird
description: Instructions on how to integrate your DoorBird video doorbell with Home Assistant.
-logo: doorbird.png
ha_category:
- Doorbell
- Camera
diff --git a/source/_integrations/dynalite.markdown b/source/_integrations/dynalite.markdown
index 7ea945c9772..f5dd81be41e 100755
--- a/source/_integrations/dynalite.markdown
+++ b/source/_integrations/dynalite.markdown
@@ -1,7 +1,6 @@
---
title: Philips Dynalite
description: Instructions on setting up Philips Dynalite within Home Assistant.
-logo: dynalite.png
ha_category:
- Hub
- Light
diff --git a/source/_integrations/environment_canada.markdown b/source/_integrations/environment_canada.markdown
index 39ff7c889a7..a7b949a7d3b 100644
--- a/source/_integrations/environment_canada.markdown
+++ b/source/_integrations/environment_canada.markdown
@@ -1,7 +1,6 @@
---
title: Environment Canada
description: Weather data from Environment Canada.
-logo: environment_canada.png
ha_category:
- Weather
- Sensor
diff --git a/source/_integrations/epsonworkforce.markdown b/source/_integrations/epsonworkforce.markdown
index f52d484d892..5a8ab2f6159 100644
--- a/source/_integrations/epsonworkforce.markdown
+++ b/source/_integrations/epsonworkforce.markdown
@@ -60,6 +60,7 @@ Supported devices:
Tested devices:
+- Epson WF2660
- Epson WF3540
- Epson WF3620
- Epson WF3640
diff --git a/source/_integrations/gdacs.markdown b/source/_integrations/gdacs.markdown
index bcc229c229a..5ba90e242cd 100644
--- a/source/_integrations/gdacs.markdown
+++ b/source/_integrations/gdacs.markdown
@@ -135,7 +135,3 @@ gdacs:
latitude: -41.2
longitude: 174.7
```
-
-## Locations NOT supported:
-
-- Ireland
diff --git a/source/_integrations/growatt_server.markdown b/source/_integrations/growatt_server.markdown
index eb11a162375..24f57f8116c 100644
--- a/source/_integrations/growatt_server.markdown
+++ b/source/_integrations/growatt_server.markdown
@@ -1,7 +1,6 @@
---
title: Growatt
description: Instructions on how to integrate your Growatt server solar inverter within Home Assistant.
-logo: growatt.png
ha_category:
- Sensor
- Energy
diff --git a/source/_integrations/heos.markdown b/source/_integrations/heos.markdown
index 3c9b67b8227..d077e4d7962 100644
--- a/source/_integrations/heos.markdown
+++ b/source/_integrations/heos.markdown
@@ -47,17 +47,15 @@ A connection to a single device enables control for all devices on the network.
Use the sign-in service to sign the connected controller into a HEOS account so that it can retrieve and play HEOS favorites and playlists. An error message is logged if sign-in is unsuccessful. Example service data payload:
-```json
-{
- "username": "example@example.com",
- "password": "password"
-}
+```yaml
+username: "example@example.com"
+password: "password"
```
-| Attribute | Description
-| ---------------------- | ---------------------------------------------------------|
-| `username` | The username or email of the HEOS account. [Required]
-| `password` | The password of the HEOS account. [Required]
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ----------- |
+| `username` | no | The username or email of the HEOS account.
+| `password` | no | The password of the HEOS account.
### Service `heos.sign_out`
@@ -69,73 +67,65 @@ Use the sign-out service to sign the connected controller out of a HEOS account.
You can play a HEOS favorite by number or name with the `media_player.play_media` service. Example service data payload:
-```json
-{
- "entity_id": "media_player.office",
- "media_content_type": "favorite",
- "media_content_id": "1"
-}
+```yaml
+entity_id: media_player.office
+media_content_type: "favorite"
+media_content_id: "1"
```
-| Attribute | Description
-| ---------------------- | ---------------------------------------------------------|
-| `entity_id` | `entity_id` of the player
-| `media_content_type` | Set to the value `favorite`
-| `media_content_id` | The nubmer (i.e., `1`) or name (i.e., `Thumbprint Radio`) of the HEOS favorite
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ----------- |
+| `entity_id` | yes | `entity_id` of the player(s)
+| `media_content_type` | no | Set to the value `favorite`
+| `media_content_id` | no | (i.e., `1`) or name (i.e., `Thumbprint Radio`) of the HEOS favorite
#### Play Playlist
You can play a HEOS playlist with the `media_player.play_media` service. Example service data payload:
-```json
-{
- "entity_id": "media_player.office",
- "media_content_type": "playlist",
- "media_content_id": "Awesome Music"
-}
+```yaml
+entity_id: media_player.office
+media_content_type: "playlist"
+media_content_id: "Awesome Music"
```
-| Attribute | Description
-| ---------------------- | ---------------------------------------------------------|
-| `entity_id` | `entity_id` of the player
-| `media_content_type` | Set to the value `playlist`
-| `media_content_id` | The name of the HEOS playlist
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ----------- |
+| `entity_id` | yes | `entity_id` of the player(s)
+| `media_content_type` | no | Set to the value `playlist`
+| `media_content_id` | no | The name of the HEOS playlist
#### Play Quick Select
You can play a HEOS Quick Select by nubmer or name with the `media_player.play_media` service. Example service data payload:
-```json
-{
- "entity_id": "media_player.office",
- "media_content_type": "quick_select",
- "media_content_id": "1"
-}
+```yaml
+entity_id: media_player.office
+media_content_type: "quick_select"
+media_content_id": "1"
```
-| Attribute | Description
-| ---------------------- | ---------------------------------------------------------|
-| `entity_id` | `entity_id` of the player
-| `media_content_type` | Set to the value `quick_select`
-| `media_content_id` | The quick select number (i.e., `1`) or name (i.e., `Quick Select 1`)
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ----------- |
+| `entity_id` | yes | `entity_id` of the player(s)
+| `media_content_type` | no | Set to the value `quick_select`
+| `media_content_id` | no | The quick select number (i.e., `1`) or name (i.e., `Quick Select 1`)
#### Play URL
You can play a URL through a HEOS media player using the `media_player.play_media` service. The HEOS player must be able to reach the URL. Example service data payload:
-```json
-{
- "entity_id": "media_player.office",
- "media_content_type": "url",
- "media_content_id": "http://path.to/stream.mp3"
-}
+```yaml
+entity_id: media_player.office
+media_content_type: "url"
+media_content_id: "http://path.to/stream.mp3"
```
-| Attribute | Description
-| ---------------------- | ---------------------------------------------------------|
-| `entity_id` | `entity_id` of the player to play the URL
-| `media_content_type` | Set to the value `url`
-| `media_content_id` | The full URL to the stream
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ----------- |
+| `entity_id` | yes | `entity_id` of the player(s) to play the URL
+| `media_content_type` | no | Set to the value `url`
+| `media_content_id` | no | The full URL to the stream
## Notes
diff --git a/source/_integrations/juicenet.markdown b/source/_integrations/juicenet.markdown
index 2eec56c6ca4..b4402b788a9 100644
--- a/source/_integrations/juicenet.markdown
+++ b/source/_integrations/juicenet.markdown
@@ -1,7 +1,6 @@
---
title: JuiceNet
description: Instructions on how to setup WiFi-equipped Juicenet charging stations with Home Assistant.
-logo: juicenet.png
ha_category:
- Car
- Energy
diff --git a/source/_integrations/keenetic_ndms2.markdown b/source/_integrations/keenetic_ndms2.markdown
index ed6e47b195c..08e076692a2 100644
--- a/source/_integrations/keenetic_ndms2.markdown
+++ b/source/_integrations/keenetic_ndms2.markdown
@@ -1,7 +1,6 @@
---
title: Keenetic NDMS2 Routers
description: Instructions on how to integrate Keenetic NDMS2 Routers into Home Assistant.
-logo: keenetic.png
ha_category:
- Presence Detection
ha_release: 0.54
diff --git a/source/_integrations/lcn.markdown b/source/_integrations/lcn.markdown
index d39547064dc..ecad4a4297a 100644
--- a/source/_integrations/lcn.markdown
+++ b/source/_integrations/lcn.markdown
@@ -1,7 +1,6 @@
---
title: LCN
description: Instructions on how to integrate LCN components with Home Assistant.
-logo: lcn.png
ha_category:
- Hub
- Binary Sensor
diff --git a/source/_integrations/lutron.markdown b/source/_integrations/lutron.markdown
index f9d810e697d..f07a1aadda3 100644
--- a/source/_integrations/lutron.markdown
+++ b/source/_integrations/lutron.markdown
@@ -1,7 +1,6 @@
---
title: Lutron
description: Instructions on how to use Lutron devices with Home Assistant.
-logo: lutron.png
ha_category:
- Hub
- Cover
diff --git a/source/_integrations/myq.markdown b/source/_integrations/myq.markdown
index da4b1756279..74438e24d9b 100644
--- a/source/_integrations/myq.markdown
+++ b/source/_integrations/myq.markdown
@@ -1,7 +1,6 @@
---
title: MyQ
description: Instructions on how to integrate MyQ-Enabled garage door covers into Home Assistant.
-logo: myq.png
ha_category:
- Cover
- Binary Sensor
diff --git a/source/_integrations/nilu.markdown b/source/_integrations/nilu.markdown
index 9dfce24be8c..bb1a0ca4e96 100644
--- a/source/_integrations/nilu.markdown
+++ b/source/_integrations/nilu.markdown
@@ -1,7 +1,6 @@
---
title: Norwegian Institute for Air Research (NILU)
description: Instructions on how to integrate air pollution data from NILU within Home Assistant.
-logo: nilu_logo.png
ha_category:
- Health
ha_iot_class: Cloud Polling
diff --git a/source/_integrations/rachio.markdown b/source/_integrations/rachio.markdown
index 9e9fa0b5d8e..07aef592fc7 100644
--- a/source/_integrations/rachio.markdown
+++ b/source/_integrations/rachio.markdown
@@ -1,7 +1,6 @@
---
title: Rachio
description: Instructions on how to use Rachio with Home Assistant.
-logo: rachio.png
ha_category:
- Irrigation
- Binary Sensor
diff --git a/source/_integrations/rmvtransport.markdown b/source/_integrations/rmvtransport.markdown
index ae5ca0cab3f..67c97889e44 100644
--- a/source/_integrations/rmvtransport.markdown
+++ b/source/_integrations/rmvtransport.markdown
@@ -1,7 +1,6 @@
---
title: RMV
description: Instructions on how to integrate Rhein-Main public transport departure times into Home Assistant.
-logo: RMV.png
ha_category:
- Transport
ha_release: 0.76
diff --git a/source/_integrations/sighthound.markdown b/source/_integrations/sighthound.markdown
index 360cf885989..5bd341ac985 100644
--- a/source/_integrations/sighthound.markdown
+++ b/source/_integrations/sighthound.markdown
@@ -1,7 +1,6 @@
---
title: Sighthound
description: Detect people with Sighthound Cloud.
-logo: sighthound-logo.png
ha_category:
- Image Processing
ha_release: 0.105
diff --git a/source/_integrations/solarlog.markdown b/source/_integrations/solarlog.markdown
index 7f824213d77..239311e65b3 100644
--- a/source/_integrations/solarlog.markdown
+++ b/source/_integrations/solarlog.markdown
@@ -1,7 +1,6 @@
---
title: Solar-Log
description: Instructions on how to integrate Solar-Log sensors within Home Assistant.
-logo: solar-log.png
ha_category: Sensor
ha_release: 0.101
ha_iot_class: Local Polling
diff --git a/source/_integrations/tank_utility.markdown b/source/_integrations/tank_utility.markdown
index d0e40e41304..7a473175799 100644
--- a/source/_integrations/tank_utility.markdown
+++ b/source/_integrations/tank_utility.markdown
@@ -23,6 +23,32 @@ Each item in the list of devices is a 24 character string. These values can be f
The device item value is the last segment of the URL path, e.g., the URL
[https://app.tankutility.com/#/reports/000000000000000000000000](https://app.tankutility.com/#/reports/000000000000000000000000) would indicate `000000000000000000000000` as a device value.
+### Using TankUtility API to Obtain Device ID
+
+1. Obtain your personal token:
+
+ ```bash
+ curl --user
: https://data.tankutility.com/api/getToken`
+ ```
+
+ The JSON response structure should resemble:
+
+ ```json
+ {"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MzgyMjQwODE0NjIsInYiOjAsImQiOnsidWleejoic2ltcGxlbG9naW46MzM1In0sImlhdCI6wwDIyMzk5NX0.kbYzxRtbGB2ke3IBgQTVMNQprHOWJZFgQQnPK6Wyas4"}
+ ```
+
+2. Receive the list of devices you have in your account:
+
+ ```bash
+ curl https://data.tankutility.com/api/devices?token=
+ ```
+
+ The JSON response structure should resemble:
+
+ ```json
+ {"devices":["54df6a066667531535371367","54ff69057492666782350667"]}
+ ```
+
## Configuration
To enable the component, add the following lines to your `configuration.yaml` file:
diff --git a/source/_integrations/tankerkoenig.markdown b/source/_integrations/tankerkoenig.markdown
index 41f4a61cc70..d789a99bdd6 100755
--- a/source/_integrations/tankerkoenig.markdown
+++ b/source/_integrations/tankerkoenig.markdown
@@ -1,7 +1,6 @@
---
title: Tankerkoenig
description: Instructions on how to integrate Tankerkoenig sensors within Home Assistant.
-logo: tankerkoenig.png
ha_category:
- Energy
- Sensor
diff --git a/source/_integrations/template.markdown b/source/_integrations/template.markdown
index f8a857f5693..01fd2e40560 100644
--- a/source/_integrations/template.markdown
+++ b/source/_integrations/template.markdown
@@ -298,7 +298,7 @@ sensor:
{% if is_state('device_tracker.my_device_nmap','home') %}
{{ state_attr('zone.home','latitude') }}
{% else %}
- state_attr('device_tracker.my_device_gps','latitude')
+ {{ state_attr('device_tracker.my_device_gps','latitude') }}
{% endif %}
longitude: >-
{% if is_state('device_tracker.my_device_nmap','home') %}
diff --git a/source/_integrations/todoist.markdown b/source/_integrations/todoist.markdown
index 7ae7a723e76..e04ef65df32 100644
--- a/source/_integrations/todoist.markdown
+++ b/source/_integrations/todoist.markdown
@@ -1,7 +1,6 @@
---
title: Todoist
description: Instructions on how to integrate Todoist into Home Assistant.
-logo: todoist.png
ha_category:
- Calendar
ha_iot_class: Cloud Polling
diff --git a/source/_integrations/totalconnect.markdown b/source/_integrations/totalconnect.markdown
index 8b041f4a88f..b41d97f5de0 100644
--- a/source/_integrations/totalconnect.markdown
+++ b/source/_integrations/totalconnect.markdown
@@ -1,7 +1,6 @@
---
title: Honeywell Total Connect Alarm
description: Instructions on how to integrate TotalConnect alarms into Home Assistant.
-logo: honeywell-tc.png
ha_category:
- Alarm
- Binary Sensor
diff --git a/source/_integrations/weather.darksky.markdown b/source/_integrations/weather.darksky.markdown
index 49a2b403087..e24e45e2bca 100644
--- a/source/_integrations/weather.darksky.markdown
+++ b/source/_integrations/weather.darksky.markdown
@@ -1,7 +1,7 @@
---
title: "Dark Sky"
description: "Instructions on how to integrate Dark Sky within Home Assistant."
-featured: true
+featured: false
logo: dark_sky.png
ha_category:
- Weather
@@ -14,7 +14,13 @@ The `darksky` platform uses the [Dark Sky](https://darksky.net/) web service as
## Configuration
-You need an API key which is free but requires [registration](https://darksky.net/dev/register). The free tier allows up to 1000 calls per day, this platform updates at most every 3 minutes, using up to 480 of those calls.
+
+
+On March 31, 2020 Dark Sky was [acquired by Apple](https://blog.darksky.net/dark-sky-has-a-new-home/) and is no longer allowing new API registrations. The Dark Sky API will continue to function for existing users through the end of 2021, but it is no longer possible to obtain an API key for new users.
+
+
+
+The free tier allows up to 1000 calls per day, this platform updates at most every 3 minutes, using up to 480 of those calls.
diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown
index 8132d95f178..9b4191bb644 100644
--- a/source/hassio/installation.markdown
+++ b/source/hassio/installation.markdown
@@ -152,13 +152,13 @@ curl -fsSL get.docker.com | sh
The following script will then install Home Assistant on a variety of operating systems and machine types.
```bash
-curl -sL "https://raw.githubusercontent.com/home-assistant/hassio-installer/master/hassio_install.sh" | bash -s
+curl -sL "https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh" | bash -s
```
Some installation types require flags to identify the computer type, for example, when using a Raspberry Pi 4, the flag `-- -m raspberrypi4` is required. The install script would then look like this:
```bash
-curl -sL "https://raw.githubusercontent.com/home-assistant/hassio-installer/master/hassio_install.sh" | bash -s -- -m raspberrypi4
+curl -sL "https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh" | bash -s -- -m raspberrypi4
```
#### Other machine types
@@ -179,7 +179,7 @@ curl -sL "https://raw.githubusercontent.com/home-assistant/hassio-installer/mast
- `qemux86`
- `qemux86-64`
-See the [hassio-installer](https://github.com/home-assistant/hassio-installer) GitHub page for an up-to-date listing of supported machine types.
+See the [installer](https://github.com/home-assistant/supervised-installer) GitHub page for an up-to-date listing of supported machine types.
If you can not find your machine type in the list, you should pick the `qemu` release. i.e., `qemux86-64` for a normal 64-bit Linux distribution, or `qemuarm-64` for most modern ARM-based target like Raspberry Pi clones, or TV boxes.
@@ -201,7 +201,7 @@ If you can not find your machine type in the list, you should pick the `qemu` re
[vmdk]: https://github.com/home-assistant/operating-system/releases/download/3.12/hassos_ova-3.12.vmdk.gz
[vhdx]: https://github.com/home-assistant/operating-system/releases/download/3.12/hassos_ova-3.12.vhdx.gz
[vdi]: https://github.com/home-assistant/operating-system/releases/download/3.12/hassos_ova-3.12.vdi.gz
-[linux]: https://github.com/home-assistant/hassio-installer
+[linux]: https://github.com/home-assistant/supervised-installer
[local]: http://homeassistant.local:8123
[samba]: /addons/samba/
[ssh]: /addons/ssh/
diff --git a/source/images/lovelace/lovelace_alarm_panel_card.gif b/source/images/lovelace/lovelace_alarm_panel_card.gif
index 3aa64c2e4fc..837e2921c99 100644
Binary files a/source/images/lovelace/lovelace_alarm_panel_card.gif and b/source/images/lovelace/lovelace_alarm_panel_card.gif differ
diff --git a/source/images/lovelace/lovelace_entity_button_card.png b/source/images/lovelace/lovelace_entity_button_card.png
index 9733429fa91..97c73772469 100644
Binary files a/source/images/lovelace/lovelace_entity_button_card.png and b/source/images/lovelace/lovelace_entity_button_card.png differ