Tesla’s Wall Connector (3rd Gen) does not have a integration in the Tesla App and while the cost for your monthly charge can be displayed as part of the car’s charging details, it does not exactly do a great job of displaying details and stats. Since I’m running Home Assistant, I’ve integrated some sensors to read the energy consumption of the Wallbox and set up some automations to notify me about ongoing costs and to provide a monthly summary.
Here’s the config:
sensor: - platform: rest name: wall_charger_total_wh resource: http://192.168.7.111/api/1/lifetime # Wall Connector IP scan_interval: 600 # 10min value_template: '{{ value_json.energy_wh | float }}' unit_of_measurement: Wh device_class: energy state_class: total_increasing utility_meter: wall_charger_monthly: source: sensor.wall_charger_total_wh cycle: monthly wall_charger_daily: source: sensor.wall_charger_total_wh cycle: daily template: - sensor: - name: wall_charger_monthly_cost device_class: monetary unit_of_measurement: EUR state: > {% set energy = states('sensor.wall_charger_monthly') | float %} {{ ((energy / 1000) * 0.28) | round(2, default=0) }} - name: wall_charger_daily_cost device_class: monetary unit_of_measurement: EUR state: > {% set energy = states('sensor.wall_charger_daily') | float %} {{ ((energy / 1000) * 0.28) | round(2, default=0) }} - name: wall_charger_yesterday_cost device_class: monetary unit_of_measurement: EUR state: > {% set energy = state_attr('sensor.wall_charger_daily', 'last_period') | float %} {{ ((energy / 1000) * 0.28) | round(2, default=0) }} - name: wall_charger_last_month_cost device_class: monetary unit_of_measurement: EUR state: > {% set energy = state_attr('sensor.wall_charger_monthly', 'last_period') | float %} {{ ((energy / 1000) * 0.28) | round(2, default=0) }} automation: - id: '1656416188951' alias: Wallbox Cost Notification (daily) description: '' trigger: - platform: time at: '21:00:00' condition: [] action: - service: notify.notify data: title: Wallbox cost message: 'Cost today: {{ ''%.2f'' | format(states.sensor.wall_charger_daily_cost.state | float) }} EUR Cost yesterday: {{ ''%.2f'' | format(states.sensor.wall_charger_yesterday_cost.state| float) }} EUR' mode: single - id: '1656416188912' alias: Wallbox Cost Notification (monthly) description: '' trigger: - platform: time at: '17:00:00' condition: - condition: template value_template: '{{ now().day == 1 }}' action: - service: notify.notify data: title: Wallcharger Summary message: 'Cost last month: {{ ''%.2f'' | format(states.sensor.wall_charger_last_month_cost.state | float) }} EUR.' mode: single
I admit it’s a bit janky and does not use the built-in HA Wall Connector integration, but I figured that’s good enough and gives me a bit more control about raw data, update intervals etc. The 0.28 is the utility price per kWh which could also be a separate entity, but I didn’t bother since it does not change that often.
