This is my Home Automation Repository. Currently it represents the root of my home assistant installation. In the future this may be migrated from home assistant to home assistant core and seperate deployments on kubernetes.
This is my Home Assistant installation. Some statistics about my installation:
Description | value |
---|---|
Number of entities | 2122 |
Number of sensors | 913 |
It is built using the following components:
Inspiration from:
Currently in the midst of refactoring from using only the lovelace_gen global vars towards auto generating cards with auto-entities using areas/floors/labels/domains
The main idea is that there is just a single dashboard, with 3 types of views:
lovelace/0_main.yaml
lovelace_rooms.yaml
a view in lovelace/rooms.yaml
lovelace_views.yaml
a subview in lovelace/views.yaml
The 'scaffolding' or build-up of each view is exactly the same:
type: panel
cards:
- type: custom:mod_card
card_mod:
class: invisible # remove borders/background/corners/margin/padding
style: |
ha-card { <logic here for background based on entity_picture of media_player> }
card:
type: custom:state-switch
entity: mediaquery
states:
'(orientation: landscape)':
type: vertical-stack
cards:
- !include
- .cards/sticky.yaml
- view: <viewname>
position: both
- type: custom:layout-card
layout_type: custom:grid-layout
layout: !include .cards/layout.yaml
cards: !include # changed this recently using auto-entities, please check actual code for current state.
- .cards/<viewname>.yaml
- orientation: landscape
`(orientation: portrait)':
type: vertical-stack
cards:
- !include
- .cards/sticky.yaml
- view: <viewname>
position: header
- type: custom:layout-card
layout_type: custom:grid-layout
layout: !include .cards/layout.yaml
cards: !include
- .cards/<viewname>.yaml
- orientation: portrait
- !include
- .cards/sticky.yaml
- view: <viewname>
position: footer
configuration.yaml
ui-lovelace.yaml
resources.yaml
lovelace_rooms.yaml
lovelace_views.yaml
lovelace/**/*
themes/transparent.yaml
lovelace/.cards/sticky.yaml
www/style.js
lovelace/.cards/layout.yaml
themes/transparent.yaml
The main thing I need to do to make life easier is to template a package with jinja2 so that I can
use info from my lovelace_gen
vars to create home-assistant configuration.
This will make it easier to create any needed helpers/groups/universalmediaplayers/etc.
For now the main 'trick' I use is for example that the entity_id of the main/universal media_player in each room matches the room name.
Generates this awesome readme file.
Generated by the custom readme integration