Skip to content

Commit

Permalink
Changes
Browse files Browse the repository at this point in the history
  • Loading branch information
aneisch committed Oct 6, 2024
1 parent bfdc3ba commit 59bce31
Show file tree
Hide file tree
Showing 17 changed files with 1,167 additions and 63 deletions.
32 changes: 16 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
[![Build Status](https://github.com/aneisch/home-assistant-config/actions/workflows/check-ha-release-compatibility.yml/badge.svg)](https://github.com/aneisch/home-assistant-config/actions)
[![GitHub last commit](https://img.shields.io/github/last-commit/aneisch/home-assistant-config)](https://github.com/aneisch/home-assistant-config/commits/master)
[![GitHub commit activity](https://img.shields.io/github/commit-activity/y/aneisch/home-assistant-config)](https://github.com/aneisch/home-assistant-config/graphs/commit-activity)
[![HA Version](https://img.shields.io/badge/Running%20Home%20Assistant-2024.9.3%20(Latest)-brightgreen)](https://github.com/home-assistant/home-assistant/releases/latest)
[![HA Version](https://img.shields.io/badge/Running%20Home%20Assistant-2024.10.1%20(Latest)-brightgreen)](https://github.com/home-assistant/home-assistant/releases/latest)
<br><a href="https://www.buymeacoffee.com/aneisch" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-black.png" width="150px" height="35px" alt="Buy Me A Coffee" style="height: 35px !important;width: 150px !important;" ></a>

I do my best to keep [Home Assistant](https://github.com/home-assistant/home-assistant) on the [latest release](https://github.com/home-assistant/home-assistant/releases/latest). I'm heavily utilizing [AppDaemon](http://appdaemon.readthedocs.io/en/latest/) and [NodeRed](https://flows.nodered.org/node/node-red-contrib-home-assistant-websocket) for advanced/templated automations. See [Appdaemon config](https://github.com/aneisch/home-assistant-config/tree/master/extras/appdaemon) and my NodeRed screenshots below for details. Most of my setup is run as Docker containers (see [docker-compose](https://github.com/aneisch/home-assistant-config/tree/master/extras/docker-compose) for container list).
Expand Down Expand Up @@ -58,19 +58,19 @@ Home Assistant and other containers have ingress handled automatically by [Traef
## Some statistics about my installation:
Description | value
-- | --
Lines of ESPHome YAML | 3250
Lines of Home Assistant YAML | 9707
Lines of ESPHome YAML | 3246
Lines of Home Assistant YAML | 10611
[Integrations](https://www.home-assistant.io/integrations/) in use | 64
Zigbee devices in [`zha`](https://www.home-assistant.io/integrations/zha/) | 26
Z-Wave devices in [`zwave_js`](https://www.home-assistant.io/integrations/zwave_js/) | 37

Description | value
-- | --
Entities in the [`automation`](https://www.home-assistant.io/components/automation) domain | 130
Entities in the [`binary_sensor`](https://www.home-assistant.io/components/binary_sensor) domain | 162
Entities in the [`button`](https://www.home-assistant.io/components/button) domain | 48
Entities in the [`automation`](https://www.home-assistant.io/components/automation) domain | 134
Entities in the [`binary_sensor`](https://www.home-assistant.io/components/binary_sensor) domain | 170
Entities in the [`button`](https://www.home-assistant.io/components/button) domain | 46
Entities in the [`camera`](https://www.home-assistant.io/components/camera) domain | 16
Entities in the [`climate`](https://www.home-assistant.io/components/climate) domain | 2
Entities in the [`climate`](https://www.home-assistant.io/components/climate) domain | 1
Entities in the [`conversation`](https://www.home-assistant.io/components/conversation) domain | 2
Entities in the [`counter`](https://www.home-assistant.io/components/counter) domain | 1
Entities in the [`cover`](https://www.home-assistant.io/components/cover) domain | 16
Expand All @@ -84,29 +84,29 @@ Entities in the [`input_boolean`](https://www.home-assistant.io/components/input
Entities in the [`input_datetime`](https://www.home-assistant.io/components/input_datetime) domain | 33
Entities in the [`input_number`](https://www.home-assistant.io/components/input_number) domain | 6
Entities in the [`input_select`](https://www.home-assistant.io/components/input_select) domain | 19
Entities in the [`input_text`](https://www.home-assistant.io/components/input_text) domain | 16
Entities in the [`input_text`](https://www.home-assistant.io/components/input_text) domain | 17
Entities in the [`light`](https://www.home-assistant.io/components/light) domain | 39
Entities in the [`lock`](https://www.home-assistant.io/components/lock) domain | 5
Entities in the [`lock`](https://www.home-assistant.io/components/lock) domain | 4
Entities in the [`media_player`](https://www.home-assistant.io/components/media_player) domain | 19
Entities in the [`notify`](https://www.home-assistant.io/components/notify) domain | 2
Entities in the [`number`](https://www.home-assistant.io/components/number) domain | 16
Entities in the [`person`](https://www.home-assistant.io/components/person) domain | 2
Entities in the [`plant`](https://www.home-assistant.io/components/plant) domain | 1
Entities in the [`remote`](https://www.home-assistant.io/components/remote) domain | 4
Entities in the [`script`](https://www.home-assistant.io/components/script) domain | 52
Entities in the [`select`](https://www.home-assistant.io/components/select) domain | 8
Entities in the [`sensor`](https://www.home-assistant.io/components/sensor) domain | 543
Entities in the [`select`](https://www.home-assistant.io/components/select) domain | 4
Entities in the [`sensor`](https://www.home-assistant.io/components/sensor) domain | 562
Entities in the [`setter`](https://www.home-assistant.io/components/setter) domain | 1
Entities in the [`siren`](https://www.home-assistant.io/components/siren) domain | 1
Entities in the [`sun`](https://www.home-assistant.io/components/sun) domain | 1
Entities in the [`switch`](https://www.home-assistant.io/components/switch) domain | 189
Entities in the [`timer`](https://www.home-assistant.io/components/timer) domain | 6
Entities in the [`switch`](https://www.home-assistant.io/components/switch) domain | 191
Entities in the [`timer`](https://www.home-assistant.io/components/timer) domain | 7
Entities in the [`tts`](https://www.home-assistant.io/components/tts) domain | 1
Entities in the [`update`](https://www.home-assistant.io/components/update) domain | 84
Entities in the [`update`](https://www.home-assistant.io/components/update) domain | 83
Entities in the [`vacuum`](https://www.home-assistant.io/components/vacuum) domain | 1
Entities in the [`weather`](https://www.home-assistant.io/components/weather) domain | 1
Entities in the [`zone`](https://www.home-assistant.io/components/zone) domain | 6
**Total state objects** | **1520**
Entities in the [`zone`](https://www.home-assistant.io/components/zone) domain | 7
**Total state objects** | **1547**
## The HACS integrations/plugins that I use:

**Appdaemon**:<br>
Expand Down
30 changes: 8 additions & 22 deletions automations.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -638,21 +638,23 @@
action:
- action: homeassistant.turn_on
entity_id: switch.docker_watchtower
- alias: Update Utility Costs
id: update_utility_costs
mode: single
- id: update_utility_costs
alias: Update Utility Costs
trigger:
- platform: time_pattern
hours: /12
- platform: time
at: '23:59:30'
action:
- action: python_script.compute_utility_costs
data:
meter_entity: sensor.electricity_usage
- action: python_script.compute_utility_costs
data:
meter_entity: sensor.water_usage
alias: Water
- alias: Electricity
action: python_script.compute_utility_costs
data:
meter_entity: sensor.electricity_usage
mode: single
- id: reset_utility_meters
alias: Reset Utility Meters
trigger:
Expand Down Expand Up @@ -1248,19 +1250,3 @@
'
mode: single
- id: '1727469189792'
alias: Total Power Alert
description: ''
trigger:
- platform: numeric_state
entity_id:
- sensor.total_power
above: 18000
condition: []
action:
- action: script.notify_wrapper
data:
message: Total power has exceeded 18k Watts! Currently {{trigger.to_state.state}}
data:
priority: 1
mode: single
7 changes: 1 addition & 6 deletions configuration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ homeassistant:
leak_detection: !include packages/leak_detection.yaml
reminders: !include packages/reminders.yaml
photo_frames: !include packages/photo_frames.yaml
tesla: !include packages/tesla.yaml
timers: !include packages/timers.yaml
ups_monitoring: !include packages/ups_monitor.yaml
vacuum: !include packages/vacuum.yaml
Expand Down Expand Up @@ -369,12 +370,6 @@ notify:
# api_key: !secret pushbullet_key
# name: pushbullet

- platform: html5
name: html5
vapid_pub_key: !secret vapid_pub_key
vapid_prv_key: !secret vapid_prv_key
vapid_email: !secret vapid_email

- platform: signal_messenger
name: signal_self
url: "http://localhost:8800" # the URL where the Signal Messenger REST API is listening
Expand Down
59 changes: 59 additions & 0 deletions extras/docker-compose/other/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -833,6 +833,65 @@ services:
- traefik.http.middlewares.add-guacamole.addPrefix.prefix=/guacamole
- traefik.http.routers.guacamole_local.service=guacamole

teslamate:
image: teslamate/teslamate:latest
container_name: teslamate
restart: always
environment:
- ENCRYPTION_KEY=PW #replace with a secure key to encrypt your Tesla API tokens
- DATABASE_USER=teslamate
- DATABASE_PASS=PW #insert your secure database password!
- DATABASE_NAME=teslamate
- DATABASE_HOST=teslamate-database
- MQTT_HOST=mosquitto
- TZ=America/Chicago
ports:
- 4001:4000
volumes:
- /opt/teslamate/teslamate:/opt/app/import
cap_drop:
- all

teslamate-database:
image: postgres:16
container_name: teslamate-database
restart: always
environment:
- POSTGRES_USER=teslamate
- POSTGRES_PASSWORD=PW #insert your secure database password!
- POSTGRES_DB=teslamate
volumes:
- /opt/teslamate/db:/var/lib/postgresql/data

teslamate-grafana:
image: teslamate/grafana:latest
container_name: teslamate-grafana
restart: always
environment:
- DATABASE_USER=teslamate
- DATABASE_PASS=password #insert your secure database password!
- DATABASE_NAME=teslamate
- DATABASE_HOST=database
# ports:
# - 3001:3000
volumes:
- /opt/teslamate/grafana:/var/lib/grafana
labels:
- traefik.enable=true
- traefik.http.services.teslamate.loadbalancer.server.port=3000
# HTTPS for CF
# - traefik.http.routers.teslamate.entrypoints=websecure
# - traefik.http.routers.teslamate.tls=true
# - traefik.http.routers.teslamate.rule=Host(`teslamate.domain.com`)
# - traefik.http.routers.teslamate.service=teslamate
# HTTPS Local Only (with 80-->443 redirect)
- traefik.http.routers.teslamate_local.tls=true
- traefik.http.routers.teslamate_local.tls.certResolver=le-home
- traefik.http.routers.teslamate_local.tls.domains[0].main=*.home.domain.com
- traefik.http.routers.teslamate_local.rule=Host(`teslamate.home.domain.com`)
- traefik.http.routers.teslamate_local.service=teslamate


# networks:
# macos_network:
# driver: bridge
59 changes: 59 additions & 0 deletions extras/docker-compose/unified/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1048,6 +1048,65 @@ services:
- traefik.http.middlewares.add-guacamole.addPrefix.prefix=/guacamole
- traefik.http.routers.guacamole_local.service=guacamole

teslamate:
image: teslamate/teslamate:latest
container_name: teslamate
restart: always
environment:
- ENCRYPTION_KEY=PW #replace with a secure key to encrypt your Tesla API tokens
- DATABASE_USER=teslamate
- DATABASE_PASS=PW #insert your secure database password!
- DATABASE_NAME=teslamate
- DATABASE_HOST=teslamate-database
- MQTT_HOST=mosquitto
- TZ=America/Chicago
ports:
- 4001:4000
volumes:
- /opt/teslamate/teslamate:/opt/app/import
cap_drop:
- all

teslamate-database:
image: postgres:16
container_name: teslamate-database
restart: always
environment:
- POSTGRES_USER=teslamate
- POSTGRES_PASSWORD=PW #insert your secure database password!
- POSTGRES_DB=teslamate
volumes:
- /opt/teslamate/db:/var/lib/postgresql/data

teslamate-grafana:
image: teslamate/grafana:latest
container_name: teslamate-grafana
restart: always
environment:
- DATABASE_USER=teslamate
- DATABASE_PASS=password #insert your secure database password!
- DATABASE_NAME=teslamate
- DATABASE_HOST=database
# ports:
# - 3001:3000
volumes:
- /opt/teslamate/grafana:/var/lib/grafana
labels:
- traefik.enable=true
- traefik.http.services.teslamate.loadbalancer.server.port=3000
# HTTPS for CF
# - traefik.http.routers.teslamate.entrypoints=websecure
# - traefik.http.routers.teslamate.tls=true
# - traefik.http.routers.teslamate.rule=Host(`teslamate.domain.com`)
# - traefik.http.routers.teslamate.service=teslamate
# HTTPS Local Only (with 80-->443 redirect)
- traefik.http.routers.teslamate_local.tls=true
- traefik.http.routers.teslamate_local.tls.certResolver=le-home
- traefik.http.routers.teslamate_local.tls.domains[0].main=*.home.domain.com
- traefik.http.routers.teslamate_local.rule=Host(`teslamate.home.domain.com`)
- traefik.http.routers.teslamate_local.service=teslamate


# networks:
# macos_network:
# driver: bridge
6 changes: 0 additions & 6 deletions extras/esphome/mom_and_dad_gate.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ web_server:

logger:
level: DEBUG

# http_request:
# verify_ssl: false

wifi:
networks:
Expand All @@ -28,9 +25,6 @@ wifi:
- ssid: SSID
password: WPA_KEY

# ota:
# - platform: http_request

# i2c:
# sda: D2
# scl: D1
Expand Down
Binary file modified images/nodered_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/nodered_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions input_text.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
# electricity_cost_monthly:
# name: "Electricity Cost"

electricity_cost_monthly_tesla:
name: "Tesla Electricity Cost"

electricity_cost_monthly_emporia:
name: "Electricity Cost"

Expand Down
Loading

0 comments on commit 59bce31

Please sign in to comment.