Skip to content

Instantly share code, notes, and snippets.

@pwntester
Last active September 3, 2025 09:48
Show Gist options
  • Select an option

  • Save pwntester/1f41f2e88b39de4629eeed955d3cd978 to your computer and use it in GitHub Desktop.

Select an option

Save pwntester/1f41f2e88b39de4629eeed955d3cd978 to your computer and use it in GitHub Desktop.
Ingeteam Graph
- type: custom:plotly-graph
defaults:
entity:
extend_to_present: true
period: auto
line:
width: 0
layout:
hovermode: x unified
entities:
- entity: sensor.ingeteam_external_meter_ac_active_power
filters:
- resample: 5m
- map_y_numbers: Math.round(Number(y))
- store_var: grid_import
internal: true
- entity: sensor.ingeteam_battery_discharging_power
filters:
- resample: 5m
- map_y_numbers: Math.round(Number(y))
- store_var: battery_import
internal: true
- entity: sensor.ingeteam_total_loads_power
name: Usage from PV
filters:
- resample: 5m
- map_y_numbers: Math.round(Number(y))
- fn: |-
({ ys, xs, vars }) => {
return {
ys: ys.map( (v,idx) => v - vars.grid_import.ys[idx] - vars.battery_import.ys[idx])
}
}
stackgroup: 1
fillcolor: "rgb(245, 216, 0)"
hovertemplate: >-
%{y} W
- entity: sensor.ingeteam_battery_charging_power
name: Battery store
filters:
- resample: 5m
- map_y_numbers: Math.round(Number(y))
stackgroup: 1
fillcolor: "rgb(228, 109, 12)"
hovertemplate: >-
%{y} W
- entity: sensor.ingeteam_external_meter_ac_active_power_returned
name: Back to grid
filters:
- resample: 5m
- map_y_numbers: Math.round(Number(y))
stackgroup: 1
fillcolor: "rgb(245, 184, 0)"
hovertemplate: >-
%{y} W
- entity: sensor.ingeteam_battery_discharging_power
name: Battery usage
filters:
- resample: 5m
- map_y_numbers: Math.round(Number(y))
stackgroup: 1
fillcolor: "rgb(152, 193, 30)"
hovertemplate: >-
%{y} W
- entity: sensor.ingeteam_external_meter_ac_active_power
name: Grid usage
filters:
- resample: 5m
- map_y_numbers: Math.round(Number(y))
stackgroup: 1
fillcolor: "rgb(55, 96, 146)"
hovertemplate: >-
%{y} W
- entity: sensor.ingeteam_battery_state_of_charge
name: SoC
line:
color: cyan
dash: dash
width: 1
hovertemplate: "%{y} %"
hours_to_show: current_day
refresh_interval: 10
- type: custom:plotly-graph
defaults:
entity:
extend_to_present: true
period: auto
line:
width: 0
layout:
hovermode: x unified
entities:
- entity: sensor.ingeteam_external_meter_ac_active_power
filters:
- resample: 5m
- map_y_numbers: Math.round(Number(y))
- store_var: grid_import
internal: true
- entity: sensor.ingeteam_battery_discharging_power
filters:
- resample: 5m
- map_y_numbers: Math.round(Number(y))
- store_var: battery_import
internal: true
- entity: sensor.ingeteam_total_loads_power
name: Usage from PV
filters:
- resample: 5m
- map_y_numbers: Math.round(Number(y))
- fn: |-
({ ys, xs, vars }) => {
return {
ys: ys.map( (v,idx) => v - vars.grid_import.ys[idx] - vars.battery_import.ys[idx])
}
}
stackgroup: 1
fillcolor: "rgb(245, 216, 0)"
hovertemplate: >-
%{y} W
- entity: sensor.ingeteam_battery_charging_power
name: Battery store
filters:
- resample: 5m
- map_y_numbers: Math.round(Number(y))
stackgroup: 1
fillcolor: "rgb(228, 109, 12)"
hovertemplate: >-
%{y} W
- entity: sensor.ingeteam_external_meter_ac_active_power_returned
name: Back to grid
filters:
- resample: 5m
- map_y_numbers: Math.round(Number(y))
stackgroup: 1
fillcolor: "rgb(245, 184, 0)"
hovertemplate: >-
%{y} W
- entity: sensor.ingeteam_battery_discharging_power
name: Battery usage
filters:
- resample: 5m
- map_y_numbers: Math.round(Number(y))
stackgroup: 1
fillcolor: "rgb(152, 193, 30)"
hovertemplate: >-
%{y} W
- entity: sensor.ingeteam_external_meter_ac_active_power
name: Grid usage
filters:
- resample: 5m
- map_y_numbers: Math.round(Number(y))
stackgroup: 1
fillcolor: "rgb(55, 96, 146)"
hovertemplate: >-
%{y} W
- entity: sensor.ingeteam_battery_state_of_charge
name: SoC
line:
color: cyan
dash: dash
width: 1
hovertemplate: "%{y} %"
hours_to_show: "current_day"
time_offset: "-24h"
refresh_interval: 100
@pwntester
Copy link
Author

pwntester commented Sep 2, 2025

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment