Home Assistant Unofficial Reference 2024.12.1
const.py
Go to the documentation of this file.
1 """Constants for the Home Assistant SkyConnect integration."""
2 
3 import dataclasses
4 import enum
5 from typing import Self
6 
7 DOMAIN = "homeassistant_sky_connect"
8 DOCS_WEB_FLASHER_URL = "https://skyconnect.home-assistant.io/firmware-update/"
9 
10 
11 @dataclasses.dataclass(frozen=True)
13  """Hardware variant information."""
14 
15  usb_product_name: str
16  short_name: str
17  full_name: str
18 
19 
20 class HardwareVariant(VariantInfo, enum.Enum):
21  """Hardware variants."""
22 
23  SKYCONNECT = (
24  "SkyConnect v1.0",
25  "SkyConnect",
26  "Home Assistant SkyConnect",
27  )
28 
29  CONNECT_ZBT1 = (
30  "Home Assistant Connect ZBT-1",
31  "Connect ZBT-1",
32  "Home Assistant Connect ZBT-1",
33  )
34 
35  @classmethod
36  def from_usb_product_name(cls, usb_product_name: str) -> Self:
37  """Get the hardware variant from the USB product name."""
38  for variant in cls:
39  if variant.value.usb_product_name == usb_product_name:
40  return variant
41 
42  raise ValueError(f"Unknown SkyConnect product name: {usb_product_name}")