Solar panel installation. Which Inverter?

Which model could be more easily used in HASS

ABB has this
https://library.e.abb.com/public/d6ce92a1981c43b4b5a192e3f0849690/VSN300%20WIFI%20LOGGER%20CARD_BCD.00412_IT_RevD.pdf

I have Enphase S270 micro-inverters installed together with an Envoy-S gateway. This little box talks to the micro-inverters and captures the electricity production as well as consumption data. It sends the data off to the cloud, but it also has a (rather undocumented) JSON interface that my HA instance interrogates regularly to retrieve current power, and today/last 7 days/lifetime energy figures.

To actually make use of the information I display the net consumption/production value on my dashboard which helps making a decision on whether to turn on some appliance. The UI still needs some fine-tuning, e.g. when exporting electricity to the grid it should probably say “Net Production” with a positive value.
energy-dashboard

At my previous house I had an SMA SunnyBoy inverter (which I liked for it’s off grid backup system) and an SMA WebConnect module. I wrote some python code to poll the WebConnect and emit MQTT messages w/ a json payload for instantaneous power and daily energy data. It worked great for me for several years. If you’re interested, you can find the code in this repository.. Of course I’ve moved since then so I don’t have access to the inverter anymore…

I will check if I can get that type of inverter here in Italy.

YOu think that having the above ABB inverter will be difficult to do what you did? Found this

Hey buddy, wouldn’t mind seeing your code for this. I also have some S270 and an Envoy-S but I’m struggling to get the data. I’ve tried via REST, but I keep getting an error.

Also, I like your big buttons showing consumption and if you are importing or exporting.

Thanks bud.

Hey or making things very simple:

just use an aeotec energy meter with 2 clamps? Basically the thing below (but without the need to buy the elios4you “thing”)

Cattura

I already have the data with the Envoy-S and it’s clamps. No need for more. I’m just trying to read it and get it into HA.

sure, just trying to understand if this envoy-s (or similar) is needed, or you just need the 2 clamps (zwave) and read the data in HASS … very simple

I already have the Envoy-S. I just need to understand how to read JSON files. Some need username and password as well. :frowning:

understood: YOU have it. I do NOT have it, trying to understand if I need it, or I can skip it

ah, no worries. I read it as if I need these extra components. LOL. Late in the day. Time for a beer.

No worries - here comes my Envoy package configuration:

# Envoy package

sensor:
  # Envoy Integrated Meter - Production
  - platform: rest
    name: Envoy Production Integrated Meter - Lifetime
    resource: http://<envoy ip address>/production.json
    value_template: '{{ "%.1f" | format(value_json.production[1].whLifetime) }}'
    method: GET
    unit_of_measurement: "Wh"
  - platform: rest
    name: Envoy Production Integrated Meter - Last Seven Days
    resource: http://<envoy ip address>/production.json
    value_template: '{{ "%.1f" | format(value_json.production[1].whLastSevenDays) }}'
    method: GET
    unit_of_measurement: "Wh"
  - platform: rest
    name: Envoy Production Integrated Meter - Today
    resource: http://<envoy ip address>/production.json
    value_template: '{{ "%.1f" | format(value_json.production[1].whToday) }}'
    method: GET
    unit_of_measurement: "Wh"
  - platform: rest
    name: Envoy Production Integrated Meter - Now
    resource: http://<envoy ip address>/production.json
    value_template: '{{ "%.1f" | format(value_json.production[1].wNow) }}'
    method: GET
    unit_of_measurement: "W"
  # Envoy Integrated Meter - Total Consumption
  - platform: rest
    name: Envoy Consumption Integrated Meter - Lifetime
    resource: http://<envoy ip address>/production.json
    value_template: '{{ "%.1f" | format(value_json.consumption[0].whLifetime) }}'
    method: GET
    unit_of_measurement: "Wh"
  - platform: rest
    name: Envoy Consumption Integrated Meter - Last Seven Days
    resource: http://<envoy ip address>/production.json
    value_template: '{{ "%.1f" | format(value_json.consumption[0].whLastSevenDays) }}'
    method: GET
    unit_of_measurement: "Wh"
  - platform: rest
    name: Envoy Consumption Integrated Meter - Today
    resource: http://<envoy ip address>/production.json
    value_template: '{{ "%.1f" | format(value_json.consumption[0].whToday) }}'
    #value_template: '{{ "%.1f" | format(float(value_json.consumption[0].whToday) / 1000) }}'
    method: GET
    unit_of_measurement: "Wh"
  - platform: rest
    name: Envoy Consumption Integrated Meter - Now
    resource: http://<envoy ip address>/production.json
    value_template: '{{ "%.1f" | format(value_json.consumption[0].wNow) }}'
    method: GET
    unit_of_measurement: "W"
  # Envoy Integrated Meter - Net Consumption
  - platform: rest
    name: Net Consumption - Now
    resource: http://<envoy ip address>/production.json
    value_template: '{{ "%.1f" | format(value_json.consumption[1].wNow) }}'
    method: GET
    unit_of_measurement: "W"

binary_sensor:
  - platform: template
    sensors:
      power_importing:
        value_template: '{{ (states.sensor.net_consumption__now.state | float) > 0}}'
        friendly_name: 'Importing'
      power_exporting:
        value_template: '{{ (states.sensor.net_consumption__now.state | float) <= 0}}'
        friendly_name: 'Exporting'

I can retrieve the JSON data via http://<envoy ip address>/production.json without a password.

And my HA Dashboard config:

energy_net_consumption:
  widget_type: sensor
  title: Net Consumption
  units: "W"
  precision: 0
  entity: sensor.net_consumption__now

energy_import_export:
  widget_type: binary_sensor
  title: Electricity
  icon_on: mdi-arrow-down-box
  icon_style_active: "color: red; font-size: 400%; top: 35px"
  icon_off: mdi-arrow-up-box
  icon_style_inactive: "color: green; font-size: 400%; top: 35px"
  state_text: 1
  state_map:
    "on": Importing Grid
    "off": Exporting Solar
  entity: binary_sensor.power_importing

A couple of things I would like to improve in the long term:

  • Combine the import/export binary sensors into a single one, showing different icons as a badge.
  • Change unit of measurement display: If value <= 1000 then show in ‘W’, if value > 1000 show in ‘kW’. Same for Wh and kWh.
  • In HA Dashboard: Combine the two widgets into one - showing a large icon and the wattage value smaller underneath.
1 Like

You will need something like the Envoy-S if you use micro-inverters such as the Enphase S270. The main purpose of the Envoy-S is to communicate with all micro-inverters (via power line) and gather their production data. Furthermore the Envoy-S is measuring the electricity consumption. The data is sent to Enphase’s cloud service and they give you access to all the data with some nice graphs. As far as I understand, the Envoy-S box can also gather data from a battery, but I do not own one.

With different inverters you may have access to different technologies. The ABB inverter that you linked earlier, apparently provides direct access to its data. But how and if that data is accessible and useful for home automation is a question for someone who owns one.

Those clamps work without a solar system or inverters and measure your electricity consumption. Not sure, if they could also measure electricity production if you add a solar system to the mix.

Thanks mate. I’ll check it out over the weekend.

Yes clear. But with a solar panel installation with an inverter you have two counters correct?

So you should have three/four cables (production from panel, consumption from grid, consumption from battery, consumption from solar.

No?

Where do you live?

I need products available where I am, Italy.

Is a 6KW a micro inverter?

EDIT Oh I see those are inverters for each panel, I guess very expensive solution

Well, an inverter is just transforming produced electricity. What information it provides to the outside world, and whether or not it can measure the electricity consumption, too, depends on the manufacturer and model.

I am not an electrician, and have no idea how my Envoy-S is wired up. I know that it talks to the micro inverters via power line, i.e. the data provided by the micro inverters travels through the electrical cable.

I live in Australia.
I don’t want to sound like advertising specific products here, but the ones I use appear to be available in Italy, too.

Micro inverters are directly attached to each solar panel. I have a 5kW system with 16 LG 320W panels each paired with a dedicated enphase S270 micro inverter.
6kW does not sound like a micro inverter, but a large one that bundles the DC-AC conversion for all panels.

I expressed myself wrongly, sorry.

I mean that with a solar panel installation connected to the grid, your utility obliges you to have 2 counters: one for the electricity production that you put INTO the grid, and one for the electricity that you GET from the grid: becuase the 2 have different pricing.

Having two counters, if you put Aeotec (or similar) simple clamps on the 2 counters, you should have those value in HASS pretty easily (energy sent to the grid, energy consumed from the grid).

Then, I think, you will need another clamp outside from the inverter, which is your energy produced

yeah, so having 24 (my case) microinverter compared to one big inverter. I guess 24 costs a lot more

The 6KW inverter costs 1000 Euro

Yes now I understand, so basically you have 16 signals telling exactly each MODULE how is behaving.

Isn’t too much information? I mean is it worth to spend so much more for that?

My 6KW installation costs are the following:

1000 Euro inverter
3000 Euro panels (0,45 x 270W x 24) (the 300W are more expensive per watt)
1000 Euro fixing (the rails on the roof)
1000 Euro mounting (the workers)
500 Euro the engineering plus administrative
500 Euro cabling

Is a total of 7000 Euro if you do it yourselkf. If you ask a company for doing it all for you you add 2.000 Euro.

So a 6KW installation is 9/10.000 Euro price.

How much did you pay?