APsystems APS ECU R local inverters data pull

Also no issue with firmware 1.2.24E, did you happen to accidentally replace the entity with the wrong one?

I didn’t change anything manually, just upgrade to newer version(s) of HA when they become available (and none of the breaking changes appear to affect my config)
Currently running:
Home Assistant 2023.8.2
Supervisor 2023.08.1
Operating System 10.4
Frontend 20230802.0 - latest

This is my current version:
Home Assistant 2023.8.3
Supervisor 2023.08.1
Operating System 10.4
Frontend 20230802.1 - latest

image
this is a charactaristic ‘current power’ graph, should not display with kwh indeed.

my history is still fine on Home Assistant 2023.8.2. . So whats your database type currently?

DB type is sqllite

More strange behavior. Today the ‘ECU Today Energy’ was still, like the previous days, showing results like the ‘Current Power’ sensor. Until appr. 10:00 AM, then the sensor became stale.
I rebooted the ECU, and after the reboot the value became ‘0’ (or actually not updating at all).
Here’s the history graph of this behavior.


Curious what this will look like tomorrow.

any different now?
tried restarting HA too by any chance?

No change, the sensor is not being updated anymore. I rebooted HA several times, did a reload of the integration. Nothing seems to help.

Just to make sure it’s not the ECU, put the integration in debug mode and look for the value of the today_energy parameter in the home-assistant.log. See if this value is increasing as expected. Does the EMA data match?

If that data is correct, just for the sake of it - create a new graph with the today_energy parameter. See how that works out. There may be an inconsistency in the database.

I wasn’t able to enable debug logging during the daytime, currently the sun is down and I’ve seen ‘today_energy’ resets to ‘0’ well before midnight.
In debug logging now, the value retrieved is indeed 0.0, but I wil try again tomorrow during daytime.

2023-08-24 21:11:36.429 DEBUG (SyncWorker_4) [custom_components.apsystems_ecur] Returning {'model': 'QS1', 'channel_qty': 4, 'power': [0, 0, 0, 0], 'voltage': [0], 'inverters': {'801000059937': {'uid': '801000059937', 'online': False, 'signal': 0, 'frequency': 0.0, 'model': 'QS1', 'channel_qty': 4, 'power': [0, 0, 0, 0], 'voltage': [0]}, '801000060208': {'uid': '801000060208', 'online': False, 'signal': 0, 'frequency': 0.0, 'model': 'QS1', 'channel_qty': 4, 'power': [0, 0, 0, 0], 'voltage': [0]}, '801000060698': {'uid': '801000060698', 'online': False, 'signal': 0, 'frequency': 0.0, 'model': 'QS1', 'channel_qty': 4, 'power': [0, 0, 0, 0], 'voltage': [0]}, '801000064645': {'uid': '801000064645', 'online': False, 'signal': 0, 'frequency': 0.0, 'model': 'QS1', 'channel_qty': 4, 'power': [0, 0, 0, 0], 'voltage': [0]}, '806000077471': {'uid': '806000077471', 'online': False, 'signal': 0, 'frequency': 0.0, 'model': 'QS1', 'channel_qty': 4, 'power': [0, 0, 0, 0], 'voltage': [0]}}, 'ecu_id': '216000064264', 'today_energy': 0.0, 'lifetime_energy': 13615.8, 'current_power': 0, 'qty_of_inverters': 5, 'qty_of_online_inverters': 0, 'data_from_cache': False, 'querying': True, 'restart_ecu': False}

It’s cloudy, but the value of today energy should not be 0. It should be around 1.8 kWh
The Debug logging however still says 0.0, here’s part of it:

'today_energy': 0.0, 'lifetime_energy': 13617.6, 'current_power': 166, 'qty_of_inverters': 5, 'qty_of_online_inverters': 5, 'data_from_cache': False

The source for this value is probable in this line in de debug log.

2023-08-25 11:11:44.383 DEBUG (SyncWorker_2) [custom_components.apsystems_ecur.APSystemsSocket] b'415053313130303935303030313231363030303036343236343031000213f0000000a600000000d0d0d0d0d0d0d00005000531303031334543555f525f312e322e3234453030394574632f474d542d3880971b0209ef000000000000454e440a'

How can I decode this mannually to see if the integration does something wrong, or the ECU actually reports 0.0?

In the EMA app the today value is correct: 1.81 kWh

Results of the decoding software confirms that the today_energy is zero
image
Manual check with the protocol did not reveal different rules.
I doubt if this is due to the integration because I have no problem with the same firmware. If you also see with the ECUapp or ECUManager (activate hotspot) that the today_energy is zero, then it could just be that the firmware has become corrupt. The integration cannot solve that. The way in which EMA obtains the data is completely different (push method). Suggest to wait for the new firmware or claim the warranty of the ECU

1 Like

I agree, the decoded received hex string contains 0 as the value, so the integration is not the problem.
This must be firmware related (if the ECU itself was broken, I would expect more incorrect values or total invalid data).

Let’s hope a future firmware update fixes this…

How is the current power displayed btw? That correct?

Yes, al other values are OK

I don’t want to get too excited just yet, but since todat the ‘energy_today’ is showing correct values, after reading ‘0’ for many days. The firmware is still the same, very strange…

Agh, guess I’ll have to wait on new firmware. It looked promising at first, but it’s broken again/still.

Have you tried factory default settings?

No, and I’m very hesitant to do it because I assume it could reset other counters such as ‘ECU Lifetime Energy’. That’s definitely something I don’t want.

Interresting, there is a new version of the ‘APsystems EMA App’ in the Google Play store.
One of the new features listed is:

“Support user to access to ECU locally”

I wonder what that means…