missing files
This commit is contained in:
+134
-291
@@ -19,37 +19,25 @@
|
||||
"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) }}",
|
||||
"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",
|
||||
"content": "{{ states('sensor.whirlpool_oxydo_reduktionspotenzial') | int }} mV",
|
||||
"icon_color": "purple"
|
||||
},
|
||||
{
|
||||
"type": "template",
|
||||
"icon": "mdi:flash",
|
||||
"content": "{{ states(\"sensor.whirlpool_leistung\") | int(0) }} W",
|
||||
"content": "{{ states('sensor.whirlpool_leistung') | int(0) }} W",
|
||||
"icon_color": "amber"
|
||||
},
|
||||
{
|
||||
@@ -60,22 +48,32 @@
|
||||
],
|
||||
"alignment": "center"
|
||||
},
|
||||
{
|
||||
"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 >= 550 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-climate-card",
|
||||
"entity": "climate.spa_thermostat",
|
||||
"name": "Temperatur einstellen",
|
||||
"name": "Temperatur",
|
||||
"show_temperature_control": true,
|
||||
"fill_container": false,
|
||||
"tap_action": {
|
||||
"action": "more-info"
|
||||
},
|
||||
"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",
|
||||
@@ -111,33 +109,16 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"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": "heading",
|
||||
"heading": "Zeitpläne & Wartung"
|
||||
},
|
||||
{
|
||||
"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": "custom:scheduler-card",
|
||||
"include": [
|
||||
"climate.spa_thermostat",
|
||||
"switch.spa_pump"
|
||||
],
|
||||
"title": "Whirlpool Automatik"
|
||||
},
|
||||
{
|
||||
"type": "heading",
|
||||
@@ -147,15 +128,17 @@
|
||||
"type": "custom:mushroom-light-card",
|
||||
"entity": "light.ruheplatz_lichterkette",
|
||||
"name": "Lichterkette",
|
||||
"show_brightness_control": true,
|
||||
"use_light_color": true
|
||||
"show_brightness_control": true
|
||||
},
|
||||
{
|
||||
"type": "custom:mushroom-light-card",
|
||||
"entity": "light.ruheplatz_wegbeleuchtung",
|
||||
"name": "Wegbeleuchtung",
|
||||
"show_brightness_control": true,
|
||||
"use_light_color": true
|
||||
"show_brightness_control": true
|
||||
},
|
||||
{
|
||||
"type": "markdown",
|
||||
"content": "ICO Kalibrierung: 08.05.2026"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -164,7 +147,7 @@
|
||||
"cards": [
|
||||
{
|
||||
"type": "heading",
|
||||
"heading": "Wasseranalyse (24h)"
|
||||
"heading": "Wasseranalyse & Trends"
|
||||
},
|
||||
{
|
||||
"type": "custom:apexcharts-card",
|
||||
@@ -178,18 +161,23 @@
|
||||
{
|
||||
"id": "ph",
|
||||
"min": 6.5,
|
||||
"max": 8,
|
||||
"max": 8.5,
|
||||
"decimals": 1,
|
||||
"apex_config": {
|
||||
"tickAmount": 3
|
||||
}
|
||||
},
|
||||
"align_to": 1
|
||||
},
|
||||
{
|
||||
"id": "orp",
|
||||
"min": 400,
|
||||
"max": 900,
|
||||
"max": 700,
|
||||
"opposite": true,
|
||||
"decimals": 0
|
||||
"decimals": 0,
|
||||
"apex_config": {
|
||||
"tickAmount": 3
|
||||
},
|
||||
"align_to": 100
|
||||
}
|
||||
],
|
||||
"series": [
|
||||
@@ -197,147 +185,65 @@
|
||||
"entity": "sensor.whirlpool_ph",
|
||||
"name": "pH",
|
||||
"yaxis_id": "ph",
|
||||
"color": "#2196f3",
|
||||
"stroke_width": 3
|
||||
"color": "#2196f3"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.whirlpool_oxydo_reduktionspotenzial",
|
||||
"name": "ORP",
|
||||
"yaxis_id": "orp",
|
||||
"color": "#9c27b0",
|
||||
"stroke_width": 3
|
||||
"color": "#9c27b0"
|
||||
}
|
||||
],
|
||||
"apex_config": {
|
||||
"stroke": {
|
||||
"curve": "smooth"
|
||||
},
|
||||
"annotations": {
|
||||
"position": "back",
|
||||
"yaxis": [
|
||||
{
|
||||
"y": 7,
|
||||
"y2": 7.6,
|
||||
"y_axis_id": "ph",
|
||||
"fillColor": "#4CAF50",
|
||||
"opacity": 0.15,
|
||||
"borderColor": "#2196f3",
|
||||
"fillColor": "#2196f3",
|
||||
"opacity": 0.12,
|
||||
"label": {
|
||||
"text": "IDEAL"
|
||||
"text": "pH",
|
||||
"style": {
|
||||
"background": "#2196f3",
|
||||
"color": "#fff"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"y": 650,
|
||||
"y2": 550,
|
||||
"yAxisIndex": 1,
|
||||
"borderColor": "#9c27b0",
|
||||
"fillColor": "#9c27b0",
|
||||
"opacity": 0.12,
|
||||
"label": {
|
||||
"text": "ORP",
|
||||
"style": {
|
||||
"background": "#9c27b0",
|
||||
"color": "#fff"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"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' }}",
|
||||
"primary": "{% set last = states('input_datetime.whirlpool_letzte_wasserpflege') %} {% if last in ['unknown', ''] %} Datum setzen {% else %} Letzte Pflege: vor {{ ((now().date() - strptime(last[:10], '%Y-%m-%d').date()).days) }} Tagen {% endif %}",
|
||||
"secondary": "{% set ph = states('sensor.whirlpool_ph') | float(7.2) %} {% set orp = states('sensor.whirlpool_oxydo_reduktionspotenzial') | float(700) %} 🧪 pH: {{ '✓' if 7.0 <= ph <= 7.6 else '⚠️ ' ~ ph | round(1) }} 💊 Brom: {{ '✓' if orp < 650 and orp >= 550 else '⚠️ ' ~ 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 %}",
|
||||
"multiline_secondary": true,
|
||||
"icon_color": "{% set ph = states('sensor.whirlpool_ph') | float(7.2) %} {% if 7.0 <= ph <= 7.6 %} green {% else %} orange {% endif %}",
|
||||
"fill_container": true,
|
||||
"grid_options": {
|
||||
"columns": 12,
|
||||
@@ -345,152 +251,89 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"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 1–2× 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 1–2× 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": "horizontal-stack",
|
||||
"cards": [
|
||||
{
|
||||
"type": "custom:mushroom-entity-card",
|
||||
"entity": "input_datetime.whirlpool_letzte_wasserpflege",
|
||||
"name": "Pflege erledigt",
|
||||
"icon": "mdi:calendar-check"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "heading",
|
||||
"heading": "Dosierungsempfehlung"
|
||||
"heading": "Dosierung (1.000L)"
|
||||
},
|
||||
{
|
||||
"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 %} 3–4 Tabletten in Dosierschwimmer. {% else %} 1–2 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 %}",
|
||||
"primary": "Aktueller Dosiervorschlag",
|
||||
"secondary": "{% set ph = states('sensor.whirlpool_ph') | float(7.2) %} {% if ph > 7.6 %}\n 🧪 pH: {{ ((ph - 7.4) / 0.1 * 10) | round(0) }}g pH-Minus\n{% elif ph < 7.0 %}\n 🧪 pH: {{ ((7.2 - ph) / 0.1 * 10) | round(0) }}g pH-Plus\n{% else %}\n 🧪 pH: OK ✓\n{% endif %}\n💊 Brom: {{ '3-4 Tabs nachlegen' if states('sensor.whirlpool_oxydo_reduktionspotenzial')|float < 600 else 'OK ✓' }}",
|
||||
"icon": "mdi:flask-plus",
|
||||
"icon_color": "orange",
|
||||
"multiline_secondary": true,
|
||||
"fill_container": true,
|
||||
"grid_options": {
|
||||
"columns": 12,
|
||||
"rows": 4
|
||||
"rows": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"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,0–7,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,0–7,6) | ② Brom-Tabletten im Dosierschwimmer prüfen & ggf. nachlegen | ③ 10 ml Wasserrein (Bayrol) zugeben | ④ Pumpe mind. 30 min laufen lassen | ⑤ Filtration läuft? (mind. 4–6h/Tag) | ⑥ Abdeckung nach Nutzung schließen",
|
||||
"icon": "mdi:clipboard-check-outline",
|
||||
"primary": "Samstag Vormittag: Routine",
|
||||
"secondary": "① 1 Beutel Wasserrein (Granulat)\n② 10ml Kristall-Klar (Flüssig)\n③ Brom-Tabletten prüfen (3-4 Stk)\n④ TA-Wert prüfen (Alka-Plus?)\n",
|
||||
"icon": "mdi:calendar-star",
|
||||
"icon_color": "teal",
|
||||
"multiline_secondary": true,
|
||||
"fill_container": true,
|
||||
"grid_options": {
|
||||
"columns": 12,
|
||||
"rows": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "custom:mushroom-template-card",
|
||||
"primary": "Neu-Befüllung / Erstbefüllung",
|
||||
"secondary": "① 25ml Kalkex (Flüssig)\n② pH auf 7,2 einstellen\n③ 1 Beutel Wasserrein (Schock)\n④ 4 Brom-Tabletten (Schwimmer)\n",
|
||||
"icon": "mdi:waves",
|
||||
"icon_color": "blue",
|
||||
"multiline_secondary": true,
|
||||
"fill_container": true,
|
||||
"grid_options": {
|
||||
"columns": 12,
|
||||
"rows": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "horizontal-stack",
|
||||
"cards": [
|
||||
{
|
||||
"type": "custom:mushroom-entity-card",
|
||||
"entity": "input_datetime.whirlpool_letzter_kartuschenwechsel",
|
||||
"name": "Filterwechsel",
|
||||
"icon": "mdi:filter-cog"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "horizontal-stack",
|
||||
"cards": [
|
||||
{
|
||||
"type": "custom:mushroom-entity-card",
|
||||
"entity": "input_datetime.whirlpool_letzter_wasserwechsel",
|
||||
"name": "Wasserwechsel",
|
||||
"icon": "mdi:water-sync"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
"cards": []
|
||||
}
|
||||
]
|
||||
],
|
||||
"cards": []
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user