All Projects → metbril → home-assistant-config

metbril / home-assistant-config

Licence: MIT license
🏠 My Home Assistant configuration

Projects that are alternatives of or similar to home-assistant-config

homeassistant
Home Assistant Config
Stars: ✭ 50 (+194.12%)
Mutual labels:  smarthome, smart-home, home-assistant-config
Home Assistantconfig
🏠 Home Assistant configuration & Documentation for my Smart House. Write-ups, videos, part lists, and links throughout. Be sure to ⭐ it. Updated FREQUENTLY!
Stars: ✭ 3,687 (+21588.24%)
Mutual labels:  smarthome, smart-home, home-assistant-config
Home-Assistant-Main
My Home Assistant Configuration Be sure to ⭐ my repo so you can keep up to date on the daily progress!
Stars: ✭ 54 (+217.65%)
Mutual labels:  smarthome, smart-home, home-assistant-config
Streamdeck Homeassistant
🏠 Use the Elgato Stream Deck as Home Assistant controller. Call any available service and toggle lights or resume your music.
Stars: ✭ 69 (+305.88%)
Mutual labels:  smarthome, smart-home, home-assistant-config
Homeassistant Config
Configuration for @brianjking & @KinnaT's Home Assistant Installation
Stars: ✭ 80 (+370.59%)
Mutual labels:  smarthome, smart-home, home-assistant-config
Alexa Smarthome
Resources for Alexa Smart Home developers.
Stars: ✭ 496 (+2817.65%)
Mutual labels:  smarthome, smart-home
Pimatic Edimax
Pimatic Plugin for Edimax WiFi Smart Plugs
Stars: ✭ 7 (-58.82%)
Mutual labels:  smarthome, smart-home
HomeAssistantRepository
🏡 Home Assistant on Gentoo Linux.
Stars: ✭ 26 (+52.94%)
Mutual labels:  smarthome, smart-home
Zigbeenet
A .NET Standard library for working with ZigBee
Stars: ✭ 76 (+347.06%)
Mutual labels:  smarthome, smart-home
Home assistant
My personal Home Assistant setup - Running on a HassOS VM.
Stars: ✭ 270 (+1488.24%)
Mutual labels:  smarthome, home-assistant-config
Node Hue Api
Node.js Library for interacting with the Philips Hue Bridge and Lights
Stars: ✭ 1,034 (+5982.35%)
Mutual labels:  smarthome, smart-home
my home assistant configuration
My Home Assistant Configuration
Stars: ✭ 24 (+41.18%)
Mutual labels:  smarthome, home-assistant-config
Hoobs
Build your Smart Home with HOOBS. Connect over 2,000 Accessories to your favorite Ecosystem.
Stars: ✭ 325 (+1811.76%)
Mutual labels:  smarthome, smart-home
Cbj smart Home
If you are searching for an easy way to deploy a smart home 🏡 by yourself CyBear Jinni 🦾🐻🧞‍♂️ is here for you. Join the community and make your home smarter than yesterday.
Stars: ✭ 37 (+117.65%)
Mutual labels:  smarthome, smart-home
Waterius
Передача показаний воды по Wi-Fi. Watermeter Wi-Fi transmitter.
Stars: ✭ 295 (+1635.29%)
Mutual labels:  smarthome, smart-home
Rgb
Offline smart home - esp8266 and WS2811/WS2812/NeoPixel LEDs Smart home / Gudra māja / Умны дом
Stars: ✭ 99 (+482.35%)
Mutual labels:  smarthome, smart-home
Fritzctl
A lightweight, easy to use console client for the AVM FRITZ!Box Home Automation.
Stars: ✭ 84 (+394.12%)
Mutual labels:  smarthome, smart-home
Smart Home
⭐ (Almost) everything needed to run my smart home with Home Assistant and more!
Stars: ✭ 221 (+1200%)
Mutual labels:  smarthome, home-assistant-config
TIANE
TIANE - an open source smart-home-voice-assistant!
Stars: ✭ 17 (+0%)
Mutual labels:  smarthome, smart-home
Eventghost
EventGhost is an advanced, yet easy-to-use extensible automation tool for Windows.
Stars: ✭ 257 (+1411.76%)
Mutual labels:  smarthome, smart-home

Metbril's 🤓 Home Assistant Configuration

Check configuration Twitter Follow Mastodon

This repository contains my configuration for Home Assistant.

Table of Contents

Details

Configuration principles

I used to be an avid user of packages. That provided an easy way to keep funtionality together, enable or disable it, and share with others. However, Home Assistant is slowly phasing out YAML configuration and adding more and more features to the UI. This has pros and cons, but the main advantage is, that you don't need a real computer, ssh or a Samba connection to edit the configuration.

The biggest drawback of using the UI is, that editing using the interface usually takes more time than editing a text file. But on the other hand, I have spent a lot of time fixed yaml syntax and formatting errors.

So for now I have decided to move as much configuration as possible to the UI.

Automations, Scripts & Scenes

Since using the UI editor for automations, scripts and scenes, I have noticed that I change those a lot. These means that changes are scattered around the files. Since I want to track changes through git and be able to revert to old versions, I have again decided to split these files automations.yaml, scripts.yaml and scenes.yaml into separate files. I will continue using the files for quick one offs or testing.

HASS.io

This file contains specific details about my HASS.io installation.

Host hardware

The system is currently running on Hardkernel Odroid-N2 (like Home Assistant Blue). Previously, I have used a Raspberry Pi 3B and before that a Raspberry Pi 2B.

Add-ons

I recently switched to [Home Assistant Cloud][cloud] from a self-managed proxy setup. So I closed the port on my firewall and no longer need the add-ons that made this possible: Nginx Proxy, Duckdns and Certbot.

SSH

Samba

Backups

I create backups with the Home Assistant Google Drive Backup addon.

Custom Components

HACS

To manage my custom components, I use HACS.

RDW

The RDW sensor module for Home Assistant.

Provides information for the family cars. Not available through HACS.

Z-Wave

I am using Z-Wave. I started using it as a reliable, secure and 2-way alternative to cheap 433 MHz devices (mainly Klik-Aan-Klik-Uit). This was before Philips Hue and Ikea Trådfri became large and mainstream, and thus the Zigbee protocol.

Until the end of 2019 I have been using the standard Hassio Z-Wave integration, but have migrated to Zwave2Mqtt since.

The reason to switch to Zwave2Mqtt is, to de-couple Home Assistant from my Z-Wave network. This should provide me with a healthier and more stable Z-Wave mesh. Using the Z-Wave integration, you will restart your entire network with every restart of Home Assistant, which can lead to unexpected results. And you need to wait minutes for all entities to show up.

Configuration

I have these components in place:

There are some good instructions available to set this up:

  • 1
  • 2

Create a new Home Assistant user zwave2mqtt through the Home Assistant UI. This user can be used to login to Mosquitto from the Zwave2Mqtt.

Install the Mosquitto broker add-on. The default configuration is fine. Start the broker.

Install the Open Z-Wave to MQTT addon. The default configuration is fine. Start the addon.

Add a panel to the Home Assistant UI in configuration.yaml. This will make it easier to access the web interface. Restart Home Assistant.

panel_iframe:
  zwave2mqtt:
    title: Z-Wave to MQTT
    icon: mdi:z-wave
    url: http://hassio.local:8091

Open the panel. If asked for a username and password, enter your Home Assistant user.

Follow the instructions in one of the articles.

Zwave2Mqtt

When using the MQTT integration and automatic discovery, you need to make sure that the MQTT prefix is homeassistant.

Renaming devices and entities

After your Z-Wave devices have been discovered you will end up with unuseful or ugly entity names. Some of these can be edited easily through the UI.

WARNING: This paragraph describes how to manually edit files in the .storage folder. This is hazardous if you don't know what you are doing. Always stop Home Assistant first and make a backup of the .storage folder before you make any edits. DO THIS AT YOUR OWN RISK. I am NOT responsible if you screw up.

Rename displayed name of devices. Through UI.

Repace nodeid's in entitiy names with something more usefil. Can be done trough UI. But easier with search/replace through text file <config>/.storage/core.entity_registry. Replace all occurences of .nodeid_18 with .charging_station. Notice the prepending dot (.). This will let you rename only sensors and switches. Be careful not to change the unique ID of the entity.

Search and replace is based on the "label" attribute in the JSON message.

entity type search replace
sensor gas_density voltage
sensor generic current
sensor power energy
sensor power_8 power

Hide sensors:

  • sensor.*_gas_density_17
  • sensor.*_generic_21
  • sensor.*_power_1
  • sensor.*_power_2
  • sensor.*_power_9
  • sensor.*_temperature*
  • sensor.*_water

Devices

An overview of the devices I use:

  • Neo Coolcam Smart Power Plug
  • Neo Coolcam Motion Sensor
  • Neo Coolcam Siren
  • Fibaro Smart Power Plug
  • BeNext Multisensor

Hardware

Connected (smart) hardware:

Sonos

Sonos speakers are added through discovery. This is more convenient than configuring manually.

Dashboards

Themes

I only use themes from HACS. These are installed in the themes folder, but are never uploaded to this repo.

Mushroom & Tile cards

I really like Mushroom and Tile cards. However, they do not (yet) have the flexibility of the entities card in combination with some custom cards.

Custom cards

I use several custom cards for displaying a nice and tailored dashboard. Among thise are:

Tips & Tricks

Editing your configuration

Database

Tracking your Lovelace UI file

To start tracking the lovelace UI file .storage/lovelace, you need to force-add it to git:

git add -f .storage/lovelace

Testing and debugging automations with automation editor

Using the automation editor is an easy way to test automations or to create temporary automations for debugging.

To use the automation editor in combination with packages, there needs to be a separate automations.yaml file in the root of the config directory, with a least one properly formatted automation. My config has a dummy automation to prevent that the configuration becomes invalid.

Limit database growth

To limit database growth, I limit recording as much as possible and purge the database daily for values older than 3 days.

Maintenance

For the maintenance of my configuration, I use these tools:

  • Visual Studio Code, with extensions:
    • Home Assistant Config Helper
    • YAML
    • markdownlint
    • UUID Generator
  • yamllint
  • pre-commit

To use yamllint with pre-commit, execute these commands:

brew install yamllint
brew install pre-commit
pre-commit install

Credits 🙏

Contributions

If you have suggestions or improvements, please submit an issue or pull request.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].