Files
home-assistant-config/.storage/lovelace.dashboard_haustechnik
2026-05-21 11:12:07 +02:00

2309 lines
97 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"version": 1,
"minor_version": 1,
"key": "lovelace.dashboard_haustechnik",
"data": {
"config": {
"views": [
{
"title": "PV & Speicher",
"path": "pv-speicher",
"icon": "mdi:solar-power",
"type": "sections",
"max_columns": 2,
"cards": [],
"badges": [
{
"type": "custom:mushroom-chips-card",
"chips": [
{
"type": "entity",
"entity": "sensor.powerocean_mpptpv_pwrtotal",
"icon": "mdi:solar-power",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.powerocean_bpsoc_2",
"icon": "mdi:battery",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.zuhause_strompreis",
"icon": "mdi:lightning-bolt",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.tibber_pulse_zuhause_kumulierte_kosten",
"icon": "mdi:currency-eur",
"show_state": true,
"show_icon": true
}
]
}
],
"sections": [
{
"type": "grid",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "⚡ Energiefluss"
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.powerocean_hj37zdh5zg5w0109_solarertrag_mppt",
"icon": "mdi:solar-power",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.powerocean_hj37zdh5zg5w0109_netzleistung_system",
"icon": "mdi:home-lightning-bolt",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.tibber_pulse_zuhause_leistung",
"icon": "mdi:transmission-tower",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.tibber_pulse_zuhause_einspeiseleistung",
"icon": "mdi:transmission-tower-export",
"show_state": true,
"show_icon": true
}
]
},
{
"type": "custom:apexcharts-card",
"header": {
"show": true,
"title": "Leistung 24 h",
"show_states": true,
"standard_format": true
},
"graph_span": "24h",
"series": [
{
"entity": "sensor.powerocean_hj37zdh5zg5w0109_solar_gesamtleistung",
"name": "Solar",
"color": "#f9a825"
},
{
"entity": "sensor.powerocean_hj37zdh5zg5w0109_hausverbrauch_berechnet",
"name": "Eigenverbrauch",
"color": "#e53935"
},
{
"entity": "sensor.tibber_pulse_zuhause_leistung",
"name": "Netzbezug",
"color": "#1e88e5"
},
{
"entity": "sensor.tibber_pulse_zuhause_einspeiseleistung",
"name": "Einspeisung",
"color": "#43a047"
}
]
}
]
},
{
"type": "grid",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "☀️ Prognose & Kosten"
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.energy_production_today_remaining",
"icon": "mdi:solar-power-variant",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.energy_production_tomorrow",
"icon": "mdi:weather-sunny",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.power_highest_peak_time_today",
"icon": "mdi:clock-fast",
"show_state": true,
"show_icon": true
}
]
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.tibber_pulse_zuhause_kumulierte_kosten",
"icon": "mdi:currency-eur",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.tibber_pulse_zuhause_kumulierter_verbrauch",
"icon": "mdi:home-lightning-bolt",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.tibber_pulse_zuhause_kumulierte_einspeisung",
"icon": "mdi:transmission-tower-export",
"show_state": true,
"show_icon": true
}
]
},
{
"type": "custom:apexcharts-card",
"update_interval": "5m",
"graph_span": "48h",
"span": {
"start": "day"
},
"experimental": {
"hidden_by_default": true
},
"header": {
"show": true,
"title": "Preisniveau",
"show_states": false
},
"now": {
"show": true,
"color": "#ffffff"
},
"all_series_config": {
"float_precision": 2
},
"apex_config": {
"chart": {
"animations": {
"enabled": false
},
"toolbar": {
"show": false
},
"zoom": {
"enabled": false
}
},
"stroke": {
"curve": "stepline",
"dashArray": [
0,
0,
0,
0,
0,
0,
0,
4
]
},
"fill": {
"type": "gradient",
"opacity": 0.45,
"gradient": {
"shade": "light",
"type": "vertical",
"shadeIntensity": 0.2,
"opacityFrom": [
0.5,
0.7,
0.7,
0.7,
0.7,
0.7,
0.7,
0
],
"opacityTo": 0.25,
"stops": [
50,
100
]
}
},
"dataLabels": {
"enabled": false
},
"legend": {
"show": true,
"position": "bottom",
"horizontalAlign": "center",
"markers": {
"size": 0
},
"itemMargin": {
"horizontal": 15
}
},
"grid": {
"show": true,
"borderColor": "rgba(144, 164, 174, 0.35)",
"strokeDashArray": 0,
"xaxis": {
"lines": {
"show": false
}
},
"yaxis": {
"lines": {
"show": true
}
}
},
"markers": {
"size": 0,
"hover": {
"size": 3
},
"showNullDataPoints": false
},
"tooltip": {
"enabled": true,
"shared": true,
"enabledOnSeries": [
2,
3,
4,
5,
6
],
"marker": {
"show": false
},
"x": {
"show": false
}
}
},
"yaxis": [
{
"id": "price",
"min": 0,
"max": 40,
"apex_config": {
"title": {
"text": "ct/kWh"
},
"decimalsInFloat": 0,
"forceNiceScale": true,
"showAlways": true,
"tickAmount": 4
}
},
{
"id": "highlight",
"min": 0,
"max": 1,
"show": false,
"opposite": true,
"apex_config": {
"forceNiceScale": true,
"tickAmount": 4
}
}
],
"series": [
{
"entity": "sun.sun",
"name": "▼ Bestpreis-Zeitraum",
"type": "area",
"color": "rgba(46, 204, 113, 0.05)",
"yaxis_id": "highlight",
"stroke_width": 0,
"show": {
"legend_value": false,
"in_header": false,
"in_legend": true
},
"data_generator": "const ed=new Date(); ed.setDate(ed.getDate()+3); ed.setHours(0,0,0,0); const es=ed.getFullYear()+'-'+String(ed.getMonth()+1).padStart(2,'0')+'-'+String(ed.getDate()).padStart(2,'0')+' 00:00:00'; const r=await hass.callWS({type:'call_service',domain:'tibber',service:'get_prices',return_response:true,service_data:{end:es}}); const a=r.response.prices.Zuhause.map(p=>({ts:new Date(p.start_time).getTime(),ct:Math.round(p.price*10000)/100})); const cts=a.map(p=>p.ct); const m=cts.reduce((x,y)=>x+y,0)/cts.length; const sd=Math.sqrt(cts.map(c=>(c-m)**2).reduce((x,y)=>x+y,0)/cts.length); const tC=m-0.5*sd; return a.map(p=>[p.ts,p.ct<tC?1:null]);"
},
{
"entity": "sun.sun",
"name": "▲ Spitzenpreis-Zeitraum",
"type": "area",
"color": "rgba(231, 76, 60, 0.06)",
"yaxis_id": "highlight",
"stroke_width": 0,
"show": {
"legend_value": false,
"in_header": false,
"in_legend": true,
"hidden_by_default": true
},
"data_generator": "const ed=new Date(); ed.setDate(ed.getDate()+3); ed.setHours(0,0,0,0); const es=ed.getFullYear()+'-'+String(ed.getMonth()+1).padStart(2,'0')+'-'+String(ed.getDate()).padStart(2,'0')+' 00:00:00'; const r=await hass.callWS({type:'call_service',domain:'tibber',service:'get_prices',return_response:true,service_data:{end:es}}); const a=r.response.prices.Zuhause.map(p=>({ts:new Date(p.start_time).getTime(),ct:Math.round(p.price*10000)/100})); const cts=a.map(p=>p.ct); const m=cts.reduce((x,y)=>x+y,0)/cts.length; const sd=Math.sqrt(cts.map(c=>(c-m)**2).reduce((x,y)=>x+y,0)/cts.length); const tE=m+0.5*sd; return a.map(p=>[p.ts,p.ct>=tE?1:null]);"
},
{
"entity": "sun.sun",
"name": "Sehr günstig",
"type": "area",
"color": "#2ecc71",
"yaxis_id": "price",
"stroke_width": 1.5,
"show": {
"legend_value": false,
"in_header": false,
"in_legend": false
},
"data_generator": "const ed=new Date(); ed.setDate(ed.getDate()+3); ed.setHours(0,0,0,0); const es=ed.getFullYear()+'-'+String(ed.getMonth()+1).padStart(2,'0')+'-'+String(ed.getDate()).padStart(2,'0')+' 00:00:00'; const r=await hass.callWS({type:'call_service',domain:'tibber',service:'get_prices',return_response:true,service_data:{end:es}}); const a=r.response.prices.Zuhause.map(p=>({ts:new Date(p.start_time).getTime(),ct:Math.round(p.price*10000)/100})); const cts=a.map(p=>p.ct); const m=cts.reduce((x,y)=>x+y,0)/cts.length; const sd=Math.sqrt(cts.map(c=>(c-m)**2).reduce((x,y)=>x+y,0)/cts.length); const tVC=m-1.5*sd; return a.map((p,i)=>{\n const here=p.ct<tVC;\n const prev=i>0&&a[i-1].ct<tVC;\n const next=i<a.length-1&&a[i+1].ct<tVC;\n return [p.ts,(here||prev||next)?p.ct:null];\n});"
},
{
"entity": "sun.sun",
"name": "Günstig",
"type": "area",
"color": "#27ae60",
"yaxis_id": "price",
"stroke_width": 1.5,
"show": {
"legend_value": false,
"in_header": false,
"in_legend": false
},
"data_generator": "const ed=new Date(); ed.setDate(ed.getDate()+3); ed.setHours(0,0,0,0); const es=ed.getFullYear()+'-'+String(ed.getMonth()+1).padStart(2,'0')+'-'+String(ed.getDate()).padStart(2,'0')+' 00:00:00'; const r=await hass.callWS({type:'call_service',domain:'tibber',service:'get_prices',return_response:true,service_data:{end:es}}); const a=r.response.prices.Zuhause.map(p=>({ts:new Date(p.start_time).getTime(),ct:Math.round(p.price*10000)/100})); const cts=a.map(p=>p.ct); const m=cts.reduce((x,y)=>x+y,0)/cts.length; const sd=Math.sqrt(cts.map(c=>(c-m)**2).reduce((x,y)=>x+y,0)/cts.length); const tVC=m-1.5*sd; const tC=m-0.5*sd; return a.map((p,i)=>{\n const here=p.ct>=tVC&&p.ct<tC;\n const prev=i>0&&a[i-1].ct>=tVC&&a[i-1].ct<tC;\n const next=i<a.length-1&&a[i+1].ct>=tVC&&a[i+1].ct<tC;\n return [p.ts,(here||prev||next)?p.ct:null];\n});"
},
{
"entity": "sun.sun",
"name": "Normal",
"type": "area",
"color": "#f1c40f",
"yaxis_id": "price",
"stroke_width": 1.5,
"show": {
"legend_value": false,
"in_header": false,
"in_legend": false
},
"data_generator": "const ed=new Date(); ed.setDate(ed.getDate()+3); ed.setHours(0,0,0,0); const es=ed.getFullYear()+'-'+String(ed.getMonth()+1).padStart(2,'0')+'-'+String(ed.getDate()).padStart(2,'0')+' 00:00:00'; const r=await hass.callWS({type:'call_service',domain:'tibber',service:'get_prices',return_response:true,service_data:{end:es}}); const a=r.response.prices.Zuhause.map(p=>({ts:new Date(p.start_time).getTime(),ct:Math.round(p.price*10000)/100})); const cts=a.map(p=>p.ct); const m=cts.reduce((x,y)=>x+y,0)/cts.length; const sd=Math.sqrt(cts.map(c=>(c-m)**2).reduce((x,y)=>x+y,0)/cts.length); const tC=m-0.5*sd; const tE=m+0.5*sd; return a.map((p,i)=>{\n const here=p.ct>=tC&&p.ct<tE;\n const prev=i>0&&a[i-1].ct>=tC&&a[i-1].ct<tE;\n const next=i<a.length-1&&a[i+1].ct>=tC&&a[i+1].ct<tE;\n return [p.ts,(here||prev||next)?p.ct:null];\n});"
},
{
"entity": "sun.sun",
"name": "Teuer",
"type": "area",
"color": "#e67e22",
"yaxis_id": "price",
"stroke_width": 1.5,
"show": {
"legend_value": false,
"in_header": false,
"in_legend": false
},
"data_generator": "const ed=new Date(); ed.setDate(ed.getDate()+3); ed.setHours(0,0,0,0); const es=ed.getFullYear()+'-'+String(ed.getMonth()+1).padStart(2,'0')+'-'+String(ed.getDate()).padStart(2,'0')+' 00:00:00'; const r=await hass.callWS({type:'call_service',domain:'tibber',service:'get_prices',return_response:true,service_data:{end:es}}); const a=r.response.prices.Zuhause.map(p=>({ts:new Date(p.start_time).getTime(),ct:Math.round(p.price*10000)/100})); const cts=a.map(p=>p.ct); const m=cts.reduce((x,y)=>x+y,0)/cts.length; const sd=Math.sqrt(cts.map(c=>(c-m)**2).reduce((x,y)=>x+y,0)/cts.length); const tE=m+0.5*sd; const tVE=m+1.5*sd; return a.map((p,i)=>{\n const here=p.ct>=tE&&p.ct<tVE;\n const prev=i>0&&a[i-1].ct>=tE&&a[i-1].ct<tVE;\n const next=i<a.length-1&&a[i+1].ct>=tE&&a[i+1].ct<tVE;\n return [p.ts,(here||prev||next)?p.ct:null];\n});"
},
{
"entity": "sun.sun",
"name": "Sehr teuer",
"type": "area",
"color": "#e74c3c",
"yaxis_id": "price",
"stroke_width": 1.5,
"show": {
"legend_value": false,
"in_header": false,
"in_legend": false
},
"data_generator": "const ed=new Date(); ed.setDate(ed.getDate()+3); ed.setHours(0,0,0,0); const es=ed.getFullYear()+'-'+String(ed.getMonth()+1).padStart(2,'0')+'-'+String(ed.getDate()).padStart(2,'0')+' 00:00:00'; const r=await hass.callWS({type:'call_service',domain:'tibber',service:'get_prices',return_response:true,service_data:{end:es}}); const a=r.response.prices.Zuhause.map(p=>({ts:new Date(p.start_time).getTime(),ct:Math.round(p.price*10000)/100})); const cts=a.map(p=>p.ct); const m=cts.reduce((x,y)=>x+y,0)/cts.length; const sd=Math.sqrt(cts.map(c=>(c-m)**2).reduce((x,y)=>x+y,0)/cts.length); const tVE=m+1.5*sd; return a.map((p,i)=>{\n const here=p.ct>=tVE;\n const prev=i>0&&a[i-1].ct>=tVE;\n const next=i<a.length-1&&a[i+1].ct>=tVE;\n return [p.ts,(here||prev||next)?p.ct:null];\n});"
},
{
"entity": "sun.sun",
"name": "Keine Daten",
"type": "line",
"color": "#546e7a",
"yaxis_id": "price",
"stroke_width": 1,
"show": {
"legend_value": false,
"in_header": false,
"in_legend": false
},
"data_generator": "const ed=new Date(); ed.setDate(ed.getDate()+3); ed.setHours(0,0,0,0); const es=ed.getFullYear()+'-'+String(ed.getMonth()+1).padStart(2,'0')+'-'+String(ed.getDate()).padStart(2,'0')+' 00:00:00'; const r=await hass.callWS({type:'call_service',domain:'tibber',service:'get_prices',return_response:true,service_data:{end:es}}); const prices=r.response.prices.Zuhause; const known=new Set(prices.map(p=>new Date(p.start_time).getTime())); const cts=prices.map(p=>Math.round(p.price*10000)/100); const avg=Math.round(cts.reduce((x,y)=>x+y,0)/cts.length*10)/10; const start=new Date(); start.setHours(0,0,0,0); const result=[]; for(let i=0;i<192;i++){\n const ts=start.getTime()+i*15*60*1000;\n result.push([ts,known.has(ts)?null:avg]);\n} return result;"
}
]
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.electricity_maps_co2_intensitat",
"icon": "mdi:molecule-co2",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.electricity_maps_anteil_fossiler_brennstoffe_im_netz",
"icon": "mdi:factory",
"show_state": true,
"show_icon": true
}
]
}
]
},
{
"type": "grid",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "⚡ Tibber"
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.zuhause_strompreis",
"icon": "mdi:lightning-bolt",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.tibber_pulse_zuhause_kumulierte_kosten",
"icon": "mdi:currency-eur",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.tibber_pulse_zuhause_kumulierter_verbrauch",
"icon": "mdi:home-lightning-bolt",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.tibber_pulse_zuhause_kumulierte_einspeisung",
"icon": "mdi:transmission-tower-export",
"show_state": true,
"show_icon": true
}
]
},
{
"type": "custom:apexcharts-card",
"header": {
"show": true,
"title": "Netzbezug & Einspeisung 24 h",
"show_states": true,
"standard_format": true
},
"graph_span": "24h",
"series": [
{
"entity": "sensor.tibber_pulse_zuhause_leistung",
"name": "Bezug (W)",
"color": "#e53935"
},
{
"entity": "sensor.tibber_pulse_zuhause_einspeiseleistung",
"name": "Einspeisung (W)",
"color": "#43a047"
}
]
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.tibber_pulse_zuhause_spannung_l1",
"icon": "mdi:lightning-bolt-circle",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.tibber_pulse_zuhause_spannung_l2",
"icon": "mdi:lightning-bolt-circle",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.tibber_pulse_zuhause_spannung_l3",
"icon": "mdi:lightning-bolt-circle",
"show_state": true,
"show_icon": true
}
]
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.tibber_pulse_zuhause_stromstarke_l1",
"icon": "mdi:current-ac",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.tibber_pulse_zuhause_stromstarke_l2",
"icon": "mdi:current-ac",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.tibber_pulse_zuhause_stromstarke_l3",
"icon": "mdi:current-ac",
"show_state": true,
"show_icon": true
}
]
}
]
},
{
"type": "grid",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "🔋 Batteriespeicher"
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.powerocean_hj37zdh5zg5w0109_ladezustand_der_batterie",
"icon": "mdi:battery",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.powerocean_hj37zdh5zg5w0109_emsbppower",
"icon": "mdi:flash",
"show_state": true,
"show_icon": true
}
]
},
{
"type": "custom:apexcharts-card",
"header": {
"show": true,
"title": "Batterieladung 24 h",
"show_states": true,
"standard_format": true
},
"graph_span": "24h",
"yaxis": [
{
"id": "soc",
"min": 0,
"max": 100,
"decimals": 0
},
{
"id": "power",
"opposite": true,
"decimals": 0
}
],
"series": [
{
"entity": "sensor.powerocean_hj37zdh5zg5w0109_ladezustand_der_batterie",
"name": "Ladestand (%)",
"yaxis_id": "soc",
"color": "#43a047"
},
{
"entity": "sensor.powerocean_hj37zdh5zg5w0109_emsbppower",
"name": "Leistung (W)",
"yaxis_id": "power",
"color": "#1e88e5"
}
]
}
]
}
]
},
{
"title": "Wärmepumpe",
"path": "waermepumpe",
"icon": "mdi:heat-pump",
"type": "sections",
"max_columns": 2,
"cards": [],
"badges": [
{
"type": "custom:mushroom-chips-card",
"chips": [
{
"type": "template",
"icon": "mdi:wifi",
"icon_color": "{{ 'green' if is_state('binary_sensor.nibe_s1255_6_e_em_3x400v_konnektivitat','on') else 'red' }}\n",
"content": "{{ 'Online' if is_state('binary_sensor.nibe_s1255_6_e_em_3x400v_konnektivitat','on') else 'Offline' }}\n"
},
{
"type": "template",
"icon": "mdi:alert-circle-outline",
"icon_color": "{{ 'red' if is_state('binary_sensor.nibe_s1255_6_e_em_3x400v_alarm','on') else 'green' }}\n",
"content": "{{ 'Alarm!' if is_state('binary_sensor.nibe_s1255_6_e_em_3x400v_alarm','on') else 'Kein Alarm' }}\n"
},
{
"type": "entity",
"entity": "sensor.nibe_energy_cop_total_last_hour",
"icon": "mdi:gauge-full",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.nibe_s1255_6_e_em_3x400v_current_outdoor_temperature_bt1",
"icon": "mdi:thermometer",
"show_state": true,
"show_icon": true
}
]
}
],
"sections": [
{
"type": "grid",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "🌡️ Heizkreis"
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.nibe_s1255_6_e_em_3x400v_supply_line_bt2",
"icon": "mdi:thermometer-chevron-up",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.nibe_s1255_6_e_em_3x400v_return_line_bt3",
"icon": "mdi:thermometer-chevron-down",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.nibe_s1255_6_e_em_3x400v_calculated_supply_climate_system_1",
"icon": "mdi:calculator-variant",
"show_state": true,
"show_icon": true
}
]
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.nibe_s1255_6_e_em_3x400v_temperatur_klimatisierungssyste",
"name": "Raumtemperatur Ist",
"icon": "mdi:home-thermometer",
"layout": "horizontal",
"fill_container": true
},
{
"type": "custom:mushroom-entity-card",
"entity": "number.nibe_s1255_6_e_em_3x400v_raumfuhler_sollwert_klimatisierungssyste",
"name": "Raumtemperatur Soll",
"icon": "mdi:home-thermometer-outline",
"layout": "horizontal",
"fill_container": true,
"tap_action": {
"action": "more-info"
}
},
{
"type": "custom:mushroom-entity-card",
"entity": "number.nibe_s1255_6_e_em_3x400v_degree_minutes",
"name": "Degree Minutes",
"icon": "mdi:timer-outline",
"layout": "horizontal",
"fill_container": true,
"tap_action": {
"action": "more-info"
}
},
{
"type": "custom:apexcharts-card",
"header": {
"show": true,
"title": "Heizkreis 24 h",
"show_states": true,
"standard_format": true
},
"graph_span": "24h",
"series": [
{
"entity": "sensor.nibe_s1255_6_e_em_3x400v_supply_line_bt2",
"name": "Vorlauf (BT2)"
},
{
"entity": "sensor.nibe_s1255_6_e_em_3x400v_return_line_bt3",
"name": "Rücklauf (BT3)"
},
{
"entity": "sensor.nibe_s1255_6_e_em_3x400v_current_outdoor_temperature_bt1",
"name": "Außen (BT1)"
}
]
}
]
},
{
"type": "grid",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "🚿 Warmwasser"
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.nibe_s1255_6_e_em_3x400v_hot_water_top_bt7",
"icon": "mdi:water-thermometer",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.nibe_s1255_6_e_em_3x400v_hot_water_charging_bt6",
"icon": "mdi:water-sync",
"show_state": true,
"show_icon": true
}
]
},
{
"type": "custom:apexcharts-card",
"header": {
"show": true,
"title": "Warmwasser 24 h",
"show_states": true,
"standard_format": true
},
"graph_span": "24h",
"series": [
{
"entity": "sensor.nibe_s1255_6_e_em_3x400v_hot_water_top_bt7",
"name": "Oben (BT7)"
},
{
"entity": "sensor.nibe_s1255_6_e_em_3x400v_hot_water_charging_bt6",
"name": "Ladung (BT6)"
}
]
}
]
},
{
"type": "grid",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "💨 Lüftung (AZ30)"
},
{
"type": "custom:mushroom-entity-card",
"entity": "select.nibe_s1255_6_e_em_3x400v_ventilation_mode",
"name": "Lüftungsmodus",
"icon": "mdi:fan",
"layout": "horizontal",
"fill_container": true,
"tap_action": {
"action": "more-info"
}
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.nibe_s1255_6_e_em_3x400v_abluft_az30_bt20",
"icon": "mdi:arrow-up-circle-outline",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.nibe_s1255_6_e_em_3x400v_fortluft_az30_bt21",
"icon": "mdi:arrow-right-circle-outline",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.nibe_s1255_6_e_em_3x400v_supp_air_az30_bt22",
"icon": "mdi:arrow-down-circle-outline",
"show_state": true,
"show_icon": true
}
]
},
{
"type": "custom:apexcharts-card",
"header": {
"show": true,
"title": "Lüftung 24 h",
"show_states": true,
"standard_format": true
},
"graph_span": "24h",
"series": [
{
"entity": "sensor.nibe_s1255_6_e_em_3x400v_abluft_az30_bt20",
"name": "Abluft BT20"
},
{
"entity": "sensor.nibe_s1255_6_e_em_3x400v_fortluft_az30_bt21",
"name": "Fortluft BT21"
},
{
"entity": "sensor.nibe_s1255_6_e_em_3x400v_supp_air_az30_bt22",
"name": "Zuluft BT22"
}
]
}
]
},
{
"type": "grid",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "🧊 Sole / Erdkollektor"
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.nibe_s1255_6_e_em_3x400v_brine_in_bt10",
"icon": "mdi:arrow-right-circle",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.nibe_s1255_6_e_em_3x400v_brine_out_bt11",
"icon": "mdi:arrow-left-circle",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.nibe_s1255_6_e_em_3x400v_temperatur_bt50",
"icon": "mdi:thermometer",
"show_state": true,
"show_icon": true
}
]
},
{
"type": "custom:apexcharts-card",
"header": {
"show": true,
"title": "Sole 24 h",
"show_states": true,
"standard_format": true
},
"graph_span": "24h",
"series": [
{
"entity": "sensor.nibe_s1255_6_e_em_3x400v_brine_in_bt10",
"name": "Sole ein (BT10)"
},
{
"entity": "sensor.nibe_s1255_6_e_em_3x400v_brine_out_bt11",
"name": "Sole aus (BT11)"
}
]
}
]
},
{
"type": "grid",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "📊 Effizienz & Energie"
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.nibe_energy_cop_total_last_hour",
"icon": "mdi:gauge-full",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.nibe_energy_cop_heating_last_hour",
"icon": "mdi:radiator",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.nibe_energy_cop_hot_water_last_hour",
"icon": "mdi:water-boiler",
"show_state": true,
"show_icon": true
}
]
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.nibe_energy_produced_total_kwh",
"icon": "mdi:lightning-bolt",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.nibe_energy_used_total_kwh",
"icon": "mdi:home-lightning-bolt",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.nibe_energy_produced_heating_kwh",
"icon": "mdi:radiator",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.nibe_energy_produced_hot_water_kwh",
"icon": "mdi:water-boiler",
"show_state": true,
"show_icon": true
}
]
},
{
"type": "custom:apexcharts-card",
"header": {
"show": true,
"title": "COP 24 h",
"show_states": true,
"standard_format": true
},
"graph_span": "24h",
"series": [
{
"entity": "sensor.nibe_energy_cop_total_last_hour",
"name": "COP gesamt"
},
{
"entity": "sensor.nibe_energy_cop_heating_last_hour",
"name": "COP Heizung"
},
{
"entity": "sensor.nibe_energy_cop_hot_water_last_hour",
"name": "COP Warmwasser"
}
]
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.nibe_s1255_6_e_em_3x400v_tarifblockierung",
"name": "Tarifblockierung",
"icon": "mdi:currency-eur-off",
"layout": "horizontal",
"fill_container": true
}
]
},
{
"type": "grid",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "🗺️ Systemdiagramm"
},
{
"type": "picture-elements",
"image": "/api/image/serve/7ec7636ccf48b97c110d04ca4c281c6a/512x512",
"elements": [
{
"type": "state-label",
"entity": "sensor.power_internal_additional_heat_31028",
"prefix": "Heater: ",
"style": {
"top": "50%",
"left": "35%"
}
},
{
"type": "state-label",
"entity": "sensor.flow_sensor_bf1_30041",
"prefix": "BF1: ",
"style": {
"top": "75%",
"left": "51%"
}
},
{
"type": "state-label",
"entity": "sensor.current_outdoor_temperature_bt1_30002",
"prefix": "BT1: ",
"style": {
"top": "88%",
"left": "10%"
}
},
{
"type": "state-label",
"entity": "sensor.supply_line_bt2_30006",
"prefix": "BT2: ",
"style": {
"top": "6%",
"left": "40%"
}
},
{
"type": "state-label",
"entity": "sensor.return_line_bt3_30008",
"prefix": "BT3: ",
"style": {
"top": "10%",
"left": "10%"
}
},
{
"type": "state-label",
"entity": "sensor.hot_water_charging_bt6_30010",
"prefix": "BT6: ",
"style": {
"top": "30%",
"left": "30%"
}
},
{
"type": "state-label",
"entity": "sensor.hot_water_top_bt7_30009",
"prefix": "BT7: ",
"style": {
"top": "23%",
"left": "30%"
}
},
{
"type": "state-label",
"entity": "sensor.condenser_bt12_30013",
"prefix": "BT12: ",
"style": {
"top": "44%",
"left": "10%"
}
},
{
"type": "state-label",
"entity": "sensor.discharge_bt14_30014",
"prefix": "BT14: ",
"style": {
"top": "44%",
"left": "60%"
}
},
{
"type": "state-label",
"entity": "sensor.eb100_ep14_bt16_31627",
"prefix": "BT16: ",
"style": {
"top": "60%",
"left": "10%"
}
},
{
"type": "state-label",
"entity": "sensor.suction_gas_bt17_30017",
"prefix": "BT17: ",
"style": {
"top": "60%",
"left": "60%"
}
},
{
"type": "state-label",
"entity": "sensor.exh_air_az30_bt20_30020",
"prefix": "BT20: ",
"style": {
"top": "91%",
"left": "36%"
}
},
{
"type": "state-label",
"entity": "sensor.extr_air_az30_bt21_30021",
"prefix": "BT21: ",
"style": {
"top": "68%",
"left": "12%"
}
},
{
"type": "custom:numberbox-card",
"entity": "number.nibe_s1255_6_e_em_3x400v_raumfuhler_sollwert_klimatisierungssyste",
"name": false,
"icon": false,
"min": 16,
"max": 25,
"step": 0.5,
"card_mod": {
"style": "ha-card { background: grey; }\n"
},
"style": {
"top": "91%",
"left": "75%"
}
}
]
}
]
}
]
},
{
"title": "IT & Server",
"path": "it-server",
"icon": "mdi:server",
"type": "sections",
"max_columns": 2,
"cards": [],
"badges": [
{
"type": "custom:mushroom-chips-card",
"chips": [
{
"type": "template",
"icon": "mdi:server",
"icon_color": "{{ 'green' if is_state('binary_sensor.node_nuc_status','on') else 'red' }}\n",
"content": "{{ 'NUC Online' if is_state('binary_sensor.node_nuc_status','on') else 'NUC Offline' }}\n"
},
{
"type": "entity",
"entity": "sensor.cloud_gateway_fiber_cloudflare_wan_latency",
"icon": "mdi:web",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.adguard_home_anteil_blockierter_dns_abfragen",
"icon": "mdi:shield-check",
"show_state": true,
"show_icon": true
},
{
"type": "conditional",
"conditions": [
{
"condition": "state",
"entity": "binary_sensor.node_nuc_pakete_aktualisieren",
"state": "on"
}
],
"chip": {
"type": "template",
"icon": "mdi:update",
"icon_color": "orange",
"content": "{{ states('sensor.node_nuc_gesamte_updates') }} Updates\n"
}
}
]
},
{
"type": "entity",
"show_name": false,
"show_state": true,
"show_icon": true,
"entity": "binary_sensor.appdaemon_aktiv"
}
],
"sections": [
{
"type": "grid",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "🖥️ Proxmox NUC"
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "template",
"icon": "mdi:server",
"icon_color": "{{ 'green' if is_state('binary_sensor.node_nuc_status','on') else 'red' }}\n",
"content": "{{ 'Online' if is_state('binary_sensor.node_nuc_status','on') else 'Offline' }}\n"
},
{
"type": "entity",
"entity": "sensor.node_nuc_cpu_auslastung",
"icon": "mdi:cpu-64-bit",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.node_nuc_prozentsatz_genutzter_arbeitsspeicher",
"icon": "mdi:memory",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.node_nuc_prozentsatz_belegter_speicherplatz",
"icon": "mdi:harddisk",
"show_state": true,
"show_icon": true
}
]
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.node_nuc_virtual_machines_running",
"icon": "mdi:monitor",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.node_nuc_container_laufen",
"icon": "mdi:docker",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.node_nuc_letzter_start",
"icon": "mdi:clock-outline",
"show_state": true,
"show_icon": true
}
]
},
{
"type": "conditional",
"conditions": [
{
"condition": "state",
"entity": "binary_sensor.node_nuc_pakete_aktualisieren",
"state": "on"
}
],
"card": {
"type": "custom:mushroom-entity-card",
"entity": "sensor.node_nuc_gesamte_updates",
"name": "Updates verfügbar",
"icon": "mdi:update",
"icon_color": "orange",
"layout": "horizontal",
"fill_container": true
}
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.node_nuc_genutzter_arbeitsspeicher",
"name": "RAM genutzt",
"icon": "mdi:memory",
"layout": "horizontal",
"fill_container": true
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.node_nuc_freier_arbeitsspeicher",
"name": "RAM frei",
"icon": "mdi:memory",
"layout": "horizontal",
"fill_container": true
},
{
"type": "custom:apexcharts-card",
"header": {
"show": true,
"title": "CPU & RAM 24 h",
"show_states": true,
"standard_format": true
},
"graph_span": "24h",
"yaxis": [
{
"id": "pct",
"min": 0,
"max": 100,
"decimals": 0
}
],
"series": [
{
"entity": "sensor.node_nuc_cpu_auslastung",
"name": "CPU %",
"yaxis_id": "pct",
"color": "#1e88e5"
},
{
"entity": "sensor.node_nuc_prozentsatz_genutzter_arbeitsspeicher",
"name": "RAM %",
"yaxis_id": "pct",
"color": "#e53935"
}
]
}
]
},
{
"type": "grid",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "🌐 UniFi Gateway"
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.cloud_gateway_fiber_cloudflare_wan_latency",
"icon": "mdi:web",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.cloud_gateway_fiber_cpu_utilization",
"icon": "mdi:cpu-64-bit",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.cloud_gateway_fiber_memory_utilization",
"icon": "mdi:memory",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.cloud_gateway_fiber_cloud_gateway_fiber_cpu_temperature",
"icon": "mdi:thermometer",
"show_state": true,
"show_icon": true
}
]
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.cloud_gateway_fiber_state",
"name": "Status",
"icon": "mdi:router-network",
"layout": "horizontal",
"fill_container": true
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.cloud_gateway_fiber_uptime",
"name": "Uptime",
"icon": "mdi:clock-outline",
"layout": "horizontal",
"fill_container": true
},
{
"type": "custom:apexcharts-card",
"header": {
"show": true,
"title": "WAN Latenz 24 h",
"show_states": true,
"standard_format": true
},
"graph_span": "24h",
"series": [
{
"entity": "sensor.cloud_gateway_fiber_cloudflare_wan_latency",
"name": "WAN Latenz (ms)",
"color": "#1e88e5"
}
]
}
]
},
{
"type": "grid",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "🛡️ AdGuard Home"
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.adguard_home_anteil_blockierter_dns_abfragen",
"icon": "mdi:shield-check",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.adguard_home_dns_abfragen",
"icon": "mdi:dns",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.adguard_home_blockierte_dns_abfragen",
"icon": "mdi:shield-off",
"show_state": true,
"show_icon": true
}
]
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.adguard_home_durchschnittliche_verarbeitungsgeschwindigkeit",
"name": "Ø Antwortzeit",
"icon": "mdi:timer-outline",
"layout": "horizontal",
"fill_container": true
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.adguard_home_durch_safe_browsing_blockiert",
"name": "Safe Browsing blockiert",
"icon": "mdi:web-off",
"layout": "horizontal",
"fill_container": true
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.adguard_home_durch_jugendschutz_blockiert",
"name": "Jugendschutz blockiert",
"icon": "mdi:account-child",
"layout": "horizontal",
"fill_container": true
}
]
},
{
"type": "grid",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "📷 Immich Fotoverwaltung"
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "entity",
"entity": "sensor.immich_anzahl_fotos",
"icon": "mdi:image-multiple",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.immich_anzahl_videos",
"icon": "mdi:video-box",
"show_state": true,
"show_icon": true
}
]
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.immich_gesamter_speicherplatz",
"name": "Gesamt Speicher",
"icon": "mdi:harddisk",
"layout": "horizontal",
"fill_container": true
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.immich_verfugbarer_speicherplatz",
"name": "Verfügbar",
"icon": "mdi:harddisk-plus",
"layout": "horizontal",
"fill_container": true
}
]
},
{
"type": "grid",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "🎵 Music Assistant"
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "template",
"icon": "mdi:music-circle",
"icon_color": "{{ 'green' if is_state('binary_sensor.music_assistant_server_aktiv','on') else 'red' }}\n",
"content": "{{ 'Aktiv' if is_state('binary_sensor.music_assistant_server_aktiv','on') else 'Inaktiv' }}\n"
},
{
"type": "entity",
"entity": "sensor.music_assistant_server_cpu_prozent",
"icon": "mdi:cpu-64-bit",
"show_state": true,
"show_icon": true
},
{
"type": "entity",
"entity": "sensor.music_assistant_server_arbeitsspeicher_in_prozent",
"icon": "mdi:memory",
"show_state": true,
"show_icon": true
}
]
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.music_assistant_server_version",
"name": "Version",
"icon": "mdi:tag-outline",
"layout": "horizontal",
"fill_container": true
}
]
},
{
"type": "grid",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "💾 Backup"
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.backup_backup_manager_zustand",
"name": "Backup-Status",
"icon": "mdi:backup-restore",
"layout": "horizontal",
"fill_container": true
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.backup_letztes_erfolgreiches_automatisches_backup",
"name": "Letztes erfolgreiches Backup",
"icon": "mdi:check-circle-outline",
"layout": "horizontal",
"fill_container": true
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.backup_nachstes_geplantes_automatisches_backup",
"name": "Nächstes Backup",
"icon": "mdi:clock-outline",
"layout": "horizontal",
"fill_container": true
}
]
},
{
"type": "grid",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "📡 Zigbee2MQTT"
},
{
"type": "custom:mushroom-chips-card",
"alignment": "center",
"chips": [
{
"type": "template",
"icon": "mdi:zigbee",
"icon_color": "{{ 'green' if is_state('binary_sensor.zigbee2mqtt_bridge_connection_state','on') else 'red' }}\n",
"content": "{{ 'Verbunden' if is_state('binary_sensor.zigbee2mqtt_bridge_connection_state','on') else 'Getrennt' }}\n"
},
{
"type": "entity",
"entity": "sensor.zigbee2mqtt_bridge_version",
"icon": "mdi:tag-outline",
"show_state": true,
"show_icon": true
}
]
},
{
"type": "custom:mushroom-entity-card",
"entity": "switch.zigbee2mqtt_bridge_permit_join",
"name": "Pairing erlauben",
"icon": "mdi:link-plus",
"tap_action": {
"action": "toggle"
},
"layout": "horizontal",
"fill_container": true
},
{
"type": "custom:mushroom-entity-card",
"entity": "button.zigbee2mqtt_bridge_restart",
"name": "Bridge neu starten",
"icon": "mdi:restart",
"layout": "horizontal",
"fill_container": true,
"tap_action": {
"action": "call-service",
"service": "button.press",
"target": {
"entity_id": "button.zigbee2mqtt_bridge_restart"
}
}
}
]
}
]
},
{
"title": "Sicherheit",
"path": "sicherheit",
"icon": "mdi:shield-home",
"type": "sections",
"max_columns": 2,
"cards": [],
"badges": [
{
"type": "custom:mushroom-chips-card",
"chips": [
{
"type": "template",
"icon": "mdi:smoke-detector-variant",
"icon_color": "{{ 'red' if is_state('binary_sensor.buro_rauchmelder_smoke','on')\n or is_state('binary_sensor.kinderzimmer_rauchmelder_smoke','on')\n or is_state('binary_sensor.schlafzimmer_rauchmelder_smoke','on')\n or is_state('binary_sensor.gastezimmer_rauchmelder_smoke','on')\n or is_state('binary_sensor.technikraum_rauchmelder_smoke','on')\n or is_state('binary_sensor.wohnzimmer_rauchmelder_smoke','on')\n else 'green' }}\n",
"content": "{% set rooms = {\n 'Büro': 'binary_sensor.buro_rauchmelder_smoke',\n 'Kinderzimmer': 'binary_sensor.kinderzimmer_rauchmelder_smoke',\n 'Schlafzimmer': 'binary_sensor.schlafzimmer_rauchmelder_smoke',\n 'Gästezimmer': 'binary_sensor.gastezimmer_rauchmelder_smoke',\n 'Technikraum': 'binary_sensor.technikraum_rauchmelder_smoke',\n 'Wohnzimmer': 'binary_sensor.wohnzimmer_rauchmelder_smoke'\n} %} {% set alarm = namespace(room='') %} {% for name, entity in rooms.items() %}\n {% if is_state(entity,'on') and alarm.room == '' %}\n {% set alarm.room = name %}\n {% endif %}\n{% endfor %} {{ 'Rauch ' ~ alarm.room ~ '!' if alarm.room != '' else 'Kein Rauch' }}\n"
},
{
"type": "template",
"icon": "mdi:water-alert",
"icon_color": "{{ 'red' if is_state('binary_sensor.technikraum_wassermelder_water_leak','on')\n or is_state('binary_sensor.wc_wassermelder_water_leak','on')\n or is_state('binary_sensor.kuche_wassermelder_water_leak','on')\n else 'green' }}\n",
"content": "{% if is_state('binary_sensor.technikraum_wassermelder_water_leak','on') %}\n Wasser Technikraum!\n{% elif is_state('binary_sensor.wc_wassermelder_water_leak','on') %}\n Wasser WC!\n{% elif is_state('binary_sensor.kuche_wassermelder_water_leak','on') %}\n Wasser Küche!\n{% else %}\n Trocken\n{% endif %}\n"
}
]
}
],
"sections": [
{
"type": "grid",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "🔥 Rauchmelder"
},
{
"type": "custom:mushroom-template-card",
"primary": "Büro",
"secondary": "{{ states('sensor.buro_rauchmelder_temperature') }}°C · {{ states('sensor.buro_rauchmelder_humidity') }}% · AQI {{ states('sensor.buro_rauchmelder_aqi') }}\n",
"icon": "mdi:smoke-detector-variant",
"icon_color": "{{ 'red' if is_state('binary_sensor.buro_rauchmelder_smoke','on') else 'green' }}\n",
"layout": "horizontal",
"fill_container": true,
"tap_action": {
"action": "more-info",
"entity": "binary_sensor.buro_rauchmelder_smoke"
}
},
{
"type": "custom:mushroom-template-card",
"primary": "Kinderzimmer",
"secondary": "{{ states('sensor.kinderzimmer_rauchmelder_temperature') }}°C · {{ states('sensor.kinderzimmer_rauchmelder_humidity') }}% · AQI {{ states('sensor.kinderzimmer_rauchmelder_aqi') }}\n",
"icon": "mdi:smoke-detector-variant",
"icon_color": "{{ 'red' if is_state('binary_sensor.kinderzimmer_rauchmelder_smoke','on') else 'green' }}\n",
"layout": "horizontal",
"fill_container": true,
"tap_action": {
"action": "more-info",
"entity": "binary_sensor.kinderzimmer_rauchmelder_smoke"
}
},
{
"type": "custom:mushroom-template-card",
"primary": "Schlafzimmer",
"secondary": "{{ states('sensor.schlafzimmer_rauchmelder_temperature') }}°C · {{ states('sensor.schlafzimmer_rauchmelder_humidity') }}% · AQI {{ states('sensor.schlafzimmer_rauchmelder_aqi') }}\n",
"icon": "mdi:smoke-detector-variant",
"icon_color": "{{ 'red' if is_state('binary_sensor.schlafzimmer_rauchmelder_smoke','on') else 'green' }}\n",
"layout": "horizontal",
"fill_container": true,
"tap_action": {
"action": "more-info",
"entity": "binary_sensor.schlafzimmer_rauchmelder_smoke"
}
},
{
"type": "custom:mushroom-template-card",
"primary": "Gästezimmer",
"secondary": "{{ states('sensor.gastezimmer_rauchmelder_temperature') }}°C · {{ states('sensor.gastezimmer_rauchmelder_humidity') }}% · AQI {{ states('sensor.gastezimmer_rauchmelder_aqi') }}\n",
"icon": "mdi:smoke-detector-variant",
"icon_color": "{{ 'red' if is_state('binary_sensor.gastezimmer_rauchmelder_smoke','on') else 'green' }}\n",
"layout": "horizontal",
"fill_container": true,
"tap_action": {
"action": "more-info",
"entity": "binary_sensor.gastezimmer_rauchmelder_smoke"
}
},
{
"type": "custom:mushroom-template-card",
"primary": "Wohnzimmer",
"secondary": "{{ states('sensor.wohnzimmer_rauchmelder_temperature') | default('') }}°C · {{ states('sensor.wohnzimmer_rauchmelder_humidity') | default('') }}% · AQI {{ states('sensor.wohnzimmer_rauchmelder_aqi') }}\n",
"icon": "mdi:smoke-detector-variant",
"icon_color": "{{ 'red' if is_state('binary_sensor.wohnzimmer_rauchmelder_smoke','on') else 'green' }}\n",
"layout": "horizontal",
"fill_container": true,
"tap_action": {
"action": "more-info",
"entity": "binary_sensor.wohnzimmer_rauchmelder_smoke"
}
},
{
"type": "custom:mushroom-template-card",
"primary": "Technikraum",
"secondary": "{{ states('sensor.technikraum_rauchmelder_temperature') }}°C · {{ states('sensor.technikraum_rauchmelder_humidity') }}% · AQI {{ states('sensor.technikraum_rauchmelder_aqi') }}\n",
"icon": "mdi:smoke-detector-variant",
"icon_color": "{{ 'red' if is_state('binary_sensor.technikraum_rauchmelder_smoke','on') else 'green' }}\n",
"layout": "horizontal",
"fill_container": true,
"tap_action": {
"action": "more-info",
"entity": "binary_sensor.technikraum_rauchmelder_smoke"
}
},
{
"type": "custom:mushroom-title-card",
"title": "💧 Wassermelder"
},
{
"type": "custom:mushroom-template-card",
"primary": "Küche",
"secondary": "{{ states('sensor.kuche_wassermelder_device_temperature') }}°C · Batterie {{ states('sensor.kuche_wassermelder_battery') }}%\n",
"icon": "mdi:water-alert",
"icon_color": "{{ 'red' if is_state('binary_sensor.kuche_wassermelder_water_leak','on') else 'green' }}\n",
"layout": "horizontal",
"fill_container": true,
"tap_action": {
"action": "more-info",
"entity": "binary_sensor.kuche_wassermelder_water_leak"
}
},
{
"type": "custom:mushroom-template-card",
"primary": "WC",
"secondary": "{{ states('sensor.wc_wassermelder_device_temperature') }}°C · Batterie {{ states('sensor.wc_wassermelder_battery') }}%\n",
"icon": "mdi:water-alert",
"icon_color": "{{ 'red' if is_state('binary_sensor.wc_wassermelder_water_leak','on') else 'green' }}\n",
"layout": "horizontal",
"fill_container": true,
"tap_action": {
"action": "more-info",
"entity": "binary_sensor.wc_wassermelder_water_leak"
}
},
{
"type": "custom:mushroom-template-card",
"primary": "Technikraum",
"secondary": "{{ states('sensor.technikraum_wassermelder_device_temperature') }}°C · Batterie {{ states('sensor.technikraum_wassermelder_battery') }}%\n",
"icon": "mdi:water-alert",
"icon_color": "{{ 'red' if is_state('binary_sensor.technikraum_wassermelder_water_leak','on') else 'green' }}\n",
"layout": "horizontal",
"fill_container": true,
"tap_action": {
"action": "more-info",
"entity": "binary_sensor.technikraum_wassermelder_water_leak"
}
}
]
},
{
"type": "grid",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "🌡️ Raumklima (via Rauchmelder)"
},
{
"type": "custom:apexcharts-card",
"header": {
"show": true,
"title": "Luftqualität (AQI) 24 h",
"show_states": true,
"standard_format": true
},
"graph_span": "24h",
"series": [
{
"entity": "sensor.wohnzimmer_rauchmelder_aqi",
"name": "Wohnzimmer"
},
{
"entity": "sensor.buro_rauchmelder_aqi",
"name": "Büro"
},
{
"entity": "sensor.schlafzimmer_rauchmelder_aqi",
"name": "Schlafzimmer"
},
{
"entity": "sensor.kinderzimmer_rauchmelder_aqi",
"name": "Kinderzimmer"
},
{
"entity": "sensor.gastezimmer_rauchmelder_aqi",
"name": "Gästezimmer"
},
{
"entity": "sensor.technikraum_rauchmelder_aqi",
"name": "Technikraum"
}
]
},
{
"type": "custom:apexcharts-card",
"header": {
"show": true,
"title": "Temperaturen 24 h",
"show_states": true,
"standard_format": true
},
"graph_span": "24h",
"series": [
{
"entity": "sensor.wohnzimmer_rauchmelder_temperature",
"name": "Wohnzimmer"
},
{
"entity": "sensor.buro_rauchmelder_temperature",
"name": "Büro"
},
{
"entity": "sensor.kinderzimmer_rauchmelder_temperature",
"name": "Kinderzimmer"
},
{
"entity": "sensor.schlafzimmer_rauchmelder_temperature",
"name": "Schlafzimmer"
},
{
"entity": "sensor.gastezimmer_rauchmelder_temperature",
"name": "Gästezimmer"
},
{
"entity": "sensor.technikraum_rauchmelder_temperature",
"name": "Technikraum"
}
]
},
{
"type": "custom:apexcharts-card",
"header": {
"show": true,
"title": "Luftfeuchtigkeit 24 h",
"show_states": true,
"standard_format": true
},
"graph_span": "24h",
"yaxis": [
{
"min": 0,
"max": 100,
"decimals": 0
}
],
"series": [
{
"entity": "sensor.wohnzimmer_rauchmelder_humidity",
"name": "Wohnzimmer"
},
{
"entity": "sensor.buro_rauchmelder_humidity",
"name": "Büro"
},
{
"entity": "sensor.kinderzimmer_rauchmelder_humidity",
"name": "Kinderzimmer"
},
{
"entity": "sensor.schlafzimmer_rauchmelder_humidity",
"name": "Schlafzimmer"
},
{
"entity": "sensor.gastezimmer_rauchmelder_humidity",
"name": "Gästezimmer"
},
{
"entity": "sensor.technikraum_rauchmelder_humidity",
"name": "Technikraum"
}
]
}
]
}
]
},
{
"type": "sections",
"max_columns": 1,
"title": "experiments",
"path": "experiments",
"icon": "fa6-solid:flask",
"sections": [
{
"type": "grid",
"cards": [
{
"type": "heading",
"heading": "Neuer Abschnitt"
},
{
"type": "history-graph",
"entities": [
{
"entity": "binary_sensor.technikraum_wasserticker_contact"
}
],
"hours_to_show": 0.02
},
{
"type": "custom:config-template-card",
"variables": {
"v_offset": "states['binary_sensor.zuhause_morgige_daten_verfugbar'].state === 'on' ? '+1d' : '+0d'",
"v_yaxis_min": "states['sensor.zuhause_diagramm_metadaten'].attributes.yaxis_min",
"v_yaxis_max": "states['sensor.zuhause_diagramm_metadaten'].attributes.yaxis_max"
},
"entities": [
"binary_sensor.zuhause_morgige_daten_verfugbar",
"sensor.zuhause_diagramm_metadaten"
],
"card": {
"type": "custom:apexcharts-card",
"update_interval": "5m",
"header": {
"show": true,
"title": "Preisniveau",
"show_states": false
},
"apex_config": {
"chart": {
"animations": {
"enabled": false
},
"toolbar": {
"show": true,
"tools": {
"zoom": true,
"pan": true
}
},
"zoom": {
"enabled": true
}
},
"stroke": {
"curve": "stepline"
},
"fill": {
"type": "gradient",
"opacity": 0.45,
"gradient": {
"shade": "light",
"type": "vertical",
"shadeIntensity": 0.2,
"opacityFrom": [
0.5,
0.7,
0.7,
0.7,
0.7,
0.7
],
"opacityTo": 0.25,
"stops": [
50,
100
]
}
},
"dataLabels": {
"enabled": false
},
"legend": {
"show": true,
"position": "bottom",
"horizontalAlign": "center",
"markers": {
"size": 0
},
"itemMargin": {
"horizontal": 15
}
},
"grid": {
"show": true,
"borderColor": "rgba(144, 164, 174, 0.35)",
"strokeDashArray": 0,
"xaxis": {
"lines": {
"show": false
}
},
"yaxis": {
"lines": {
"show": true
}
}
},
"markers": {
"size": 0,
"hover": {
"size": 3
},
"colors": "#ff0000",
"fillOpacity": 0.5,
"strokeWidth": 5,
"strokeColors": "#ff0000",
"strokeOpacity": 0.15,
"showNullDataPoints": false
},
"tooltip": {
"enabled": true,
"shared": true,
"enabledOnSeries": [
2,
3,
4,
5,
6
],
"marker": {
"show": false
},
"x": {
"show": false
}
}
},
"yaxis": [
{
"id": "price",
"min": "${v_yaxis_min}",
"max": "${v_yaxis_max}",
"apex_config": {
"title": {
"text": "ct/kWh"
},
"decimalsInFloat": 0,
"forceNiceScale": true,
"showAlways": true,
"tickAmount": 4
}
},
{
"id": "highlight",
"min": 0,
"max": 1,
"show": false,
"opposite": true,
"apex_config": {
"forceNiceScale": true,
"tickAmount": 4
}
}
],
"now": {
"show": true,
"color": "#8e24aa",
"label": "🕒 LIVE"
},
"all_series_config": {
"float_precision": 2
},
"series": [
{
"entity": "sensor.zuhause_mindestpreis_heute",
"name": "▼ Bestpreis-Zeitraum",
"type": "area",
"color": "rgba(46, 204, 113, 0.05)",
"yaxis_id": "highlight",
"show": {
"legend_value": false,
"in_header": false,
"in_legend": true
},
"data_generator": "const response = await hass.callWS({ type: 'call_service', domain: 'tibber_prices', service: 'get_chartdata', return_response: true, service_data: { entry_id: '01KRH5M2Q1R4A4JVTBYN9KZZ70', period_filter: 'best_price', resolution: 'interval', output_format: 'array_of_arrays', insert_nulls: 'segments', subunit_currency: true } }); const originalData = response.response.data; return originalData.map((point, i) => { const result = [point[0], point[1] === null ? null : 1]; result.originalPrice = point[1]; return result; });",
"stroke_width": 0
},
{
"entity": "sensor.zuhause_mindestpreis_heute",
"name": "▲ Spitzenpreis-Zeitraum",
"type": "area",
"color": "rgba(231, 76, 60, 0.06)",
"yaxis_id": "highlight",
"show": {
"legend_value": false,
"in_header": false,
"in_legend": true,
"hidden_by_default": true
},
"data_generator": "const response = await hass.callWS({ type: 'call_service', domain: 'tibber_prices', service: 'get_chartdata', return_response: true, service_data: { entry_id: '01KRH5M2Q1R4A4JVTBYN9KZZ70', period_filter: 'peak_price', resolution: 'interval', output_format: 'array_of_arrays', insert_nulls: 'segments', subunit_currency: true } }); const originalData = response.response.data; return originalData.map((point, i) => { const result = [point[0], point[1] === null ? null : 1]; result.originalPrice = point[1]; return result; });",
"stroke_width": 0
},
{
"entity": "sensor.zuhause_mindestpreis_heute",
"name": "Sehr günstig",
"type": "area",
"color": "#2ecc71",
"yaxis_id": "price",
"show": {
"legend_value": false,
"in_header": false,
"in_legend": false
},
"data_generator": "const response = await hass.callWS({ type: 'call_service', domain: 'tibber_prices', service: 'get_chartdata', return_response: true, service_data: { entry_id: '01KRH5M2Q1R4A4JVTBYN9KZZ70', level_filter: ['VERY_CHEAP'], resolution: 'interval', output_format: 'array_of_arrays', insert_nulls: 'segments', subunit_currency: true, connect_segments: true } }); return response.response.data;",
"stroke_width": 1.5
},
{
"entity": "sensor.zuhause_mindestpreis_heute",
"name": "Günstig",
"type": "area",
"color": "#27ae60",
"yaxis_id": "price",
"show": {
"legend_value": false,
"in_header": false,
"in_legend": false
},
"data_generator": "const response = await hass.callWS({ type: 'call_service', domain: 'tibber_prices', service: 'get_chartdata', return_response: true, service_data: { entry_id: '01KRH5M2Q1R4A4JVTBYN9KZZ70', level_filter: ['CHEAP'], resolution: 'interval', output_format: 'array_of_arrays', insert_nulls: 'segments', subunit_currency: true, connect_segments: true } }); return response.response.data;",
"stroke_width": 1.5
},
{
"entity": "sensor.zuhause_preis_heute",
"name": "Normal",
"type": "area",
"color": "#f1c40f",
"yaxis_id": "price",
"show": {
"legend_value": false,
"in_header": false,
"in_legend": false
},
"data_generator": "const response = await hass.callWS({ type: 'call_service', domain: 'tibber_prices', service: 'get_chartdata', return_response: true, service_data: { entry_id: '01KRH5M2Q1R4A4JVTBYN9KZZ70', level_filter: ['NORMAL'], resolution: 'interval', output_format: 'array_of_arrays', insert_nulls: 'segments', subunit_currency: true, connect_segments: true } }); return response.response.data;",
"stroke_width": 1.5
},
{
"entity": "sensor.zuhause_hochstpreis_heute",
"name": "Teuer",
"type": "area",
"color": "#e67e22",
"yaxis_id": "price",
"show": {
"legend_value": false,
"in_header": false,
"in_legend": false
},
"data_generator": "const response = await hass.callWS({ type: 'call_service', domain: 'tibber_prices', service: 'get_chartdata', return_response: true, service_data: { entry_id: '01KRH5M2Q1R4A4JVTBYN9KZZ70', level_filter: ['EXPENSIVE'], resolution: 'interval', output_format: 'array_of_arrays', insert_nulls: 'segments', subunit_currency: true, connect_segments: true } }); return response.response.data;",
"stroke_width": 1.5
},
{
"entity": "sensor.zuhause_hochstpreis_heute",
"name": "Sehr teuer",
"type": "area",
"color": "#e74c3c",
"yaxis_id": "price",
"show": {
"legend_value": false,
"in_header": false,
"in_legend": false
},
"data_generator": "const response = await hass.callWS({ type: 'call_service', domain: 'tibber_prices', service: 'get_chartdata', return_response: true, service_data: { entry_id: '01KRH5M2Q1R4A4JVTBYN9KZZ70', level_filter: ['VERY_EXPENSIVE'], resolution: 'interval', output_format: 'array_of_arrays', insert_nulls: 'segments', subunit_currency: true, connect_segments: true } }); return response.response.data;",
"stroke_width": 1.5
}
],
"experimental": {
"hidden_by_default": true
},
"graph_span": "48h",
"span": {
"end": "day",
"offset": "${v_offset}"
}
}
}
]
}
],
"cards": []
}
]
}
}
}