Add fields cancelled & extra to result of the departure HVV sensor (#105030)

This commit is contained in:
Thomas Zahari 2023-12-05 13:15:16 +01:00 committed by GitHub
parent 0638088aee
commit f460fdf632
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -30,6 +30,8 @@ ATTR_DIRECTION = "direction"
ATTR_TYPE = "type" ATTR_TYPE = "type"
ATTR_DELAY = "delay" ATTR_DELAY = "delay"
ATTR_NEXT = "next" ATTR_NEXT = "next"
ATTR_CANCELLED = "cancelled"
ATTR_EXTRA = "extra"
PARALLEL_UPDATES = 0 PARALLEL_UPDATES = 0
BERLIN_TIME_ZONE = get_time_zone("Europe/Berlin") BERLIN_TIME_ZONE = get_time_zone("Europe/Berlin")
@ -142,6 +144,8 @@ class HVVDepartureSensor(SensorEntity):
departure = data["departures"][0] departure = data["departures"][0]
line = departure["line"] line = departure["line"]
delay = departure.get("delay", 0) delay = departure.get("delay", 0)
cancelled = departure.get("cancelled", False)
extra = departure.get("extra", False)
self._attr_available = True self._attr_available = True
self._attr_native_value = ( self._attr_native_value = (
departure_time departure_time
@ -157,6 +161,8 @@ class HVVDepartureSensor(SensorEntity):
ATTR_TYPE: line["type"]["shortInfo"], ATTR_TYPE: line["type"]["shortInfo"],
ATTR_ID: line["id"], ATTR_ID: line["id"],
ATTR_DELAY: delay, ATTR_DELAY: delay,
ATTR_CANCELLED: cancelled,
ATTR_EXTRA: extra,
} }
) )
@ -164,6 +170,8 @@ class HVVDepartureSensor(SensorEntity):
for departure in data["departures"]: for departure in data["departures"]:
line = departure["line"] line = departure["line"]
delay = departure.get("delay", 0) delay = departure.get("delay", 0)
cancelled = departure.get("cancelled", False)
extra = departure.get("extra", False)
departures.append( departures.append(
{ {
ATTR_DEPARTURE: departure_time ATTR_DEPARTURE: departure_time
@ -175,6 +183,8 @@ class HVVDepartureSensor(SensorEntity):
ATTR_TYPE: line["type"]["shortInfo"], ATTR_TYPE: line["type"]["shortInfo"],
ATTR_ID: line["id"], ATTR_ID: line["id"],
ATTR_DELAY: delay, ATTR_DELAY: delay,
ATTR_CANCELLED: cancelled,
ATTR_EXTRA: extra,
} }
) )
self._attr_extra_state_attributes[ATTR_NEXT] = departures self._attr_extra_state_attributes[ATTR_NEXT] = departures