Skip to content

Commit bb70244

Browse files
authored
Merge pull request #1999 from script0803/main
WWSTCERT-8208 Add new Zigbee Power Meter Device
1 parent ec6f6e2 commit bb70244

File tree

11 files changed

+1289
-0
lines changed

11 files changed

+1289
-0
lines changed

drivers/SmartThings/zigbee-power-meter/fingerprints.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,46 @@ zigbeeManufacturer:
2828
manufacturer: ShinaSystem
2929
model: "PMM-300Z3"
3030
deviceProfileName: power-meter-consumption-report-sihas
31+
- id: "BITUO TECHNIK/SPM01-E0"
32+
deviceLabel: Energy Monitor 1PN
33+
manufacturer: BITUO TECHNIK
34+
model: "SPM01-E0"
35+
deviceProfileName: power-meter-1p
36+
- id: "BITUO TECHNIK/SPM01X"
37+
deviceLabel: Energy Monitor 1PN
38+
manufacturer: BITUO TECHNIK
39+
model: "SPM01X"
40+
deviceProfileName: power-meter-1p
41+
- id: "BITUO TECHNIK/SDM02-E0"
42+
deviceLabel: Energy Monitor 2PN
43+
manufacturer: BITUO TECHNIK
44+
model: "SDM02-E0"
45+
deviceProfileName: power-meter-2p
46+
- id: "BITUO TECHNIK/SDM02X"
47+
deviceLabel: Energy Monitor 2PN
48+
manufacturer: BITUO TECHNIK
49+
model: "SDM02X"
50+
deviceProfileName: power-meter-2p
51+
- id: "BITUO TECHNIK/SPM02-E0"
52+
deviceLabel: Energy Monitor 3PN
53+
manufacturer: BITUO TECHNIK
54+
model: "SPM02-E0"
55+
deviceProfileName: power-meter-3p
56+
- id: "BITUO TECHNIK/SPM02X"
57+
deviceLabel: Energy Monitor 3PN
58+
manufacturer: BITUO TECHNIK
59+
model: "SPM02X"
60+
deviceProfileName: power-meter-3p
61+
- id: "BITUO TECHNIK/SDM01W"
62+
deviceLabel: Energy Monitor 3PN
63+
manufacturer: BITUO TECHNIK
64+
model: "SDM01W"
65+
deviceProfileName: power-meter-3p
66+
- id: "BITUO TECHNIK/SDM01B"
67+
deviceLabel: Energy Monitor 1PN
68+
manufacturer: BITUO TECHNIK
69+
model: "SDM01B"
70+
deviceProfileName: power-meter-1p
3171
zigbeeGeneric:
3272
- id: "genericMeter"
3373
deviceLabel: Zigbee Meter
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: power-meter-1p
2+
components:
3+
- id: main
4+
label: Total Forward Energy
5+
capabilities:
6+
- id: energyMeter
7+
version: 1
8+
- id: powerConsumptionReport
9+
version: 1
10+
- id: refresh
11+
version: 1
12+
categories:
13+
- name: CurbPowerMeter
14+
- id: TotalReverseEnergy
15+
label: Total Reverse Energy
16+
capabilities:
17+
- id: energyMeter
18+
version: 1
19+
categories:
20+
- name: CurbPowerMeter
21+
- id: PhaseA
22+
label: Phase A
23+
capabilities:
24+
- id: powerMeter
25+
version: 1
26+
- id: currentMeasurement
27+
version: 1
28+
- id: voltageMeasurement
29+
version: 1
30+
categories:
31+
- name: CurbPowerMeter
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: power-meter-2p
2+
components:
3+
- id: main
4+
label: Total Forward Energy
5+
capabilities:
6+
- id: energyMeter
7+
version: 1
8+
- id: powerConsumptionReport
9+
version: 1
10+
- id: refresh
11+
version: 1
12+
categories:
13+
- name: CurbPowerMeter
14+
- id: TotalReverseEnergy
15+
label: Total Reverse Energy
16+
capabilities:
17+
- id: energyMeter
18+
version: 1
19+
categories:
20+
- name: CurbPowerMeter
21+
- id: PhaseA
22+
label: Phase A
23+
capabilities:
24+
- id: powerMeter
25+
version: 1
26+
- id: currentMeasurement
27+
version: 1
28+
- id: voltageMeasurement
29+
version: 1
30+
categories:
31+
- name: CurbPowerMeter
32+
- id: PhaseB
33+
label: Phase B
34+
capabilities:
35+
- id: powerMeter
36+
version: 1
37+
- id: currentMeasurement
38+
version: 1
39+
- id: voltageMeasurement
40+
version: 1
41+
categories:
42+
- name: CurbPowerMeter
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: power-meter-3p
2+
components:
3+
- id: main
4+
label: Total Forward Energy
5+
capabilities:
6+
- id: energyMeter
7+
version: 1
8+
- id: powerConsumptionReport
9+
version: 1
10+
- id: refresh
11+
version: 1
12+
categories:
13+
- name: CurbPowerMeter
14+
- id: TotalReverseEnergy
15+
label: Total Reverse Energy
16+
capabilities:
17+
- id: energyMeter
18+
version: 1
19+
categories:
20+
- name: CurbPowerMeter
21+
- id: PhaseA
22+
label: Phase A
23+
capabilities:
24+
- id: powerMeter
25+
version: 1
26+
- id: currentMeasurement
27+
version: 1
28+
- id: voltageMeasurement
29+
version: 1
30+
categories:
31+
- name: CurbPowerMeter
32+
- id: PhaseB
33+
label: Phase B
34+
capabilities:
35+
- id: powerMeter
36+
version: 1
37+
- id: currentMeasurement
38+
version: 1
39+
- id: voltageMeasurement
40+
version: 1
41+
categories:
42+
- name: CurbPowerMeter
43+
- id: PhaseC
44+
label: Phase C
45+
capabilities:
46+
- id: powerMeter
47+
version: 1
48+
- id: currentMeasurement
49+
version: 1
50+
- id: voltageMeasurement
51+
version: 1
52+
categories:
53+
- name: CurbPowerMeter
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
-- Copyright 2025 SmartThings, Inc.
2+
-- Licensed under the Apache License, Version 2.0
3+
4+
local is_bituo_power_meter = function(opts, driver, device)
5+
local FINGERPRINTS = require("bituo.fingerprints")
6+
for _, fingerprint in ipairs(FINGERPRINTS) do
7+
if device:get_model() == fingerprint.model then
8+
return true, require("bituo")
9+
end
10+
end
11+
12+
return false
13+
end
14+
15+
return is_bituo_power_meter
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
-- Copyright 2025 SmartThings, Inc.
2+
-- Licensed under the Apache License, Version 2.0
3+
4+
local ZIGBEE_POWER_METER_FINGERPRINTS = {
5+
{ mfr = "BITUO TECHNIK", model = "SPM01-E0" },
6+
{ mfr = "BITUO TECHNIK", model = "SPM01X" },
7+
{ mfr = "BITUO TECHNIK", model = "SDM02-E0" },
8+
{ mfr = "BITUO TECHNIK", model = "SDM02X" },
9+
{ mfr = "BITUO TECHNIK", model = "SPM02-E0" },
10+
{ mfr = "BITUO TECHNIK", model = "SPM02X" },
11+
{ mfr = "BITUO TECHNIK", model = "SDM01W" },
12+
{ mfr = "BITUO TECHNIK", model = "SDM01B" }
13+
}
14+
15+
return ZIGBEE_POWER_METER_FINGERPRINTS

0 commit comments

Comments
 (0)