APsystems APS ECU R local inverters data pull

Oh really? interesting indeed, I’ve had a conversation with someone looking at the data packaged I was convinced it was encrypted. Maybe targeted for other ECU’s not the ECU-B.

The current integration is allready a mash-up of TCP commands and HTTP posts, It’s a shame that APSystems doesn’t offer a total solution (only Modbus for example).

Anyway I made the latest implementation from the proxy method public again.

I’ll have to experiment with it to see if it works on the ECU-B. Note that this version does not return ACK data to the ECU so it will freeze after a while since you have blocked the dataservers.

fyi, current firmware version on my ECU-B is ECU_B_1.2.36A, which at least until two months ago, was the most recent.

The old separate proxy script seems to do a proper 2-way ack I think?, this is the output that I see popping up over time (slightly truncated, no idea what data is exactly in there) and it seems to think it has a cloud connection ever since it’s been polling the script:

<< ECU: b'APS18AA[..]9000300079601000END\n'
>> ECU: 10120[..]5500

That’s definitely not encrypted :slight_smile:

For obvious reasons, I don’t know how future-proof this solution is, but it still works perfectly on my ECU-B also.

I remember what APSystems changed because my ECU-R-Pro wasn’t detected when testing.

Instead of specifically addressing the data center, the other ECU models broadcast, which means the specific redirection of ecu.apsystemsema.com via DNS rewrites is no longer possible. I didn’t delve into it any further at that point.

With the integration, I’m looking for a solution that’s as generic as possible and supports all models as well as possible. So adding the proxy will not add to the all-in-one solution un fortunately.

That’s why I built this separate integration. If I check the cloudless functionality again, is this sufficient for you?

Sure, an all-in-one is the most preferred way. Appreciate the effort being put into making this cloudless

What do you mean by broadcast specifically? I’m a network engineer, so I may be able to offer some technical ideas/workarounds.

I don’t have any other ECU’s to check/test with on my side, so need some additional information on how these phone home.

Honestly, the best way would be to completely take out the ECU mystery box and just directly yap to the inverters via zigbee.

there have been attempts on that too. Not sure what the status is around that currently.
eg:

Seems a newer version of that is GitHub - patience4711/ESP32-read-APS-inverters

I finally managed to get hold of an ECU-R Pro, and am now preparing the replacement of my current 2160xx ECU-R.
I’m sure I’ve seen an APSystems document describing the steps, but I can’t find it on their support site anymore. Does anyone have a link to that document?

Do you mean this one?

…or this guide?

I recently got my Solar Panels installed from an installer and am trying to integrate my ECU-R (2160 series with DS3 inverters) with my Home Assistant. I’ve assigned the ECU-R a static IP address on my network, but I’m having trouble connecting to it locally.

When I ping the IP, I get consistent ~8ms responses for a short time, followed by 30 seconds of timeouts. Running nc -v [ip] 8899 returns “Connection refused.”

Does my ECU-R have to be connected wirelessly? (reading GitHub - HAEdwin/homeassistant-apsystems_ecu_reader: A Home Assistant custom integration for local querying APsystems ECU's.).

When I connect my phone to the ECU-R AP and login with local access, it doesn’t show any devices using the EMA app (Works fine with the login that my installer provisioned for me).
When I try to login using local access with the EMA Manager app, it’s showing no details. Getting WLAN and LAN settings also fails under Workspace

This is all new to me, so I’d appreciate any guidance on troubleshooting or next steps. Thanks!

Make sure the ECU is well placed so that it receives both Zigbee and WiFi signals. Are you sure you assigned the fixed IP-Address to the right node? Timeouts when doing ping -t to the ECU of 30 seconds marks a bad WiFi connection and yes unfortunately the 2160 ECU-R needs to be connected wireless when using 8899 because this port is not available when you use a wired connection. When pressing the AP button on the ECU you should first connect your phone’s wifi to the AP and then start the ECU Manager app and choose local access. Than make sure you also assign a fixed IP to the ECU. It’s hard to tell what exactly is going wrong but I think is the assignment of the IP-address.

The replacement was a straightforward process. new ECU-R Pro configured and up and running just fine now.
In the EMA App, you can even replace your own ECU so the new one appears in your APSystems account (you don’t need to be an ‘installer’ to complete that replacement)

I also recieved the first firmware update to version ECU_R_PRO_2.1.26 last night

1 Like

I moved the ECU upstairs and unplugged the Ethernet cable.

Connect my phone to the AP and logged in via local access but getting errors when enabling WLAN in the workspace

The strange thing with the ping when wired is that it is consistently 30s and 8s of timeouts and responses which seems like some sort of power saving cycle.

On the screendump I can see you only have 5G not WiFi. Make sure the phone is connected to the ECU and prevent things like autoconnect etc.

Got it working after turning off my mobile network. Am I able to use both wired and wireless after enabling wireless? It seems to have a different MAC address looking at my router.

Thanks for the help!

1 Like

Correct, both network interfaces have their own MAC address. If you own a 2160 ECU then you should only be able to use port 8899 wireless if you want to use the HA integration. You could use both I guess but why should you? If you’ve got a good wireless LAN there’s no need to do that.

Hello fellow nerds, can someone share their ECU-C’s firmware dump, or tell me how they extracted it?

User wadzio said they dumped the firmware, but didn’t say how, and I can’t find a UART port on the board.

I want to reverse engineer the firmware and make this thing suck less. thanks for all your hard work!

i think the sucking comes from underpowered cpu in all ECU. Would suggest looking at cutting out the ECU in your chain

Link is dead, would like to see your solution.
Luckily this one still works best and has the most extensive options

I just had a solar system installed this week and was given the ECU-R 2160 version by the installer. The instructions say that the HA server must be on the same wifi as the ECU unit. Does that simply mean the same VLAN? Or actual wireless network? My HA instance is on a proxmox server.

I walked through the instructions to setup the ECU on my wireless network but noticed that none of the modules show up. Is there a guide somewhere on how to do that (unless I’m simply doing something wrong). I read that the ECU can use both network interfaces at the same time. Is this still the case? I don’t want to lose access to the app, if possible.

Thank you!