diff --git a/.stubs/secrets.yaml b/.stubs/secrets.yaml
index e4805718..ce35ede4 100644
--- a/.stubs/secrets.yaml
+++ b/.stubs/secrets.yaml
@@ -1,11 +1,6 @@
---
# Example Secrets
#
-http_trusted_proxies:
- - 127.0.0.1
- - 10.10.10.10
- - ::1
-
dreamscreen_family_room: 10.10.10.10
canon_host: 10.10.10.10
@@ -16,12 +11,6 @@ influxdb_host: 10.10.10.10
influxdb_token: api_token
influxdb_organization: ord_id
-media_dirs_sounds: www/sounds
-
-notify_join_api_key: api_key
-
-recorder_db_url: mysql://username:password@10.10.10.10/database
-
smart_display_api_brightness: http://10.10.10.10:8080/api/brightness
smart_display_api_monitor: http://10.10.10.10:8080/api/monitor
diff --git a/configuration.yaml b/configuration.yaml
index ae7f4ba0..1ccf56d1 100644
--- a/configuration.yaml
+++ b/configuration.yaml
@@ -1,20 +1,61 @@
---
# Home Assistant configuration!
#
-# This system is very modular and very differently structured
-# compared to other configurations found online.
+# This system is modular and differently structured compared to other
+# configurations found online.
#
-# Basically, each file does 1 thing only (for the most part).
+# Each file does 1 thing only, for the most part. Simple one-line integration
+# files will go here whereas larger integration files will go into packages.
#
# The configuration.yaml is only used to bootstrap the system.
#
homeassistant:
# Load packages
- packages: !include_dir_named integrations
+ packages: !include_dir_named packages
- # Specify auth providers
- auth_providers:
- - type: homeassistant
+# # Allows customizing individual entities
+# customize: !include_dir_merge_named customize/entity
- media_dirs:
- sounds: !secret media_dirs_sounds
+# # Allows customizing all entities in a domain
+# customize_domain: !include_dir_merge_named customize/domain
+
+# # Allows customizing entities based on a matching pattern
+# customize_glob: !include_dir_merge_named customize/glob
+
+# Loads default set of integrations. Do not remove.
+default_config:
+
+# Load frontend themes from the themes folder
+frontend:
+ # We can define additional/custom themes for the frontend here.
+ themes: !include_dir_merge_named themes
+ extra_module_url:
+ # https://github.com/thomasloven/lovelace-card-mod
+ - /hacsfiles/lovelace-card-mod/card-mod.js
+
+automation: !include automations.yaml
+script: !include scripts.yaml
+script split: !include_dir_merge_named scripts
+scene: !include scenes.yaml
+
+# Entities
+group: !include_dir_merge_named entities/group
+media_player: !include_dir_list entities/media_player
+mqtt:
+ binary_sensor: !include_dir_list entities/mqtt/binary_sensor
+ sensor: !include_dir_list entities/mqtt/sensor
+notify: !include_dir_list entities/notify
+proximity: !include_dir_merge_named entities/proximity
+rest_command: !include_dir_merge_named entities/rest_command
+sensor: !include_dir_list entities/sensor
+shell_command: !include_dir_merge_named entities/shell_command
+switch: !include_dir_list entities/switch
+template: !include_dir_list entities/template
+tts: !include_dir_list entities/tts
+utility_meter: !include_dir_merge_named entities/utility_meter
+
+wake_on_lan:
+
+# Panels
+# panel_custom: !include_dir_list panel/custom
+# panel_iframe: !include_dir_merge_named panel/iframe
diff --git a/templates/README.j2 b/templates/README.j2
index abae0932..786bd1f6 100644
--- a/templates/README.j2
+++ b/templates/README.j2
@@ -5,22 +5,32 @@
| [![Home Assistant Version][ha-version-shield]][ha-version] [![Github Action Status][github-build-status-shield]][github-build-status] [![Github Linter Status][github-linter-status-shield]][github-linter-status] | [![Home Assistant Community Forum][forum-shield]][forum] |
| [![Last Commit][github-last-commit]][github-master] [![GitHub Activity][commits-shield]][commits] [![Lines of Code][code-lines-shield]][code-link] | [![Discord][discord-shield]][discord] |
-This is my Home Assistant Configuration created for use with the [docker container](https://www.home-assistant.io/docs/installation/docker/)
+This is my Home Assistant Configuration created for use with the [Home Assistant OS](https://www.home-assistant.io/docs/installation/docker/)
version of [Home Assistant][home-assistant] running on an Intel NUC5i5MYHE.
-If you want to back up your own Home Assistant configuration to GitHub, follow [this guide](https://home-assistant.io/docs/ecosystem/backup/backup_github/).
+If you want to back up your own Home Assistant configuration to GitHub, follow [this guide](https://community.home-assistant.io/t/sharing-your-configuration-on-github/195144).
## Software
-- [Home Assistant][home-assistant]
-- [MQTT](https://mosquitto.org) - MQTT Broker docker container
-- [Zigbee2MQTT](https://www.zigbee2mqtt.io) - Zigbee to MQTT bridge, get rid of your proprietary Zigbee bridges
-- [Z-Wave JS UI](https://zwave-js.github.io/zwave-js-ui/#/) - Full featured Z-Wave Control Panel and MQTT Gateway.
+{{ addons | count }} Add-ons
+{% if addons | count > 0 %}
+{%- for addon in addons %}
+- {{ addon.name }}
+{%- endfor %}
+
+---
+
+
## Technical Details
-This Home Assistant install has approximately **{{ states | count }} total entities**,
-including **{{ states.sensor | count + states.binary_sensor | count }} sensors**.
+Description | Value
+-------------- | --
+All Entities | {{ states | count }}
+Sensors | {{ states.sensor | count }}
+Binary Sensors | {{ states.binary_sensor | count }}
+Lights | {{ states.light | count }}
+Switches | {{ states.switch | count }}
Stock Integrations
@@ -50,7 +60,7 @@ This integration is a meta-component and configures a default set of integration
The denonavr platform allows you to control Denon Network Receivers
-### [ecobee](https://www.home-assistant.io/integrations/ecobee)
+### [EcoBee](https://www.home-assistant.io/integrations/ecobee)
The ecobee integration lets you control and view sensor data from ecobee thermostats
@@ -64,14 +74,6 @@ Connect ESPHome devices directly with the native ESPHome API
The Forecast.Solar service provides solar production forecasting for your solar panel system, based on historic averages combined with weather forecasting
-### [Generic Camera](https://www.home-assistant.io/integrations/github)
-
-The generic camera platform allows you to integrate any IP camera or other URL
-
-### [GitHub](https://www.home-assistant.io/integrations/generic)
-
-The GitHub integration allows you to monitor your favorite GitHub repositories
-
### [Glances](https://www.home-assistant.io/integrations/glances)
The glances integration allows you to monitor the system information provided by the Glances API
@@ -96,10 +98,6 @@ The influxdb integration makes it possible to transfer all state changes to an e
The local calendar integration allows you to create a calendar of events for powering automations
-### [Joaoapps Join](https://www.home-assistant.io/integrations/joaoapps_join)
-
-The joaoapps_join integration exposes services from [Join](https://joaoapps.com/join)
-
### [Logitech Harmony](https://www.home-assistant.io/integrations/harmony)
The harmony remote platform allows you to control the state of your Harmony Hub Device
@@ -146,7 +144,7 @@ This integration allows you to write Python scripts that are exposed as services
### [Rachio](https://www.home-assistant.io/integrations/rachio)
-The rachio platform allows you to control your Rachio irrigation system
+The Rachio platform allows you to control your Rachio irrigation system
### [Radio Browser](https://www.home-assistant.io/integrations/radio_browser)
@@ -246,6 +244,8 @@ The Z-Wave integration allows you to control a Z-Wave network via the [Z-Wave JS
+{%- endif -%}
+
{%- if custom_components -%}
{%- set custom_integrations = hacs_components | selectattr('category', '==', 'integration') | sort(attribute='name') %}
{%- set plugins = hacs_components | selectattr('category', '==', 'plugin') | rejectattr('installed', '==', false) | sort(attribute='name') %}
@@ -316,20 +316,6 @@ Authors: {% for author in authors -%}[{{ author }}](https://github.com/{{ author
{%- endif -%}
{%- endif %}
-Unused Integrations
-
-This is a list of integrations that are currently disabled, but have not been removed because I think I still might use them someday.
-
-### Python Zwave Fade
-
-Fade Zwave lights over time. It's super buggy for short fades (< 60 seconds), more stable for longer fades.
-
-[Forum Post](https://community.home-assistant.io/t/light-fade-in/35509/19) | [My Current Code](https://github.com/zanix/home-assistant-config/blob/master/python_scripts/zwave_fade.py)
-
----
-
-
-
## Devices
### Climate
@@ -438,6 +424,8 @@ See the [issue queue](https://github.com/zanix/home-assistant-config/issues).
**Configuration files are tested against the stable and beta versions of Home Assistant using [Github Actions](https://github.com/zanix/home-assistant-config/actions).**
+Readme generated by the [custom readme integration](https://github.com/custom-components/readme)
+
[home-assistant]: https://home-assistant.io
[ha-version]: https://www.home-assistant.io/blog/categories/release-notes/
diff --git a/themes/mushroom-defaults.yml b/themes/mushroom-defaults.yml
deleted file mode 100644
index 00c9eb1f..00000000
--- a/themes/mushroom-defaults.yml
+++ /dev/null
@@ -1,120 +0,0 @@
----
-# HA variables
-ha-card-box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.16)
-ha-card-border-radius: 12px
-
-# Mushroom layout
-mush-spacing: 12px
-
-# Title
-mush-title-padding: 24px 12px 16px
-mush-title-spacing: 12px
-mush-title-font-size: 24px
-mush-title-font-weight: normal
-mush-title-line-height: 1.2
-
-# Subtitle
-mush-subtitle-font-size: 16px
-mush-subtitle-font-weight: normal
-mush-subtitle-line-height: 1.2
-
-# Card
-mush-card-primary-font-size: 14px
-mush-card-secondary-font-size: 12px
-mush-card-primary-font-weight: bold
-mush-card-secondary-font-weight: bolder
-mush-card-primary-line-height: 1.5
-mush-card-secondary-line-height: 1.5
-
-# Chip
-mush-chip-spacing: 8px
-mush-chip-padding: 0 0.25em
-mush-chip-height: 36px
-mush-chip-border-radius: 18px
-mush-chip-font-size: 0.3em
-mush-chip-font-weight: bold
-mush-chip-icon-size: 0.5em
-mush-chip-avatar-padding: 0.1em
-mush-chip-avatar-border-radius: 50%
-mush-chip-box-shadow: var(--ha-card-box-shadow)
-mush-chip-background: var(--ha-card-background)
-
-# Control
-mush-control-border-radius: 12px
-mush-control-height: 42px
-mush-control-button-ratio: 1
-mush-control-icon-size: 0.5em
-
-# Slider
-mush-slider-threshold: 10
-
-# Badge
-mush-badge-size: 16px
-mush-badge-icon-size: 0.75em
-mush-badge-border-radius: 50%
-
-# Icon
-mush-icon-border-radius: 50%
-mush-icon-size: 42px
-mush-icon-symbol-size: 0.5em
-
-# Colors
-mush-rgb-red: 244, 67, 54
-mush-rgb-pink: 233, 30, 99
-mush-rgb-purple: 156, 39, 176
-mush-rgb-deep-purple: 103, 58, 183
-mush-rgb-indigo: 63, 81, 181
-mush-rgb-blue: 33, 150, 243
-mush-rgb-light-blue: 3, 169, 244
-mush-rgb-cyan: 0, 188, 212
-mush-rgb-teal: 0, 150, 136
-mush-rgb-green: 76, 175, 80
-mush-rgb-light-green: 139, 195, 74
-mush-rgb-lime: 205, 220, 57
-mush-rgb-yellow: 255, 235, 59
-mush-rgb-amber: 255, 193, 7
-mush-rgb-orange: 255, 152, 0
-mush-rgb-deep-orange: 255, 87, 34
-mush-rgb-brown: 121, 85, 72
-mush-rgb-grey: 158, 158, 158
-mush-rgb-blue-grey: 96, 125, 139
-mush-rgb-black: 0, 0, 0
-mush-rgb-white: 255, 255, 255
-
-mush-rgb-info: var(--mush-rgb-blue)
-mush-rgb-success: var(--mush-rgb-green)
-mush-rgb-warning: var(--mush-rgb-orange)
-mush-rgb-danger: var(--mush-rgb-red)
-
-mush-rgb-state-fan: var(--mush-rgb-green)
-mush-rgb-state-light: var(--mush-rgb-orange)
-mush-rgb-state-entity: var(--mush-rgb-blue)
-mush-rgb-state-switch: var(--mush-rgb-blue)
-
-mush-rgb-state-alarm-disarmed: var(--mush-rgb-info)
-mush-rgb-state-alarm-armed: var(--mush-rgb-success)
-mush-rgb-state-alarm-triggered: var(--mush-rgb-danger)
-
-mush-rgb-state-person-home: var(--mush-rgb-success)
-mush-rgb-state-person-not-home: var(--mush-rgb-danger)
-mush-rgb-state-person-zone: var(--mush-rgb-info)
-mush-rgb-state-person-unknown: var(--mush-rgb-grey)
-
-mush-rgb-state-cover-open: var(--mush-rgb-blue)
-mush-rgb-state-cover-closed: var(--mush-rgb-disabled)
-
-mush-rgb-state-climate-auto: var(--mush-rgb-green);
-mush-rgb-state-climate-cool: var(--mush-rgb-blue);
-mush-rgb-state-climate-dry: var(--mush-rgb-orange);
-mush-rgb-state-climate-fan-only: var(--mush-rgb-blue-grey);
-mush-rgb-state-climate-heat: var(--mush-rgb-deep-orange);
-mush-rgb-state-climate-heat-cool: var(--mush-rgb-green);
-mush-rgb-state-climate-idle: var(--mush-rgb-grey);
-mush-rgb-state-climate-off: var(--mush-rgb-disabled);
-
-# You must keep this to support light/dark theme
-modes:
- light:
- mush-rgb-disabled: 189, 189, 189
- dark:
- mush-rgb-disabled: 111, 111, 111