chore: initial baseline before refactoring

Initial snapshot of Home Assistant config (HAOS 2026.4.4)
prior to dashboard restructuring and helper YAML migration.

Pre-commit cleanup applied:
- Removed blueprints/switch_manager/ (9.4 MB stale, component already gone)
- Removed .storage/switch_manager
- Removed home-assistant.log.{1,old,fault}
- Removed zigbee2mqtt/configuration_backup_v{1..4}.yaml
- Removed zigbee2mqtt/database.db.tmp.2024-09-27 (1.5y old)
- Created empty themes/ to satisfy configuration.yaml include

.gitignore uses allowlist strategy for .storage/ to keep
all tokens, keys, and PINs out of version control.
This commit is contained in:
2026-05-02 14:24:53 +02:00
commit 5f01411780
149 changed files with 47886 additions and 0 deletions
+256
View File
@@ -0,0 +1,256 @@
{
"version": 1,
"minor_version": 9,
"key": "core.area_registry",
"data": {
"areas": [
{
"aliases": [],
"floor_id": "erdgeschoss",
"humidity_entity_id": null,
"icon": "hue:room-bathroom",
"id": "badezimmer",
"labels": [],
"name": "Badezimmer",
"picture": null,
"temperature_entity_id": null,
"created_at": "2024-09-09T13:04:18.389639+00:00",
"modified_at": "2025-08-17T07:32:57.160038+00:00"
},
{
"aliases": [],
"floor_id": "erdgeschoss",
"humidity_entity_id": "sensor.buro_rauchmelder_humidity",
"icon": "hue:room-office",
"id": "buro",
"labels": [],
"name": "Büro",
"picture": null,
"temperature_entity_id": "sensor.buro_rauchmelder_temperature",
"created_at": "2024-09-08T10:46:56.377433+00:00",
"modified_at": "2025-08-17T07:35:11.809131+00:00"
},
{
"aliases": [],
"floor_id": "aussen",
"humidity_entity_id": null,
"icon": "hue:room-front-door",
"id": "eingang",
"labels": [],
"name": "Eingang",
"picture": null,
"temperature_entity_id": null,
"created_at": "2025-03-03T15:42:03.555438+00:00",
"modified_at": "2025-08-17T07:35:00.782090+00:00"
},
{
"aliases": [],
"floor_id": "erdgeschoss",
"humidity_entity_id": null,
"icon": "hue:room-dining",
"id": "esszimmer",
"labels": [],
"name": "Esszimmer",
"picture": null,
"temperature_entity_id": null,
"created_at": "2024-09-11T08:18:34.627509+00:00",
"modified_at": "2025-08-17T07:32:40.006548+00:00"
},
{
"aliases": [],
"floor_id": "erdgeschoss",
"humidity_entity_id": null,
"icon": "hue:room-other",
"id": "gang",
"labels": [],
"name": "Gang",
"picture": null,
"temperature_entity_id": null,
"created_at": "2024-09-09T13:31:35.850691+00:00",
"modified_at": "2025-08-17T07:32:30.684112+00:00"
},
{
"aliases": [],
"floor_id": "aussen",
"humidity_entity_id": null,
"icon": "hue:room-carport",
"id": "garage",
"labels": [],
"name": "Garage",
"picture": null,
"temperature_entity_id": null,
"created_at": "2025-08-05T05:47:11.358780+00:00",
"modified_at": "2025-08-05T05:47:11.358784+00:00"
},
{
"aliases": [],
"floor_id": "erdgeschoss",
"humidity_entity_id": null,
"icon": "hue:room-hallway",
"id": "gaderobe",
"labels": [],
"name": "Garderobe",
"picture": null,
"temperature_entity_id": null,
"created_at": "2024-09-09T13:18:10.361439+00:00",
"modified_at": "2025-08-17T07:31:31.671046+00:00"
},
{
"aliases": [],
"floor_id": "aussen",
"humidity_entity_id": null,
"icon": "hue:room-bbq",
"id": "grillplatz",
"labels": [],
"name": "Grillplatz",
"picture": null,
"temperature_entity_id": null,
"created_at": "2025-08-20T17:18:48.577020+00:00",
"modified_at": "2025-08-20T17:18:48.577024+00:00"
},
{
"aliases": [],
"floor_id": "erdgeschoss",
"humidity_entity_id": "sensor.gastezimmer_rauchmelder_humidity",
"icon": "hue:room-guestroom",
"id": "gastezimmer",
"labels": [],
"name": "Gästezimmer",
"picture": null,
"temperature_entity_id": "sensor.gastezimmer_rauchmelder_temperature",
"created_at": "2024-11-02T08:09:33.172900+00:00",
"modified_at": "2025-08-17T07:30:05.628546+00:00"
},
{
"aliases": [],
"floor_id": "erdgeschoss",
"humidity_entity_id": "sensor.kinderzimmer_rauchmelder_humidity",
"icon": "hue:room-nursery",
"id": "kinderzimmer",
"labels": [],
"name": "Kinderzimmer",
"picture": null,
"temperature_entity_id": "sensor.kinderzimmer_rauchmelder_temperature",
"created_at": "2024-09-09T12:55:13.852546+00:00",
"modified_at": "2025-08-17T07:33:16.734722+00:00"
},
{
"aliases": [],
"floor_id": "erdgeschoss",
"humidity_entity_id": null,
"icon": "hue:room-kitchen",
"id": "kuche",
"labels": [],
"name": "Küche",
"picture": null,
"temperature_entity_id": null,
"created_at": "2024-09-08T10:30:15.825070+00:00",
"modified_at": "2025-08-17T07:33:37.166858+00:00"
},
{
"aliases": [],
"floor_id": "aussen",
"humidity_entity_id": null,
"icon": "mdi:spa",
"id": "ruheplatz",
"labels": [],
"name": "Ruheplatz",
"picture": null,
"temperature_entity_id": null,
"created_at": "2025-08-05T05:45:12.026858+00:00",
"modified_at": "2025-08-05T05:46:07.550591+00:00"
},
{
"aliases": [],
"floor_id": "erdgeschoss",
"humidity_entity_id": "sensor.schlafzimmer_rauchmelder_humidity",
"icon": "hue:room-bedroom",
"id": "schlafzimmer",
"labels": [],
"name": "Schlafzimmer",
"picture": null,
"temperature_entity_id": "sensor.schlafzimmer_rauchmelder_temperature",
"created_at": "2024-09-08T10:30:15.825093+00:00",
"modified_at": "2025-08-17T07:33:44.481038+00:00"
},
{
"aliases": [],
"floor_id": "erdgeschoss",
"humidity_entity_id": null,
"icon": "hue:room-closet",
"id": "speis",
"labels": [],
"name": "Speis",
"picture": null,
"temperature_entity_id": null,
"created_at": "2024-09-09T13:17:30.602321+00:00",
"modified_at": "2025-08-17T07:35:26.021395+00:00"
},
{
"aliases": [],
"floor_id": "erdgeschoss",
"humidity_entity_id": "sensor.technikraum_rauchmelder_humidity",
"icon": "hue:room-garage",
"id": "technikraum",
"labels": [],
"name": "Technikraum",
"picture": null,
"temperature_entity_id": "sensor.technikraum_rauchmelder_temperature",
"created_at": "2024-09-08T10:48:15.405832+00:00",
"modified_at": "2025-08-17T07:34:09.996450+00:00"
},
{
"aliases": [],
"floor_id": "aussen",
"humidity_entity_id": null,
"icon": "hue:room-porch",
"id": "terrasse",
"labels": [],
"name": "Terrasse",
"picture": null,
"temperature_entity_id": null,
"created_at": "2024-12-14T11:33:19.621992+00:00",
"modified_at": "2025-08-17T07:35:55.398434+00:00"
},
{
"aliases": [],
"floor_id": "erdgeschoss",
"humidity_entity_id": null,
"icon": "hue:room-laundry",
"id": "wc",
"labels": [],
"name": "WC",
"picture": null,
"temperature_entity_id": null,
"created_at": "2024-09-09T13:06:41.472709+00:00",
"modified_at": "2025-08-17T07:34:36.025375+00:00"
},
{
"aliases": [],
"floor_id": "erdgeschoss",
"humidity_entity_id": "sensor.wohnzimmer_rauchmelder_humidity",
"icon": "hue:room-living",
"id": "wohnzimmer",
"labels": [],
"name": "Wohnzimmer",
"picture": null,
"temperature_entity_id": "sensor.wohnzimmer_rauchmelder_temperature",
"created_at": "2024-09-08T10:30:15.824868+00:00",
"modified_at": "2025-08-17T07:34:49.227873+00:00"
},
{
"aliases": [],
"floor_id": "aussen",
"humidity_entity_id": null,
"icon": "mdi:cannabis",
"id": "grow",
"labels": [],
"name": "Grow",
"picture": null,
"temperature_entity_id": null,
"created_at": "2026-04-13T06:45:41.915906+00:00",
"modified_at": "2026-04-13T06:45:41.915909+00:00"
}
]
}
}
+46
View File
@@ -0,0 +1,46 @@
{
"version": 1,
"minor_version": 2,
"key": "core.category_registry",
"data": {
"categories": {
"automation": [
{
"category_id": "01J99PMV3M2YG3FNGEH4XH7YHW",
"created_at": "2024-10-03T17:25:36.500542+00:00",
"icon": null,
"modified_at": "2024-10-03T17:25:36.500547+00:00",
"name": "Licht"
},
{
"category_id": "01J99PNV8CSZW3EV091RMEJ8EZ",
"created_at": "2024-10-03T17:26:09.420792+00:00",
"icon": "mdi:timer",
"modified_at": "2024-10-03T17:26:09.420797+00:00",
"name": "Zeitsteuerung"
},
{
"category_id": "01J99PPYR7R7QZJ24BS979KM8R",
"created_at": "2024-10-03T17:26:45.767138+00:00",
"icon": null,
"modified_at": "2024-10-03T17:26:45.767145+00:00",
"name": "Aqara H1 (decoupled and wireless)"
},
{
"category_id": "01J99PQJM732WF5JC2NVVYAZDE",
"created_at": "2024-10-03T17:27:06.119785+00:00",
"icon": null,
"modified_at": "2024-10-03T17:27:06.119791+00:00",
"name": "Notifications"
},
{
"category_id": "01K2VBACGMBJA0THY3YK7CM1GG",
"created_at": "2025-08-17T06:26:24.916078+00:00",
"icon": "mdi:hot-tub",
"modified_at": "2025-08-17T06:26:24.916081+00:00",
"name": "Whirlpool"
}
]
}
}
}
+27
View File
@@ -0,0 +1,27 @@
{
"version": 1,
"minor_version": 3,
"key": "core.floor_registry",
"data": {
"floors": [
{
"aliases": [],
"floor_id": "erdgeschoss",
"icon": null,
"level": 0,
"name": "Erdgeschoss",
"created_at": "2024-09-14T09:36:39.934040+00:00",
"modified_at": "2024-09-14T09:36:39.934045+00:00"
},
{
"aliases": [],
"floor_id": "aussen",
"icon": "hue:room-outdoors",
"level": null,
"name": "Außen",
"created_at": "2025-08-05T05:46:07.342525+00:00",
"modified_at": "2025-08-05T05:46:07.342526+00:00"
}
]
}
}
+63
View File
@@ -0,0 +1,63 @@
{
"version": 1,
"minor_version": 2,
"key": "core.label_registry",
"data": {
"labels": [
{
"color": "deep-orange",
"description": null,
"icon": "mdi:smoke-detector",
"label_id": "rauchmelder",
"name": "Rauchmelder",
"created_at": "2024-11-26T16:26:08.211237+00:00",
"modified_at": "2024-11-26T16:26:08.211242+00:00"
},
{
"color": "blue-grey",
"description": null,
"icon": "mdi:window-shutter",
"label_id": "rolladen",
"name": "Rolladen",
"created_at": "2024-12-07T10:49:37.543488+00:00",
"modified_at": "2024-12-07T10:49:37.543493+00:00"
},
{
"color": "cyan",
"description": null,
"icon": "hue:friends-of-hue-senic",
"label_id": "lichtschalter",
"name": "Lichtschalter",
"created_at": "2024-12-07T10:52:02.771486+00:00",
"modified_at": "2024-12-07T10:52:02.771491+00:00"
},
{
"color": "amber",
"description": null,
"icon": "mdi:home-lightbulb-outline",
"label_id": "leuchte",
"name": "Leuchte",
"created_at": "2024-12-07T10:54:12.326880+00:00",
"modified_at": "2024-12-07T10:54:12.326885+00:00"
},
{
"color": "lime",
"description": null,
"icon": "mdi:motion-sensor",
"label_id": "bewegungsmelder",
"name": "Bewegungsmelder",
"created_at": "2024-12-15T16:13:00.488482+00:00",
"modified_at": "2024-12-15T16:13:10.814935+00:00"
},
{
"color": null,
"description": null,
"icon": null,
"label_id": "seasonal",
"name": "Seasonal",
"created_at": "2025-12-21T10:06:40.104210+00:00",
"modified_at": "2025-12-21T10:06:40.104212+00:00"
}
]
}
}
+8
View File
@@ -0,0 +1,8 @@
{
"version": 1,
"minor_version": 1,
"key": "counter",
"data": {
"items": []
}
}
+98
View File
@@ -0,0 +1,98 @@
{
"version": 1,
"minor_version": 3,
"key": "energy",
"data": {
"energy_sources": [
{
"type": "grid",
"cost_adjustment_day": 0.0,
"stat_energy_from": "sensor.tibber_pulse_zuhause_zahlerstand_verbrauch",
"stat_cost": null,
"entity_energy_price": "sensor.zuhause_strompreis",
"number_energy_price": null,
"stat_energy_to": "sensor.tibber_pulse_zuhause_zahlerstand_einspeisung",
"stat_compensation": null,
"entity_energy_price_export": null,
"number_energy_price_export": 0.0695,
"stat_rate": "sensor.tibber_pulse_zuhause_leistung"
},
{
"type": "solar",
"stat_energy_from": "sensor.powerocean_hj37zdh5zg5w0109_solarertrag_heute",
"config_entry_solar_forecast": [
"01J8CDN8M8JEDRF4BA6ENG0KQ7"
],
"stat_rate": "sensor.powerocean_mpptpv_pwrtotal"
},
{
"type": "battery",
"stat_energy_from": "sensor.battery_hj3azdh5zg3g0384_batterie_kumulierte_entladung",
"stat_energy_to": "sensor.battery_hj3azdh5zg3g0384_batterie_kumulierte_ladung",
"power_config": {
"stat_rate": "sensor.battery_hj3azdh5zg3g0384_batterieleistung"
},
"stat_rate": "sensor.battery_hj3azdh5zg3g0384_batterieleistung"
},
{
"type": "battery",
"stat_energy_from": "sensor.battery_hj3azdh5zg3g0490_batterie_kumulierte_entladung",
"stat_energy_to": "sensor.battery_hj3azdh5zg3g0490_batterie_kumulierte_ladung",
"power_config": {
"stat_rate": "sensor.battery_hj3azdh5zg3g0490_batterieleistung"
},
"stat_rate": "sensor.battery_hj3azdh5zg3g0490_batterieleistung"
}
],
"device_consumption": [
{
"stat_consumption": "sensor.energy_log_used_energy_for_hot_water_over_the_past_hour_32294",
"name": "Heißwasser"
},
{
"stat_consumption": "sensor.energy_log_used_energy_for_heating_over_the_past_hour_32292",
"name": "Heizung"
},
{
"stat_consumption": "sensor.charger_ac31zeh4ag130052_ladeenergie_sitzung",
"stat_rate": "sensor.charger_ac31zeh4ag130052_ladebox_leistung",
"name": "Wallbox"
},
{
"stat_consumption": "sensor.wc_trockner_energy",
"name": "Trockner"
},
{
"stat_consumption": "sensor.wc_waschmaschine_energy",
"name": "Waschmaschine"
},
{
"stat_consumption": "sensor.badezimmer_handtuchheizung_device_energy",
"name": "Handtuchheizung"
},
{
"stat_consumption": "sensor.kuche_geschirrspuler_energy",
"name": "Geschirrspüler"
},
{
"stat_consumption": "sensor.kuche_kuhlschrank_energy",
"name": "Kühlschrank"
},
{
"stat_consumption": "sensor.technikraum_netzwerkschrank_energy",
"name": "Netzwerkschrank"
},
{
"stat_consumption": "sensor.whirlpool_energie",
"stat_rate": "sensor.whirlpool_leistung",
"name": "Whirlpool"
},
{
"stat_consumption": "sensor.all_standby_energy",
"stat_rate": "sensor.all_standby_power",
"name": "Standby"
}
],
"device_consumption_water": []
}
}
+13
View File
@@ -0,0 +1,13 @@
{
"version": 1,
"minor_version": 1,
"key": "frontend_panels",
"data": {
"climate": {
"show_in_sidebar": true
},
"light": {
"show_in_sidebar": true
}
}
}
File diff suppressed because it is too large Load Diff
+22
View File
@@ -0,0 +1,22 @@
{
"version": 1,
"minor_version": 1,
"key": "input_boolean",
"data": {
"items": [
{
"id": "buro_licht_helper",
"name": "Büro_Licht_Helper"
},
{
"id": "geschirrspuler_uber_nacht",
"icon": "mdi:dishwasher-alert",
"name": "Geschirrspüler über Nacht"
},
{
"id": "garderobe_helper",
"name": "Garderobe Helper"
}
]
}
}
+14
View File
@@ -0,0 +1,14 @@
{
"version": 1,
"minor_version": 1,
"key": "input_button",
"data": {
"items": [
{
"id": "nachtmodus",
"name": "Nachtmodus",
"icon": "mdi:weather-night"
}
]
}
}
+15
View File
@@ -0,0 +1,15 @@
{
"version": 1,
"minor_version": 1,
"key": "input_datetime",
"data": {
"items": [
{
"id": "grow_startdatum",
"name": "Grow Startdatum",
"has_date": true,
"has_time": false
}
]
}
}
+8
View File
@@ -0,0 +1,8 @@
{
"version": 1,
"minor_version": 2,
"key": "input_select",
"data": {
"items": []
}
}
+8
View File
@@ -0,0 +1,8 @@
{
"version": 1,
"minor_version": 1,
"key": "input_text",
"data": {
"items": []
}
}
+535
View File
@@ -0,0 +1,535 @@
{
"version": 1,
"minor_version": 1,
"key": "lovelace.dashboard_grow",
"data": {
"config": {
"views": [
{
"title": "Mission Control",
"type": "sections",
"max_columns": 2,
"badges": [
{
"type": "entity",
"entity": "sensor.spider_farmer_80f1b2b3b64a_temperature"
},
{
"type": "entity",
"entity": "sensor.spider_farmer_80f1b2b3b64a_humidity"
},
{
"type": "entity",
"entity": "sensor.spider_farmer_80f1b2b3b64a_vpd"
},
{
"type": "entity",
"entity": "sensor.grow_tent_power"
}
],
"sections": [
{
"type": "grid",
"cards": [
{
"type": "heading",
"heading": "Surveillance & Environment"
},
{
"type": "custom:advanced-camera-card",
"cameras": [
{
"camera_entity": "camera.tapo_c100_mainstream",
"live_provider": "ha"
}
],
"view": {
"default": "live"
},
"menu": {
"buttons": {
"frigate": {
"enabled": false
},
"timeline": {
"enabled": false
}
}
}
},
{
"type": "heading",
"heading": "Plant Health"
},
{
"type": "horizontal-stack",
"cards": [
{
"type": "custom:stack-in-card",
"cards": [
{
"type": "custom:mushroom-template-card",
"primary": "P1",
"secondary": "{{ '⚠️' if is_state('plant.grow_plant_1', 'problem') else '✅' }}",
"icon": "mdi:flower",
"icon_color": "{{ 'red' if is_state('plant.grow_plant_1', 'problem') else 'green' }}",
"layout": "vertical"
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.grow_plant_1_soil_moisture",
"icon": "mdi:water-percent"
},
{
"type": "entity",
"entity": "sensor.grow_plant_1_soil_fertility",
"icon": "mdi:sprout"
}
]
}
]
},
{
"type": "custom:stack-in-card",
"cards": [
{
"type": "custom:mushroom-template-card",
"primary": "P2",
"secondary": "{{ '⚠️' if is_state('plant.grow_plant_2', 'problem') else '✅' }}",
"icon": "mdi:flower",
"icon_color": "{{ 'red' if is_state('plant.grow_plant_2', 'problem') else 'green' }}",
"layout": "vertical"
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.grow_plant_2_soil_moisture",
"icon": "mdi:water-percent"
},
{
"type": "entity",
"entity": "sensor.grow_plant_2_soil_fertility",
"icon": "mdi:sprout"
}
]
}
]
},
{
"type": "custom:stack-in-card",
"cards": [
{
"type": "custom:mushroom-template-card",
"primary": "P3",
"secondary": "{{ '⚠️' if is_state('plant.grow_plant_3', 'problem') else '✅' }}",
"icon": "mdi:flower",
"icon_color": "{{ 'red' if is_state('plant.grow_plant_3', 'problem') else 'green' }}",
"layout": "vertical"
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.grow_plant_3_soil_moisture",
"icon": "mdi:water-percent"
},
{
"type": "entity",
"entity": "sensor.grow_plant_3_soil_fertility",
"icon": "mdi:sprout"
}
]
}
]
},
{
"type": "custom:stack-in-card",
"cards": [
{
"type": "custom:mushroom-template-card",
"primary": "P4",
"secondary": "{{ '⚠️' if is_state('plant.grow_plant_4', 'problem') else '✅' }}",
"icon": "mdi:flower",
"icon_color": "{{ 'red' if is_state('plant.grow_plant_4', 'problem') else 'green' }}",
"layout": "vertical"
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.grow_plant_4_soil_moisture",
"icon": "mdi:water-percent"
},
{
"type": "entity",
"entity": "sensor.grow_plant_4_soil_fertility",
"icon": "mdi:sprout"
}
]
}
]
},
{
"type": "custom:stack-in-card",
"cards": [
{
"type": "custom:mushroom-template-card",
"primary": "P5",
"secondary": "{{ '⚠️' if is_state('plant.grow_plant_5', 'problem') else '✅' }}",
"icon": "mdi:flower",
"icon_color": "{{ 'red' if is_state('plant.grow_plant_5', 'problem') else 'green' }}",
"layout": "vertical"
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.grow_plant_5_soil_moisture",
"icon": "mdi:water-percent"
},
{
"type": "entity",
"entity": "sensor.grow_plant_5_soil_fertility",
"icon": "mdi:sprout"
}
]
}
]
}
]
}
]
},
{
"type": "grid",
"cards": [
{
"type": "heading",
"heading": "Secondary Environment"
},
{
"type": "vertical-stack",
"cards": [
{
"type": "custom:apexcharts-card",
"graph_span": "48h",
"header": {
"show": true,
"title": "48h Klima-Vergleich (Geglättet)"
},
"yaxis": [
{
"id": "temp",
"min": 10,
"max": 35,
"apex_config": {
"tickAmount": 5
}
},
{
"id": "hum",
"opposite": true,
"min": 20,
"max": 100,
"apex_config": {
"tickAmount": 5
}
}
],
"series": [
{
"entity": "sensor.spider_farmer_80f1b2b3b64a_temperature",
"name": "Zelt Temp",
"yaxis_id": "temp",
"stroke_width": 3,
"color": "#00ff00",
"group_by": {
"func": "avg",
"duration": "10m"
}
},
{
"entity": "sensor.0x00158d0002c9fa8b_temperature",
"name": "Außen Temp (ZB)",
"yaxis_id": "temp",
"stroke_width": 2,
"color": "darkgreen",
"group_by": {
"func": "avg",
"duration": "10m"
}
},
{
"entity": "sensor.spider_farmer_80f1b2b3b64a_humidity",
"name": "Zelt Hum",
"yaxis_id": "hum",
"stroke_width": 3,
"color": "#00bfff",
"group_by": {
"func": "avg",
"duration": "10m"
}
},
{
"entity": "sensor.0x00158d0002c9fa8b_humidity",
"name": "Außen Hum (ZB)",
"yaxis_id": "hum",
"stroke_width": 2,
"color": "#1a4b6e",
"group_by": {
"func": "avg",
"duration": "10m"
}
}
],
"apex_config": {
"stroke": {
"curve": "smooth",
"dashArray": [
0,
5,
0,
5
]
},
"legend": {
"show": true
},
"grid": {
"borderColor": "#333",
"strokeDashArray": 4
}
}
},
{
"type": "custom:apexcharts-card",
"graph_span": "48h",
"header": {
"show": true,
"title": "48h VPD Verlauf (kPa)"
},
"yaxis": [
{
"id": "vpd",
"min": 0,
"max": 2.5,
"decimals": 2,
"apex_config": {
"tickAmount": 5
}
}
],
"series": [
{
"entity": "sensor.spider_farmer_80f1b2b3b64a_vpd",
"name": "Zelt VPD",
"yaxis_id": "vpd",
"stroke_width": 3,
"color": "#ff9800",
"group_by": {
"func": "avg",
"duration": "10m"
}
}
],
"apex_config": {
"stroke": {
"curve": "smooth"
},
"annotations": {
"yaxis": [
{
"y": 0.8,
"y2": 1.2,
"borderColor": "#00ff00",
"fillColor": "#00ff00",
"opacity": 0.1,
"label": {
"text": "Optimum Veg",
"style": {
"background": "#00ff00",
"color": "#000"
}
}
}
]
},
"legend": {
"show": true
},
"grid": {
"borderColor": "#333",
"strokeDashArray": 4
}
}
}
]
},
{
"type": "grid",
"columns": 2,
"square": false,
"cards": [
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.grow_env_sensor_1_temperature",
"name": "S1 Innen",
"icon_color": "orange"
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.0x00158d0002c9fa8b_temperature",
"name": "ZB Außen",
"icon_color": "blue"
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.grow_env_sensor_1_humidity",
"name": "S1 Feuchte",
"icon_color": "cyan"
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.0x00158d0002c9fa8b_humidity",
"name": "ZB Feuchte",
"icon_color": "light-blue"
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.grow_env_sensor_1_pressure",
"name": "Druck In"
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.0x00158d0002c9fa8b_pressure",
"name": "Druck Out"
}
]
}
]
},
{
"type": "grid",
"cards": [
{
"type": "heading",
"heading": "Equipment & Controls"
},
{
"type": "tile",
"entity": "binary_sensor.spider_farmer_80f1b2b3b64a_growth_plan_running",
"name": "Growth plan active",
"vertical": false,
"features_position": "bottom"
},
{
"type": "tile",
"entity": "sensor.spider_farmer_80f1b2b3b64a_growth_progress",
"name": "Growth plan progress",
"icon": "fa6-solid:percent",
"vertical": false,
"features_position": "bottom"
},
{
"type": "horizontal-stack",
"cards": [
{
"type": "custom:mushroom-light-card",
"entity": "light.spider_farmer_80f1b2b3b64a_primary_light",
"name": "Light",
"show_brightness_control": true,
"use_light_color": true
},
{
"type": "custom:mushroom-fan-card",
"entity": "fan.spider_farmer_80f1b2b3b64a_blower",
"name": "Blower",
"show_percentage_control": true
}
]
},
{
"type": "horizontal-stack",
"cards": [
{
"type": "custom:mushroom-fan-card",
"entity": "fan.spider_farmer_80f1b2b3b64a_fan",
"name": "Fan",
"tap_action": {
"action": "more-info"
}
},
{
"type": "custom:mushroom-entity-card",
"entity": "fan.spider_farmer_80f1b2b3b64a_heater",
"name": "Heater",
"icon": "mdi:fire"
}
]
},
{
"type": "glance",
"entities": [
{
"entity": "sensor.grow_tent_power",
"name": "Watt"
},
{
"entity": "sensor.grow_tent_current",
"name": "Ampere"
},
{
"entity": "sensor.grow_tent_voltage",
"name": "Volt"
},
{
"entity": "binary_sensor.grow_tent_consumer_connected",
"name": "Status"
}
]
}
]
},
{
"type": "grid",
"cards": [
{
"type": "heading",
"heading": "Grow Planer"
},
{
"type": "custom:mushroom-entity-card",
"entity": "input_datetime.grow_startdatum",
"name": "Startdatum",
"icon": "mdi:calendar-start"
},
{
"type": "custom:stack-in-card",
"cards": [
{
"type": "markdown",
"content": "{% set start_state = states('input_datetime.grow_startdatum') %} {% if start_state not in ['unknown', 'unavailable'] %}\n {% set start = as_timestamp(start_state) %}\n {% set heute = as_timestamp(now().strftime('%Y-%m-%d')) %}\n {% set tage = ((heute - start) / 86400) | int %}\n {% set start_dt = start_state | as_datetime %}\n ### Aktueller Tag: {{ tage }}\n | Phase | Zeitraum | Status |\n | :--- | :--- | :--- |\n | **Keimung** | bis {{ (start_dt + timedelta(days=5)).strftime('%d.%m.') }} | {{ '🟢 Aktiv' if tage <= 5 else '✅ OK' }} |\n | **Sämling** | bis {{ (start_dt + timedelta(days=19)).strftime('%d.%m.') }} | {{ '⏳' if tage < 6 else ('🟢 Aktiv' if tage <= 19 else '✅ OK') }} |\n | **Wachstum** | {{ (start_dt + timedelta(days=20)).strftime('%d.%m.') }} bis {{ (start_dt + timedelta(days=35)).strftime('%d.%m.') }} | {{ '⏳' if tage < 20 else ('🟢 Aktiv' if tage <= 35 else '✅ OK') }} |\n | **Blüte** | {{ (start_dt + timedelta(days=36)).strftime('%d.%m.') }} bis {{ (start_dt + timedelta(days=90)).strftime('%d.%m.') }} | {{ '⏳' if tage < 36 else ('🟢 Aktiv' if tage <= 90 else '✅ OK') }} |\n \n **Voraussichtliche Ernte: {{ (start_dt + timedelta(days=80)).strftime('%d.%m.%y') }}**\n ---\n **Sorten:** 2x Amnesia XXL, 2x Sticky Orange, 1x Purple Skunk\n{% endif %}\n"
}
]
}
]
}
]
}
]
}
}
}
File diff suppressed because it is too large Load Diff
+498
View File
@@ -0,0 +1,498 @@
{
"version": 1,
"minor_version": 1,
"key": "lovelace.dashboard_spa",
"data": {
"config": {
"views": [
{
"title": "Whirlpool",
"type": "sections",
"max_columns": 2,
"path": "whirlpool",
"icon": "mdi:hot-tub",
"sections": [
{
"type": "grid",
"cards": [
{
"type": "heading",
"heading": "Status & Steuerung"
},
{
"type": "custom:mushroom-template-card",
"primary": "{% set ph = states('sensor.whirlpool_ph') | float(0) %} {% set orp = states('sensor.whirlpool_oxydo_reduktionspotenzial') | float(0) %} {% set online = is_state('binary_sensor.isonline_2', 'on') %} {% if not online %} Offline ⚠️ {% elif ph >= 7.0 and ph <= 7.6 and orp >= 650 %} Badespaß bereit! 🛁 {% else %} Wasser prüfen! ⚠️ {% endif %}",
"secondary": "{% set temp = states('sensor.spa_current_temperature') | float | round(1) %} {% set ziel = states('sensor.spa_desired_temperature') | float | round(1) %} {% set rate = states('sensor.whirlpool_heizrate') | float(0) | round(2) %} {{ temp }}°C → Ziel {{ ziel }}°C {%- if rate > 0 %} ↑ {{ rate }} °C/min {%- elif rate < 0 %} ↓ {{ rate | abs }} °C/min {%- endif %}",
"icon": "mdi:hot-tub",
"icon_color": "{% set ph = states('sensor.whirlpool_ph') | float(0) %} {% set orp = states('sensor.whirlpool_oxydo_reduktionspotenzial') | float(0) %} {% if not is_state('binary_sensor.isonline_2', 'on') %} grey {% elif ph >= 7.0 and ph <= 7.6 and orp >= 650 %} green {% elif (ph < 6.8 or ph > 7.9) or orp < 550 %} red {% else %} orange {% endif %}",
"vertical": true,
"grid_options": {
"columns": 12,
"rows": 2
}
},
{
"type": "custom:mushroom-chips-card",
"chips": [
{
"type": "template",
"icon": "mdi:ph",
"content": "{{ states(\"sensor.whirlpool_ph\") | float | round(1) }}",
"icon_color": "blue"
},
{
"type": "template",
"icon": "mdi:water-percent",
"content": "{{ states(\"sensor.whirlpool_oxydo_reduktionspotenzial\") | int }} mV",
"icon_color": "purple"
},
{
"type": "template",
"icon": "mdi:flash",
"content": "{{ states(\"sensor.whirlpool_leistung\") | int(0) }} W",
"icon_color": "amber"
},
{
"type": "entity",
"entity": "binary_sensor.isonline_2",
"icon": "mdi:wifi"
}
],
"alignment": "center"
},
{
"type": "custom:mushroom-climate-card",
"entity": "climate.spa_thermostat",
"name": "Temperatur einstellen",
"show_temperature_control": true,
"layout": "horizontal"
},
{
"type": "horizontal-stack",
"cards": [
{
"type": "custom:mushroom-entity-card",
"entity": "switch.whirlpool",
"name": "Strom",
"icon": "mdi:power"
},
{
"type": "custom:mushroom-entity-card",
"entity": "switch.spa_pump",
"name": "Düsen",
"icon": "mdi:pump"
},
{
"type": "custom:mushroom-entity-card",
"entity": "switch.spa_light",
"name": "Licht",
"icon": "mdi:lightbulb-on"
}
]
},
{
"type": "horizontal-stack",
"cards": [
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.spa_filter_1",
"name": "Filter 1"
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.spa_ozone",
"name": "UVC/Ozon"
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.spa_circulation_pump",
"name": "Zirkulation"
}
]
},
{
"type": "horizontal-stack",
"cards": [
{
"type": "custom:mushroom-select-card",
"entity": "select.spa_heater_mode",
"name": "Heizmodus",
"icon": "mdi:fire"
},
{
"type": "custom:mushroom-select-card",
"entity": "select.spa_temperature_range",
"name": "Temp.-Bereich",
"icon": "mdi:thermometer-lines"
}
]
},
{
"type": "custom:mushroom-template-card",
"primary": "{% set alerts = states('sensor.spa_total_alerts') | int(0) %} {% if alerts == 0 %} Keine Störungen {% else %} {{ alerts }} Warnung(en) aktiv {% endif %}",
"secondary": "{{ states(\"sensor.spa_fault_message\") }}",
"icon": "{% if states('sensor.spa_total_alerts') | int(0) > 0 %} mdi:alert-circle {% else %} mdi:check-circle {% endif %}",
"icon_color": "{% if states('sensor.spa_total_alerts') | int(0) > 0 %} red {% else %} green {% endif %}",
"fill_container": true,
"grid_options": {
"columns": 12,
"rows": 1
}
},
{
"type": "heading",
"heading": "Ambiente"
},
{
"type": "custom:mushroom-light-card",
"entity": "light.ruheplatz_lichterkette",
"name": "Lichterkette",
"show_brightness_control": true,
"use_light_color": true
},
{
"type": "custom:mushroom-light-card",
"entity": "light.ruheplatz_wegbeleuchtung",
"name": "Wegbeleuchtung",
"show_brightness_control": true,
"use_light_color": true
}
]
},
{
"type": "grid",
"cards": [
{
"type": "heading",
"heading": "Wasseranalyse (24h)"
},
{
"type": "custom:apexcharts-card",
"graph_span": "24h",
"header": {
"show": true,
"show_states": true,
"colorize_states": true
},
"yaxis": [
{
"id": "ph",
"min": 6.5,
"max": 8,
"decimals": 1,
"apex_config": {
"tickAmount": 3
}
},
{
"id": "orp",
"min": 400,
"max": 900,
"opposite": true,
"decimals": 0
}
],
"series": [
{
"entity": "sensor.whirlpool_ph",
"name": "pH",
"yaxis_id": "ph",
"color": "#2196f3",
"stroke_width": 3
},
{
"entity": "sensor.whirlpool_oxydo_reduktionspotenzial",
"name": "ORP",
"yaxis_id": "orp",
"color": "#9c27b0",
"stroke_width": 3
}
],
"apex_config": {
"annotations": {
"position": "back",
"yaxis": [
{
"y": 7,
"y2": 7.6,
"y_axis_id": "ph",
"fillColor": "#4CAF50",
"opacity": 0.15,
"label": {
"text": "IDEAL"
}
}
]
}
}
},
{
"type": "custom:apexcharts-card",
"graph_span": "24h",
"header": {
"show": true,
"title": "Temperaturverlauf",
"show_states": true,
"colorize_states": true
},
"series": [
{
"entity": "sensor.spa_current_temperature",
"name": "Ist",
"color": "#f44336",
"stroke_width": 3
},
{
"entity": "sensor.spa_desired_temperature",
"name": "Soll",
"color": "#ff9800",
"stroke_width": 2,
"curve": "stepline"
}
]
},
{
"type": "custom:apexcharts-card",
"graph_span": "24h",
"header": {
"show": true,
"title": "Verbrauch (W)",
"show_states": true,
"colorize_states": true
},
"series": [
{
"entity": "sensor.whirlpool_leistung",
"name": "Gesamtleistung",
"color": "#FF5722",
"stroke_width": 2,
"type": "area"
}
]
},
{
"type": "heading",
"heading": "Energieverbrauch"
},
{
"type": "horizontal-stack",
"cards": [
{
"type": "custom:mushroom-template-card",
"primary": "{{ states('sensor.spa_heater_energy') | float | round(2) }} kWh",
"secondary": "Heizung",
"icon": "mdi:fire",
"icon_color": "red"
},
{
"type": "custom:mushroom-template-card",
"primary": "{{ states('sensor.spa_pump_energy') | float | round(2) }} kWh",
"secondary": "Düsen",
"icon": "mdi:pump",
"icon_color": "blue"
},
{
"type": "custom:mushroom-template-card",
"primary": "{{ states('sensor.spa_circulation_pump_energy') | float | round(2) }} kWh",
"secondary": "Zirkulation",
"icon": "mdi:water-sync",
"icon_color": "cyan"
}
]
},
{
"type": "heading",
"heading": "Ondilo ICO Sensor"
},
{
"type": "horizontal-stack",
"cards": [
{
"type": "custom:mushroom-template-card",
"primary": "{{ states(\"sensor.whirlpool_batterie\") }} %",
"secondary": "Sensor Akku",
"icon": "mdi:battery-bluetooth",
"icon_color": "{% set b = states('sensor.whirlpool_batterie') | int(100) %} {% if b < 20 %} red {% elif b < 50 %} orange {% else %} green {% endif %}"
},
{
"type": "custom:mushroom-template-card",
"primary": "{{ states(\"sensor.whirlpool_rssi\") }} dBm",
"secondary": "Signal",
"icon": "mdi:wifi",
"icon_color": "{% set r = states('sensor.whirlpool_rssi') | int(-100) %} {% if r < -80 %} red {% elif r < -60 %} orange {% else %} green {% endif %}"
}
]
}
]
},
{
"type": "grid",
"cards": [
{
"type": "heading",
"heading": "Pflege-Protokoll"
},
{
"type": "custom:mushroom-template-card",
"primary": "{% set last = states('input_datetime.whirlpool_letzte_wasserpflege') %} {% if last == 'unknown' or last == '' %}\n Noch kein Datum gesetzt\n{% else %}\n {% set days = ((now().date() - strptime(last[:10], '%Y-%m-%d').date()).days) %}\n Letzte Pflege: vor {{ days }} Tag{{ 'en' if days != 1 else '' }}\n{% endif %}",
"secondary": "{% set last = states('input_datetime.whirlpool_letzte_wasserpflege') %} {% set ph = states('sensor.whirlpool_ph') | float(7.2) %} {% set orp = states('sensor.whirlpool_oxydo_reduktionspotenzial') | float(700) %} {% if last != 'unknown' and last != '' %}\n {% set days = ((now().date() - strptime(last[:10], '%Y-%m-%d').date()).days) %}\n {% if days >= 10 %} ⚠️ Pflege überfällig!\n {% elif days >= 7 %} Pflegerunde empfohlen\n {% else %} Nächste Pflege in {{ 7 - days }} Tagen\n {% endif %}\n{% else %}\n pH + Brom + Wasserrein einmal wöchentlich\n{% endif %} {%- set ph_ok = ph >= 7.0 and ph <= 7.6 %} {%- set orp_ok = orp >= 650 and orp <= 750 %} {{ ' | pH: ✓' if ph_ok else ' | pH: ⚠️ ' ~ ph | round(1) }} {{ ' | ORP: ✓' if orp_ok else ' | ORP: ⚠️ ' ~ orp | round(0) ~ ' mV' }}",
"icon": "mdi:water-check",
"icon_color": "{% set last = states('input_datetime.whirlpool_letzte_wasserpflege') %} {% set ph = states('sensor.whirlpool_ph') | float(7.2) %} {% set orp = states('sensor.whirlpool_oxydo_reduktionspotenzial') | float(700) %} {% if last == 'unknown' or last == '' %} grey {% elif ph < 6.8 or ph > 7.9 or orp < 550 %} red {% else %}\n {% set days = ((now().date() - strptime(last[:10], '%Y-%m-%d').date()).days) %}\n {% if days >= 10 %} red\n {% elif days >= 7 %} orange\n {% else %} green {% endif %}\n{% endif %}",
"fill_container": true,
"grid_options": {
"columns": 12,
"rows": 2
}
},
{
"type": "custom:mushroom-entity-card",
"entity": "input_datetime.whirlpool_letzte_wasserpflege",
"name": "Wasserpflege Datum setzen",
"icon": "mdi:calendar-edit"
},
{
"type": "custom:mushroom-template-card",
"primary": "{% set last = states('input_datetime.whirlpool_letzter_kartuschenwechsel') %} {% if last == 'unknown' or last == '' %}\n Noch kein Datum gesetzt\n{% else %}\n {% set days = ((now().date() - strptime(last[:10], '%Y-%m-%d').date()).days) %}\n Letzter Kartuschenwechsel: vor {{ days }} Tag{{ 'en' if days != 1 else '' }}\n{% endif %}",
"secondary": "{% set last = states('input_datetime.whirlpool_letzter_kartuschenwechsel') %} {% set intervall = 60 %} {% if last != 'unknown' and last != '' %}\n {% set days = ((now().date() - strptime(last[:10], '%Y-%m-%d').date()).days) %}\n {% set rest = intervall - days %}\n {% if rest <= 0 %} ⚠️ Kartusche wechseln! ({{ days }} Tage alt)\n {% elif rest <= 14 %} Wechsel in {{ rest }} Tagen empfohlen\n {% else %} Nächster Wechsel in {{ rest }} Tagen (alle 2 Monate)\n {% endif %}\n{% else %}\n Empfehlung: alle 60 Tage bei 12× Nutzung/Woche\n{% endif %}",
"icon": "mdi:air-filter",
"icon_color": "{% set last = states('input_datetime.whirlpool_letzter_kartuschenwechsel') %} {% if last == 'unknown' or last == '' %} grey {% else %}\n {% set days = ((now().date() - strptime(last[:10], '%Y-%m-%d').date()).days) %}\n {% if days >= 60 %} red\n {% elif days >= 46 %} orange\n {% else %} green {% endif %}\n{% endif %}",
"fill_container": true,
"grid_options": {
"columns": 12,
"rows": 1
}
},
{
"type": "custom:mushroom-entity-card",
"entity": "input_datetime.whirlpool_letzter_kartuschenwechsel",
"name": "Kartuschenwechsel Datum setzen",
"icon": "mdi:calendar-edit"
},
{
"type": "custom:mushroom-template-card",
"primary": "{% set last = states('input_datetime.whirlpool_letzter_wasserwechsel') %} {% if last == 'unknown' or last == '' %}\n Noch kein Datum gesetzt\n{% else %}\n {% set days = ((now().date() - strptime(last[:10], '%Y-%m-%d').date()).days) %}\n Letzter Wasserwechsel: vor {{ days }} Tag{{ 'en' if days != 1 else '' }}\n{% endif %}",
"secondary": "{% set last = states('input_datetime.whirlpool_letzter_wasserwechsel') %} {% set intervall = 120 %} {% if last != 'unknown' and last != '' %}\n {% set days = ((now().date() - strptime(last[:10], '%Y-%m-%d').date()).days) %}\n {% set rest = intervall - days %}\n {% if rest <= 0 %} ⚠️ Wasserwechsel überfällig! ({{ days }} Tage alt)\n {% elif rest <= 21 %} Wasserwechsel in {{ rest }} Tagen planen\n {% else %} Nächster Wechsel in {{ rest }} Tagen (alle 4 Monate)\n {% endif %}\n{% else %}\n Empfehlung: alle 4 Monate bei 12× Nutzung/Woche\n{% endif %}",
"icon": "mdi:water-sync",
"icon_color": "{% set last = states('input_datetime.whirlpool_letzter_wasserwechsel') %} {% if last == 'unknown' or last == '' %} grey {% else %}\n {% set days = ((now().date() - strptime(last[:10], '%Y-%m-%d').date()).days) %}\n {% if days >= 120 %} red\n {% elif days >= 99 %} orange\n {% else %} green {% endif %}\n{% endif %}",
"fill_container": true,
"grid_options": {
"columns": 12,
"rows": 1
}
},
{
"type": "custom:mushroom-entity-card",
"entity": "input_datetime.whirlpool_letzter_wasserwechsel",
"name": "Wasserwechsel Datum setzen",
"icon": "mdi:calendar-edit"
},
{
"type": "heading",
"heading": "Dosierungsempfehlung"
},
{
"type": "custom:mushroom-template-card",
"primary": "Dosierung diese Woche",
"secondary": "{% set ph = states('sensor.whirlpool_ph') | float(7.2) %} {% set orp = states('sensor.whirlpool_oxydo_reduktionspotenzial') | float(700) %}\n🧪 pH ({{ ph | round(1) }}): {% if ph >= 7.0 and ph <= 7.6 %} Optimal nichts nötig. {% elif ph > 7.6 %}\n pH-Minus: ca. {{ (((ph - 7.6) / 0.1) * 10 / 1.1) | round(0) | int }} g zugeben.\n{% else %}\n pH-Plus: ca. {{ (((7.0 - ph) / 0.1) * 10) | round(0) | int }} g zugeben.\n{% endif %} Warte 4h, dann nachmessen. |\n💊 Brom ({{ orp | round(0) }} mV): {% if orp >= 650 and orp <= 750 %} Optimal nichts nötig. {% elif orp > 750 %} Zu hoch keine Tabletten, Deckel öffnen. {% elif orp < 600 %} 34 Tabletten in Dosierschwimmer. {% else %} 12 Tabletten nachlegen. {% endif %} |\n🫧 Wasserrein (Bayrol): 10 ml auf 1.500 l wöchentlich zugeben, Pumpe dabei 30 min laufen lassen.",
"icon": "mdi:flask-outline",
"icon_color": "{% set ph = states('sensor.whirlpool_ph') | float(7.2) %} {% set orp = states('sensor.whirlpool_oxydo_reduktionspotenzial') | float(700) %} {% if ph < 6.8 or ph > 7.9 or orp < 550 %} red {% elif (ph < 7.0 or ph > 7.6) or (orp < 650 or orp > 750) %} orange {% else %} green {% endif %}",
"fill_container": true,
"grid_options": {
"columns": 12,
"rows": 4
}
},
{
"type": "custom:mushroom-template-card",
"primary": "Nach Wasserwechsel Erstbefüllung",
"secondary": "① 30 g Aktivsauerstoff (Bayrol Soft & Easy) direkt zugeben | ② Pumpe 1h laufen lassen | ③ pH messen & korrigieren (Ziel 7,07,6) | ④ Brom-Tabletten in Dosierschwimmer legen | ⑤ Nach 24h nochmals alle Werte prüfen",
"icon": "mdi:flask",
"icon_color": "blue",
"fill_container": true,
"grid_options": {
"columns": 12,
"rows": 3
}
},
{
"type": "custom:mushroom-template-card",
"primary": "Wöchentliche Pflege-Checkliste",
"secondary": "① pH messen & ggf. korrigieren (Ziel 7,07,6) | ② Brom-Tabletten im Dosierschwimmer prüfen & ggf. nachlegen | ③ 10 ml Wasserrein (Bayrol) zugeben | ④ Pumpe mind. 30 min laufen lassen | ⑤ Filtration läuft? (mind. 46h/Tag) | ⑥ Abdeckung nach Nutzung schließen",
"icon": "mdi:clipboard-check-outline",
"icon_color": "teal",
"fill_container": true,
"grid_options": {
"columns": 12,
"rows": 3
}
}
]
},
{
"type": "grid",
"cards": [
{
"type": "heading",
"heading": "Filterprogramme"
},
{
"type": "horizontal-stack",
"cards": [
{
"type": "custom:mushroom-select-card",
"entity": "select.spa_filter_time_1",
"name": "Filterzeit 1",
"icon": "mdi:clock-start"
},
{
"type": "custom:mushroom-select-card",
"entity": "select.spa_filter_duration_1",
"name": "Dauer 1",
"icon": "mdi:timer"
}
]
},
{
"type": "horizontal-stack",
"cards": [
{
"type": "custom:mushroom-select-card",
"entity": "select.spa_filter_time_2",
"name": "Filterzeit 2",
"icon": "mdi:clock-start"
},
{
"type": "custom:mushroom-select-card",
"entity": "select.spa_filter_duration_2",
"name": "Dauer 2",
"icon": "mdi:timer"
}
]
},
{
"type": "custom:mushroom-entity-card",
"entity": "switch.whirlpool_filterzyklus_2_aktivieren",
"name": "Filterzyklus 2 aktiv",
"icon": "mdi:filter-check"
},
{
"type": "heading",
"heading": "Zeitpläne & Automatik"
},
{
"type": "custom:scheduler-card",
"include": [
"climate.spa_thermostat",
"switch.spa_pump",
"switch.whirlpool"
],
"title": "Whirlpool Automatik"
}
]
}
]
}
]
}
}
}
File diff suppressed because one or more lines are too long
+12
View File
@@ -0,0 +1,12 @@
{
"version": 1,
"minor_version": 1,
"key": "lovelace.map",
"data": {
"config": {
"strategy": {
"type": "map"
}
}
}
}
+54
View File
@@ -0,0 +1,54 @@
{
"version": 1,
"minor_version": 1,
"key": "lovelace_dashboards",
"data": {
"items": [
{
"id": "map",
"icon": "mdi:map",
"title": "Karte",
"url_path": "map",
"require_admin": false,
"mode": "storage",
"show_in_sidebar": true
},
{
"id": "dashboard_haustechnik",
"show_in_sidebar": true,
"title": "Technik",
"require_admin": false,
"mode": "storage",
"url_path": "dashboard-haustechnik",
"icon": "mdi:wrench"
},
{
"id": "lovelace",
"icon": "mdi:view-dashboard",
"title": "Übersicht",
"url_path": "lovelace",
"mode": "storage",
"require_admin": false,
"show_in_sidebar": true
},
{
"id": "dashboard_grow",
"show_in_sidebar": true,
"icon": "mdi:cannabis",
"title": "Grow",
"require_admin": false,
"mode": "storage",
"url_path": "dashboard-grow"
},
{
"id": "dashboard_spa",
"show_in_sidebar": true,
"icon": "mdi:spa",
"title": "Spa",
"require_admin": false,
"mode": "storage",
"url_path": "dashboard-spa"
}
]
}
}
+104
View File
@@ -0,0 +1,104 @@
{
"version": 1,
"minor_version": 1,
"key": "lovelace_resources",
"data": {
"items": [
{
"id": "ea21d63a2ca2461d919284d86bea62c4",
"url": "/hacsfiles/hass-hue-icons/hass-hue-icons.js?hacstag=3844345221253",
"type": "module"
},
{
"id": "860cd39e0b9b4a14a7a2287a38495c11",
"url": "/hacsfiles/apexcharts-card/apexcharts-card.js?hacstag=331701152223",
"type": "module"
},
{
"id": "a55e416394c2425a9c813642a219c087",
"url": "/hacsfiles/lovelace-auto-entities/auto-entities.js?hacstag=1677445841161",
"type": "module"
},
{
"id": "86772e61c8584e0081b0deefdf8bb03d",
"url": "/hacsfiles/numberbox-card/numberbox-card.js?hacstag=304967918417",
"type": "module"
},
{
"id": "06ff0cbb5d0c4affbdcf4ad1d64aacaa",
"url": "/hacsfiles/hassio-trash-card/trashcard.js?hacstag=678764124247",
"type": "module"
},
{
"id": "c0876f3fda434950bec3967dd6b0f4af",
"url": "/hacsfiles/vacuum-card/vacuum-card.js?hacstag=2612912952120",
"type": "module"
},
{
"id": "a9711994054740c08f780a15e066a954",
"url": "/webrtc/webrtc-camera.js?v=v3.6.0",
"type": "module"
},
{
"id": "2bc385f6fa2f496c9537c0507ac8ccc2",
"url": "/hacsfiles/lovelace-xiaomi-vacuum-map-card/xiaomi-vacuum-map-card.js?hacstag=193372044232",
"type": "module"
},
{
"id": "f51ee9a679e74256a344b5b924862570",
"url": "/hacsfiles/lovelace-mushroom/mushroom.js?hacstag=444350375511",
"type": "module"
},
{
"id": "c2d677a4e95a42189bb1af34bd44cc38",
"url": "/hacsfiles/spotify-card-v2/spotify-card-v2.js?hacstag=88521021411",
"type": "module"
},
{
"id": "508c6e86a63e4d16acbf8e4e7aaaa10a",
"url": "/hacsfiles/mini-media-player/mini-media-player-bundle.js?hacstag=14852083811611",
"type": "module"
},
{
"id": "11a657e713774a3191dd802c102c9fed",
"url": "/hacsfiles/clock-weather-card/clock-weather-card.js?hacstag=522634019293",
"type": "module"
},
{
"id": "84f219107ed14b9d8618e9ce083c3e91",
"url": "/hacsfiles/power-flow-card-plus/power-flow-card-plus.js?hacstag=618081815037",
"type": "module"
},
{
"id": "6621533b33ce4101a1367464c999de79",
"url": "/hacsfiles/scheduler-card/scheduler-card.js?hacstag=2862701574017",
"type": "module"
},
{
"id": "993a69f87387426cb5712bbe8382555e",
"url": "/hacsfiles/Bubble-Card/bubble-card.js?hacstag=680112919316",
"type": "module"
},
{
"id": "385152627dee4e749c262ce7af48e242",
"url": "/hacsfiles/lovelace-fold-entity-row/fold-entity-row.js?hacstag=150781994232",
"type": "module"
},
{
"id": "78d6832cd0df4534ac0476ddeb07ede2",
"url": "/hacsfiles/stack-in-card/stack-in-card.js?hacstag=248954055020",
"type": "module"
},
{
"id": "1a3f9968eb924fff990c9401c686ca83",
"url": "/hacsfiles/advanced-camera-card/advanced-camera-card.js?hacstag=3940825527274",
"type": "module"
},
{
"id": "c5057a3229b04e639c8a6bafcd8b9d7e",
"url": "/hacsfiles/mass-player-card/mass-player-card.js?hacstag=1043277514260",
"type": "module"
}
]
}
}
+8
View File
@@ -0,0 +1,8 @@
{
"version": 1,
"minor_version": 1,
"key": "map",
"data": {
"migrated": true
}
}
+21
View File
@@ -0,0 +1,21 @@
{
"version": 2,
"minor_version": 1,
"key": "powercalc_group",
"data": {
"sensor.whirlpool_gesamtenergie_energy": {
"sensor.spa_circulation_pump_energy": {"entity_id":"sensor.spa_circulation_pump_energy","state":"483.754","attributes":{"state_class":"total_increasing","last_update_time":"2026-04-27T13:09:03.212088","last_pump_state":"HIGH","unit_of_measurement":"kWh","device_class":"energy","icon":"mdi:lightning-bolt-circle","friendly_name":"Whirlpool Umwälzpumpe Energieverbrauch"},"last_changed":"2026-04-27T11:09:03.212113+00:00","last_reported":"2026-04-27T11:09:03.212113+00:00","last_updated":"2026-04-27T11:09:03.212113+00:00","context":{"id":"01KQ7A1RBCVAABXZ6N81GAJ2KH","parent_id":null,"user_id":null}},
"sensor.spa_heater_energy": {"entity_id":"sensor.spa_heater_energy","state":"1584.904","attributes":{"state_class":"total_increasing","last_update_time":"2026-04-27T13:09:03.211779","last_heater_state":"OFF","unit_of_measurement":"kWh","device_class":"energy","icon":"mdi:lightning-bolt-circle","friendly_name":"Whirlpool Heater energy consumption"},"last_changed":"2026-04-27T11:00:02.830914+00:00","last_reported":"2026-04-27T11:09:03.211827+00:00","last_updated":"2026-04-27T11:09:03.211827+00:00","context":{"id":"01KQ7A1RBB3TWY00Z55TM1Y9N7","parent_id":null,"user_id":null}},
"sensor.spa_pump_energy": {"entity_id":"sensor.spa_pump_energy","state":"14.837","attributes":{"state_class":"total_increasing","last_update_time":"2026-04-27T13:09:03.211995","last_pump_state":"OFF","unit_of_measurement":"kWh","device_class":"energy","icon":"mdi:lightning-bolt-circle","friendly_name":"Whirlpool Pumpenenergieverbrauch"},"last_changed":"2026-04-27T09:23:03.104558+00:00","last_reported":"2026-04-27T11:09:03.212024+00:00","last_updated":"2026-04-27T11:09:03.212024+00:00","context":{"id":"01KQ7A1RBCEJ4CSGN95A1STRSW","parent_id":null,"user_id":null}}
},
"sensor.whirlpool_gesamtenergie": {
"sensor.spa_circulation_pump_energy": {"entity_id":"sensor.spa_circulation_pump_energy","state":"492.776","attributes":{"state_class":"total_increasing","last_update_time":"2026-04-30T13:03:25.823471","last_pump_state":"HIGH","unit_of_measurement":"kWh","device_class":"energy","icon":"mdi:lightning-bolt-circle","friendly_name":"Whirlpool Umwälzpumpe Energieverbrauch"},"last_changed":"2026-04-30T11:03:25.823496+00:00","last_reported":"2026-04-30T11:03:25.823496+00:00","last_updated":"2026-04-30T11:03:25.823496+00:00","context":{"id":"01KQF0XKVZ9GX58KQ04DFAS0BX","parent_id":null,"user_id":null}},
"sensor.spa_heater_energy": {"entity_id":"sensor.spa_heater_energy","state":"1608.081","attributes":{"state_class":"total_increasing","last_update_time":"2026-04-30T13:03:25.823225","last_heater_state":"OFF","unit_of_measurement":"kWh","device_class":"energy","icon":"mdi:lightning-bolt-circle","friendly_name":"Whirlpool Heater energy consumption"},"last_changed":"2026-04-30T11:00:06.409674+00:00","last_reported":"2026-04-30T11:03:25.823259+00:00","last_updated":"2026-04-30T11:03:25.823259+00:00","context":{"id":"01KQF0XKVZ8B1XC1VXH3TP8AB1","parent_id":null,"user_id":null}},
"sensor.spa_pump_energy": {"entity_id":"sensor.spa_pump_energy","state":"14.91","attributes":{"state_class":"total_increasing","last_update_time":"2026-04-30T13:03:25.823397","last_pump_state":"OFF","unit_of_measurement":"kWh","device_class":"energy","icon":"mdi:lightning-bolt-circle","friendly_name":"Whirlpool Pumpenenergieverbrauch"},"last_changed":"2026-04-30T10:19:25.584716+00:00","last_reported":"2026-04-30T11:03:25.823422+00:00","last_updated":"2026-04-30T11:03:25.823422+00:00","context":{"id":"01KQF0XKVZCFK29KV975QRCS1X","parent_id":null,"user_id":null}},
"sensor.charger_ac31zeh4ag130052_evchargingenergy": {"entity_id":"sensor.charger_ac31zeh4ag130052_evchargingenergy","state":"0.0","attributes":{"state_class":"total_increasing","product_description":"evChargingEnergy","product_serial":"AC31ZEH4AG130052","unit_of_measurement":"Wh","device_class":"energy","friendly_name":"Powerpulse evChargingEnergy"},"last_changed":"2026-04-30T10:19:24.150827+00:00","last_reported":"2026-04-30T10:20:24.141960+00:00","last_updated":"2026-04-30T10:19:24.150827+00:00","context":{"id":"01KQEYD03PMX73BPJ96F8B7EM4","parent_id":null,"user_id":null}},
"sensor.grow_tent_energy": {"entity_id":"sensor.grow_tent_energy","state":"59.38","attributes":{"state_class":"total_increasing","unit_of_measurement":"kWh","device_class":"energy","friendly_name":"Grow Tent Energie"},"last_changed":"2026-04-30T11:01:47.091434+00:00","last_reported":"2026-04-30T11:01:47.091434+00:00","last_updated":"2026-04-30T11:01:47.091434+00:00","context":{"id":"01KQF0TKEKET31BTMNA72TTVTX","parent_id":null,"user_id":null}},
"sensor.whirlpool_energie": {"entity_id":"sensor.whirlpool_energie","state":"2096.010077","attributes":{"state_class":"total_increasing","unit_of_measurement":"kWh","device_class":"energy","friendly_name":"Whirlpool Energie"},"last_changed":"2026-04-30T11:02:59.995617+00:00","last_reported":"2026-04-30T11:02:59.995617+00:00","last_updated":"2026-04-30T11:02:59.995617+00:00","context":{"id":"01KQF0WTMVJRRZ7R8RRKM3AVSC","parent_id":null,"user_id":null}},
"sensor.whirlpool_eingespeiste_energie": {"entity_id":"sensor.whirlpool_eingespeiste_energie","state":"0.0","attributes":{"state_class":"total_increasing","unit_of_measurement":"kWh","device_class":"energy","friendly_name":"Whirlpool Eingespeiste Energie"},"last_changed":"2026-04-30T10:58:42.003752+00:00","last_reported":"2026-04-30T10:58:42.003752+00:00","last_updated":"2026-04-30T10:58:42.003752+00:00","context":{"id":"01KQF0MYPK2K678MA5MYAENSW9","parent_id":null,"user_id":null}}
}
}
}
+56
View File
@@ -0,0 +1,56 @@
{
"version": 1,
"minor_version": 1,
"key": "schedule",
"data": {
"items": [
{
"id": "whirlpool_heizung",
"name": "Whirlpool Heizung",
"icon": "mdi:hot-tub",
"monday": [
{
"from": "09:00:00",
"to": "16:00:00"
}
],
"tuesday": [
{
"from": "09:00:00",
"to": "16:00:00"
}
],
"wednesday": [
{
"from": "09:00:00",
"to": "16:00:00"
}
],
"thursday": [
{
"from": "09:00:00",
"to": "16:00:00"
}
],
"friday": [
{
"from": "09:00:00",
"to": "22:00:00"
}
],
"saturday": [
{
"from": "09:00:00",
"to": "22:00:00"
}
],
"sunday": [
{
"from": "09:00:00",
"to": "16:00:00"
}
]
}
]
}
}
+91
View File
@@ -0,0 +1,91 @@
{
"version": 3,
"minor_version": 1,
"key": "scheduler.storage",
"data": {
"schedules": [
{
"schedule_id": "a54f12",
"timeslots": [
{
"start": "00:00:00",
"stop": "10:00:00",
"conditions": [],
"condition_type": null,
"track_conditions": false,
"actions": [
{
"service": "climate.set_temperature",
"entity_id": "climate.spa_thermostat",
"service_data": {
"hvac_mode": "heat",
"temperature": 20
}
}
]
},
{
"start": "10:00:00",
"stop": "13:00:00",
"conditions": [],
"condition_type": null,
"track_conditions": false,
"actions": [
{
"service": "climate.set_temperature",
"entity_id": "climate.spa_thermostat",
"service_data": {
"hvac_mode": "heat",
"temperature": 40
}
}
]
},
{
"start": "13:00:00",
"stop": "16:00:00",
"conditions": [],
"condition_type": null,
"track_conditions": false,
"actions": [
{
"service": "climate.set_temperature",
"entity_id": "climate.spa_thermostat",
"service_data": {
"temperature": 20,
"hvac_mode": "heat"
}
}
]
},
{
"start": "16:00:00",
"stop": "00:00:00",
"conditions": [],
"condition_type": null,
"track_conditions": false,
"actions": [
{
"service": "climate.set_temperature",
"entity_id": "climate.spa_thermostat",
"service_data": {
"hvac_mode": "heat",
"temperature": 20
}
}
]
}
],
"weekdays": [
"daily"
],
"start_date": null,
"end_date": null,
"repeat_type": "repeat",
"name": null,
"enabled": false
}
],
"tags": []
}
}
+15
View File
@@ -0,0 +1,15 @@
{
"version": 1,
"minor_version": 1,
"key": "timer",
"data": {
"items": [
{
"id": "timer_badezimmer_heizung",
"name": "timer_badezimmer_heizung",
"duration": "0:00:00",
"restore": false
}
]
}
}