Add support for 'meter_*' services

This commit is contained in:
Adrian Jagielak
2025-07-26 22:44:17 +02:00
parent a39f2d5928
commit a41b75da83
9 changed files with 1099 additions and 35 deletions

View File

@@ -2165,5 +2165,176 @@
},
"type": null
}
},
{
"client": {
"name": "Smart Electric Meter"
},
"id": 145,
"model": "zb - _TZ3040_bb6xaihh - TS0601",
"modelAlias": "Smart Electric Meter",
"type": {
"subtype": "main_elec",
"type": "meter"
},
"services": {
"meter_elec": {
"name": "meter_elec",
"addr": "/rt:dev/rn:zigbee/ad:1/sv:meter_elec/ad:145_1",
"enabled": true,
"props": {
"sup_units": ["kWh", "W"],
"sup_extended_vals": ["p_import", "u1", "i1", "freq", "p_factor"]
},
"intf": [
"cmd.meter.get_report",
"evt.meter.report",
"cmd.meter_ext.get_report",
"evt.meter_ext.report",
"cmd.meter.reset"
]
}
}
},
{
"client": {
"name": "3-Phase Smart Meter"
},
"id": 246,
"model": "Tibber - Tibber - Pulse Bridge",
"modelAlias": "Tibber Pulse Bridge",
"type": {
"subtype": "main_elec",
"type": "meter"
},
"services": {
"meter_elec": {
"name": "meter_elec",
"addr": "/rt:dev/rn:tibber/ad:1/sv:meter_elec/ad:246",
"enabled": true,
"props": {
"sup_units": ["kWh", "W"],
"sup_export_units": ["kWh", "W"],
"sup_extended_vals": [
"p_import",
"p_export",
"u1",
"u2",
"u3",
"i1",
"i2",
"i3",
"p1",
"p2",
"p3",
"freq",
"p_factor",
"e_import",
"e_export"
]
},
"intf": [
"cmd.meter.get_report",
"evt.meter.report",
"cmd.meter_export.get_report",
"evt.meter_export.report",
"cmd.meter_ext.get_report",
"evt.meter_ext.report",
"cmd.meter.reset"
]
}
}
},
{
"client": {
"name": "Smart Gas Meter"
},
"id": 189,
"model": "zb - _TZ3000_h4yw2xn6 - TS0601",
"modelAlias": "Smart Gas Meter",
"type": {
"subtype": null,
"type": "meter"
},
"services": {
"meter_gas": {
"name": "meter_gas",
"addr": "/rt:dev/rn:zigbee/ad:1/sv:meter_gas/ad:189",
"enabled": true,
"props": {
"sup_units": ["cub_m", "pulse_c"]
},
"intf": ["cmd.meter.get_report", "evt.meter.report", "cmd.meter.reset"]
}
}
},
{
"client": {
"name": "Smart Water Meter"
},
"id": 222,
"model": "zw - Qubino - ZMNHWD1",
"modelAlias": "Qubino Water Meter",
"type": {
"subtype": null,
"type": "meter"
},
"services": {
"meter_water": {
"name": "meter_water",
"addr": "/rt:dev/rn:zw/ad:1/sv:meter_water/ad:222",
"enabled": true,
"props": {
"sup_units": ["cub_m", "gallon"]
},
"intf": ["cmd.meter.get_report", "evt.meter.report", "cmd.meter.reset"]
}
}
},
{
"client": {
"name": "Heat Meter"
},
"id": 298,
"model": "Hoiax - Futurehome - Heat Meter",
"modelAlias": "Futurehome Heat Meter",
"type": {
"subtype": null,
"type": "meter"
},
"services": {
"meter_heat": {
"name": "meter_heat",
"addr": "/rt:dev/rn:hoiax/ad:1/sv:meter_heat/ad:298",
"enabled": true,
"props": {
"sup_units": ["kWh", "W"]
},
"intf": ["cmd.meter.get_report", "evt.meter.report", "cmd.meter.reset"]
}
}
},
{
"client": {
"name": "Cooling Meter"
},
"id": 312,
"model": "Hoiax - Futurehome - Cooling Meter",
"modelAlias": "Futurehome Cooling Meter",
"type": {
"subtype": null,
"type": "meter"
},
"services": {
"meter_cooling": {
"name": "meter_cooling",
"addr": "/rt:dev/rn:hoiax/ad:1/sv:meter_cooling/ad:312",
"enabled": true,
"props": {
"sup_units": ["kWh", "W"]
},
"intf": ["cmd.meter.get_report", "evt.meter.report", "cmd.meter.reset"]
}
}
}
]

View File

@@ -1472,5 +1472,260 @@
"name": "alarm_heat"
}
]
},
{
"id": 145,
"services": [
{
"addr": "/rt:dev/rn:zigbee/ad:1/sv:meter_elec/ad:145_1",
"attributes": [
{
"name": "meter",
"values": [
{
"props": {
"unit": "kWh"
},
"ts": "2025-01-15 10:30:00 +0100",
"val": 1245.168,
"val_t": "float"
},
{
"props": {
"unit": "W"
},
"ts": "2025-01-15 10:30:05 +0100",
"val": 850,
"val_t": "int"
}
]
},
{
"name": "meter_ext",
"values": [
{
"ts": "2025-01-15 10:30:05 +0100",
"val": {
"p_import": 850,
"u1": 236.5,
"i1": 3.6,
"freq": 50.02,
"p_factor": 0.98
},
"val_t": "float_map"
}
]
}
],
"name": "meter_elec"
}
]
},
{
"id": 246,
"services": [
{
"addr": "/rt:dev/rn:tibber/ad:1/sv:meter_elec/ad:246",
"attributes": [
{
"name": "meter",
"values": [
{
"props": {
"unit": "kWh"
},
"ts": "2025-01-15 10:30:00 +0100",
"val": 15420.891,
"val_t": "float"
},
{
"props": {
"unit": "W"
},
"ts": "2025-01-15 10:30:05 +0100",
"val": 2450,
"val_t": "int"
}
]
},
{
"name": "meter_export",
"values": [
{
"props": {
"unit": "kWh"
},
"ts": "2025-01-15 10:30:00 +0100",
"val": 892.456,
"val_t": "float"
},
{
"props": {
"unit": "W"
},
"ts": "2025-01-15 10:30:05 +0100",
"val": 0,
"val_t": "int"
}
]
},
{
"name": "meter_ext",
"values": [
{
"ts": "2025-01-15 10:30:05 +0100",
"val": {
"p_import": 2450,
"p_export": 0,
"u1": 235.8,
"u2": 236.1,
"u3": 235.4,
"i1": 10.4,
"i2": 10.1,
"i3": 10.8,
"p1": 800,
"p2": 825,
"p3": 825,
"freq": 50.01,
"p_factor": 0.97,
"e_import": 15420891,
"e_export": 892456
},
"val_t": "float_map"
}
]
}
],
"name": "meter_elec"
}
]
},
{
"id": 189,
"services": [
{
"addr": "/rt:dev/rn:zigbee/ad:1/sv:meter_gas/ad:189",
"attributes": [
{
"name": "meter",
"values": [
{
"props": {
"unit": "cub_m"
},
"ts": "2025-01-15 10:30:00 +0100",
"val": 1847.362,
"val_t": "float"
},
{
"props": {
"unit": "pulse_c"
},
"ts": "2025-01-15 10:30:00 +0100",
"val": 184736,
"val_t": "int"
}
]
}
],
"name": "meter_gas"
}
]
},
{
"id": 222,
"services": [
{
"addr": "/rt:dev/rn:zw/ad:1/sv:meter_water/ad:222",
"attributes": [
{
"name": "meter",
"values": [
{
"props": {
"unit": "cub_m"
},
"ts": "2025-01-15 10:30:00 +0100",
"val": 94.127,
"val_t": "float"
},
{
"props": {
"unit": "gallon"
},
"ts": "2025-01-15 10:30:00 +0100",
"val": 24872.5,
"val_t": "float"
}
]
}
],
"name": "meter_water"
}
]
},
{
"id": 298,
"services": [
{
"addr": "/rt:dev/rn:hoiax/ad:1/sv:meter_heat/ad:298",
"attributes": [
{
"name": "meter",
"values": [
{
"props": {
"unit": "kWh"
},
"ts": "2025-01-15 10:30:00 +0100",
"val": 2847.92,
"val_t": "float"
},
{
"props": {
"unit": "W"
},
"ts": "2025-01-15 10:30:05 +0100",
"val": 12500,
"val_t": "int"
}
]
}
],
"name": "meter_heat"
}
]
},
{
"id": 312,
"services": [
{
"addr": "/rt:dev/rn:hoiax/ad:1/sv:meter_cooling/ad:312",
"attributes": [
{
"name": "meter",
"values": [
{
"props": {
"unit": "kWh"
},
"ts": "2025-01-15 10:30:00 +0100",
"val": 1456.73,
"val_t": "float"
},
{
"props": {
"unit": "W"
},
"ts": "2025-01-15 10:30:05 +0100",
"val": 8750,
"val_t": "int"
}
]
}
],
"name": "meter_cooling"
}
]
}
]