It all seems to work in lovelace view fine, values are what i expect
Via states page in developer tools is what I was after
Yes it is, and it shows that the sensor does not have
state_class: total_increasing
But i am not 100% sure how to add this in esphome. What version of esphome are you running?
EDIT on a bit of a look, you add it like you have with device_class
see Sensor Component — ESPHome
I just had a look at a TP-link smart switch that does show up and you are right the only thing that is different is
state_class: **total_increasing**
unit_of_measurement: kWh
friendly_name: light Today Energy
device_class: energy
I have no idea how to add it though ESPhome as i have followed the ESPhome guide to set it up
Looks like you missed my edit
Ok sorry i am not following, I have had a look and there does not seem to be any way to change the state_class of the platform sensor in the ESPhome config
Failed config
sensor.total_daily_energy: [source /config/power-meter.yaml:184]
platform: total_daily_energy
name: energy-monitor Solar New kWh
power_id: totalSolarWatts
filters:
- multiply: 0.001
unit_of_measurement: kWh
Unknown value 'total_increasing', valid options are '', 'measurement'.
state_class: total_increasing [source /config/power-meter.yaml:190]
what version of esphome? The total_increasing option may have been added recently as this energy stuff in HA is quite new.
I am running 1.19.4
total_increasing was added in esphome 2021.8. You will need to upgrade.
Ahh!!! thank you!
Let me do that and i will report back
AAARRRRGGGHHHHH!!!
that was it THANK YOU !
All working like a charm now
I’ll add this to the examples in the github repo for the 6 channel meter
Hi,
I have similar problem with my Inverter Aurora, paired with an ESPHome module.
I can see daily production but it’s not available in Energy Dashboard.
Take a look to my post to help me: ESPHome - SolarPV inverter - Energy sensor not available
If you are still having an issue you will need to ensure that you have state_class: total_increasing for it to qualify in the energy dashboard as a device that can be added, As you can see my issue was from haveing a (now very) old version of ESP Home that had not been updated to include the new state class
Hi, the version of my ESPHome is the latest. Which information can I share with you to understand better the situation and try to solve the problem?
Yaml and logs are required for help.
That’s my YAML running on my ESP32 board, using ESPHome:
#https://github.com/michelsciortino/esphome-aurora-inverter?tab=readme-ov-file
#Installato il 17 aprile 2024
esphome:
name: esp32-s2-inverter-aurora
friendly_name: esp32-s2-inverter-aurora
includes:
- esp32-s2-inverter-aurora/ABBAuroraStrings.cpp
- esp32-s2-inverter-aurora/ABBAuroraStrings.h
- esp32-s2-inverter-aurora/ABBAuroraEnums.h
- esp32-s2-inverter-aurora/ABBAurora.cpp
- esp32-s2-inverter-aurora/ABBAurora.h
- esp32-s2-inverter-aurora/InverterMonitor.h
- esp32-s2-inverter-aurora/ABBAurora.cpp
libraries:
- Wire
esp32:
board: esp32-s2-saola-1
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "90vfcUJLhGIyqom1/Yuyp7+zTC+EPfoReKlzIHC9wr8="
ota:
password: "031574bb6ab0a4224aa030f7e4e42052"
wifi:
networks:
- ssid: !secret wifi_ssid
password: !secret wifi_password
- ssid: "Home Network_EXT"
password: !secret wifi_password
power_save_mode: none
manual_ip:
static_ip: 192.168.0.205
gateway: 192.168.0.254
subnet: 255.255.255.0
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Nodemcu-Inverter-Aurora"
password: "k85RyVlR4g2S"
captive_portal:
sensor:
- platform: custom
lambda: |-
auto monitor = InverterMonitor::get_instance();
App.register_component(monitor);
App.register_sensor(monitor->v_in_1);
App.register_sensor(monitor->v_in_2);
App.register_sensor(monitor->i_in_1);
App.register_sensor(monitor->i_in_2);
App.register_sensor(monitor->power_in_1);
App.register_sensor(monitor->power_in_2);
App.register_sensor(monitor->power_in_total);
App.register_sensor(monitor->power_peak_today);
App.register_sensor(monitor->power_peak_max);
App.register_sensor(monitor->temperature_inverter);
App.register_sensor(monitor->temperature_booster);
App.register_sensor(monitor->cumulated_energy_today);
App.register_sensor(monitor->cumulated_energy_week);
App.register_sensor(monitor->cumulated_energy_month);
App.register_sensor(monitor->cumulated_energy_year);
App.register_sensor(monitor->cumulated_energy_total);
return {
monitor->v_in_1,
monitor->v_in_2,
monitor->i_in_1,
monitor->i_in_2,
monitor->power_in_1,
monitor->power_in_2,
monitor->power_in_total,
monitor->power_peak_today,
monitor->power_peak_max,
monitor->temperature_inverter,
monitor->temperature_booster,
monitor->cumulated_energy_today,
monitor->cumulated_energy_week,
monitor->cumulated_energy_month,
monitor->cumulated_energy_year,
monitor->cumulated_energy_total
};
sensors:
#Voltage
- name: v_in_1
unit_of_measurement: V
accuracy_decimals: 2
icon: "mdi:lightning-bolt-outline"
- name: v_in_2
unit_of_measurement: V
accuracy_decimals: 2
icon: "mdi:lightning-bolt-outline"
#Current
- name: i_in_1
unit_of_measurement: A
accuracy_decimals: 2
icon: "mdi:current-ac"
- name: i_in_2
unit_of_measurement: A
accuracy_decimals: 2
icon: "mdi:current-ac"
#Power
- name: power_in_1
unit_of_measurement: W
accuracy_decimals: 0
icon: "mdi:solar-power"
- name: power_in_2
unit_of_measurement: W
accuracy_decimals: 0
icon: "mdi:solar-power"
- name: power_in_total
unit_of_measurement: W
accuracy_decimals: 0
icon: "mdi:solar-power"
- name: power_peak_today
unit_of_measurement: W
accuracy_decimals: 0
icon: "mdi:solar-power"
- name: power_peak_max
unit_of_measurement: W
accuracy_decimals: 0
icon: "mdi:solar-power"
#Temperatures
- name: inverter_temp
unit_of_measurement: "°C"
accuracy_decimals: 2
icon: "mdi:thermometer"
- name: booster_temp
unit_of_measurement: "°C"
accuracy_decimals: 2
icon: "mdi:thermometer"
#Energy
- name: cumulated_energy_today
unit_of_measurement: "Wh"
accuracy_decimals: 0
icon: "mdi:car-battery"
- name: cumulated_energy_week
unit_of_measurement: "Wh"
accuracy_decimals: 0
icon: "mdi:car-battery"
- name: cumulated_energy_month
unit_of_measurement: "Wh"
accuracy_decimals: 0
icon: "mdi:car-battery"
- name: cumulated_energy_year
unit_of_measurement: "Wh"
accuracy_decimals: 0
icon: "mdi:car-battery"
- name: cumulated_energy_total
unit_of_measurement: "Wh"
accuracy_decimals: 0
icon: "mdi:car-battery"
text_sensor:
- platform: custom
lambda: |-
auto monitor = InverterMonitor::get_instance();
App.register_text_sensor(monitor->connection_status);
return { monitor->connection_status };
text_sensors:
#Status
- name: connection_status
icon: "mdi:connection"```
Having a look at my config it seems that need to add a new sensor type that will use the power sensor as a source and do the calculations for the total energy. Below is an example of how mine works
- platform: template
name: ${disp_name} Total Solar Watts
id: totalSolarWatts
lambda: return id(solarwatts).state ;
accuracy_decimals: 1
unit_of_measurement: W
icon: "mdi:flash-circle"
update_interval: ${update_time}
- platform: total_daily_energy
name: ${disp_name} Solar kWh
power_id: totalSolarWatts
id: solarproducedkwh
filters:
- multiply: 0.001
unit_of_measurement: kWh
state_class: "total_increasing"