Victron integrated with HA and EMHASS - My Single Guide

Check address 791. My guess is that if it returns 1 (voltage/current limited) this should denote the MPPT is being throttled and not producing at full power.

Ok I now have Solar Power in Watts.

Buy how do I add this to my energy dashboard?

Ik meen dat je het grid setpoint een waarde geeft dit is dus in jouw geval ook voor 3 fase

Hi @kc_au

Thanks you for your awesome guide (it’s working fine also with my installation) !

Did you also setup an energy dashboard. In my setup, the battery and the solar production are missing, you to ?

2 Likes

Ive got a rough dashboard going


4 Likes

Dear @kc_au
Thank You VERY MUCH for your explanation… I have integrated my Multiplus 2 with your code !

I try desperately to monitor the US3000C Pylontech Temperature Battery in my HA OS … So I think it is very important to monitor the temperature of Pylontech batteries with HAOS…

Could you give me the Modbus adresse from it please ?

#Battery
- name: ‘Average Pylontech Temperature’
unit_of_measurement: “°C”
slave: xxxx #HUB :roll_eyes:
address: yyyy :thinking:
data_type: int16 :stuck_out_tongue_winking_eye:
scale: 0.1
precision: 0
device_class: temperature

Best regards
Alexandre from France

from the excel if your battery is available on the hub i think this would work:

#Battery
- name: ‘Average Pylontech Temperature’
unit_of_measurement: “°C”
slave: 100
address: 61
data_type: int16
precision: 1
device_class: temperature

I’m really struggeling to get the ‘sensor.power_load_no_var_loads’ to working.
this is what my template sensor looks like:

- sensor:
    - name: "Power load no var loads"
      unique_id: fbfeef21-1aa3-4a54-b781-426f46fef597
      unit_of_measurement: "W"
      device_class: power
      value_template: >
        {% set powerload = states('sensor.victron_grid_load') | float(default=0) %}
        {{ powerload }}

EMHASS shows this in the logs:

ERROR - Variable sensor.power_load_no_var_loads was not found. This is typically because no data could be retrieved from Home Assistant
2023-08-07 17:10:12,845 - web_server - ERROR - Exception on /action/dayahead-optim [POST]
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2190, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1486, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1484, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1469, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "/usr/local/lib/python3.9/dist-packages/emhass/web_server.py", line 174, in action_call
    input_data_dict = set_input_data_dict(config_path, str(data_path), costfun,
  File "/usr/local/lib/python3.9/dist-packages/emhass/command_line.py", line 91, in set_input_data_dict
    P_load_forecast = fcst.get_load_forecast(method=optim_conf['load_forecast_method'])
  File "/usr/local/lib/python3.9/dist-packages/emhass/forecast.py", line 586, in get_load_forecast
    rh.prepare_data(self.retrieve_hass_conf['var_load'], load_negative = self.retrieve_hass_conf['load_negative'],
  File "/usr/local/lib/python3.9/dist-packages/emhass/retrieve_hass.py", line 187, in prepare_data
    self.df_final.drop([var_load], inplace=True, axis=1)
  File "/usr/local/lib/python3.9/dist-packages/pandas/util/_decorators.py", line 311, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pandas/core/frame.py", line 4948, in drop
    return super().drop(
  File "/usr/local/lib/python3.9/dist-packages/pandas/core/generic.py", line 4279, in drop
    obj = obj._drop_axis(labels, axis, level=level, errors=errors)
  File "/usr/local/lib/python3.9/dist-packages/pandas/core/generic.py", line 4323, in _drop_axis
    new_axis = axis.drop(labels, errors=errors)
  File "/usr/local/lib/python3.9/dist-packages/pandas/core/indexes/base.py", line 6644, in drop
    raise KeyError(f"{list(labels[mask])} not found in axis")
KeyError: "['sensor.power_load_no_var_loads'] not found in axis"
2023-08-07 17:22:57,803 - web_server - INFO - Setting up needed data
2023-08-07 17:22:57,806 - web_server - INFO - Retrieving weather forecast data using method = scrapper
2023-08-07 17:22:58,339 - web_server - INFO - Setting up needed data
2023-08-07 17:22:58,348 - web_server - INFO - Retrieve hass get data method initiated...
2023-08-07 17:22:58,405 - web_server - ERROR - Variable sensor.power_load_no_var_loads was not found. This is typically because no data could be retrieved from Home Assistant

Please, advise on how your EMHASS sensor looks like.

did you have any luck with my suggestion?

How can I change the “limit charge power” or the “maximum charge power” via modbus. Thanks.

Thanks. Works great for me as MQTT is so unreliable

Regarding the initial post, Automation 2+3 can be done with just one single action, using this value-assignment:

value: "{{ ( states('input_number.input_current_slider') | int + 2**16 ) | int % 2**16 }}"

Hello, sorry but can someone please tell me where the error is.

I only get straight values ​​returned,

Multi shows e.g. 233W, I get 230.0 displayed, always rounded.

    - name: 'Victron Inverter AC IN L1 W'
      unit_of_measurement: "W"
      slave: 227
      address: 12
     # scan_interval: 5
      data_type: int16
      scale: 10
      precision: 1
      device_class: power 

I would like to read out the performance of the AC-1

multi 2

multi 3

Hi Everyone

Followed your guide, thanks so much got sensors to work,

I have two questions.

I cant seem to add the solar sensor to the solar panels any idea on this? Also it is in Watts and HA needs it to be in GJ, kWh, MJ, MWh, Wh.

And how do i combine Victron energy from Grid op phase 1,2 & 3?

Thanks in advance!

Any experience with the HACS integration in HA for victor GX??

Hi, you have to create a new Helper in /config/helpers like

{% set l1 = states('sensor.victron_system_grid_l1') | float %}
{% set l2 = states('sensor.victron_system_grid_l2') | float %}
{% set l3 = states('sensor.victron_system_grid_l3') | float %}
{{ (l1 + l2 + l3 ) | float }}

Sensors are coming from GitHub - sfstar/hass-victron: Integration for Home Assistant to fetch data from the victron gx device via modbusTCP integration.

And then use this new sensor in HA Energy dashboard setup.

Hi everybody. i was reading this post and also starting with modbus in homeassistant. according to my experience, it is better to switch to mqtt, where it is possible to control it fully than at the modbus level. modbus lost my connection under certain conditions

configuration.yaml

mqtt: !include_dir_merge_list mqtt/

create “mqtt” dir in file editor

open it

create file “binary_sensor.yaml”

 - binary_sensor:
    state_topic: 'N/***yours_victron_id***/vebus/276/Leds/Absorption'
    name: 'Led Absorption'
    unique_id: 'vebus/276/Leds/Absorption'
    payload_on: "1"
    payload_off: "0"
    value_template: '{{ value_json.value | int }}'
    device: {
         identifiers: [
          "Multiplus-II"
          ],
         manufacturer: "Victron Energy",
         model: "48/3000/35-32",
         name: "Multiplus-II"}

I can provide the entire code if anyone wants

1 Like

add to the sensor

device_class: ‘energy’
state_class: ‘total_increasing’

here is list https://developers.home-assistant.io/docs/core/entity/sensor/#long-term-statistics

mqtt is reliable, it just needs to be updated every 30 seconds, otherwise it will be lost

by command >- R/yours_victron_id/keepalive

is the Assistant really obligatory?

I red from Victron website that I need to put firmware v2xx or v3xx instead of the current v4xx