[APP][Pro] Victron Energy

Blue Power

https://www.victronenergy.com/

App Store Page

https://homey.app/a/com.victronenergy

Description

Monitor and control your Victron system through its GX device (Cerbo GX, Ekrano GX, Venus GX, …). The app talks to the GX using its Modbus TCP interface. All communication goes via the GX, never directly to the other Victron products.

Device types

Add the device types that match the equipment in your system. You don’t need all of them, and you can add more than one of the same type, e.g. several batteries, solar chargers or tanks.

Device type What it shows / does Homey Energy Modbus service (Unit ID)
Battery State of charge, power, voltage, current, temperature, cell voltages, charged/discharged energy Home battery com.victronenergy.battery
Solar Charger (MPPT) PV power, current, voltage, daily and total yield Solar panel com.victronenergy.solarcharger
PV Inverter (AC-coupled, e.g. Fronius) Power, current and voltage per phase Solar panel com.victronenergy.pvinverter
Energy Meter (grid meter) Power, current and voltage per phase, imported/exported energy Main meter com.victronenergy.grid
EV Charger (Victron EVCS) Charging state, power, energy, start/stop, mode and current EV charger com.victronenergy.evcharger
Generator Generator status and power – com.victronenergy.generator
Tank sensor Tank level and status – com.victronenergy.tank
Temperature sensor Temperature, humidity, pressure – com.victronenergy.temperature
Victron GX System overview (grid, PV, battery, consumption), ESS and Dynamic ESS control, relays, charging schedules – com.victronenergy.vebus
Victron VRM Solar and consumption forecasts, Dynamic ESS Green/Trade mode. Uses the VRM cloud API, not Modbus – – (personal access token)

Do I need the “Victron GX” device type?

Only if your system has a VE.Bus inverter/charger (MultiPlus, Quattro, …). Despite the name, this device type reads from the VE.Bus service and is used to control ESS. If your system has no Multi or Quattro, e.g. just MPPTs and a battery, adding it will fail with “Wrong unitId for this device type”. Add the Battery, Solar Charger, Energy Meter etc. device types instead. They give you the same readings.

Before adding devices

  • Your Homey must be able to reach the GX on the network. You need its IP address and the Modbus port (502 by default).
  • Enable Modbus TCP on the GX: Settings → Integrations → Modbus TCP Server → Enable Modbus/TCP (on older firmware: Settings → Services → Modbus/TCP).
  • Each device type needs its own Unit ID. Find it on the GX under Settings → Integrations → Modbus TCP Server → Available services. Look up the service name from the table above and use the Unit ID listed next to it. Unit ID 100 (com.victronenergy.system) is not the right one for any of the device types.
  • Charging schedule actions on the GX device type use MQTT. Enable MQTT on the GX (Settings → Integrations → MQTT) if you want to use them.
  • For the VRM device, create a personal access token in the VRM Portal (Preferences → Integrations → Access tokens).

Flow cards

Most device types come with triggers, conditions and actions. The GX device type has the most: switch position, grid setpoint, charge/discharge/feed-in limits, minimum SoC, ESS and Dynamic ESS mode, relays and charging schedules. Browse them in the Flow editor.

Disclaimer

Use this app at your own risk.
An ESS is complex, and it’s easy to forget that some flow changes a setting. Pay attention to the actions you use. If your system is configured to charge at max 40 A, don’t set it to 200 A and hope for the best.

As usual, any feedback is welcome :smile:

Screenshot from the app

That´s what i was waiting for :+1: :+1: :+1:

Hi!

Excellent app for Homey.

Any chance that you can add “Time since last full charge” to trigger or condition? This way I would be able to force a full charge every XX hours from the grid - I combine that with Tibber integration in homey so that I only charge up the batterybank when its Very Cheap price on the grid.

/Kaj

Hi!
Sorry for the slow response.
Feels like I need to understand a little more of the use case to understand what the need is.
Fully charge should be taken from the battery state of charge, when it hits 100% we set a timestamp, then using a condition you can check how many minutes(?) it was since last time the state of charge was 100%?

There is a new test version of the app available, 0.9.6.
There are some new features related to vehicle charging. I myself reduce max discharge from the battery when a vehicle is charging.
There is also a feature to automatically control charge current based on state of charge.
The settings for these new features are in advanced settings on the device.

When using Victron Smart Shunt (or their regular shunt) connected to the GX device it reports, among other stuff, time since last full charge.

in victron dbus world its the following register/value. Can that be accessed over MQTT?

com.victronenergy.battery/History/TimeSinceLastFullCharge

Is a Victron shunt a requirement to see the History values? I can read those values via modbus on my setup but they all return 0.

Another “issue” is that we in such a case need to map how to address the dbus-service-name for the service com.victronenergy.battery. In my setup this is Unit ID 225 (CAN-bus BMS).
The mapping can be seen in menu “Settings → Services → Modbus/TCP → Available services”. Wonder what Unit IDs people have here in their setups.

In my install its Unit ID 226 (com.victronenergy.battery).

Would a solution be to have a input field where one has to define the Shunts ID?

I need to doublecheck with a MQTT client to my GX device that its the only place in the mqtt flow that shows time since last charge. Since the charger/inverter keeps tab of the SOC if there isnt any external shunt / BMS connected it might have that information somewhere else aswell.

/Kaj

@KajLehtinen Test version 0.9.7 allows you to select com.victronenergy.battery and see value of time since last full charge in advanced settings, info section + a condition to query it. Please try it out and let me know what you think.

The test version is as always available here

Hello,
My system use a UnitId for com.victronenergy.vebus that is not listed as an option, it is 228.
Can you please add it, i love to use these app for my homey.

Aaron

Somehow missed your reply, when setting the correct ID in Advanced settings it seems to pickup the right time in seconds since last full charge as what the Victron app & the Smartshunt reports.

Will redesign my charging flows to incorporate the time since full charge and let you know if there are any incosistencys

/Kaj

There is a new test version available (0.9.9) which includes vebus id 228 - let me know if it works as expected.

Hi, in my GX device the com.victronenergy.battery Unit ID is 224 which is not an option in the setup. Could you please add ID 224
Regards Ad

Version 1.0 on it’s way :+1:

Version 1.0.1 in test phase.
Changes the consumption property of the device to be recognised in Homey Energy as a smart meter.

Thanks for the update, GX is connected to Homey now. Next step is using the possibilities

I’ve been searching for a 12V system that could be connected to Homey. So Victron seemed like the right choice and in combination with this app it would be great.

So now I’m done with this but I’m not able to connect it to Homey. As I almost only use 12V I have no big inverter. I have a small one but it’s connected by VE Direct.

But if I understand it right I need an inverter connected by Vebus, so I can get a valid UnitId for com.victronenergy.vebus, to be able to connect it to Homey. Or am I missing something?

Hello, I have a Problem about integrating the GX into the Homey system
I know the IP address of the GX and also the Victron VEBus ID.
But I don’t have the Battery ID. Can anyone help me ?
The error message is: Connected successfullyton GX Device but Victron Energy Battery ist invalid

Thanks

anyone an idea ?