Integrating with Home Assistant Energy Monitor

Can someone please write a simple, step by step way to get this to work?

The current documentation seems all over the place, disjointed, contradictory in some cases and hard to follow.


Assume everything is freshly installed.


Thank you.

Thread Status
12
3391
4
1
0

Sort replies by:

Hi:
Sorry, your question is too open and I do not know how to answer it.

There are different methods when you want to integrate the energy meter in different ways(core integration, hacs ,mqtt, modbus/tcp)

Please refer to this first https://www.iammeter.com/docs/summary-home-assistant

Nearly all methods provide both document and video tutorials, please select a specific method and have a try.
If you met a problem, please describe the specific question in this topic .
As detailed as possible (pics or videos is better than just words)

The link that @laoliu provides, I hope will cover it for you. But I understand your pain, because finding that link amoungst all the other Iammeter Home Assistant stuff is not easy from my experience. That is then significantly compounded by the fact there are lots of different methods of integrating it would can be quite confusing for the uninitiated.

So I am going to offer you a couple of words of advice which will hopefully be useful. While it is true to say each method has its pro's and cons, if you have no idea, I would focus on the Modbus approach. It has few advantages you might, or might not need. eg it does net metering and allows for rapid updates of 1/s if that is useful to you (you might not need this). It is relatively simple, and you just need to add config into your configuration.yaml file and restart. The configuration is outlined in a link off the links in the post above if you follow the tutorial. Specifically :-

Single phase WEM3080: modbusTCP in Home Assistant

Three phase WEM3080T: modbusTCP in Home Assistant

There is only 1 issue with the modbus implementation that I am having which I will make another post about. But I seem to get the off zero reading out of the blue in the export/import energy readings. This causes a minor glitch in the history graph which is not a big deal. But if you are using them in the Energy Dashboard they cause all sorts of grief because the energy dashboard uses the incremental charges to determine energy use. So if you have a big accumulative value that then goes to zero for 1 reading and back up again, it makes your energy use appear very big. There are a couple of work arounds (I can correct the data, or long term create a "filter" sensor that will filter this out, and use the filter sensor in the energy graph). But look for a future post on that.

You might also see if my post aboout Tesla charging from solar has some other useful clues for you.



Thanks a lot for your response.


For context, I have integrated the meter various ways and have some sensors showing up in HA (I have done direct, I have used HACs and now I just added the Modbus code the the configuration.yaml (probably overkill, and maybe that's where my problem is).

In any case, what I am trying to do now is to add my consumption to the Energy Dashboard on HA. Trying to do that doesn't show any of the sensors that's in the video (https://www.youtube.com/watch?v=gXZhPOrXxXQ) e.g "Grid Consumption Energy). The edit recommended in the video, throws up an error when I try to check yaml configuration. Error: Platform error sensor.iammeter - cannot import name 'real_time_api' from 'iammeter' (/usr/local/lib/python3.10/site-packages/iammeter/__init__.py)

I'll post my yaml code below. I'll appreciate any help.


# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

# Text to speech
tts:
- platform: google_translate

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
frontend:
themes: !include_dir_merge_named themes

homeassistant:
customize_glob:
sensor.*_energy:
last_reset: '1970-01-01T00:00:00+00:00'
device_class: DEVICE_CLASS_ENERGY
state_class: total_increasing
sensor.*_importenergy*:
last_reset: '1970-01-01T00:00:00+00:00'
device_class: DEVICE_CLASS_ENERGY
state_class: total_increasing
sensor.*_exportgrid*:
last_reset: '1970-01-01T00:00:00+00:00'
device_class: DEVICE_CLASS_ENERGY
state_class: total_increasing

# Example configuration.yaml entry for multiple TCP connections
modbus:
- name: hub1
type: tcp
host: edited: My devices IP
port: 502
sensors:
- name: Modbus_Voltage_A
slave: 1
address: 0
input_type: holding
unit_of_measurement: V
device_class: voltage
state_class: measurement
count: 1
scale: 0.01
offset: 0
precision: 1
data_type: uint16
- name: Modbus_Current_A
slave: 1
address: 1
input_type: holding
unit_of_measurement: A
device_class: current
state_class: measurement
count: 1
scale: 0.01
offset: 0
precision: 1
data_type: uint16
- name: Modbus_Power_A
slave: 1
address: 2
input_type: holding
unit_of_measurement: W
device_class: power
state_class: measurement
count: 2
scale: 1
offset: 0
precision: 0
data_type: int32
- name: Modbus_ImportEnergy_A
slave: 1
address: 4
input_type: holding
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
count: 2
scale: 0.00125
offset: 0
precision: 2
data_type: uint32
- name: Modbus_ExportGrid_A
slave: 1
address: 6
input_type: holding
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
count: 2
scale: 0.00125
offset: 0
precision: 2
data_type: uint32
- name: Modbus_PF_A
slave: 1
address: 8
input_type: holding
#unit_of_measurement: '%'
device_class: power_factor
state_class: measurement
count: 1
scale: 0.001
offset: 0
precision: 2
data_type: uint16

- name: Modbus_Voltage_B
slave: 1
address: 10
input_type: holding
unit_of_measurement: V
device_class: voltage
state_class: measurement
count: 1
scale: 0.01
offset: 0
precision: 1
data_type: uint16
- name: Modbus_Current_B
slave: 1
address: 11
input_type: holding
unit_of_measurement: A
device_class: current
state_class: measurement
count: 1
scale: 0.01
offset: 0
precision: 1
data_type: uint16
- name: Modbus_Power_B
slave: 1
address: 12
input_type: holding
unit_of_measurement: W
device_class: power
state_class: measurement
count: 2
scale: 1
offset: 0
precision: 0
data_type: int32
- name: Modbus_ImportEnergy_B
slave: 1
address: 14
input_type: holding
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
count: 2
scale: 0.00125
offset: 0
precision: 2
data_type: uint32
- name: Modbus_ExportGrid_B
slave: 1
address: 16
input_type: holding
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
count: 2
scale: 0.00125
offset: 0
precision: 2
data_type: uint32
- name: Modbus_PF_B
slave: 1
address: 18
input_type: holding
#unit_of_measurement: '%'
device_class: power_factor
state_class: measurement
count: 1
scale: 0.001
offset: 0
precision: 2
data_type: uint16

- name: Modbus_Voltage_C
slave: 1
address: 20
input_type: holding
unit_of_measurement: V
device_class: voltage
state_class: measurement
count: 1
scale: 0.01
offset: 0
precision: 1
data_type: uint16
- name: Modbus_Current_C
slave: 1
address: 21
input_type: holding
unit_of_measurement: A
device_class: current
state_class: measurement
count: 1
scale: 0.01
offset: 0
precision: 1
data_type: uint16
- name: Modbus_Power_C
slave: 1
address: 22
input_type: holding
unit_of_measurement: W
device_class: power
state_class: measurement
count: 2
scale: 1
offset: 0
precision: 0
data_type: int32
- name: Modbus_ImportEnergy_C
slave: 1
address: 24
input_type: holding
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
count: 2
scale: 0.00125
offset: 0
precision: 2
data_type: uint32
- name: Modbus_ExportGrid_C
slave: 1
address: 26
input_type: holding
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
count: 2
scale: 0.00125
offset: 0
precision: 2
data_type: uint32
- name: Modbus_PF_C
slave: 1
address: 28
input_type: holding
#unit_of_measurement: '%'
device_class: power_factor
state_class: measurement
count: 1
scale: 0.001
offset: 0
precision: 2
data_type: uint16

- name: Modbus_Frequency
slave: 1
address: 30
input_type: holding
unit_of_measurement: Hz
device_class: frequency
state_class: measurement
count: 1
scale: 0.01
offset: 0
precision: 1
data_type: uint16

- name: Modbus_Power_SUM
slave: 1
address: 32
input_type: holding
unit_of_measurement: W
device_class: power
state_class: measurement
count: 2
scale: 1
offset: 0
precision: 0
data_type: int32
- name: Modbus_ImportEnergy_SUM
slave: 1
address: 34
input_type: holding
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
count: 2
scale: 0.00125
offset: 0
precision: 2
data_type: uint32
- name: Modbus_ExportGrid_SUM
slave: 1
address: 36
input_type: holding
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
count: 2
scale: 0.00125
offset: 0
precision: 2
data_type: uint32

# Example configuration.yaml entry

#IamMeter For SolarPV With HomeAssistant
# WEM3080T
#-- CT1 <-> Inverter
#-- CT2 <-> Feedin(Grid)
#------------------------

sensor:
- platform: iammeter
host: 192.168.86.232
name: meter3

template:
- sensor:
- name: 'Inverter Power'
unit_of_measurement: W
state: "{{ states('sensor.meter3_power_a') | float }}"
- name: 'Feedin Power'
unit_of_measurement: W
state: "{{ states('sensor.meter3_power_b') | float * (-1.0) }}"
- name: 'Load Power'
unit_of_measurement: W
state: "{{ states('sensor.meter3_power_a')|float + states('sensor.meter3_power_b')|float }}"
- name: 'Zero Power'
unit_of_measurement: W
state: "{{ 0 }}"
- name: 'Demo heater Power'
unit_of_measurement: W
state: "{{ 100 }}"

- name: 'Grid Consumption Energy'
device_class: energy
state_class: total_increasing
unit_of_measurement: kWh
state: >
{% if is_number(states('sensor.meter3_importenergy_b')) and states('sensor.meter3_importenergy_b') | int >0 %}
{{ states('sensor.meter3_importenergy_b') | float }}
{% else %}
None
{% endif %}

- name: 'Exported Energy'
device_class: energy
state_class: total_increasing
unit_of_measurement: kWh
state: >
{% if is_number(states('sensor.meter3_exportgrid_b')) and states('sensor.meter3_exportgrid_b') | int >0 %}
{{ states('sensor.meter3_exportgrid_b') | float }}
{% else %}
None
{% endif %}

- name: 'Yield Energy'
device_class: energy
state_class: total_increasing
unit_of_measurement: kWh
state: >
{% if is_number(states('sensor.meter3_importenergy_a')) and states('sensor.meter3_importenergy_a') | int >0 %}
{{ states('sensor.meter3_importenergy_a') | float }}
{% else %}
None
{% endif %}

- name: 'Selfuse Energy'
device_class: energy
state_class: total_increasing
unit_of_measurement: kWh
state: >
{% if is_number(states('sensor.yield_energy')|float - states('sensor.exported_energy')|float) and (states('sensor.yield_energy')|float - states('sensor.exported_energy')|float)|int>0 %}
{{ states('sensor.yield_energy')|float - states('sensor.exported_energy')|float }}
{% else %}
None
{% endif %}
- name: 'Load Energy'
device_class: energy
state_class: total_increasing
unit_of_measurement: kWh
state: >
{% if is_number(states('sensor.grid_consumption_energy')|float + states('sensor.yield_energy')|float - states('sensor.exported_energy')|float) and (states('sensor.grid_consumption_energy')|float + states('sensor.yield_energy')|float - states('sensor.exported_energy')|float)|int>0 %}
{{ states('sensor.grid_consumption_energy')|float + states('sensor.yield_energy')|float - states('sensor.exported_energy')|float }}
{% else %}
None
{% endif %}

- name: 'Self Consumption Rate Daily'
unit_of_measurement: "%"
state: "{{ states('sensor.selfuse_energy_daily')|float / states('sensor.yield_energy_daily')|float }}"
- name: 'Self Consumption Rate Monthly'
unit_of_measurement: "%"
state: "{{ states('sensor.selfuse_energy_monthly')|float / states('sensor.yield_energy_monthly')|float }}"

# Example configuration.yaml entry
utility_meter:

grid_consumption_energy_hourly:
source: sensor.grid_consumption_energy
cycle: hourly
grid_consumption_energy_daily:
source: sensor.grid_consumption_energy
cycle: daily
grid_consumption_energy_monthly:
source: sensor.grid_consumption_energy
cycle: monthly

exported_energy_hourly:
source: sensor.exported_energy
cycle: hourly
exported_energy_daily:
source: sensor.exported_energy
cycle: daily
exported_energy_monthly:
source: sensor.exported_energy
cycle: monthly

yield_energy_hourly:
source: sensor.yield_energy
cycle: hourly
yield_energy_daily:
source: sensor.yield_energy
cycle: daily
yield_energy_monthly:
source: sensor.yield_energy
cycle: monthly

selfuse_energy_hourly:
source: sensor.selfuse_energy
cycle: hourly
selfuse_energy_daily:
source: sensor.selfuse_energy
cycle: daily
selfuse_energy_monthly:
source: sensor.selfuse_energy
cycle: monthly

load_energy_hourly:
source: sensor.load_energy
cycle: hourly
load_energy_daily:
source: sensor.load_energy
cycle: daily
load_energy_monthly:
source: sensor.load_energy
cycle: monthly


# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

# Text to speech
tts:
- platform: google_translate

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
frontend:
themes: !include_dir_merge_named themes

homeassistant:
customize_glob:
sensor.*_energy:
last_reset: '1970-01-01T00:00:00+00:00'
device_class: DEVICE_CLASS_ENERGY
state_class: total_increasing
sensor.*_importenergy*:
last_reset: '1970-01-01T00:00:00+00:00'
device_class: DEVICE_CLASS_ENERGY
state_class: total_increasing
sensor.*_exportgrid*:
last_reset: '1970-01-01T00:00:00+00:00'
device_class: DEVICE_CLASS_ENERGY
state_class: total_increasing

# Example configuration.yaml entry for multiple TCP connections
modbus:
- name: hub1
type: tcp
host: 192.168.86.232
port: 502
sensors:
- name: Modbus_Voltage_A
slave: 1
address: 0
input_type: holding
unit_of_measurement: V
device_class: voltage
state_class: measurement
count: 1
scale: 0.01
offset: 0
precision: 1
data_type: uint16
- name: Modbus_Current_A
slave: 1
address: 1
input_type: holding
unit_of_measurement: A
device_class: current
state_class: measurement
count: 1
scale: 0.01
offset: 0
precision: 1
data_type: uint16
- name: Modbus_Power_A
slave: 1
address: 2
input_type: holding
unit_of_measurement: W
device_class: power
state_class: measurement
count: 2
scale: 1
offset: 0
precision: 0
data_type: int32
- name: Modbus_ImportEnergy_A
slave: 1
address: 4
input_type: holding
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
count: 2
scale: 0.00125
offset: 0
precision: 2
data_type: uint32
- name: Modbus_ExportGrid_A
slave: 1
address: 6
input_type: holding
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
count: 2
scale: 0.00125
offset: 0
precision: 2
data_type: uint32
- name: Modbus_PF_A
slave: 1
address: 8
input_type: holding
#unit_of_measurement: '%'
device_class: power_factor
state_class: measurement
count: 1
scale: 0.001
offset: 0
precision: 2
data_type: uint16

- name: Modbus_Voltage_B
slave: 1
address: 10
input_type: holding
unit_of_measurement: V
device_class: voltage
state_class: measurement
count: 1
scale: 0.01
offset: 0
precision: 1
data_type: uint16
- name: Modbus_Current_B
slave: 1
address: 11
input_type: holding
unit_of_measurement: A
device_class: current
state_class: measurement
count: 1
scale: 0.01
offset: 0
precision: 1
data_type: uint16
- name: Modbus_Power_B
slave: 1
address: 12
input_type: holding
unit_of_measurement: W
device_class: power
state_class: measurement
count: 2
scale: 1
offset: 0
precision: 0
data_type: int32
- name: Modbus_ImportEnergy_B
slave: 1
address: 14
input_type: holding
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
count: 2
scale: 0.00125
offset: 0
precision: 2
data_type: uint32
- name: Modbus_ExportGrid_B
slave: 1
address: 16
input_type: holding
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
count: 2
scale: 0.00125
offset: 0
precision: 2
data_type: uint32
- name: Modbus_PF_B
slave: 1
address: 18
input_type: holding
#unit_of_measurement: '%'
device_class: power_factor
state_class: measurement
count: 1
scale: 0.001
offset: 0
precision: 2
data_type: uint16

- name: Modbus_Voltage_C
slave: 1
address: 20
input_type: holding
unit_of_measurement: V
device_class: voltage
state_class: measurement
count: 1
scale: 0.01
offset: 0
precision: 1
data_type: uint16
- name: Modbus_Current_C
slave: 1
address: 21
input_type: holding
unit_of_measurement: A
device_class: current
state_class: measurement
count: 1
scale: 0.01
offset: 0
precision: 1
data_type: uint16
- name: Modbus_Power_C
slave: 1
address: 22
input_type: holding
unit_of_measurement: W
device_class: power
state_class: measurement
count: 2
scale: 1
offset: 0
precision: 0
data_type: int32
- name: Modbus_ImportEnergy_C
slave: 1
address: 24
input_type: holding
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
count: 2
scale: 0.00125
offset: 0
precision: 2
data_type: uint32
- name: Modbus_ExportGrid_C
slave: 1
address: 26
input_type: holding
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
count: 2
scale: 0.00125
offset: 0
precision: 2
data_type: uint32
- name: Modbus_PF_C
slave: 1
address: 28
input_type: holding
#unit_of_measurement: '%'
device_class: power_factor
state_class: measurement
count: 1
scale: 0.001
offset: 0
precision: 2
data_type: uint16

- name: Modbus_Frequency
slave: 1
address: 30
input_type: holding
unit_of_measurement: Hz
device_class: frequency
state_class: measurement
count: 1
scale: 0.01
offset: 0
precision: 1
data_type: uint16

- name: Modbus_Power_SUM
slave: 1
address: 32
input_type: holding
unit_of_measurement: W
device_class: power
state_class: measurement
count: 2
scale: 1
offset: 0
precision: 0
data_type: int32
- name: Modbus_ImportEnergy_SUM
slave: 1
address: 34
input_type: holding
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
count: 2
scale: 0.00125
offset: 0
precision: 2
data_type: uint32
- name: Modbus_ExportGrid_SUM
slave: 1
address: 36
input_type: holding
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
count: 2
scale: 0.00125
offset: 0
precision: 2
data_type: uint32

# Example configuration.yaml entry

#IamMeter For SolarPV With HomeAssistant
# WEM3080T
#-- CT1 <-> Inverter
#-- CT2 <-> Feedin(Grid)
#------------------------

sensor:
- platform: iammeter
host: 192.168.86.232
name: meter3

template:
- sensor:
- name: 'Inverter Power'
unit_of_measurement: W
state: "{{ states('sensor.meter3_power_a') | float }}"
- name: 'Feedin Power'
unit_of_measurement: W
state: "{{ states('sensor.meter3_power_b') | float * (-1.0) }}"
- name: 'Load Power'
unit_of_measurement: W
state: "{{ states('sensor.meter3_power_a')|float + states('sensor.meter3_power_b')|float }}"
- name: 'Zero Power'
unit_of_measurement: W
state: "{{ 0 }}"
- name: 'Demo heater Power'
unit_of_measurement: W
state: "{{ 100 }}"

- name: 'Grid Consumption Energy'
device_class: energy
state_class: total_increasing
unit_of_measurement: kWh
state: >
{% if is_number(states('sensor.meter3_importenergy_b')) and states('sensor.meter3_importenergy_b') | int >0 %}
{{ states('sensor.meter3_importenergy_b') | float }}
{% else %}
None
{% endif %}

- name: 'Exported Energy'
device_class: energy
state_class: total_increasing
unit_of_measurement: kWh
state: >
{% if is_number(states('sensor.meter3_exportgrid_b')) and states('sensor.meter3_exportgrid_b') | int >0 %}
{{ states('sensor.meter3_exportgrid_b') | float }}
{% else %}
None
{% endif %}

- name: 'Yield Energy'
device_class: energy
state_class: total_increasing
unit_of_measurement: kWh
state: >
{% if is_number(states('sensor.meter3_importenergy_a')) and states('sensor.meter3_importenergy_a') | int >0 %}
{{ states('sensor.meter3_importenergy_a') | float }}
{% else %}
None
{% endif %}

- name: 'Selfuse Energy'
device_class: energy
state_class: total_increasing
unit_of_measurement: kWh
state: >
{% if is_number(states('sensor.yield_energy')|float - states('sensor.exported_energy')|float) and (states('sensor.yield_energy')|float - states('sensor.exported_energy')|float)|int>0 %}
{{ states('sensor.yield_energy')|float - states('sensor.exported_energy')|float }}
{% else %}
None
{% endif %}
- name: 'Load Energy'
device_class: energy
state_class: total_increasing
unit_of_measurement: kWh
state: >
{% if is_number(states('sensor.grid_consumption_energy')|float + states('sensor.yield_energy')|float - states('sensor.exported_energy')|float) and (states('sensor.grid_consumption_energy')|float + states('sensor.yield_energy')|float - states('sensor.exported_energy')|float)|int>0 %}
{{ states('sensor.grid_consumption_energy')|float + states('sensor.yield_energy')|float - states('sensor.exported_energy')|float }}
{% else %}
None
{% endif %}

- name: 'Self Consumption Rate Daily'
unit_of_measurement: "%"
state: "{{ states('sensor.selfuse_energy_daily')|float / states('sensor.yield_energy_daily')|float }}"
- name: 'Self Consumption Rate Monthly'
unit_of_measurement: "%"
state: "{{ states('sensor.selfuse_energy_monthly')|float / states('sensor.yield_energy_monthly')|float }}"

# Example configuration.yaml entry
utility_meter:

grid_consumption_energy_hourly:
source: sensor.grid_consumption_energy
cycle: hourly
grid_consumption_energy_daily:
source: sensor.grid_consumption_energy
cycle: daily
grid_consumption_energy_monthly:
source: sensor.grid_consumption_energy
cycle: monthly

exported_energy_hourly:
source: sensor.exported_energy
cycle: hourly
exported_energy_daily:
source: sensor.exported_energy
cycle: daily
exported_energy_monthly:
source: sensor.exported_energy
cycle: monthly

yield_energy_hourly:
source: sensor.yield_energy
cycle: hourly
yield_energy_daily:
source: sensor.yield_energy
cycle: daily
yield_energy_monthly:
source: sensor.yield_energy
cycle: monthly

selfuse_energy_hourly:
source: sensor.selfuse_energy
cycle: hourly
selfuse_energy_daily:
source: sensor.selfuse_energy
cycle: daily
selfuse_energy_monthly:
source: sensor.selfuse_energy
cycle: monthly

load_energy_hourly:
source: sensor.load_energy
cycle: hourly
load_energy_daily:
source: sensor.load_energy
cycle: daily
load_energy_monthly:
source: sensor.load_energy
cycle: monthly


The link that @laoliu provides, I hope will cover it for you. But I understand your pain, because finding that link amoungst all the other Iammeter Home Assistant stuff is not easy from my experience. That is then significantly compounded by the fact there are lots of different methods of integrating it would can be quite confusing for the uninitiated.So I am going to offer you a couple of words of advice which will hopefully be useful. While it is true to say each method has its pro'

Thanks for the response.


I have added a reply below that better explains the problem.

Hi:Sorry, your question is too open and I do not know how to answer it.There are different methods when you want to integrate the energy meter in different ways(core integration, hacs ,mqtt, modbus/tcp)Please refer to this first https://www.iammeter.com/docs/summary-home-assistantNearly all methods provide both document and video tutorials, please select a specific method and have a try.If you met a problem, please describe the specific question in this topic .As detailed as possible (pics

My Home Assistant / YAML skills are not good enough to help you with other than to say I took a completely different path, mostly in the GUI to get this going.

Looks like you are using the HACS integration, which I can't comment on. I used the modbusTCP implementation, which does require putting the configuration in configuration.yaml. But that is pretty much exactly what is below with very minor edits to suit your circumstances :-

Single phase WEM3080: modbusTCP in Home Assistant

Three phase WEM3080T: modbusTCP in Home Assistant


Restart in Developer Tools. And then you should be able to see all the entities on the Entities tab. Note, I don't have a device in Devices, but I assume you do because that is part of the HACS integration??

I have forgotton what I needed to do to get this all in the Energy Dashboard, and I might have forgotten stuff. But I think it was a fairly simple matter of adding the applicable entities from the GUI by going Settings/Dashboards/Energy.

But I can also tell you from my limited experience, the help in the Home Assistant community is excellent.





Thanks a lot for your response.For context, I have integrated the meter various ways and have some sensors showing up in HA (I have done direct, I have used HACs and now I just added the Modbus code the the configuration.yaml (probably overkill, and maybe that's where my problem is).In any case, what I am trying to do now is to add my consumption to the Energy Dashboard on HA. Trying to do that doesn't show any of the sensors that's in the video (https://www.youtube.com/watch?v=gXZhPOrXxXQ) e.g

For context, I should add that I only use Iammeter for the Grid connection (Import and Export). I get the solar from my Solar inverter (in my case Enphase). I assume from your config, you only have single phase, but use a 3 phase iammeter for solar and grid. It also appears you are not using the modbus version of the intergration for most of yours sensors as they are all have names starting with modbus.

My Home Assistant / YAML skills are not good enough to help you with other than to say I took a completely different path, mostly in the GUI to get this going.Looks like you are using the HACS integration, which I can't comment on. I used the modbusTCP implementation, which does require putting the configuration in configuration.yaml. But that is pretty much exactly what is below with very minor edits to suit your circumstances :-Single phase WEM3080: modbusTCP in Home AssistantThree phase

May I ask whether your meter is single-phase or three-phase, and whether you want to use it to directly detect electricity consumption or use it on solar photovoltaics

Can someone please write a simple, step by step way to get this to work?The current documentation seems all over the place, disjointed, contradictory in some cases and hard to follow.Assume everything is freshly installed.Thank you.

I have a three phase currently installed. It currently measures Grid, Yield and load (though the documentation says that's redundant). The meter works fine. I am currently trying to get the data into Home Assistant's Energy Dashboard.


I have made some progress since the last post thanks to @swainstm.


Before now, the sensors like "Grid Consumption Energy" didn't show as options at all in the Energy Dashboard at all.


Now they do, but they show the errors "Statistics Not Defined" and Entity not available, as seen below.

There's a chance it's because this bit of code isn't in my configuration Yaml:

sensor:
- platform: iammeter
host: 192.168.the rest of my IP
name: meter3

But adding it creates this error:


May I ask whether your meter is single-phase or three-phase, and whether you want to use it to directly detect electricity consumption or use it on solar photovoltaics

I found that you have installed HACS, you can quickly integrate iammeter into homeassistant through HACS, it will be automatically discovered after installation, and supports Home Assistant's Energy Dashboard. It eliminates the tedious manual configuration of yaml, this is the documentation tutorial (there are also video tutorials in it) ) https://imeter.club/topic/301

I have a three phase currently installed. It currently measures Grid, Yield and load (though the documentation says that's redundant). The meter works fine. I am currently trying to get the data into Home Assistant's Energy Dashboard.I have made some progress since the last post thanks to @swainstm.Before now, the sensors like "Grid Consumption Energy" didn't show as options at all in the Energy Dashboard at all.Now they do, but they show the errors "Statistics Not Defined" and Entity not availa

Except I am doing something wrong, HACS allows you to add the meter readings to your HA dashboard, but not to Home Assistant's Energy Dashboard.


After adding via Hacs, there's no sensor that shows total consumption or yield in the Energy Dashboard.

I found that you have installed HACS, you can quickly integrate iammeter into homeassistant through HACS, it will be automatically discovered after installation, and supports Home Assistant's Energy Dashboard. It eliminates the tedious manual configuration of yaml, this is the documentation tutorial (there are also video tutorials in it) ) https://imeter.club/topic/301

I was doing something wrong. Looking for the wrong sensors. Fixed it now. 


Thanks everyone for the help.

Except I am doing something wrong, HACS allows you to add the meter readings to your HA dashboard, but not to Home Assistant's Energy Dashboard.After adding via Hacs, there's no sensor that shows total consumption or yield in the Energy Dashboard.
Looks like you are new here. Register for free, learn and contribute.