Skip to content

tbrasser/config

Repository files navigation

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:

  • card_mod
  • layout_card
  • auto-entities
  • browser_mod
  • lovelace_gen
  • magic_areas
  • alarmo
  • adaptive_lighting
  • esphome
  • frigate
  • music assistant

Inspiration from:

  • mushroom
  • dwains dashboard
  • homekit infused

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

  • configuration.yaml
  • ui-lovelace.yaml
  • resources.yaml
  • lovelace_rooms.yaml
  • lovelace_views.yaml
  • lovelace/**/*

Sticky bar(s)

  • themes/transparent.yaml
  • lovelace/.cards/sticky.yaml

Masonry for layout_card grid layout

  • www/style.js
  • lovelace/.cards/layout.yaml

HACS Lovelace cards

Themes

  • themes/transparent.yaml

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

  • AdGuard Home
  • AppDaemon
  • Assist Microphone
  • Asterisk
  • Cloudflared
  • ESPHome
  • ESPHome (beta)
  • File editor
  • Firefox (Edge)
  • Frigate (Full Access) Beta (0.13.0)
  • gpt4free
  • Grocy
  • Icecast
  • JupyterLab
  • Matter Server
  • Mosquitto broker
  • Music Assistant BETA
  • OpenThread Border Router
  • openWakeWord
  • Piper
  • porcupine1
  • PS5 MQTT
  • Ring-MQTT with Video Streaming
  • Samba share
  • snowboy
  • SQLite Web
  • Squeezelite
  • Studio Code Server
  • Terminal & SSH
  • UniFi Network Application
  • vosk
  • Whisper
  • Z-Wave JS
  • Zigbee2MQTT
  • ZigStar TI CC2652P/P7 FW Flasher

Generates this awesome readme file.

HACS Custom integrations

Hardware

Network

  • 2x Ubiquity Switch Lite PoE
  • 2x Ubiquity Switch Lite
  • 1x Ubiquity AP-AC-LR
  • 1x Ubiquity AP-AC6-Lite

Nodes

  • 3x Old Boxes
    • OPNSense
    • Home Assistant (ha ingress / cloudflared)
    • Docker Compose (webhost / cloudflared)

Zigbee

  • 3x Aqara Motion
  • 3x Aqara Contact
  • Ikea Tradfri 10W Strip Driver
  • Niko Switch
  • Hue in-wall Switch
  • 2x Hue White Bulb
  • 1x Hue Plafonniere with Hue Wall Remote

Relays / Plugs / Switches

Household / Pets

  • 1x tuya pet fountain
  • 1x Roborock Robot Vacuum

Media

  • 1x Google Nest Hub (dashcast)
  • 1x Google Nest Mini
  • 1x Google Home
  • 2x Amazon Fire HD10+ (fire toolkit / fully kiosk / airreceiver / tasker)
  • 1x Amazon Fire HD8 (fire toolkit / fully kiosk)
  • 2x Google Chromecast 4K with Google TV (adb enabled)

Generated by the custom readme integration

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published