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

DVCC: Also control AC chargers and inverters #736

Open
4 of 10 tasks
izak opened this issue Nov 23, 2020 · 10 comments
Open
4 of 10 tasks

DVCC: Also control AC chargers and inverters #736

izak opened this issue Nov 23, 2020 · 10 comments
Assignees

Comments

@izak
Copy link
Collaborator

izak commented Nov 23, 2020

Todo list

  • Implement for Inverter RS (done per v2.80-something)
    • Switch off inverter when battery sends DCL=0
    • Show on the overview when the inverter is off due to DCL=0
  • Implement it for the chargers
    • Add link parameters to VE.Direct driver for chargers - vedirect-interface v3.67, included in venus 2.80~27
    • Send charge voltage to AC chargers
    • Distribute DVCC charge current limit also over AC chargers.
    • Phoenix Smart Chargers (VE.Direct) - hw rev 2 only!
    • Skylla-i (VE.Can)
    • Skylla IP44, now available as Skylla IP65

Limitations

  • Phoenix VE.Direct Inverters will not become DVCC controlled. They don't have the required feature set in firmware, and we're not going to work around that in Venus OS as the end result will not be stable enough.
  • Phoenix Smart Chargers: Making DVCC work on the hw rev 1 models was too complicated/impossible; For hw rev 2 it is possible, which is also the revision that reduces the chargers inrush current as well as makes the Phoenix Smart Charger a universal AC input charger. First hw rev 2 units sold per spring 2022
@izak izak self-assigned this Nov 23, 2020
@izak
Copy link
Collaborator Author

izak commented Apr 13, 2021

Assigning Martin, because there is a question about the Phoenix Smart IP43 Charger. It supports these vregs already:

  • VE_REG_LINK_VSET
  • VE_REG_LINK_CHARGE_CURRENT_LIMIT
  • VE_REG_LINK_NETWORK_MODE
  • VE_REG_BAT_MAX_CURRENT

But it does not currently support receiving VE_REG_LINK_VSENSE, VE_REG_LINK_TSENSE, and VE_REG_LINK_BATTERY_CURRENT (SVS, STS and SCS) from both VE.Smart networking and VE.Direct. If this is to be added as well, firmware work will be required.

@mpvader
Copy link
Contributor

mpvader commented Apr 13, 2021

Hey @izak , Martin wont have time for this anytime soon. Pls start with a different charger model: the Skylla IP65

izak added a commit to victronenergy/dbus-systemcalc-py that referenced this issue Jun 2, 2021
When you receive DCL=0, switch off inverters by setting /Mode=4.
When manual switch is used, the inverter disappears from dbus.
Hence we cannot accidentally turn an inverter on that was manually
off.

For Inverter-RS, simply copy DischargeCurrent across. Firmware already switches off.

victronenergy/venus#736
izak added a commit to victronenergy/dbus-systemcalc-py that referenced this issue Jun 2, 2021
Only allow DVCC to turn an inverter on, if it was previously turned off by
DVCC. If inverter was soft-turned off manually, leave it off.

victronenergy/venus#736
izak added a commit to victronenergy/dbus-systemcalc-py that referenced this issue Jun 4, 2021
When you receive DCL=0, switch off inverters by setting /Mode=4.
When manual switch is used, the inverter disappears from dbus.
Hence we cannot accidentally turn an inverter on that was manually
off.

For Inverter-RS, simply copy DischargeCurrent across. Firmware already switches off.

victronenergy/venus#736
izak added a commit to victronenergy/dbus-systemcalc-py that referenced this issue Jun 4, 2021
Only allow DVCC to turn an inverter on, if it was previously turned off by
DVCC. If inverter was soft-turned off manually, leave it off.

victronenergy/venus#736
jhofstee added a commit to victronenergy/meta-victronenergy that referenced this issue Jul 9, 2021
….74 & v2.75

Add full DVCC support for Inverter RS, including CVL, CCL, SVS, STS and SCS.
Closes victronenergy/venus#803
Implement logic for ActiveAcIn in systemcalc so it can move out of the GUI
    Fix problem where grid meter reading disappears from GUI when Multi is off
Fix hubtype indication
    Turning off a Multi in an ESS system would cause hubtype to change to Hub-1
    Overview would change and Critical Loads block would disappear when turning off Multi.
    victronenergy/venus#806
Improve System State display
    In system without a Multi but w* dbus-generator v1.4.0 & v1.4.1
Update to python3
Fix unit tests broken since Venus 2.70.ith a managed battery, show when discharge is
    allowed/disallowed by battery
Support for Lynx Smart BMS (Backported to 2.72~2 as patch)
    Stop all chargers when CCL=0 (charge current limit) is received.
Switch off inverters when DCL=0 (discharge current limit) is received from a managed battery
    For Inverter RS, copy the the DCL to the inverter. Firmware 1.04 switches off inverter.
    For other inverters (not Multis), switch the inverter off by setting Mode to Off.
    victronenergy/venus#736
Fix possible crash when non-ascii character used in battery measurement name
    No actual cases found, part of a wider unicode cleanup
Clean up BMS selection where there is another battery monitor in the system
    Since Venus 2.30, it is possible to set the battery monitor to a BMV, but still use the
    charge parameters from a BMS in the system.
    This hidden functionality is not shown anywhere, so instead remove it and make it simpler.
    victronenergy/venus#783
Force DVCC settings for pylontech batteries
    Set this as the documentation already advises: DVCC=on, SVS=off, STS=off.
    victronenergy/venus#784
Upgrade to Python3
@mpvader
Copy link
Contributor

mpvader commented Aug 17, 2021

For inverter control, this is now implemented such that systemcalc controls Phoenix VE.Direct Inverter via their normal on/off switch. And for that to properly work, Venus OS keeps state: ie it doesn’t switch an inverter on if it was first off.

Which is not good enough. Its needs taking out.

This whole issue came up for the Inverter RS, not for these Phoenix VE.Direct Inverters. So also no need to now add them in in a non proper manner.

Control for Phoenix Inverters needs to be removed, including its keeping state. While keeping the Inverter RS part in.

And then leave it like that: Phoenix Inverters with VE.Direct port are simply not supported at the moment. And then some day we can make it properly, including a fw change of the PHoenix Inverter VE.Direct; but not now since that team has other prios.

@mpvader mpvader added this to the v2.80 milestone Aug 17, 2021
izak added a commit to victronenergy/dbus-systemcalc-py that referenced this issue Aug 18, 2021
This is much better done in firmware in future. For now
we support only InverterRS.

This reverts d872937.
This partially reverts d47c0e3.

victronenergy/venus#736
jhofstee added a commit to victronenergy/meta-victronenergy that referenced this issue Sep 2, 2021
Remove DVCC support for Phoenix inverters (note: Inverter RS is still supported)
    It is better implemented as Link Vregs in firmware.
    victronenergy/venus#736
Add venus version and build date/time to dbus/mqtt
    For use in html5 app
    Closes victronenergy/venus#838
Add support for fuel cell devices
    This adds support for accounting of DC power, or using a fuel cell as a
    voltage measuring service.
Add AC-input summary for UIs (GUI, VRM) so they know what inputs are available,
    used, and where to find data for it.
    victronenergy/venus#843
@izak
Copy link
Collaborator Author

izak commented Sep 22, 2021

Some investigation today: It doesn't look as if the Skylla IP65 supports VE_REG_LINK_NETWORK_MODE, and writing to VE_REG_LINK_VSET is not supported. The charger has firmware v1.10 installed, which is the latest.

@mpvader
Copy link
Contributor

mpvader commented Dec 15, 2021

@izak what is the status on this? Iirc you worked on it with Martin for the Phoenix IP43 charger rev 2, connected via VE.Direct? (and the rev1 model won't get this due to hardware limitations).

Basically, what I want to know is what has changed between v2.73 and v2.80-now. And what will then remain to be done later.

Also for changelog and documentation.

@izak
Copy link
Collaborator Author

izak commented Dec 16, 2021

I started working on it and found that basically none of our chargers supported the VREGs required for this. Martin then added them for the Phoenix IP43 charger. He also made changes to systemcalc to test it, but I have yet to look at his changes and possibly incorporate them. What needs a bit more thought is prioritising solar over AC chargers, something I don't think has been done.

@mpvader mpvader modified the milestones: v2.80, v2.90 Jan 31, 2022
@ThiemoVanEngelen
Copy link

Add link parameters to VE.Direct driver for chargers

This is implemented in vedirect-interface v3.67, included in venus 2.80~27.

@mpvader mpvader removed this from the v2.90 milestone Aug 16, 2022
@mpvader
Copy link
Contributor

mpvader commented Aug 16, 2022

removed from v2.90 milestone; its not finished, and not important enough to delay v2.90 any further either.

@chaerle
Copy link

chaerle commented Feb 14, 2023

When will this be integrated? Currently the Multiplus II is not following DCL=0 or CCL=0 but still charging/discharging the battery even though forbidden by the battery. It could drive battery into overvoltage or undervoltage. DCL=0 and DCL=0 must be followed under all circumstances.

. Also Modbus register 38 is not working like documented.

https://community.victronenergy.com/questions/186404/multiplus-ii-switch-of-charger-inverter-on-dcl0-or.html

@msigman
Copy link

msigman commented Jun 10, 2023

Also interested in this functionality as I have a Phoenix Smart Charger (VE.Direct HW Rev 2) that I would very much like to get under DVCC control. I am willing to help code and/or test, with some guidance, if it would speed things along. Cheers

@ThiemoVanEngelen ThiemoVanEngelen removed their assignment Feb 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants