Freint Electricity Meter Interface (Develco ZHEMI101)

I too have a Frient energy monitor, well I actually have 3. I have several solar arrays and I’m using then to read my solar production
Each monitor reports POWER, ENERGY & LINK QUALITY
They initialyy appeared to be working perfectly but after a few days I noticed the increasing energy figure in kWh is very slowly drifting up (increasing) and so no longer matches the figure displayed on my meters.
I’ve been unable to change (SET) any parameters for the meters via MQTT so have set up some template sensors to allow me to adjust the kWh figures but then they slowly drift again
I have a very similar piece of equipment on my electricity meter which is made by Current Cost (Current Cost OptiSmart) which I use with a custom integration and that keeps in sync perfectly but these pieces of equipment are no longer available
I read earlier in this thread somewhere that that someone thought it may get a spike when re starting HA, does anyone have any more evidence of this and or a work around
My meters are running in their default mode of 1000 imp/kwh, I’m running the latest version of HA ( 2022.4.7) on a Raspberry Pi 4

I am looking forward to replace the sensor with a reed sensor to measure a gas meter. Has any of you tried this sort of modification?

I just updated HA to the latest version (went from the december update). This broke my electricity meter and it can no longer be found. Anyone else had this issue?

Still working, have upgraded along the way, so not directly similar to you. I’m using zigbee2mqtt

I am also having the same issue! Now reporting unknown yet other zigbee devices are still operating OK.

Frustrating!

Mine was seen by Deconz and reported values there. I tried the helper “device refresh” for Deconz, didn’t help.

An (unintentional) reboot of HA made it come back again so now it works as intended. You could try that if you haven’t already.

Be sure to setup a “good” Zigbee network that avoid interference and have many Zigbee routers devices before re-pairing your device → https://github.com/zigpy/zigpy/wiki/General-tips-on-improving-Zigbee-network-range

The reason why ZHA Device Handlers (a.k.a. a quirks) are sometimes needed i explained in the ZHA docs here → https://www.home-assistant.io/integrations/zha#zha-exception-and-deviation-handling

Summery in relevant technical layman’s terms;

Most Zigbee devices with Chinese brands are either made by Tuya or Aqara/Xiaomi and both of those manufacturers are infamous for making device firmware for those products that do not strictly follow Zigbee specification standards, in fact, deviating from standard attributes and values (as well as standard Zigbee clusters) will break practically all Zigbee solutions until they implement custom workarounds for each and every individual device that does not follow the standards of the set specifications, and manufacturers keep releasing new devices so to developers of any third-party Zigbee solutions that did not make that non-standard device it is like a never-ending game of playing catch-up in order to implement a new custom workaround for each new such device that is found in the wild.

To make things a little bit easier such workarounds for individual devices in different Zigbee solutions are implemented in the same way so much can be reused via shared device handlers that deal with conversions of non-standard quirks and deviations from the official specification standards set by the Zigbee Alliance.

Therefore each brand new device needs parsing and translation to convert the messages so are presented as virtual device representations that actually do follow the Zigbee specification standards. That is when someone needs to write a custom “quirk” (sometimes also referred to as a “converter”).

Device handlers/converters parse and translate/convert any non-standard Zigbee attribute(s) and value(s) or other deviating quirks into standard Zigbee attribute(s) and value(s) which then the ZHA integration can understand.

By the way, unlike some proprietary Zigbee solutions such as for example Tuya or Aqara/Xiaomi own Zigbee gateways the ZHA integration implementation and its zigpy dependency has been designed to follow the official Zigbee specification standard and therefore all devices that actually do follow the Zigbee specification standard should just work out-of-the-box without the need of any custom device handlers.

PS: Zigbee2MQTT also require Zigbee Device Handlers but they call them " zigbee-herdsman converters":

https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html

https://github.com/Koenkk/zigbee-herdsman-converters/tree/master/

1 Like

hello friends, I have some issues, I can edit clusters but it never get saved, after rechecking the old value still present.

Thank u

Can anyone confirm it is working with ZHA?

My meter pulses at a rate of 3200 rather than the default 1000. Anyone confirm if this can be changed yet with ZHA?

I am seeing conflicting information in the threads I am reading.

I need to Check the device with deconz, if the cluster atribute is in read only. Or not.

It wiuld be a good thing if we could change de divisor to the value we need.

Correct me if I’m wrong.

I see from this post, a temp workaround is creating separate template sensors with the correct pulse rate… in this case 3200.

If in future ZHA gains support for changing the pulse rate, I aim to add the official sensors to Energy as a Source but does anyone know if it is possible to swap out these temp template sensors AND keep the history in ‘Energy’?. I’d like to start building up long term stats to compare month / year and don’t want this data to be impacted by the change of sensors.

sensor:
  name: "Electricity Live Usage"
  unit_of_measurement: W
  state_class: measurement
  device_class: power
  state: "{{ (states('sensor.develco_energy_meter_power')|float * 1000 / 3200) | round(2) }}"

  name: "Electricity Usage Total"
  unit_of_measurement: kWh
  state_class: measurement
  device_class: energy
  state: "{{ (states('sensor.develco_energy_meter_energy')|float * 1000 / 3200) | round(2) }}"
1 Like

Hi,

how did you pair the device with conbee2? What type did you use in the deCONZ app?
I only have light, switch and sensor.

Thank you?

I created a ZHA issue here

Hi all,
I’m struggling to get this to pair on zigbee2mqtt using the latest home assistant, zigbe2mqtt update and sonoff zigbee 3.0 dongle (most recent firmware). I’ve tried rebooting home assistant, but no luck.
This is the error I get. Any solutions please?

Do not know what your problem is, however can confirm it works on your configuration. I have same setup on a RPi

Very strange. I also have a RPI4 too. No issues pairing other devices, but for some reason I can’t get this device paired. Bought through Amazon listing.

Can there be some interference in the position where you have your meter.

Maybe try and brig it close to the coordinator, just you check if it then connects.

As it is in some strange state now, remember to delete it first from Z2M

i’m trying to add the template for this to change the pulse rate (or rather recalc) this is what ive got:

template:
  -sensor:
     -name: "Electricity Live Usage"
      unit_of_measurement: W
      state_class: measurement
      device_class: power
      state: "{{ (states('sensor.frient_energy_monitor_power_meter')|float * 1000 / 800) | round(2) }}"

     -name: "Electricity Usage Total"
      unit_of_measurement: kWh
      state_class: measurement
      device_class: energy
      state: "{{ (states('sensor.frient_energy_monitor_energy_meter')|float * 1000 / 800) | round(2) }}"

And im getting this error on the YAML check

Error loading /config/configuration.yaml: while parsing a block mapping
in "/config/configuration.yaml", line 138, column 5
expected <block end>, but found '<block mapping start>'
in "/config/configuration.yaml", line 139, column 6

Just hold the sync button on the inside of the unit, open it up. I had the same issue. Pressed sync button again and zigbee2mqtt recognised it properly

I installed one of these last week.

Took multiple attempts to get it to recognise and complete interview in MQTT. I was to the point of returning it to Amazon as faulty.

Last attempt, I left it for a while in the state you show in screen grab and after a while it changed to:

The installation manual with the Frient does say that joining a zigbee network can take up to 15 minutes, perhaps that’s for the device to fully register, not the initial joining.

1 Like