Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add consumption sensor #157

Open
commonslibs opened this issue Feb 8, 2023 · 29 comments
Open

Add consumption sensor #157

commonslibs opened this issue Feb 8, 2023 · 29 comments
Labels
ECU-C APsystems ECU-C

Comments

@commonslibs
Copy link

Hi,

Ecu-c have two clamp meters. One that measures the generation of the solar panels and another that measures the consumption of the house.

It would be nice if the sensor that measures the consumption of the house could be included. Would it be possible to include that sensor?

If I need to become a tester, no problem.

Thank you so much

@HAEdwin
Copy link
Collaborator

HAEdwin commented Feb 8, 2023

If the data can be called with an APS command I could add it, even without owning an ECU-C myself testers could confirm all is good when implementing. At the moment it is unknown with which APS command this data can be called.

@commonslibs
Copy link
Author

If the data can be called with an APS command I could add it, even without owning an ECU-C myself testers could confirm all is good when implementing. At the moment it is unknown with which APS command this data can be called.

Is there a website where I can research/get information about APS commands?

I am a computer programmer and I would like to be able to investigate the subject.

Greetings and thank you.

@tediroca
Copy link

tediroca commented Feb 9, 2023

Just dropping a note that I'd be happy to help with the testing too as I own an ECU-C.

@tediroca
Copy link

I've tried the steps from #91 to grab the data from my ECU-C, and command 53 does not seem to include the consumed power (only produced):

image

image

I guess the key thing would be to find which command retrieves the consumed energy.

@tediroca
Copy link

tediroca commented Feb 10, 2023

This could also be useful: http://<ecu_ip>/index.php/hidden/ . It list a set of internal URLs which provide additional info.

This is quite interesting as it seems to display a record of all the internal transmissions: http://<ecu_ip>/index.php/display/record

The latest record seems to match what the ECU graph is showing for production and injection:

image

image
image
image

There is no consumption reported, as it's logically derived from the production minus export.

@tediroca
Copy link

tediroca commented Feb 13, 2023

Actually the response already includes the Produced and Exported values:

Exported:
image

Produced:
image

Consumed:
image

And the response:

{
	"APS": "ANSWER",
	"VERSION": "1.1",
	"error": 0,
	"ECUID": "<my-ecu-id>",
	"Command_Id": "53",
	"Command": "1",
	"meter_data": {
		"subtitle": "",
		"power1": [
			{
				"time": "20230213000011",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213000511",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213001011",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213001511",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213002011",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213002511",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213003011",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213003511",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213004011",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213004511",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213005013",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213005513",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213010013",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213010513",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213011013",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213011513",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213011943",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213012443",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213012943",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213013443",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213013943",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213014443",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213014943",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213015443",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213015943",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213020443",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213020943",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213021443",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213021943",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213022443",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213022945",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213023445",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213023945",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213024447",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213024947",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213025447",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213025947",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213030447",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213030947",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213031448",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213031949",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213032449",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213032949",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213033450",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213033951",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213034451",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213034953",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213035453",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213035953",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213040453",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213040955",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213041455",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213041955",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213042459",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213042959",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213043459",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213044001",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213044501",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213045003",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213045503",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213050003",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213050503",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213051005",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213051507",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213052009",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213052509",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213053009",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213053509",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213054009",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213054509",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213055009",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213055509",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213060009",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213060511",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213061011",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213061511",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213062011",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213062513",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213063013",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213063513",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213064013",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213064513",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213065013",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213065515",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213070015",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213070515",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213071017",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213071517",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213072017",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213072517",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213073017",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213073519",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213074019",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213074519",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213075021",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213075521",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213080021",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213080521",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213081021",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213081523",
				"powerA": 0,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213082029",
				"powerA": 30,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213082531",
				"powerA": 43,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213083031",
				"powerA": 53,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213083533",
				"powerA": 65,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213084033",
				"powerA": 69,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213084533",
				"powerA": 67,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213085033",
				"powerA": 79,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213085535",
				"powerA": 86,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213090035",
				"powerA": 92,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213090535",
				"powerA": 98,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213091035",
				"powerA": 105,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213091535",
				"powerA": 112,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213092037",
				"powerA": 118,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213092537",
				"powerA": 123,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213093037",
				"powerA": 128,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213093537",
				"powerA": 136,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213094037",
				"powerA": 141,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213094537",
				"powerA": 147,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213095037",
				"powerA": 156,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213095537",
				"powerA": 163,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213100039",
				"powerA": 366,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213100539",
				"powerA": 523,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213101039",
				"powerA": 645,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213101539",
				"powerA": 936,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213102041",
				"powerA": 1073,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213102541",
				"powerA": 1480,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213103043",
				"powerA": 1712,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213103543",
				"powerA": 1780,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213104045",
				"powerA": 2069,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213104545",
				"powerA": 2219,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213105045",
				"powerA": 2270,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213105547",
				"powerA": 2263,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213110051",
				"powerA": 2260,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213110551",
				"powerA": 2252,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213111051",
				"powerA": 2211,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213111551",
				"powerA": 2238,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213112051",
				"powerA": 2290,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213112551",
				"powerA": 2319,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213113051",
				"powerA": 2271,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213113551",
				"powerA": 2253,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213114051",
				"powerA": 2304,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213114551",
				"powerA": 2315,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213115051",
				"powerA": 2163,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213115553",
				"powerA": 2159,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213120053",
				"powerA": 2098,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213120553",
				"powerA": 2225,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213121055",
				"powerA": 2200,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213121555",
				"powerA": 2377,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213122055",
				"powerA": 2424,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213122555",
				"powerA": 2408,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213123055",
				"powerA": 2374,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213123555",
				"powerA": 2310,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213124055",
				"powerA": 2272,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213124555",
				"powerA": 2156,
				"powerB": 0,
				"powerC": 0
			}
		],
		"power2": [
			{
				"time": "20230213000011",
				"powerA": 107,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213000511",
				"powerA": 107,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213001011",
				"powerA": 103,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213001511",
				"powerA": 69,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213002011",
				"powerA": 68,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213002511",
				"powerA": 69,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213003011",
				"powerA": 68,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213003511",
				"powerA": 69,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213004011",
				"powerA": 89,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213004511",
				"powerA": 123,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213005013",
				"powerA": 83,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213005513",
				"powerA": 80,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213010013",
				"powerA": 79,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213010513",
				"powerA": 71,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213011013",
				"powerA": 71,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213011513",
				"powerA": 70,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213011943",
				"powerA": 105,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213012443",
				"powerA": 106,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213012943",
				"powerA": 106,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213013443",
				"powerA": 105,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213013943",
				"powerA": 89,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213014443",
				"powerA": 68,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213014943",
				"powerA": 69,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213015443",
				"powerA": 69,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213015943",
				"powerA": 68,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213020443",
				"powerA": 69,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213020943",
				"powerA": 69,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213021443",
				"powerA": 78,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213021943",
				"powerA": 104,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213022443",
				"powerA": 103,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213022945",
				"powerA": 102,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213023445",
				"powerA": 71,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213023945",
				"powerA": 71,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213024447",
				"powerA": 71,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213024947",
				"powerA": 90,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213025447",
				"powerA": 88,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213025947",
				"powerA": 83,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213030447",
				"powerA": 81,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213030947",
				"powerA": 90,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213031448",
				"powerA": 107,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213031949",
				"powerA": 105,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213032449",
				"powerA": 105,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213032949",
				"powerA": 71,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213033450",
				"powerA": 70,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213033951",
				"powerA": 70,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213034451",
				"powerA": 70,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213034953",
				"powerA": 70,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213035453",
				"powerA": 74,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213035953",
				"powerA": 75,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213040453",
				"powerA": 97,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213040955",
				"powerA": 127,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213041455",
				"powerA": 126,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213041955",
				"powerA": 123,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213042459",
				"powerA": 87,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213042959",
				"powerA": 86,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213043459",
				"powerA": 89,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213044001",
				"powerA": 87,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213044501",
				"powerA": 78,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213045003",
				"powerA": 84,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213045503",
				"powerA": 82,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213050003",
				"powerA": 103,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213050503",
				"powerA": 133,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213051005",
				"powerA": 129,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213051507",
				"powerA": 130,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213052009",
				"powerA": 110,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213052509",
				"powerA": 90,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213053009",
				"powerA": 88,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213053509",
				"powerA": 86,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213054009",
				"powerA": 71,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213054509",
				"powerA": 91,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213055009",
				"powerA": 121,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213055509",
				"powerA": 119,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213060009",
				"powerA": 136,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213060511",
				"powerA": 151,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213061011",
				"powerA": 150,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213061511",
				"powerA": 150,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213062011",
				"powerA": 118,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213062513",
				"powerA": 118,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213063013",
				"powerA": 114,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213063513",
				"powerA": 115,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213064013",
				"powerA": 113,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213064513",
				"powerA": 115,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213065013",
				"powerA": 116,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213065515",
				"powerA": 117,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213070015",
				"powerA": 150,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213070515",
				"powerA": 145,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213071017",
				"powerA": 171,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213071517",
				"powerA": 148,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213072017",
				"powerA": 112,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213072517",
				"powerA": 122,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213073017",
				"powerA": 120,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213073519",
				"powerA": 113,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213074019",
				"powerA": 113,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213074519",
				"powerA": 114,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213075021",
				"powerA": 112,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213075521",
				"powerA": 123,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213080021",
				"powerA": 140,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213080521",
				"powerA": 135,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213081021",
				"powerA": 131,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213081523",
				"powerA": 102,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213082029",
				"powerA": 80,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213082531",
				"powerA": 68,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213083031",
				"powerA": 57,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213083533",
				"powerA": 46,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213084033",
				"powerA": 43,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213084533",
				"powerA": 63,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213085033",
				"powerA": 51,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213085535",
				"powerA": 64,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213090035",
				"powerA": 75,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213090535",
				"powerA": 107,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213091035",
				"powerA": 581,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213091535",
				"powerA": 1710,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213092037",
				"powerA": 168,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213092537",
				"powerA": 92,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213093037",
				"powerA": 105,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213093537",
				"powerA": 102,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213094037",
				"powerA": 91,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213094537",
				"powerA": 80,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213095037",
				"powerA": 67,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213095537",
				"powerA": 22,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213100039",
				"powerA": -168,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213100539",
				"powerA": -321,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213101039",
				"powerA": -464,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213101539",
				"powerA": -756,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213102041",
				"powerA": -858,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213102541",
				"powerA": -1286,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213103043",
				"powerA": -1519,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213103543",
				"powerA": -1576,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213104045",
				"powerA": -1861,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213104545",
				"powerA": -1994,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213105045",
				"powerA": -2034,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213105547",
				"powerA": -2033,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213110051",
				"powerA": -1942,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213110551",
				"powerA": -514,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213111051",
				"powerA": -1179,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213111551",
				"powerA": -1221,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213112051",
				"powerA": -1228,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213112551",
				"powerA": -1266,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213113051",
				"powerA": -1199,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213113551",
				"powerA": -485,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213114051",
				"powerA": 1090,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213114551",
				"powerA": 883,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213115051",
				"powerA": 940,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213115553",
				"powerA": -855,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213120053",
				"powerA": -991,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213120553",
				"powerA": -1135,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213121055",
				"powerA": 846,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213121555",
				"powerA": 1239,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213122055",
				"powerA": 1169,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213122555",
				"powerA": 1132,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213123055",
				"powerA": 960,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213123555",
				"powerA": 783,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213124055",
				"powerA": 725,
				"powerB": 0,
				"powerC": 0
			},
			{
				"time": "20230213124555",
				"powerA": 537,
				"powerB": 0,
				"powerC": 0
			}
		]
	}
}

Produced = meter_data > power1 > powerA = 2156 W
Exported = meter_data> power2 > powerA = 537 W
Consumed = Produced + Exported = 2693 W

@gregoo31
Copy link

gregoo31 commented Mar 6, 2023

Bonjour,
j'ai le plugin APSystem sour jeedom et le développeur a réussi à récupérer la puissance consommée.
Sur un post, il dit qu'il intercepte la communication de la passerelle ECU-C
https://community.jeedom.com/t/plugin-apsystems/70497/57?u=gregoo31
nch
Développeurs
juin '22
"En capturant les communications entre l’application EMA Manager et l’ECU, j’ai trouvé comment récupérer les courbes de production/consommation/injection d’un ECU-C. Je sais pas si ça intéresse quelqu’un, mais je vais essayer d’intégrer ça bientôt dans le plugin."
https://community.jeedom.com/t/plugin-apsystems/70497/62?u=gregoo31
nch
Développeurs

1

rennais35000
juin '22
"Pour ceux qui ont l’ECU-C avec les pinces branchées, j’ai réussi à récupérer les infos des pinces et les intégrer dans le widget.

On récupère ainsi le courant importé et exporté. C’est qui m’intéressait le plus pour pouvoir activer des relais pour piloter mes appareils."

Comment peut on faire pour HA ?
(ne comptez pas sur moi ;-) , je ne sais pas codé !)

@HAEdwin
Copy link
Collaborator

HAEdwin commented Mar 7, 2023

I toyed with the idea to implement a proxy between the ECU and EMA website as this is probably the most stable and generic solution. Maybe you could use some of it. I'm pretty busy so I can't do much with it. I need help with the data interpretation and the further development to sensors. I'm currently running this proxy 24/7 alongside the integration and it works super stable. https://github.com/HAEdwin/APsystems_ECU2EMA_proxy

@tediroca
Copy link

tediroca commented Mar 8, 2023

I toyed with the idea to implement a proxy between the ECU and EMA website as this is probably the most stable and generic solution. Maybe you could use some of it. I'm pretty busy so I can't do much with it. I need help with the data interpretation and the further development to sensors. I'm currently running this proxy 24/7 alongside the integration and it works super stable. https://github.com/HAEdwin/APsystems_ECU2EMA_proxy

@HAEdwin I'm giving it a try. So far I've installed Adguard and followed the instructions from your link to install the proxy, although I'm getting an error after restarting HA. I've raised an issue on the proxy project itself to avoid missing stuff.

I'm new to your proxy, Adguard, APsystems and HA, so be patient please :) Is the info from the sensor supposed to appear somewhere in HA or shoul that be directly in the logs?

@supertin
Copy link

I'm also interested in this.

Not sure if anyone is aware, but there's straight JSON available at http://IP/index.php/meter/old_meter_power_graph
Looks to be the same format content as @tediroca posted above... Might be useful to someone 🤷
I've been using that URL for about 12 months in a dodgy Arduino project to show the import/export on an OLED. ECU seems to struggle sometimes with it though.

@tediroca
Copy link

tediroca commented Mar 31, 2023

I'm also interested in this.

Not sure if anyone is aware, but there's straight JSON available at http://IP/index.php/meter/old_meter_power_graph Looks to be the same format content as @tediroca posted above... Might be useful to someone 🤷 I've been using that URL for about 12 months in a dodgy Arduino project to show the import/export on an OLED. ECU seems to struggle sometimes with it though.

Thats's great. Thanks for sharing!

I ended up using the internal display records from http://<ECU_IP>/index.php/display/record and a scrape sensor:

Select:

body > section > div > article > div > div.panel-body > div.table-responsive > table > tbody > tr:nth-child(1) > td:nth-child(2)

Value template:

{{ value | regex_findall_index('(?![\s\S]*"I")(?<="I":).*(?=,"J")')}}

This gives me the imported/exported energy, and based on that I enable/disable some appliances:
image

@commonslibs
Copy link
Author

commonslibs commented Apr 12, 2023

I'm also interested in this.
Not sure if anyone is aware, but there's straight JSON available at http://IP/index.php/meter/old_meter_power_graph Looks to be the same format content as @tediroca posted above... Might be useful to someone 🤷 I've been using that URL for about 12 months in a dodgy Arduino project to show the import/export on an OLED. ECU seems to struggle sometimes with it though.

Thats's great. Thanks for sharing!

I ended up using the internal display records from http://<ECU_IP>/index.php/display/record and a scrape sensor:

Select:

body > section > div > article > div > div.panel-body > div.table-responsive > table > tbody > tr:nth-child(1) > td:nth-child(2)

Value template:

{{ value | regex_findall_index('(?![\s\S]*"I")(?<="I":).*(?=,"J")')}}

This gives me the imported/exported energy, and based on that I enable/disable some appliances: image

Hi, Tediroca.

Could you tell us how to add that sensor to HA? I go over the top in HA but I don't know how to include that sensor.

On the other hand, I notice that the sensor that you have included gives you the imported/exported energy but at least I am looking for the energy that your house is consuming. Do you know how to get it?

By the way, this topic is also found in the following discussion: #91

And for the creator of the plugin (@HAEdwin ), do you think this sensor can be added to the plugin itself?

Regards, and thank you very much.

------------------------------------------- Spanish
¿Podrías indicarnos cómo añadir ese sensor a HA?. Me manejo por encima en HA pero no se cómo incluir ese sensor.

Por otro lado, observo que el sensor que has incluido te da la energia importada/exportada pero al menos yo estoy buscando la energia que esta consumindo tu casa. ¿Sabes cómo obtenerla?

Por cierto, este tema se encuentra también en la discusion siguiente: #91

Y ya para el creador del plugin (@HAEdwin ), ¿Crees que se podrá añadir este sensor en el propio plugin?

Un saludo y muchas gracias.

@wildekek
Copy link

I'm in the process of creating power and energy sensors for HA from the CT clamps.
So far I have all the power sensors I want, the energy sensors need a bit more work.
Here's a gist.

@wildekek
Copy link

If the data can be called with an APS command I could add it, even without owning an ECU-C myself testers could confirm all is good when implementing. At the moment it is unknown with which APS command this data can be called.

I'd be happy to help you test implementing this via the TCP socket. Here's a dump of the ECU-C with CT clamps enabled:

Connection to 192.168.0.6 port 8899 [tcp/*] succeeded!
APS1100160001END
APS120113000121500001550901`�j #!	Q4

10015ECU-C-Z_C1.2.10013America/Aruba��5�`Ũy��00END

Maybe we can chat on discord and debug this in realtime.

@wildekek
Copy link

Found the CT energy meters:
http://ip/index.php/display/historical_data/meter_lifetime_energy/
Chip 1 = Grid import/export
Chip 2= Solar production
I'll add this data to my gist above in a minute, then you can use it for the HA Energy Dashboard.

@HAEdwin
Copy link
Collaborator

HAEdwin commented Nov 21, 2023

Connection to 192.168.0.6 port 8899 [tcp/*] succeeded!
APS1100160001END
APS120113000121500001550901`�j #! Q4

10015ECU-C-Z_C1.2.10013America/Aruba��5�`Ũy��00END


Maybe we can chat on discord and debug this in realtime.

This queries the ECU:
image
But it's not what you are looking for. How is the ECU-C being configured? Only by web UI or also with a telephone app?
So this solution is not what you are looking for? #91 (reply in thread)

@wildekek
Copy link

What I'm looking for (ordered by prio) is:

  • Energy data to use in the HA Energy Dashboard
    • "Grid consumption": Needs a sensor with the total, non-negative, energy consumed.
    • "Return to grid": Needs a sensor with the total, non-negative, energy produced.
    • "Solar production": Currently I use the "ECU Lifetime Energy" sensor, which is great, but the CT clamps are a bit more accurate, since they measure the net energy after losses, instead of the sum of the reported inverters energy.
  • Power data, which I use to create a Sankey diagram to monitor real-time consumption. This is solved by implementing my comment

This queries the ECU: (image) But it's not what you are looking for.

Thanks for the mapping table, this could help give clues to find the "energy consumption total" in the data the socket returns.

How is the ECU-C being configured? Only by web UI or also with a telephone app?

Both app and web UI.

So this solution is not what you are looking for? #91 (reply in thread)

This solution returns the last measured power per day, not energy. There is however a way to get the energy per day in the same way (http://<ECU_IP>/index.php/meter/old_meter_energy_graph), but since it is both a net meter (can go up and down) and daily (so it resets to 0 at night) it is really hard to get a reliable total production and consumption meter (which the Energy Dashboard requires) from that data. Could not find a rest interface for the totals unfortunately. The web page in my comment above does provide this, so this with a few scrape sensors is a reasonable way to solve the need and create a reliable energy dashboard.
Having said that, I would much rather have the values come from the socket, so we only have to query once, I can make a PR and everyone with CT clamps gets this.

@wildekek
Copy link

wildekek commented Nov 22, 2023

Updated my Gist.

It now also contains energy sensors for use in the Energy Dashboard of Home Assistant.

  • Grid Energy Consumed: You can use this sensor in the "Grid consumption" section
  • Grid Energy Produced: You can use this sensor in the "Return to grid" section
  • Solar Energy Produced: You can use this sensor in the "Solar production" section

All these sensors have state_class: total_increasing. This means they contain positive, increasing values and will never reset. Have fun with your new Energy Dashboard!

@supertin
Copy link

Updated my Gist.

If I was to copy this for my own use, can you think of what values I'd need to change? Obviously the ECU IP will likely be different. I also see ECU ID which I imagine needs to be changed... Any others?

@wildekek
Copy link

wildekek commented Nov 23, 2023

Updated my Gist.

If I was to copy this for my own use, can you think of what values I'd need to change? Obviously the ECU IP will likely be different. I also see ECU ID which I imagine needs to be changed... Any others?

Nope, that's it!

@nTildeStudio
Copy link

Hi! sorry for the beginner question, but I'm trying to apply that YAML file and I'm not able to do it. Could someone explain to me how to do it? I've looked into everything I could in the Home Assistant documentation (I've tried including it in configuration.yaml in all possible ways). Thanks in advance.

@wildekek
Copy link

No problemo.
The way I do it (and would recommend you do this too), is to use packages:

  • Copy this file to /homeassistant/packages/ecu.yaml
  • And then add the following lines to the /homeassistant/configuration.yaml:
homeassistant:
  packages:
    system: !include packages/ecu.yaml

If this does not work, I would recommend checking the logs and removing some of the contents to see what is causing the error.

@nTildeStudio
Copy link

It worked!! Thank you very much!!!!

@didierst
Copy link

@wildekek

You are the boss 👍
Of the different solutions tested so far, yours is probably the most accomplished and functional.
Thank you for this work and this much appreciated sharing

BR

@wildekek
Copy link

wildekek commented Nov 29, 2023

Since people find this useful, I'll give reading these values from the socket another try, so I can get this merged into this repo. The more I understand of APSystems hardware, the more enraged I become, so no promises.

@didierst
Copy link

Indeed, there is reason to be a little confused.

It is possible to receive a lot of data via Modbus, but I am not sure it is possible to get the values of the CT, they are however "essential".

However, with the current script, I have a strange behavior, at night, the system records a very light solar output 0.01KW while this value is 0 in the EMA APP.
For some reason I don’t know the entity: sensor.solar_power_produced_l1 gives the value of 0.011

Any idea what that behavior was?

Capture d’écran 2023-11-29 à 17 12 01

Capture d’écran 2023-11-29 à 17 14 31

@wildekek
Copy link

wildekek commented Nov 29, 2023

However, with the current script, I have a strange behavior, at night, the system records a very light solar output 0.01KW while this value is 0 in the EMA APP. For some reason I don’t know the entity: sensor.solar_power_produced_l1 gives the value of 0.011

Any idea what that behavior was?

I have the same issue, but for me the value is 0,002kW. The reason is that the ECU rest API still really does report this value at night:

{"time":"20231129063613","powerA":2,"powerB":0,"powerC":0},
{"time":"20231129064113","powerA":2,"powerB":0,"powerC":0},
{"time":"20231129064613","powerA":2,"powerB":0,"powerC":0},
{"time":"20231129065113","powerA":0,"powerB":0,"powerC":0},
{"time":"20231129065613","powerA":0,"powerB":33,"powerC":20}

I assume this is really just a calibration issue in the ECU, so I don't really want to fix that in my scripts, since it can vary per ECU. There are CT clamp calibration settings in the ECU at http://[ip]/index.php/configuration/meter, but I don't feel comfortable editing those myself. I learned to live with it, but if you are able to get the values calibrated I'd love to hear it.

@didierst
Copy link

Thank you for the feedback, it would be interesting to get some feedback from other users to determine the importance / average of "drift" in the worst case, we could via the code, consider that anything below the drift value is considered to be 0

Calibration requires a constant and calibrated source of voltage/current, which is not within everyone’s reach, I guess APS use a filter that probably only considers a value above a certain threshold to be considered "real"

That said, the script works very well as it is, and you can easily live with this micro production at night, we only have to say that it is induced by the light of the full moon :)

@didierst
Copy link

{"time":1701213125000,"powerA":11,"powerB":0,"powerC":0},{"time":1701213427000,"powerA":11,"powerB":0,"powerC":0},{"time":1701213728000,"powerA":11,"powerB":0,"powerC":0},{"time":1701214029000,"powerA":11,"powerB":0,"powerC":0}

@HAEdwin HAEdwin added the ECU-C APsystems ECU-C label Dec 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ECU-C APsystems ECU-C
Projects
None yet
Development

No branches or pull requests

8 participants