Skip to content

Commit 9efc269

Browse files
committed
Include transmit_power
1 parent d5540d3 commit 9efc269

File tree

3 files changed

+28
-16
lines changed

3 files changed

+28
-16
lines changed

pkg/iot/routers/zigbee2mqtt/message.go

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,23 @@ const (
1616
)
1717

1818
type ZigbeeMessage struct {
19-
Action *string `json:"action,omitempty"`
20-
Battery *float64 `json:"battery,omitempty"`
21-
BatteryState *string `json:"battery_state,omitempty"`
22-
Co2 *float64 `json:"co2,omitempty"`
23-
Formaldehyde *float64 `json:"formaldehyd,omitempty"`
24-
Humidity *float64 `json:"humidity,omitempty"`
25-
Illuminance *int `json:"illuminance,omitempty"`
26-
LinkQuality *int `json:"linkquality,omitempty"`
27-
Occupancy *bool `json:"occupancy,omitempty"`
28-
SoilMoisture *float64 `json:"soil_moisture,omitempty"`
29-
State *string `json:"state,omitempty"`
30-
Tamper *bool `json:"tamper,omitempty"`
31-
Temperature *float64 `json:"temperature,omitempty"`
32-
VOC *int `json:"voc,omitempty"`
33-
Voltage *int `json:"voltage,omitempty"`
34-
WaterLeak *bool `json:"water_leak,omitempty"`
19+
Action *string `json:"action,omitempty"`
20+
Battery *float64 `json:"battery,omitempty"`
21+
BatteryState *string `json:"battery_state,omitempty"`
22+
Co2 *float64 `json:"co2,omitempty"`
23+
Formaldehyde *float64 `json:"formaldehyd,omitempty"`
24+
Humidity *float64 `json:"humidity,omitempty"`
25+
Illuminance *int `json:"illuminance,omitempty"`
26+
LinkQuality *int `json:"linkquality,omitempty"`
27+
Occupancy *bool `json:"occupancy,omitempty"`
28+
SoilMoisture *float64 `json:"soil_moisture,omitempty"`
29+
State *string `json:"state,omitempty"`
30+
Tamper *bool `json:"tamper,omitempty"`
31+
Temperature *float64 `json:"temperature,omitempty"`
32+
TransmitPower *int `json:"transmit_power,omitempty"`
33+
VOC *int `json:"voc,omitempty"`
34+
Voltage *int `json:"voltage,omitempty"`
35+
WaterLeak *bool `json:"water_leak,omitempty"`
3536
}
3637

3738
// zigbee2mqtt/0xa4c1386fc2751121 {"battery":20,"battery_state":"low","linkquality":87,"soil_moisture":76,"temperature":23}

pkg/iot/routers/zigbee2mqtt/metrics.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,12 @@ var (
3232
Help: "The reported link quality",
3333
}, []string{"device", "component", "zone", "type"})
3434

35+
metricIOTTransmitPower = promauto.NewGaugeVec(prometheus.GaugeOpts{
36+
Name: "transmit_power",
37+
Namespace: metricsNamespace,
38+
Help: "The reported transmit power",
39+
}, []string{"device", "component", "zone", "type"})
40+
3541
metricIOTBridgeState = promauto.NewGaugeVec(prometheus.GaugeOpts{
3642
Name: "bridge_state",
3743
Namespace: metricsNamespace,

pkg/iot/routers/zigbee2mqtt/zigbee2mqtt.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ func New(logger *slog.Logger, tracer trace.Tracer, kubeclient kubeclient.Client,
5656
metricIOTReport,
5757
metricIOTBatteryPercent,
5858
metricIOTLinkQuality,
59+
metricIOTTransmitPower,
5960
metricIOTBridgeState,
6061
metricIOTOccupancy,
6162
metricIOTWaterLeak,
@@ -300,6 +301,10 @@ func (z *Zigbee2Mqtt) updateZigbeeMessageMetrics(_ context.Context, m ZigbeeMess
300301
metricIOTLinkQuality.WithLabelValues(device.Name, routeName, zone, device.Spec.Type).Set(float64(*m.LinkQuality))
301302
}
302303

304+
if m.TransmitPower != nil {
305+
metricIOTTransmitPower.WithLabelValues(device.Name, routeName, zone, device.Spec.Type).Set(float64(*m.TransmitPower))
306+
}
307+
303308
if m.Temperature != nil {
304309
metricIOTTemperature.WithLabelValues(device.Name, routeName, zone).Set(*m.Temperature)
305310
}

0 commit comments

Comments
 (0)