homeassistant-apsystems_ecur: 1.2.30b breaks integration

After updating to 1.30.0 today I am now getting the error: Using cached data from last successful communication from ECU. Invalid data error: ECU returned 0 for lifetime energy, this is either a glitch from the ECU or a brand new installed ECU. Raw Data=b''

Downgrading to 1.29.0 resolved the issue, though took more restarts than I thought it would but maybe just a HACS quirk.

There is nothing else interesting in the logs, so I am not sure what other info to give.

Firmware: ECU_R_PRO_2.1.15

About this issue

  • Original URL
  • State: closed
  • Created 7 months ago
  • Reactions: 1
  • Comments: 27 (1 by maintainers)

Most upvoted comments

i commented the line with keep alive as in your example and will let you know if it works correctly after that

So far it seems to be working fine.

@niouflex49 @TheRealCryss @Robsonator @coldenvy @marcusds I updated the release, hope things work fine now - if not please let me know with a log extract while debug is on. Thank you all for testing 🙏

mine is also ECU_B via WiFi and works now very well as roll backed to 1.2.29 since 48h. not tried cable but i think cable doesn’t work with ecu integration just in installed the 1.2.30b and will let you know

Screenshot 2023-12-03 at 15 09 46

1.2.30 even with patch line 88… failed back to 1.2.29 for today. ECU-R-EU 216xxxx version ECU_R_1.2.25B can i update the ECU? new firmware version?

Thanks @CarlosGS you might be on the right track. If you are able to modify the file like so, you might have ruled out the error. I’m not able to reproduce the error, every ECU model/firmware seems to act differently image Ultimately, the intention was to use keepalive to eliminate opening and closing between queries. If you are able to troubleshoot you could try the combination of using keepalive and a single open and close command if you understand what I mean.

Same problem, here’s some debugging info:

  • After downgrading to 1.2.29 and physically restarting the ECU, the next day it is working again.
  • We noticed that the testing command nc -v 192.168.x.x 8899 used to give connection refused, but now it works. It is an ECU-B and the reply is 0013ECU_B_1.2.27B009Etc/GMT-8 in case the version helps.
  • Also, in Home Assistant the logs for the ECU plugin said “connection refused”

However, it did stay connected to the internet, and it still sent data to the official APsystems sever/app. This points to the ECU entering some odd state where it just can’t accept connections in port 8899.

Maybe the new code is leaving TCP connections open, or doing something different that could be messing with the ECU’s TCP server? 🤔

Here’s the diff in case someone can give it a try https://github.com/ksheumaker/homeassistant-apsystems_ecur/compare/v1.2.29...v1.2.30#files_bucket At first I only see there’s a new keepalive flag for the socket, maybe that could fill up the ECU’s TCP clients queue.