question

Michael Timler avatar image

CCGX - DVCC -> How to Limit Charge Voltage using ModBus-TCP

I've noticed the addition in DVCC the ability to limit the managed battery charge voltage to a value of my liking. I am very happy, that this is finally possible now.
Now, I would like to set this maximum charge voltage using Home Assistant.

Inside my Modbus TCP services, I have access to com.victronenergy.systems.
According to CCGX-Modbus-TCP Register-list.xlsx, the only writing-enabled registers com.victronenergy.systems are the CCGX-relay-states.

Is there any possibility set the Maximum Charge Voltage per Modbus TCP from Home Assistant? If yes, what is the register of this service?

ESSCCGX Color ControlModbus TCPDVCC
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.

2 Answers
shaneyake avatar image
shaneyake answered ·

@Michael Timler It was just fixed, it was a read only register. It is now writable.
It will take sometime to reach the public release for GX firmware but it is in the works. Not too long now. It is address 2710 with a scale factor of 0.1V
https://github.com/victronenergy/venus/issues/849

4 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.

Thanks, this answered the question!

For those who are interested: I finally managed to write to adress 2710 with Home Assistant.

I use this to prevent my Pylontech US2000 stack to load to 100%. F.e a Maximum Charge Voltage of 51.4 V stops charging at around 95% BatterySOC.


Here an example to set the Maximum Charge Voltage using a slider type input_number

(https://www.home-assistant.io/integrations/input_number/)


First step:

Create an input_number helper.

Call it f.e. "Limit_Powerwall_Voltage_Helper", Min. 50, Max. 52,4, Step 0,1


Second step:

Create an Automation in config>automations


The automation should later show up in automations.yaml like this:


- id: '1645987579415' # Created by Automations GUI, can't do it by hand

alias: Limit Powerwall Voltage

description: Begrenzt die maximale Ladespannung des Victron MPPT-Verbundes

trigger:

- platform: state

entity_id: input_number.limit_powerwall_voltage_helper

condition: []

action:

- service: modbus.write_register

data:

address: 2710

unit: 100

hub: modbus_hub #depends on your defined modbus hub

value: '{ { states(''input_number.limit_powerwall_voltage_helper'') | float * 10 }}'

mode: single


READING WORKS LIKE THIS:

- name: "Limit Managed Battery Voltage"

data_type: uint16

unit_of_measurement: "V"

slave: 100

address: 2710

scale: 0.1

precision: 1

lsgv avatar image lsgv Michael Timler ·
Just for my information why do you want to limit full charge to 95%? I also have Pylontech stack and am interested in understanding your reasoning. Thanks.
mrhappy avatar image
mrhappy answered ·

Did you try this one?

chargelimit.png


chargelimit.png (80.7 KiB)
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.

Address 2705 is charge current, 2710 is Limit Managed Voltage.