question

xmasin avatar image
xmasin asked

ESS control from Loxone

Hello,

I'm trying to control ESS from Loxone home automatization using Modbus TCP in ESS Mode 2. I'd like to implement similar funcionality as is currently in Dynamic ESS, but with some special settings for my setup. I'm able to set ESS control loop (registr 2700) and disable Feed energy to grid, but I have problem, that I'm not sure what register use for other functions:

1) Force to charge battery from grid (in remote console is possible to set planed charging, but how to do it use Modbus TCP? I'm not sure if register 2901 is usable - ESS Minimum SoC (unless grid fails) )

2) Force to disable discharging batteries (here seems, that register 2704 is useable).

Thank you

Radek Masin

ess settings
2 comments
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Mike Dorsett avatar image Mike Dorsett commented ·
0 Likes 0 ·
xmasin avatar image xmasin Mike Dorsett commented ·
I have studied this page, but some of registers was not clear for me.
0 Likes 0 ·
7 Answers
hornbyben avatar image
hornbyben answered ·

The approach I took was just to control everything with the grid setpoint. A negative value is export a positive value is import. The system will try to do this but still manage everything else. For example if you set the grid setpoint to -4400 (max export for a multiplus 5000) it will try to export but if you use too much power it will just export what it can.

The modes I settled on were:

  • Max export: grid setpoint at -4400
  • Grid pass through: dynamically set the setpoint to the consumption value (import what is used)
  • Hold battery: setpoint at solar minus consumption (i.e export excess solar rather than charge). Although as I write this it probably could be combined with the above.

I used offsets and min SOC values to put limits where appropriate. Below are some screenshots of my programming.screenshot-20240104-084406.png

screenshot-20240104-084429.png

To help it make sense, I have an EV charger and heat pump on the AC input side, so these are calculated out so I can see them separately in the Loxone app, and the rest of the house is after the multiplus on AC1 output. AC2 output is a socket in the garage controlled by the Cerbo relay.


I hope that helps.


1 comment
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

hornbyben avatar image hornbyben commented ·
I forget to mention that as I'm on a tariff with fixed periods (Octopus cosy) I use the scheduled charge on the Cerbo to charge the battery in the cheap periods, but a positive grid setpoint would do the same thing.
0 Likes 0 ·
xmasin avatar image
xmasin answered ·

I made some research and now I'm able to control my system from Loxone. I have only one problem with register 2704 (Inverter power limitation). When I write some value to register when is limimiting not active, limiting became active and set to send value, but I don't know how to disable it again.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

matess4rs avatar image
matess4rs answered ·

Hi, you have to write 0 to deactivate and allow full discharge power. I use in my project 2702, just 0 to disable discharge battery, or 100 to enable discharge battery.

1 comment
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

xmasin avatar image xmasin commented ·
For register 2704 this settings doesn't work, I have tried it.
0 Likes 0 ·
matess4rs avatar image
matess4rs answered ·

I assumed just from reading the register, without using it. I made some testing today, behaviour of 2704 register is strange. Partialy like 0%/100%

Writing 0, Discharge is not allowed, using grid for loads only.

Writing positive value e.g. 1000, discharging allowed, but without any limit, reading register shows value 1000

Writing back 0 value discharging not alowed

Writing negative value e.g. - 11000, discharge still not allowed, reading register still 0 value

Writing negative value -35000, discharging allowed again, but reading register shows value of 30536


Strange, but I do not use this register in my project, as I mentioned I use 2702 only for 0/100%. After finishing the test I wrote value 0, discharging was not allowed, but it was not possible to switch back by using register 2702, I had to go to console, ESS seting and manually switch of "Limit inverter power". After this my project is working again with 2702.

1 comment
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

xmasin avatar image xmasin commented ·
Do you have DVCC enabled? In TCP register list is written, that register 2702 not working when DVCC enabled. I have BMS managed bateries, so I must have DVCC enabled for correct ESS function.
0 Likes 0 ·
matess4rs avatar image
matess4rs answered ·

My DVCC is Forced ON, 2702 is working well. What wersion of TCP register list do you have? I work with 3.10 verision right now, nothing written there about this limitation. I just checked document version sheet of my register list and found interresting comment related to 2704 - "Make ESS max discharge current (2704) int16 so it can take -1 (disabled) as value" .... this is different information to what is written as description of 2704 in register list.

1 comment
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

xmasin avatar image xmasin commented ·

I have same version of TCP register list and I took some information from https://www.victronenergy.com/live/ess:ess_mode_2_and_3 . What data type do you have for register 2702? I have tried it today again without success.

0 Likes 0 ·
xmasin avatar image
xmasin answered ·

I made some more tests and I have found, that writing to register 2702 is working even DVCC is enabled, but not displayed in VenuxGX menu. I use VenusGX with VenusOS 3.13. With register 2704 I can write maximum discharge current, limitiation is active but not seen in menu to until buton Limit inverter button is set to on.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

xmasin avatar image
xmasin answered ·

I have one more problem. I'd like to disable battery charging from solar charge controller when is energy sell profitable, but I don't know how to do it. Register 2701 is not working with DVCC enabled and register 2705 is not working when Feed in is enabled. Is it way how to get this working?

1 comment
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

hornbyben avatar image hornbyben commented ·
Why not just use ESS and control the grid set point? It will do all the control for you.


To do what you want have a mode that sets the grid set point to consumption minus solar. E.g, if you had 2000W off the roof and 500W loads, 500-2000= -1500 (the system will export at 1500W).


Status blocks are a very good way to set these sort of modes up and give them a priority order.

0 Likes 0 ·

Related Resources

Additional resources still need to be added for this topic