Skip to content

Commit a799f7f

Browse files
authored
Add service warning sensor to Volvo integration (home-assistant#154613)
1 parent 34ab725 commit a799f7f

File tree

4 files changed

+497
-0
lines changed

4 files changed

+497
-0
lines changed

homeassistant/components/volvo/icons.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,12 @@
348348
"odometer": {
349349
"default": "mdi:counter"
350350
},
351+
"service_warning": {
352+
"default": "mdi:wrench-clock",
353+
"state": {
354+
"no_warning": "mdi:car-wrench"
355+
}
356+
},
351357
"target_battery_charge_level": {
352358
"default": "mdi:battery-medium"
353359
},

homeassistant/components/volvo/sensor.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,25 @@ def _direction_value(field: VolvoCarsApiBaseModel) -> str | None:
332332
state_class=SensorStateClass.TOTAL_INCREASING,
333333
suggested_display_precision=1,
334334
),
335+
# diagnostics endpoint
336+
VolvoSensorDescription(
337+
key="service_warning",
338+
api_field="serviceWarning",
339+
device_class=SensorDeviceClass.ENUM,
340+
options=[
341+
"distance_driven_almost_time_for_service",
342+
"distance_driven_overdue_for_service",
343+
"distance_driven_time_for_service",
344+
"engine_hours_almost_time_for_service",
345+
"engine_hours_overdue_for_service",
346+
"engine_hours_time_for_service",
347+
"no_warning",
348+
"regular_maintenance_almost_time_for_service",
349+
"regular_maintenance_overdue_for_service",
350+
"regular_maintenance_time_for_service",
351+
"unknown_warning",
352+
],
353+
),
335354
# energy state endpoint
336355
VolvoSensorDescription(
337356
key="target_battery_charge_level",

homeassistant/components/volvo/strings.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,22 @@
309309
"odometer": {
310310
"name": "Odometer"
311311
},
312+
"service_warning": {
313+
"name": "Service",
314+
"state": {
315+
"distance_driven_almost_time_for_service": "Almost time for distance service",
316+
"distance_driven_overdue_for_service": "Distance service overdue",
317+
"distance_driven_time_for_service": "Time for distance service",
318+
"engine_hours_almost_time_for_service": "Almost time for engine service",
319+
"engine_hours_overdue_for_service": "Engine service overdue",
320+
"engine_hours_time_for_service": "Time for engine service",
321+
"no_warning": "No warning",
322+
"regular_maintenance_almost_time_for_service": "Almost time for service",
323+
"regular_maintenance_overdue_for_service": "Service overdue",
324+
"regular_maintenance_time_for_service": "Time for service",
325+
"unknown_warning": "Unknown warning"
326+
}
327+
},
312328
"target_battery_charge_level": {
313329
"name": "Target battery charge level"
314330
},

0 commit comments

Comments
 (0)