diff --git a/README.md b/README.md
index e9bf78db..8b364733 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,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.4.4%20(Latest)-brightgreen)](https://github.com/home-assistant/home-assistant/releases/latest)
+[![HA Version](https://img.shields.io/badge/Running%20Home%20Assistant%20-2024.5.0b0%20(Out%20of%20Date)-Red)](https://github.com/home-assistant/home-assistant/releases/latest)
@@ -57,18 +57,19 @@ Also using Grafana/Influx for graphing, both running in Docker containers on NUC
Description | value
-- | --
Lines of ESPHome YAML | 2801
-Lines of Home Assistant YAML | 9008
-[Integrations](https://www.home-assistant.io/integrations/) in use | 59
+Lines of Home Assistant YAML | 9010
+[Integrations](https://www.home-assistant.io/integrations/) in use | 60
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 | 121
-Entities in the [`binary_sensor`](https://www.home-assistant.io/components/binary_sensor) domain | 135
+Entities in the [`binary_sensor`](https://www.home-assistant.io/components/binary_sensor) domain | 139
Entities in the [`button`](https://www.home-assistant.io/components/button) domain | 15
Entities in the [`camera`](https://www.home-assistant.io/components/camera) domain | 14
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 | 1
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 | 13
Entities in the [`device_tracker`](https://www.home-assistant.io/components/device_tracker) domain | 4
@@ -99,7 +100,7 @@ Entities in the [`update`](https://www.home-assistant.io/components/update) doma
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** | **1212**
+**Total state objects** | **1217**
## The HACS integrations/plugins that I use:
**Appdaemon**:
[aneisch/follow_me_appdaemon](https://github.com/aneisch/follow_me_appdaemon)
diff --git a/configuration.yaml b/configuration.yaml
index ac588636..ad11e55b 100644
--- a/configuration.yaml
+++ b/configuration.yaml
@@ -71,13 +71,14 @@ config:
energy:
-folder_watcher:
- - folder: '/tmp'
- patterns:
- - "database.sqlite"
- - folder: '/tmp'
- patterns:
- - "config.yml"
+# Moved to UI v2024.5
+# folder_watcher:
+# - folder: '/tmp'
+# patterns:
+# - "database.sqlite"
+# - folder: '/tmp'
+# patterns:
+# - "config.yml"
monitor_docker:
#scan_interval: 60
@@ -124,9 +125,10 @@ homekit: !include homekit.yaml
http:
use_x_forwarded_for: true
trusted_proxies:
- - 172.18.0.0/24 # Nginx Proxy Manager
+ - 172.18.0.0/24 # Traefik
- 10.0.1.22/32 # NUC
server_port: 8123
+ # strict_connection: guard_page
ifttt:
key: !secret IFTTT
diff --git a/extras/docker-compose/homeassistant/docker-compose.yml b/extras/docker-compose/homeassistant/docker-compose.yml
index d6cbabc4..cf7ad7c9 100644
--- a/extras/docker-compose/homeassistant/docker-compose.yml
+++ b/extras/docker-compose/homeassistant/docker-compose.yml
@@ -2,7 +2,7 @@ version: '3.2'
services:
homeassistant:
container_name: homeassistant
- image: ghcr.io/home-assistant/home-assistant:stable
+ image: ghcr.io/home-assistant/home-assistant:beta
labels:
- com.centurylinklabs.watchtower.monitor-only=true
# HTTPS for CF
@@ -20,7 +20,6 @@ services:
- traefik.http.routers.assist_local.service=assist
volumes:
- /opt/homeassistant:/config
- #- /opt/nginx-proxy-manager/database.sqlite:/tmp/database.sqlite
- /var/run/docker.sock:/var/run/docker.sock
- /home/aneisch/symlinks_for_rsync/hass-docker-ssh:/root/.ssh:ro
- /tmp/radar.gif:/tmp/radar.gif
diff --git a/extras/docker-compose/other/docker-compose.yml b/extras/docker-compose/other/docker-compose.yml
index c2dcc8b8..7ad90c99 100644
--- a/extras/docker-compose/other/docker-compose.yml
+++ b/extras/docker-compose/other/docker-compose.yml
@@ -488,7 +488,6 @@ services:
- EXTRA=-display none -vnc 0.0.0.0:99,password-secret=secvnc0 -object secret,id=secvnc0,data=vncpass
- TZ=America/Chicago
- ADDITIONAL_PORTS=hostfwd=tcp::1234-:1234,
-
devices:
- /dev/kvm
user: root
@@ -536,7 +535,6 @@ services:
- traefik.http.routers.go2rtc_local.tls.certResolver=le-home
- traefik.http.routers.go2rtc_local.tls.domains[0].main=*.home.domain.com
- traefik.http.routers.go2rtc_local.rule=Host(`go2rtc.home.domain.com`)
-
environment:
- PLUS_API_KEY=secret
- TZ=America/Chicago
@@ -647,6 +645,6 @@ services:
volumes:
- '/var/run/docker.sock:/var/run/docker.sock'
-networks:
- macos_network:
- driver: bridge
+# networks:
+# macos_network:
+# driver: bridge
diff --git a/extras/docker-compose/unified/docker-compose.yml b/extras/docker-compose/unified/docker-compose.yml
index 1e7dfd44..d7812397 100644
--- a/extras/docker-compose/unified/docker-compose.yml
+++ b/extras/docker-compose/unified/docker-compose.yml
@@ -3,7 +3,7 @@ version: '3.2'
services:
homeassistant:
container_name: homeassistant
- image: ghcr.io/home-assistant/home-assistant:stable
+ image: ghcr.io/home-assistant/home-assistant:beta
labels:
- com.centurylinklabs.watchtower.monitor-only=true
# HTTPS for CF
diff --git a/images/nodered_1.png b/images/nodered_1.png
index e34775d1..27e7ac5b 100644
Binary files a/images/nodered_1.png and b/images/nodered_1.png differ
diff --git a/images/nodered_2.png b/images/nodered_2.png
index 807af808..d0a171d5 100644
Binary files a/images/nodered_2.png and b/images/nodered_2.png differ
diff --git a/packages/ups_monitor.yaml b/packages/ups_monitor.yaml
index c357ff26..7e675083 100644
--- a/packages/ups_monitor.yaml
+++ b/packages/ups_monitor.yaml
@@ -21,7 +21,7 @@ automation:
data:
message: >
{% if trigger.from_state.state == "ONBATT" %}
- {{ trigger.to_state.attributes.friendly_name }} {{ trigger.to_state.state }}: {{ now().strftime('%Y-%m-%d %T') }}. Outaged lasted {{ relative_time(trigger.from_state.last_changed) }}
+ {{ trigger.to_state.attributes.friendly_name }} {{ trigger.to_state.state }}: {{ now().strftime('%Y-%m-%d %T') }}. Outaged lasted {{ time_since(trigger.from_state.last_changed) }}
{% else %}
{{ trigger.to_state.attributes.friendly_name }} {{ trigger.to_state.state }}: {{ now().strftime('%Y-%m-%d %T') }}
{% endif %}
diff --git a/packages/vacuum.yaml b/packages/vacuum.yaml
index 679532dd..daa3d7e8 100644
--- a/packages/vacuum.yaml
+++ b/packages/vacuum.yaml
@@ -113,7 +113,7 @@ sensor:
# with some other templating functions and filters.
roborock_s4_last_cleaned:
friendly_name: Relative time since last cleaning ended
- value_template: "{{relative_time(strptime(as_timestamp(states('sensor.roborock_s4_last_clean_end'))|timestamp_custom('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S'))}}"
+ value_template: "{{time_since(strptime(as_timestamp(states('sensor.roborock_s4_last_clean_end'))|timestamp_custom('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S'))}}"
# roborock_s4_lifetime_cleaning_count:
# friendly_name: 'Lifetime Cleaning Count'
diff --git a/ui-lovelace/01-home.yaml b/ui-lovelace/01-home.yaml
index a903de60..325bbf57 100644
--- a/ui-lovelace/01-home.yaml
+++ b/ui-lovelace/01-home.yaml
@@ -10,7 +10,7 @@ cards:
cards:
- !include .cards/thermostat.yaml
- type: markdown
- content: 'Last Thermostat Status Update: {{ relative_time(as_datetime(states("sensor.thermostat_last_communication"))) }} ago'
+ content: 'Last Thermostat Status Update: {{ time_since(as_datetime(states("sensor.thermostat_last_communication"))) }} ago'
- type: custom:vertical-stack-in-card
cards:
diff --git a/ui-lovelace/05-server.yaml b/ui-lovelace/05-server.yaml
index d716a115..596b5655 100644
--- a/ui-lovelace/05-server.yaml
+++ b/ui-lovelace/05-server.yaml
@@ -36,7 +36,7 @@ cards:
cards:
- type: markdown
content: |
- Last NUC Backup: {{ relative_time(strptime(states.sensor.last_nuc_backup_completed.state, '%Y-%m-%d %H:%M:%S')) }} ago
+ Last NUC Backup: {{ time_since(strptime(states.sensor.last_nuc_backup_completed.state, '%Y-%m-%d %H:%M:%S')) }} ago
card_mod:
style: |
@keyframes blink {
@@ -53,7 +53,7 @@ cards:
}
- type: markdown
content: |
- Last VPS Backup: {{ relative_time(strptime(states.sensor.last_vps_backup_completed.state, '%Y-%m-%d %H:%M:%S')) }} ago
+ Last VPS Backup: {{ time_since(strptime(states.sensor.last_vps_backup_completed.state, '%Y-%m-%d %H:%M:%S')) }} ago
card_mod:
style: |
@keyframes blink {
diff --git a/ui-lovelace/11-irrigation.yaml b/ui-lovelace/11-irrigation.yaml
index 87d8e7c8..a65883ff 100644
--- a/ui-lovelace/11-irrigation.yaml
+++ b/ui-lovelace/11-irrigation.yaml
@@ -69,7 +69,7 @@ cards:
{% for sprinkler_zone in irrigation -%}
{%- set entity_name = "input_datetime" + sprinkler_zone | regex_replace(find='switch', replace='', ignorecase=False) -%}
{% if states(sprinkler_zone) == "on" %}
- **{{ state_attr(sprinkler_zone, "friendly_name") | regex_replace(find='Irrigation ', replace='', ignorecase=False) }}**: Running for {{ relative_time(strptime(as_timestamp(states(entity_name+"_last_start")) | timestamp_custom('%Y-%m-%d %H:%M:%S%z'), '%Y-%m-%d %H:%M:%S%z')) }}
+ **{{ state_attr(sprinkler_zone, "friendly_name") | regex_replace(find='Irrigation ', replace='', ignorecase=False) }}**: Running for {{ time_since(strptime(as_timestamp(states(entity_name+"_last_start")) | timestamp_custom('%Y-%m-%d %H:%M:%S%z'), '%Y-%m-%d %H:%M:%S%z')) }}
{% else -%}
{# Calculate relative last stop time #}