|
@@ -48,7 +48,7 @@ async def async_setup_entry(
|
|
|
ReservationDateTimeSensor(coordinator, entry, slot, device_info, "Check-Out Date", "check_out_date", "check_out_time", "mdi:calendar-end"),
|
|
ReservationDateTimeSensor(coordinator, entry, slot, device_info, "Check-Out Date", "check_out_date", "check_out_time", "mdi:calendar-end"),
|
|
|
ReservationTimeSensor(coordinator, entry, slot, device_info, "Check-Out Time", "check_out_time", "mdi:timer-cancel-outline"),
|
|
ReservationTimeSensor(coordinator, entry, slot, device_info, "Check-Out Time", "check_out_time", "mdi:timer-cancel-outline"),
|
|
|
ReservationStrSensor(coordinator, entry, slot, device_info, "WiFi SSID", "wifi_ssid", "mdi:wifi"),
|
|
ReservationStrSensor(coordinator, entry, slot, device_info, "WiFi SSID", "wifi_ssid", "mdi:wifi"),
|
|
|
- ReservationStrSensor(coordinator, entry, slot, device_info, "WiFi Key", "wifi_key", "mdi:wifi-lock"),
|
|
|
|
|
|
|
+ WiFiKeySensor(coordinator, entry, slot, device_info),
|
|
|
ReservationStrSensor(coordinator, entry, slot, device_info, "Door Code", "door_code", "mdi:door-closed-lock"),
|
|
ReservationStrSensor(coordinator, entry, slot, device_info, "Door Code", "door_code", "mdi:door-closed-lock"),
|
|
|
LastRefreshSensor(coordinator, entry, slot, device_info),
|
|
LastRefreshSensor(coordinator, entry, slot, device_info),
|
|
|
]
|
|
]
|
|
@@ -88,6 +88,22 @@ class ReservationStrSensor(_ReservationSensor):
|
|
|
return getattr(self._reservation(), self._field)
|
|
return getattr(self._reservation(), self._field)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+class WiFiKeySensor(_ReservationSensor):
|
|
|
|
|
+ def __init__(self, coordinator, entry, slot, device_info) -> None:
|
|
|
|
|
+ super().__init__(coordinator, entry, slot, device_info, "WiFi Key", "wifi_key", "mdi:wifi-lock")
|
|
|
|
|
+
|
|
|
|
|
+ @property
|
|
|
|
|
+ def native_value(self) -> str | None:
|
|
|
|
|
+ return self._reservation().wifi_key
|
|
|
|
|
+
|
|
|
|
|
+ @property
|
|
|
|
|
+ def extra_state_attributes(self) -> dict[str, str] | None:
|
|
|
|
|
+ res = self._reservation()
|
|
|
|
|
+ if res.wifi_ssid is None or res.wifi_key is None:
|
|
|
|
|
+ return None
|
|
|
|
|
+ return {"qr": f"WIFI:S:{res.wifi_ssid};T:WPA;P:{res.wifi_key};;"}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
class ReservationTimeSensor(_ReservationSensor):
|
|
class ReservationTimeSensor(_ReservationSensor):
|
|
|
"""Time sensor. HA has no TIME device class for sensors; we expose as string ISO."""
|
|
"""Time sensor. HA has no TIME device class for sensors; we expose as string ISO."""
|
|
|
|
|
|