Grid power value comes in from Tasmota every 1 s, but grid energy consumption value only every 300 s. Why?

I have a Tasmota that sends the grid counter values of current grid power (W) and grid total energy consumption (kWh) via MQTT to HA.
The former I get every single second, but the latter only every 300 s (5 min).
See attached screenshot from grafana.

I did not customize anything with that, I guess it comes from automatic MQTT integration.

But every 5 min I think is a little too long, I would like to change it to maybe every 60 s.

How could I do that? Or do I not want that? :wink:

Why is it per default 5 min, but power every single second? That’s a huge difference.

P.S. The grid total energy consumption value on the Tasmota Web UI (see screenshot) changes every 20 s or so (when the last digit increases), so the Tasmota itself updates the value more often than 5 min.

screenshot

I can see in the Tasmota console that the power value is there every second but the energy_sum value only every 300 s. See screenshot.

So it looks like Tasmota has the value in real time but for some reasonly sends it only every 300 s.

I would like to send it more often, as it is the case with the power value.

I use the tasmota script from here:
https://tasmota.github.io/docs/Smart-Meter-Interface/#logarex-lk13be-sml-lk13be904639

You could ignore the kWh reading from Tasmota and use a Riemann sum helper in HA to calculate energy consumption from the Wattage.

The kWh is the correct precise value, no need for complicated ugly workaround.
I would just like to have Tasmota push it more often. This should be easily possible, but I just do not know how. There is a parameter in Tasmota: TelePeriod which defaults to 300 s. Maybe this needs to be overwritten like this would then have be done for the power value already.

OK I could achieve that the energy total sum is now being submitted every 60 s by adjusting the Telemtry persiod in Tasmota (“Configure Logging”) from 300 to 60 (s).
But I wonder where it comes from that the power value is sent every single second.

screenshot

Are you aware of the <precision> parameter which defines the number of decimals but can be used also to either send the readings according to TelePeriod or immediately.

Let’s say 20.000 is the reading. 3 decimals so you would use 3 as the last parameter in the definition line. This send the data with TelePeriod. If it is 3 + 16 = 19 the reading is send immediately.
The following example sends the values as soon as they are read.

1,77070100600100ff@#,Zählernummer,,Meter_Number,16
1,77070100010800ff@1000,Verbrauch,kWh,Total_in,20
1,77070100100700ff@1,Leistung,W,Power_curr,16
1,77070100020800ff@1000,Erzeugung,kWh,Total_out,20
3 Likes