Skip to content
17 changes: 16 additions & 1 deletion drivers/SmartThings/zigbee-power-meter/fingerprints.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,27 @@ zigbeeManufacturer:
deviceLabel: frient Energy Monitor
manufacturer: Develco
model: "ZHEMI101"
deviceProfileName: power-meter
deviceProfileName: frient-power-energy-consumption-report
- id: "Develco/EMIZB-132"
deviceLabel: frient Energy Monitor
manufacturer: Develco Products A/S

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these no longer necessary?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right. Even if new versions of the device report a different mfr string, we have to keep the old fingerprint around.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I brought it back

model: "EMIZB-132"
deviceProfileName: power-meter
- id: "frient A/S/EMIZB-132"
deviceLabel: frient Energy Monitor
manufacturer: frient A/S
model: "EMIZB-132"
deviceProfileName: power-meter-consumption-report
- id: "frient A/S/EMIZB-141"
deviceLabel: "frient EMI 2 LED"
manufacturer: frient A/S
model: "EMIZB-141"
deviceProfileName: frient-power-energy-battery-consumption-report
- id: "frient A/S/EMIZB-151"
deviceLabel: "frient EMI 2 P1"
manufacturer: frient A/S
model: "EMIZB-151"
deviceProfileName: frient-power-energy-current-voltage
- id: "ShinaSystem/PMM-300Z1"
deviceLabel: SiHAS Energy Monitor
manufacturer: ShinaSystem
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: frient-power-energy-battery-consumption-report
components:
- id: main
capabilities:
- id: powerMeter
version: 1
- id: energyMeter
version: 1
- id: powerConsumptionReport
version: 1
- id: battery
version: 1
- id: firmwareUpdate
version: 1
- id: refresh
version: 1
categories:
- name: CurbPowerMeter
preferences:
- title: "Pulse Configuration"
name: pulseConfiguration
description: "Number of pulses the meter outputs per unit"
required: false
preferenceType: integer
definition:
minimum: 50
maximum: 10000
default: 1000
- title: "Initial Energy Consumption"
name: currentSummation
description: "Offset (scaled value) for current summation delivered"
required: false
preferenceType: number
definition:
minimum: 0
maximum: 268435455
default: 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: frient-power-energy-consumption-report
components:
- id: main
capabilities:
- id: powerMeter
version: 1
- id: energyMeter
version: 1
- id: powerConsumptionReport
version: 1
- id: firmwareUpdate
version: 1
- id: refresh
version: 1
categories:
- name: CurbPowerMeter
preferences:
- title: "Pulse Configuration"
name: pulseConfiguration
description: "Number of pulses the meter outputs per unit"
required: false
preferenceType: integer
definition:
minimum: 50
maximum: 10000
default: 1000
- title: "Initial Energy Consumption"
name: currentSummation
description: "Offset (scaled value) for current summation delivered"
required: false
preferenceType: number
definition:
minimum: 0
maximum: 268435455
default: 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: frient-power-energy-current-voltage
components:
- id: main
capabilities:
- id: powerMeter
version: 1
- id: energyMeter
version: 1
- id: powerConsumptionReport
version: 1
- id: firmwareUpdate
version: 1
- id: refresh
version: 1
categories:
- name: CurbPowerMeter
- id: production
label: Production
capabilities:
- id: energyMeter
version: 1
- id: phaseA
label: "Phase A"
capabilities:
- id: powerMeter
version: 1
- id: voltageMeasurement
version: 1
- id: currentMeasurement
version: 1
- id: phaseB
label: "Phase B"
capabilities:
- id: powerMeter
version: 1
- id: voltageMeasurement
version: 1
- id: currentMeasurement
version: 1
- id: phaseC
label: "Phase C"
capabilities:
- id: powerMeter
version: 1
- id: voltageMeasurement
version: 1
- id: currentMeasurement
version: 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
-- Copyright 2026 SmartThings, Inc.
-- Licensed under the Apache License, Version 2.0

local is_frient_power_meter = function(opts, driver, device, zb_rx)
local FINGERPRINTS = require("frient.EMIZB-151.fingerprints")
for _, fingerprint in ipairs(FINGERPRINTS) do
if device:get_model() == fingerprint.model then
return true, require("frient.EMIZB-151")
end
end

return false
end

return is_frient_power_meter
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
-- Copyright 2026 SmartThings, Inc.
-- Licensed under the Apache License, Version 2.0

local ZIGBEE_POWER_METER_FINGERPRINTS = {
{ model = "EMIZB-151"}
}

return ZIGBEE_POWER_METER_FINGERPRINTS
Loading
Loading