Skip to content

Commit 1b5e50f

Browse files
committed
Updates
1 parent 86a015b commit 1b5e50f

File tree

173 files changed

+15649
-1004
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

173 files changed

+15649
-1004
lines changed

README.md

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
[![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)
44
[![GitHub last commit](https://img.shields.io/github/last-commit/aneisch/home-assistant-config)](https://github.com/aneisch/home-assistant-config/commits/master)
55
[![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)
6-
[![HA Version](https://img.shields.io/badge/Running%20Home%20Assistant-2026.2.3%20(Latest)-brightgreen)](https://github.com/home-assistant/home-assistant/releases/latest)
6+
[![HA Version](https://img.shields.io/badge/Running%20Home%20Assistant-2026.3.1%20(Latest)-brightgreen)](https://github.com/home-assistant/home-assistant/releases/latest)
77
<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>
88

99
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).
@@ -57,18 +57,18 @@ Home Assistant and other containers have ingress handled automatically by [Traef
5757
## Some statistics about my installation:
5858
Description | value
5959
-- | --
60-
Lines of ESPHome YAML | 6017
61-
Lines of Home Assistant YAML | 12759
62-
[Integrations](https://www.home-assistant.io/integrations/) in use | 77
60+
Lines of ESPHome YAML | 6029
61+
Lines of Home Assistant YAML | 12838
62+
[Integrations](https://www.home-assistant.io/integrations/) in use | 78
6363
Zigbee devices in [`zha`](https://www.home-assistant.io/integrations/zha/) |
6464
Z-Wave devices in [`zwave_js`](https://www.home-assistant.io/integrations/zwave_js/) | 37
6565

6666
Description | value
6767
-- | --
6868
Entities in the [`ai_task`](https://www.home-assistant.io/components/ai_task) domain | 1
6969
Entities in the [`automation`](https://www.home-assistant.io/components/automation) domain | 146
70-
Entities in the [`binary_sensor`](https://www.home-assistant.io/components/binary_sensor) domain | 183
71-
Entities in the [`button`](https://www.home-assistant.io/components/button) domain | 74
70+
Entities in the [`binary_sensor`](https://www.home-assistant.io/components/binary_sensor) domain | 191
71+
Entities in the [`button`](https://www.home-assistant.io/components/button) domain | 76
7272
Entities in the [`calendar`](https://www.home-assistant.io/components/calendar) domain | 1
7373
Entities in the [`camera`](https://www.home-assistant.io/components/camera) domain | 13
7474
Entities in the [`climate`](https://www.home-assistant.io/components/climate) domain | 1
@@ -87,17 +87,18 @@ Entities in the [`input_datetime`](https://www.home-assistant.io/components/inpu
8787
Entities in the [`input_number`](https://www.home-assistant.io/components/input_number) domain | 10
8888
Entities in the [`input_select`](https://www.home-assistant.io/components/input_select) domain | 20
8989
Entities in the [`input_text`](https://www.home-assistant.io/components/input_text) domain | 17
90+
Entities in the [`irrigation_unlimited`](https://www.home-assistant.io/components/irrigation_unlimited) domain | 1
9091
Entities in the [`light`](https://www.home-assistant.io/components/light) domain | 38
9192
Entities in the [`lock`](https://www.home-assistant.io/components/lock) domain | 5
92-
Entities in the [`media_player`](https://www.home-assistant.io/components/media_player) domain | 15
93+
Entities in the [`media_player`](https://www.home-assistant.io/components/media_player) domain | 16
9394
Entities in the [`notify`](https://www.home-assistant.io/components/notify) domain | 1
9495
Entities in the [`number`](https://www.home-assistant.io/components/number) domain | 30
9596
Entities in the [`person`](https://www.home-assistant.io/components/person) domain | 2
9697
Entities in the [`plant`](https://www.home-assistant.io/components/plant) domain | 1
9798
Entities in the [`remote`](https://www.home-assistant.io/components/remote) domain | 5
9899
Entities in the [`script`](https://www.home-assistant.io/components/script) domain | 58
99100
Entities in the [`select`](https://www.home-assistant.io/components/select) domain | 14
100-
Entities in the [`sensor`](https://www.home-assistant.io/components/sensor) domain | 739
101+
Entities in the [`sensor`](https://www.home-assistant.io/components/sensor) domain | 743
101102
Entities in the [`setter`](https://www.home-assistant.io/components/setter) domain | 1
102103
Entities in the [`siren`](https://www.home-assistant.io/components/siren) domain | 2
103104
Entities in the [`stt`](https://www.home-assistant.io/components/stt) domain | 1
@@ -106,11 +107,11 @@ Entities in the [`switch`](https://www.home-assistant.io/components/switch) doma
106107
Entities in the [`text`](https://www.home-assistant.io/components/text) domain | 2
107108
Entities in the [`timer`](https://www.home-assistant.io/components/timer) domain | 6
108109
Entities in the [`tts`](https://www.home-assistant.io/components/tts) domain | 2
109-
Entities in the [`update`](https://www.home-assistant.io/components/update) domain | 90
110+
Entities in the [`update`](https://www.home-assistant.io/components/update) domain | 92
110111
Entities in the [`vacuum`](https://www.home-assistant.io/components/vacuum) domain | 1
111112
Entities in the [`weather`](https://www.home-assistant.io/components/weather) domain | 1
112113
Entities in the [`zone`](https://www.home-assistant.io/components/zone) domain | 8
113-
**Total state objects** | **1847**
114+
**Total state objects** | **1865**
114115
## The HACS integrations/plugins that I use:
115116

116117
**Appdaemon**:<br>
@@ -143,6 +144,7 @@ Entities in the [`zone`](https://www.home-assistant.io/components/zone) domain |
143144
[iprak/yahoofinance](https://github.com/iprak/yahoofinance)<br>
144145
[magico13/ha-emporia-vue](https://github.com/magico13/ha-emporia-vue)<br>
145146
[moralmunky/Home-Assistant-Mail-And-Packages](https://github.com/moralmunky/Home-Assistant-Mail-And-Packages)<br>
147+
[rgc99/irrigation_unlimited](https://github.com/rgc99/irrigation_unlimited)<br>
146148
[rospogrigio/localtuya](https://github.com/rospogrigio/localtuya)<br>
147149
[rroller/dahua](https://github.com/rroller/dahua)<br>
148150
[sdrapha/home-assistant-custom-components-pfsense-gateways](https://github.com/sdrapha/home-assistant-custom-components-pfsense-gateways)<br>
@@ -167,6 +169,7 @@ Entities in the [`zone`](https://www.home-assistant.io/components/zone) domain |
167169
[ofekashery/vertical-stack-in-card](https://github.com/ofekashery/vertical-stack-in-card)<br>
168170
[piitaya/lovelace-mushroom](https://github.com/piitaya/lovelace-mushroom)<br>
169171
[pmongloid/flipdown-timer-card](https://github.com/pmongloid/flipdown-timer-card)<br>
172+
[rgc99/irrigation-unlimited-card](https://github.com/rgc99/irrigation-unlimited-card)<br>
170173
[slipx06/sunsynk-power-flow-card](https://github.com/slipx06/sunsynk-power-flow-card)<br>
171174
[thomasloven/lovelace-auto-entities](https://github.com/thomasloven/lovelace-auto-entities)<br>
172175
[thomasloven/lovelace-card-mod](https://github.com/thomasloven/lovelace-card-mod)<br>

automations.yaml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -644,7 +644,7 @@
644644
- alias: Tesla Charging
645645
action: python_script.compute_utility_costs
646646
data:
647-
meter_entity: sensor.tesla_energy_this_month
647+
meter_entity: sensor.monthly_tesla_electric_usage
648648
mode: single
649649
- id: reset_utility_meters
650650
alias: Reset Utility Meters
@@ -658,18 +658,27 @@
658658
data:
659659
meter_entity: sensor.water_usage
660660
cycle_reset_entity_id: sensor.utilities_cycle_end
661+
alias: Water
661662
- action: python_script.utility_meter_reset
662663
data:
663664
meter_entity: sensor.electricity_usage
664665
cycle_reset_entity_id: sensor.utilities_cycle_end
666+
alias: Electric Import
665667
- action: python_script.utility_meter_reset
666668
data:
667669
meter_entity: sensor.electricity_sell
668670
cycle_reset_entity_id: sensor.utilities_cycle_end
671+
alias: Electric Export
669672
- action: python_script.utility_meter_reset
670673
data:
671674
meter_entity: sensor.electricity_sell_offset
672675
cycle_reset_entity_id: sensor.utilities_cycle_end
676+
alias: Electric Offset
677+
- alias: Tesla
678+
action: python_script.utility_meter_reset
679+
data:
680+
meter_entity: sensor.monthly_tesla_electric_usage
681+
cycle_reset_entity_id: sensor.utilities_cycle_end
673682
- id: fingerprint_door_unlock
674683
alias: Fingerprint Door Unlock
675684
description: ''
@@ -1495,7 +1504,7 @@
14951504
triggers:
14961505
- trigger: state
14971506
entity_id:
1498-
- sensor.latest_utility_bill_id
1507+
- sensor.latest_utility_bill_amounts
14991508
conditions:
15001509
- condition: template
15011510
value_template: '{{ trigger.to_state.state not in ["unknown", "unavailable"] and

configuration.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ homeassistant:
2929
hass_update_check: !include packages/hass_update_check.yaml
3030
smoke_alarms: !include packages/smoke_alarms.yaml
3131
# magic_cube: !include packages/magic_cube.yaml
32+
irrigation_unlimited: !include packages/irrigation_unlimited.yaml
3233
irrigation: !include packages/irrigation.yaml
3334
leak_detection: !include packages/leak_detection.yaml
3435
reminders: !include packages/reminders.yaml
@@ -351,6 +352,8 @@ lovelace:
351352
type: module
352353
- url: /ha_creality_ws/k_printer_card.js
353354
type: module
355+
- url: /hacsfiles/irrigation-unlimited-card/irrigation-unlimited-card.js
356+
type: module
354357

355358
media_source:
356359

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
"""
2+
Custom integration to integrate irrigation_unlimited with Home Assistant.
3+
4+
For more details about this integration, please refer to
5+
https://github.com/rgc99/irrigation_unlimited
6+
"""
7+
8+
import logging
9+
import voluptuous as vol
10+
from homeassistant.helpers.entity_component import EntityComponent
11+
from homeassistant.core import HomeAssistant
12+
from homeassistant.core_config import Config
13+
from homeassistant.helpers.discovery import async_load_platform
14+
15+
from .irrigation_unlimited import IUCoordinator
16+
from .entity import IUComponent
17+
from .service import register_component_services
18+
19+
from .schema import (
20+
IRRIGATION_SCHEMA,
21+
)
22+
23+
from .const import (
24+
BINARY_SENSOR,
25+
DOMAIN,
26+
COORDINATOR,
27+
COMPONENT,
28+
STARTUP_MESSAGE,
29+
)
30+
31+
_LOGGER: logging.Logger = logging.getLogger(__package__)
32+
33+
34+
CONFIG_SCHEMA = vol.Schema({DOMAIN: IRRIGATION_SCHEMA}, extra=vol.ALLOW_EXTRA)
35+
36+
37+
async def async_setup(hass: HomeAssistant, config: Config):
38+
"""Set up this integration using YAML."""
39+
40+
_LOGGER.info(STARTUP_MESSAGE)
41+
42+
hass.data[DOMAIN] = {}
43+
coordinator = IUCoordinator(hass).load(config[DOMAIN])
44+
hass.data[DOMAIN][COORDINATOR] = coordinator
45+
46+
component = EntityComponent(_LOGGER, DOMAIN, hass)
47+
hass.data[DOMAIN][COMPONENT] = component
48+
49+
await component.async_add_entities([IUComponent(coordinator)])
50+
51+
await hass.async_create_task(
52+
async_load_platform(hass, BINARY_SENSOR, DOMAIN, {}, config)
53+
)
54+
55+
register_component_services(component, coordinator)
56+
57+
coordinator.listen()
58+
coordinator.clock.start()
59+
60+
return True

0 commit comments

Comments
 (0)