tbrasser / config

6 stars 0 forks source link

Welcome !

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.

Software

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

Lovelace / Frontend

The main idea is that there is just a single dashboard, with 3 types of views:

  1. The main view in lovelace/0_main.yaml
  2. Per room from lovelace_rooms.yaml a view in lovelace/rooms.yaml
  3. Per view from 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

Lovelace_gen

Sticky bar(s)

Masonry for layout_card grid layout

HACS Lovelace cards

Themes

Backend

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.

Add-ons / Containers

OpenAI Response

Scheduler

HACS

Config Editor

[Lovelace Gen]()

Pirate Weather

Home Assistant Registry

Browser mod

Lightener

OpenPlantbook

Expose Camera Stream Source

bunq

Custom Templates

LocalTuya integration

Sleep As Android

Nespresso

Magic Areas

Frank Energie

Plant Monitor

BrasserAI Conversation

Music Assistant (BETA)

KNMI

Adaptive Lighting

Alexa Media Player

Bermuda BLE Trilateration

Watchman

Afvalwijzer

Haier hOn

Spook

Asterisk

ical Sensor

Neerslag App (Buienalarm / Buienradar)

Thermal Comfort

Battery Notes

Generate readme

Generates this awesome readme file.

Frigate

SmartThinQ LGE Sensors

Alarmo

Roborock

DashCast

Stream Assist

HACS Custom integrations

Hardware

Network

Nodes

Zigbee

Relays / Plugs / Switches

Household / Pets

Media


Generated by the custom readme integration