APsystems APS ECU R local inverters data pull

Today it happened again, the ECU Query was disabled.
After turning it back on, the problem was solved.

As a workaround I decided to check the Query switch every day when the Golden Hour starts and turn it back on when it is turned off.
Let’s see if this works.

alias: ECU Query check
description: Check daily at the start of Golden Hour if ECU Query is enabled
trigger:
  - platform: template
    value_template: "{{ state_attr(\"sun.sun\", \"elevation\") > -6.01 }}"
condition:
  - condition: state
    entity_id: switch.ecu_query_device
    state: "off"
action:
  - service: switch.turn_on
    data: {}
    target:
      entity_id: switch.ecu_query_device
mode: single

What is the best option for the ECU R ? because there is no Query switch option.
I did a powered down for 10 seconds, and it works but only for average 20 min.

when I restart HA the comunicastion is still broken for that moment (around the golden hour ) is there a beter workaround for the ECU R ?

Remove the wifi antenna, just as test… and optionally, change wifi channel on your router. The zigbee and wifi combination is not the best choice they made

I have some other issues … over the day everything goes ok till around 16:30 some times later (golden hour). I revice double enry’s

and the same issue with not updating at all but there’s a workaround for … restart the ECU-r

Has this to do with the

  • firmware ECU-R >> ECU_R_1.3.5B
  • update os from 10.1 >> 10.2
  • regulatr updates on HA Current >> 2023.04.1
  • other thing I forgot


on the end of the day, do you still have discrepancy in today energy HA vs APS?
I also have regular at 9PM a reset of the day counter, cant figure out what is causing it, I suspect a Zigbee interference, but the timing of it so consistent that it coudl very well be something else

IT’s caused by ECU reporting a 0.0 value for today_energy. Really strange.
2023-06-13 19:59:33.630 -->‘today_energy’: 25.22,
2023-06-13 20:01:07.107 → ‘today_energy’: 0.0
2023-06-13 20:02:07.563 → ‘today_energy’: 25.27

I’m gonna stop querying at 20:00/21:00 and 22:00 for a few days for 3 minutes period, it messes up the energy dashboard everyday now.

An issue before all issues discussed above

I am trying to hook up my ECU-R 2160 according the detailed instructions on the Github of ksheumaker. It says the following…

Prerequisites

You own an APSystems ECU model ECU-B, ECU-R or ECU-C and any combination of YC600, YC1000/QT2, DS3/DS3D or QS1/QS1A inverter. Your ECU is connected to your LAN, correctly configured (assigned a fixed IP address) and Home Assistant has free access to it.

If I unplug the ECU-Rs LAN cable(which is required) and configure the device using the EMA manager app using the device his own AP (SSID 2160etcetera), connect the device to my home WIFI network. Well than I cant find it on my network. Its not listed anywhere with IP address and MAC. So at this early stage it already stops for me.

Any idea what might be the issue of my ECU-R not getting an IP if I connect it to my WLAN? The strange thing is that it connects to the cloud so it has a working internet connection but is not visible on the network.

Cheers,
Dennis

If its uploading data to cloud, it has an IP, no questions on that. Not seeing it is then the real puzzle.
If its the same SSID as your phone for example, you could try a up network sniffer/ Analyzer. It will show you all IPs on you network and ECU would be one if them. MAC is on the device so you can recognize it.

The problem is solved. The MAC address on the router is the one for the ethernet port. Wifi has a different MAC address. I basically tested all IPs in my network using packet sender untill I found the correct one.

2 Likes

Another way to discover the ECU is to look into the router or DHCP server. There you should find which IP is assigned to the ESP WiFi interface from the ECU. The Wire en Wireless interface indeed do not share the same MAC address.

You could set the integration into debug mode. This way the HA log will also output the complete data string that are received. It could well be a buffer length issue or something else in the communication which is causing this weird behaviour. Unfortunately I’m not able to reproduce this so it’s best to do a further investigation on this.

This was retrieved from debug log. Device just reports a 0 for daily kWh at those moments.

Are there any other deviations in the other graphs such as inverters going down or something like that?

didnt spot anything then, this is the whole json. Current power 0 and all inverters have some power reported. Seems a ECU software bug to me.

Regel   198: 2023-06-13 20:01:07.107 DEBUG (MainThread) [custom_components.apsystems_ecur] Returning {'timestamp': '2023-06-13 20:00:42', 'inverter_qty': 7, 'inverters': {'408000094016': {'uid': '408000094016', 'online': True, 'unknown': '01', 'frequency': 49.9, 'temperature': 29, 'signal': 71, 'model': 'YC600', 'channel_qty': 2, 'power': [14, 14], 'voltage': [224, 224]}, '408000095622': {'uid': '408000095622', 'online': True, 'unknown': '01', 'frequency': 50.0, 'temperature': 29, 'signal': 73, 'model': 'YC600', 'channel_qty': 2, 'power': [14, 21], 'voltage': [225, 225]}, '408000091826': {'uid': '408000091826', 'online': True, 'unknown': '01', 'frequency': 49.9, 'temperature': 30, 'signal': 81, 'model': 'YC600', 'channel_qty': 2, 'power': [11, 88], 'voltage': [225, 225]}, '408000092933': {'uid': '408000092933', 'online': True, 'unknown': '01', 'frequency': 49.9, 'temperature': 31, 'signal': 85, 'model': 'YC600', 'channel_qty': 2, 'power': [83, 11], 'voltage': [224, 224]}, '408000091913': {'uid': '408000091913', 'online': True, 'unknown': '01', 'frequency': 50.0, 'temperature': 32, 'signal': 83, 'model': 'YC600', 'channel_qty': 2, 'power': [82, 13], 'voltage': [224, 224]}, '408000092434': {'uid': '408000092434', 'online': True, 'unknown': '01', 'frequency': 50.0, 'temperature': 29, 'signal': 77, 'model': 'YC600', 'channel_qty': 2, 'power': [13, 13], 'voltage': [225, 225]}, '408000091840': {'uid': '408000091840', 'online': True, 'unknown': '01', 'frequency': 50.0, 'temperature': 32, 'signal': 78, 'model': 'YC600', 'channel_qty': 2, 'power': [80, 79], 'voltage': [224, 224]}}, 'ecu_id': '216000061728', 'today_energy': 0.0, 'lifetime_energy': 9909.2, 'current_power': 0, 'data_from_cache': False, 'querying': True}

funny is the next query getting the same timestamp but without zero values

image
the higlighted one is the zero line, the rest of them have values. Its the minute cycle for query each line.

Currently three cyclic queries are done: ECU info, inverter info and signal info.
The daily energy is a result of the first query. The data shown is the inverter info but I’m getting what you are saying. I also have this strange effect once in a while. All inverters appear down but are not, I notice this while still returning power to the grid so the inverters really are not down. I think the ECU must have lost contact with the inverter(s) in these cases. Try to temporary move the ECU to another location, there might be some interference going on.

chinese qualitiy communications… i dont mind, buts really weird it happened always at 2000 or 2100 hours. Something fishy, but the workaround seems good enough (stopping query for a minute at those times)

Im not really deep into this applications coding but I found out that making an automation which turns on ECU Query every sunrise helps with keeping the data comming. It seems with my system that ECU query switches off automatically when the panels stop producing power. But ECU Query does not automatically start again…

Has anyone noticed with the latest firmware (Ecu r pro 2.1.11) on around July 11th that their max watts per panel has gone down. It used to show 336 watts/panel at the peak, but now it tops out at 322/panel.

Since the 15th of august the sensor.ecu_today_energy value is incorrect. It is not increasing anymore but decreasing as well.

Before the 15th this was still OK.
a detailed look of today looks like this:

image

This looks more like the ‘current power’ graph instead.
In the EMA app itself, the ‘today’s energy’ value is still correct.

I noticed I’m on new firmware: ECU_R_1.2.24E so that might have something to do with it.
Anyone else seeing the same thing?

I’m running ECU-R_1.2.24E too and everything seems to be OK.