Wifi logger card abb vsn300 modbus

I have enabled a TCP Client on my WiFi VSN300 wifi logger card that runs on ABB Solar Inverter(Trio) . As far as I understand its supposed to run on SunSpec but no matter what config I try it still doesn’t want to connect to the card. Has anyone in this community have any experience with SunSpec or ABB?

This is now resolved. The solution was in the UNITID which in HA MODBUS plugin translates to Slave parameter. In configuration you need to provide connections params as follows.

modbus:
  - type: tcp
    host: 10.0.0.2
    port: 502
    name: abb

In sensors you need to add a sensor with proper slave id . example :

      -
        name: abb-fgrid-hertz
        hub: abb
        register: 86
        slave: 247
        scale: 0.01
        precision: 1
        data_type: int
        unit_of_measurement: "Hz"

This will allow to access 0x003 function and read holding registers. Would be good to get specifications for the ABB inverters to write up a nice card

HI would you be able to provide some more details of how you were able to get the data polling into Home Assistant. Ive got the same vsn300 card on my solar inverter but just a bit confused as to how to configure it properly. I am not able to see the sensor in lovelace.

I presume you didn’t configure config yet.

I get this message once I try and add in the sensor.

“This entity does not have a unique ID, therefore its settings cannot be managed from the UI”

I have tried to configure config with the following settings:

modbus:
  - type: tcp
    host: 192.168.1.5
    port: 502
    name: abb`

and this I put under sensor:

 - platform: modbus
    registers:
      - name: abb-fgrid-hertz
        hub: abb
        register: 1
        slave: 247
        scale: 0.01
        precision: 1
        data_type: int
        unit_of_measurement: "Hz"`

I would like to retrieve at least two values.

  1. Current Power
  2. Total Power Today

Well , first thing first is that Register : 1 is not Hz. Its something else.

And for power you have to use

    - name: abb-current-power-out
      hub: abb
      unit_of_measurement: "kW"
      register: 84
      scale: 0.001
      precision: 1
      data_type: int
      slave: 247
    - name: abb-lifetime-power
      hub: abb
      unit_of_measurement: "kW"
      register: 94
      count: 2
      scale: 0.001
      precision: 1
      data_type: int
      slave: 247

I presume that bullshit values simply dont register in HA as entitites.
In Lovelace UI you can use following configuration
entity: sensor.abb_current_power_out
graph: line

icon: 'mdi:transmission-tower'
name: Power Out
type: sensor
unit: kW

Hi,
So i tried doing it the way that you advised but the sensors are still coming up as unavailable. Could you post a screenshot of what comes up on your end and how it responds in your Home Assistant lovelace UI. How do we know which register values to pull?

Sorry to hear that. I don’t think screen shots will help you in any way. Snippets I have sent are working with that card. I suppose you already went through steps of checking HA logs to see the modbus plugin errors and also used a Modbus client to try and read holding registers of AbB wifi logger card to eleminate the possibility that it doesnt work at all

This is the data I have been able to collect, so what would be my config card?

Try using 247 as slave id

Also I suggest to use software that you could atleast begin to understand. Obviously you didn’t pay attention to the thread above. Heres a simple version for you


As you can see register 94 gives me 66492D which in DEC world means 6703405 and that is exactly reflects my lifetime timer. So first learn to use windows software then try making the HomeAssistant module work

thanks mate, it’s working. For me, it was not on slave id 247, it was on slave id 2. Do you know where I can find any data on the register numbers? I’m looking to track power generation over the course of the day aswell. Current Specs look like this:

  - platform: modbus
     registers:
       - name: abb-current-power-out
         hub: abb
         unit_of_measurement: "kW"
         register: 84
         scale: 0.001
         precision: 1
         data_type: int
         slave: 2
       - name: abb-lifetime-power
         hub: abb
         unit_of_measurement: "kW"
         register: 94
         count: 2
         scale: 0.001
         precision: 1
         data_type: int
         slave: 2

So now you paid attention :slight_smile: The information about our data logger cards is not so good. I actually use the power of data aggregation of Home Assistant itself and therefore I know exactly how much does it make through the day.

Heres my part of config, hope it helps

    - name: abb-fgrid-hertz
      hub: abb
      register: 86
      slave: 247
      scale: 0.01
      precision: 1
      data_type: int
      unit_of_measurement: "Hz"
    - name: abb-inverter-status
      hub: abb
      register: 108
      slave: 247
      data_type: int
    - name: abb-ambient-temperature
      hub: abb
      unit_of_measurement: "°C"
      device_class: temperature
      register: 103
      scale: 0.1
      precision: 1
      data_type: int
      slave: 247
    - name: abb-Lin1-Amp
      hub: abb
      unit_of_measurement: "A"
      register: 141
      scale: 0.01
      precision: 1
      data_type: int
      slave: 247
    - name: abb-Vin1-Volt
      hub: abb
      unit_of_measurement: "V"
      register: 142
      scale: 0.1
      precision: 1
      data_type: int
      slave: 247
    - name: abb-Lin2-Amp
      hub: abb
      unit_of_measurement: "A"
      register: 161
      scale: 0.01
      precision: 1
      data_type: int
      slave: 247
    - name: abb-Vin2-Volt
      hub: abb
      unit_of_measurement: "V"
      register: 162
      scale: 0.1
      precision: 1
      data_type: int
      slave: 247
    - name: abb-current-power-out
      hub: abb
      unit_of_measurement: "kW"
      register: 84
      scale: 0.001
      precision: 1
      data_type: int
      slave: 247
    - name: abb-lifetime-power
      hub: abb
      unit_of_measurement: "kW"
      register: 94
      count: 2
      scale: 0.001
      precision: 1
      data_type: int
      slave: 247
  scan_interval: 10
- platform: template
  sensors:
    abb_inverter_status_friendly:
      friendly_name: "Inverter Status"
      value_template: >
        {% if is_state("sensor.abb_inverter_status", "4") -%}
          Active
        {% elif is_state("sensor.abb_inverter_status", "8") -%}
          Standby
        {% elif is_state("sensor.abb_inverter_status", "2") -%}
          Sleeping
        {% elif is_state("sensor.abb_inverter_status", "3") -%}
          Starting
        {% elif is_state("sensor.abb_inverter_status", "5") -%}
          Throttled
        {% elif is_state("sensor.abb_inverter_status", "6") -%}
          Shutting down
        {% elif is_state("sensor.abb_inverter_status", "7") -%}
          Fault
        {% elif is_state("sensor.abb_inverter_status", "1") -%}
          Off
        {% else -%}
          Figure out what state {{ states("sensor.abb_inverter_status") }} means
        {%- endif %}
1 Like

In case you still need it, I’m almost finished with this custom component, I need to fix the documentation and fix some cosmetic issue, but it works fine. It’s based on the work of @binsentsu and his SolarEdge custom component.

This is a very good addition if you can share it

What inverter do you have? Mono or 3-phase? Because I’m curious to see what happens on mono phase inverters, I don’t know if it works ok on those, since I used the SunSpec 103 and 160 map, and those are for the 3-phase inverters. But I need to test it…if you want to help me as beta tester, I’ll write you in private.

I have Trio 8.5 TL unfortunatelly.

I wrote you privately.

Hello. Found this looking for VSN300 + “PVI-3.0-TL-OUTD-S”, and after unknownly half-redoing @alexdelprete 's work I found his repo with his custom component, which seems to work absolutely perfect. GitHub - alexdelprete/ha-abb-powerone-pvi-sunspec: HA Custom Component to integrate data from ABB/Power-One/FIMER PV Inverters that support SunSpec Modbus (Sunspec M1, M101, M103, M160), natively or through the VSN300 wifi logger card. Thank you @alexdelprete !!!

Thanks for the kind words. You can find the discussion for that component here: Custom Component: ABB/Power-One/FIMER PV Inverters - SunSpec Modbus TCP