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:
- 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
The main idea is that there is just a single dashboard, with 3 types of views:
- The main view in
lovelace/0_main.yaml
- Per room from
lovelace_rooms.yaml
a view inlovelace/rooms.yaml
- Per view from
lovelace_views.yaml
a subview inlovelace/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
- Alarmo Card
- Auto Entities
- Auto Generating Mushroom Dashboard Strategy
- Bar Card
- Better Thermostat Ui
- Bubble Card
- Card Mod
- Card Tools
- Clock Weather Card
- Config Editor Card
- Custom Brand Icons
- Custom Icons
- Custom More Info
- Custom Ui
- Dual Gauge Card
- Expander Card
- Flower Card
- Formula One Card
- Frigate Card
- Google Home Timers Card
- Hass Hue Icons
- Header Cards
- History Explorer Card
- Hourly Weather Card
- Kiosk Mode
- Layout Card
- Light Entity Card
- Linked Lovelace
- Lovelace Animated Background
- Lovelace Grocy Chores Card
- Lovelace Home Feed Card
- Mini Graph Card
- Mini Media Player
- More Info Card
- Mushroom
- Sankey Chart Card
- Scheduler Card
- Search Card
- Sip Card
- Spotify Lovelace Card
- Stack In Card
- State Switch
- Swipe Card
- Thermal Comfort Icons
- Threedy
- Time Picker Card
- Timer Bar Card
- Vertical Stack In Card
- Xiaomi Vacuum Map Card
- Zigbee2Mqtt Networkmap Card
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.
- 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.
- Adaptive Lighting
- Afvalwijzer
- Alarmo
- Alexa Media Player
- Asterisk Hass Integration
- Average Sensor
- Battery Notes
- Battery Sim
- Bermuda Ble Trilateration
- Better Thermostat
- Browser Mod
- Bunq Balance Sensor
- Chime Tts
- Config Editor
- Crypto Tracker
- Custom Templates
- Dashcast
- Expose Camera Stream Source
- Frank Energie
- Frigate
- Generate Readme
- Google Fit
- Google Home
- Grocy Custom Component
- HACS
- Haier Hon
- Holidays
- Home Assistant Plant
- Home Assistant Registry
- Ical Sensor
- KNMI
- Lightener
- Local Tuya
- Lovelace Gen
- Magic Areas
- Mail And Packages
- Mijntuin
- Moonraker
- Music Assistant
- Neerslag App
- Openai Response
- Openaiconversationenhanced
- Openplantbook
- Opnsense Integration For Home Assistant
- Pid Controller
- Pirate Weather
- Roborock
- Schedule State
- Scheduler Component
- Shopping List With Grocy
- Simpleicons
- Sleep As Android
- Smart Thermostat (Pid)
- Smartthinq Lge Sensors
- Spook 👻 Not Your Homie
- Spotcast
- Stream Assist
- Thermal Comfort
- Upnp Availability
- Versatile Thermostat
- Watchman
- Webrtc Camera
- Xiaomi Cloud Map Extractor
- Xiaomi Miot Auto
- 2x Ubiquity Switch Lite PoE
- 2x Ubiquity Switch Lite
- 1x Ubiquity AP-AC-LR
- 1x Ubiquity AP-AC6-Lite
- 3x Old Boxes
- OPNSense
- Home Assistant (ha ingress / cloudflared)
- Docker Compose (webhost / cloudflared)
- 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
- 1x tuya pet fountain
- 1x Roborock Robot Vacuum
- 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