Freint Electricity Meter Interface (Develco ZHEMI101)

Read Page 16 to 19 for details:

If the interview is not finished, them you might be out of range or has some interference which causes issues.

Hi
If adding this, it’s starts counting from “0”/Zero, is there a way to add maybe 1500kWh, so it start from 1500 and then count up, so the “numbers” on the dashboard match the real numbers from the house counter?

I struggled with this and ended up creating a template sensor that creates a new sensor and adds the relevant number.
BUT I still haven’t been able to resolve the fact that the energy monitor figure slowly drifts away from the actual meter reading figure
I also use a couple of Current Cost meters that do the same job on other meters and they NEVER drift!!
I have optical / LED sensors on 5 meters (4 Solar & 1 Electricity)

- platform: template
    sensors:
      shed_solar_meter:
        value_template: "{{ (states('sensor.frient_meter_shed_solar_summation_delivered') | float + 373.888 | float) | round (3) }}"
        friendly_name: Shed Solar Meter

Just thought I’d double check
Is everyone using one of the Frient / Develco Meters setting the “Interface Mode” to Electricity?

Hey. I’m solving metering of apartment consumption with Frient Electricity Meter Interfence. I need to change the pulse count measurement (default is set to 1000imp, however my meter is at 10000imp. Via Z2M this change is simple and functional, unfortunately this was the only device I was running via Z2M and the rest I have ZHA. Now the meter has been placed in a new cabinet where Z2M can no longer reach me and there is not much opportunity to extend it. ZHA is fine, there is a bit of a router. I’ve searched all over the place and the only option for changing the pulses seems to be to create a template that will divide the consumption by 10 so it doesn’t show nonsense. Unfortunately I have no idea how to achieve this. I found a similar post on the forum, but I’m not able to get it into sensors.yaml. Does anyone have any advice? Thanks a lot



frient3

Is there any way to reset the cumulated energy measurement? Other than resetting the whole device? Or Template sensor? On Z2m.

Hey!

So I have had this template working for a while but recently noticed that I was getting negative values on my energy dashboard. After some research, it was suggested that best practice is to add an availability_template:. It appears the current template reports ‘0’ when the device is unavailable which explains the drops and negative values.

Source: Why an availability template is important for energy template sensors

Anyone know what to add to this template? Perhaps this could be of a starting point?

availability_template: "{{ not is_state('sensor.energy_monitor_instantaneous_demand', 'unknown') }}"

Original Template

template:
  - sensor:
    - name: "Live Electricity Usage"
      unique_id: "live_electricity_total"
      unit_of_measurement: "W"
      state: "{{ (states('sensor.energy_monitor_instantaneous_demand')|float * 1000 / 2000) | round(0) }}"
      state_class: measurement
      device_class: power
      #availability_template: "{{ not is_state('sensor.energy_monitor_instantaneous_demand', 'unknown') }}"

    - name: "Total Electricity Usage"
      unique_id: "total_electricity_usage"
      unit_of_measurement: "kWh"
      state: "{{ (states('sensor.energy_monitor_summation_delivered')|float * 1000 / 2000) | round(2) }}"
      state_class: total_increasing
      device_class: energy
1 Like

As per the examples in the link you posted:

availability: "{{ has_value('sensor.energy_monitor_instantaneous_demand') }}"

I don’t know how good HA is at optimisation but doing things like this:

something * 1000 / 2000

may be forcing it to do relatively computationally intensive CPU operations (division by anything other than 2 in binary is hard).

It would be much better written as:

something / 2

Thank you! And I appreciate you also calling out the optimisation too… will change that to your suggestion.

Here is the updated template incase it helps someone else:

template:
  - sensor:
    - name: "Live Electricity Usage"
      unique_id: "live_electricity_total"
      unit_of_measurement: "W"
      state: "{{ (states('sensor.energy_monitor_instantaneous_demand')|float / 2) | round(0) }}"
      state_class: measurement
      device_class: power
      availability: "{{ has_value('sensor.energy_monitor_instantaneous_demand') }}"

    - name: "Total Electricity Usage"
      unique_id: "total_electricity_usage"
      unit_of_measurement: "kWh"
      state: "{{ (states('sensor.energy_monitor_summation_delivered')|float / 2) | round(2) }}"
      state_class: total_increasing
      device_class: energy
      availability: "{{ has_value('sensor.energy_monitor_summation_delivered') }}"