missing files
This commit is contained in:
@@ -100,12 +100,12 @@
|
||||
"graph_span": "24h",
|
||||
"series": [
|
||||
{
|
||||
"entity": "sensor.powerocean_hj37zdh5zg5w0109_solarertrag_mppt",
|
||||
"entity": "sensor.powerocean_hj37zdh5zg5w0109_solar_gesamtleistung",
|
||||
"name": "Solar",
|
||||
"color": "#f9a825"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.powerocean_hj37zdh5zg5w0109_netzleistung_system",
|
||||
"entity": "sensor.powerocean_hj37zdh5zg5w0109_hausverbrauch_berechnet",
|
||||
"name": "Eigenverbrauch",
|
||||
"color": "#e53935"
|
||||
},
|
||||
@@ -186,77 +186,269 @@
|
||||
},
|
||||
{
|
||||
"type": "custom:apexcharts-card",
|
||||
"update_interval": "5m",
|
||||
"graph_span": "48h",
|
||||
"span": {
|
||||
"start": "day"
|
||||
},
|
||||
"experimental": {
|
||||
"hidden_by_default": true
|
||||
},
|
||||
"header": {
|
||||
"show": true,
|
||||
"title": "Strompreis",
|
||||
"show_states": false,
|
||||
"standard_format": true,
|
||||
"disable_actions": 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": false
|
||||
"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.1",
|
||||
"max": "~0.4",
|
||||
"align_to": 1,
|
||||
"decimals": 2
|
||||
"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
|
||||
}
|
||||
}
|
||||
],
|
||||
"chart_type": "line",
|
||||
"graph_span": "1.5d",
|
||||
"span": {
|
||||
"start": "day"
|
||||
},
|
||||
"now": {
|
||||
"show": true,
|
||||
"label": "Jetzt"
|
||||
},
|
||||
"experimental": {
|
||||
"color_threshold": true
|
||||
},
|
||||
"series": [
|
||||
{
|
||||
"entity": "sensor.epex_spot_data_total_price",
|
||||
"yaxis_id": "price",
|
||||
"stroke_width": 2,
|
||||
"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
|
||||
"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",
|
||||
"extend_to": false,
|
||||
"data_generator": "return entity.attributes.data.map((entry) => {\n return [new Date(entry.start_time), entry.price_per_kwh];\n});\n",
|
||||
"curve": "stepline",
|
||||
"color_threshold": [
|
||||
{
|
||||
"value": 0.1,
|
||||
"color": "blue"
|
||||
},
|
||||
{
|
||||
"value": 0.2,
|
||||
"color": "cyan"
|
||||
},
|
||||
{
|
||||
"value": 0.25,
|
||||
"color": "green"
|
||||
},
|
||||
{
|
||||
"value": 0.3,
|
||||
"color": "yellow"
|
||||
},
|
||||
{
|
||||
"value": 0.35,
|
||||
"color": "orange"
|
||||
},
|
||||
{
|
||||
"value": 0.4,
|
||||
"color": "red"
|
||||
}
|
||||
]
|
||||
"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;"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -1840,6 +2032,271 @@
|
||||
}
|
||||
],
|
||||
"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}"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user