57 lines
1.5 KiB
Python
57 lines
1.5 KiB
Python
"""Consts used by Speedtest.net."""
|
|
from __future__ import annotations
|
|
|
|
from typing import Final
|
|
|
|
from homeassistant.components.sensor import (
|
|
STATE_CLASS_MEASUREMENT,
|
|
SensorEntityDescription,
|
|
)
|
|
from homeassistant.const import DATA_RATE_MEGABITS_PER_SECOND, TIME_MILLISECONDS
|
|
|
|
DOMAIN: Final = "speedtestdotnet"
|
|
|
|
SPEED_TEST_SERVICE: Final = "speedtest"
|
|
|
|
SENSOR_TYPES: Final[tuple[SensorEntityDescription, ...]] = (
|
|
SensorEntityDescription(
|
|
key="ping",
|
|
name="Ping",
|
|
native_unit_of_measurement=TIME_MILLISECONDS,
|
|
state_class=STATE_CLASS_MEASUREMENT,
|
|
),
|
|
SensorEntityDescription(
|
|
key="download",
|
|
name="Download",
|
|
native_unit_of_measurement=DATA_RATE_MEGABITS_PER_SECOND,
|
|
state_class=STATE_CLASS_MEASUREMENT,
|
|
),
|
|
SensorEntityDescription(
|
|
key="upload",
|
|
name="Upload",
|
|
native_unit_of_measurement=DATA_RATE_MEGABITS_PER_SECOND,
|
|
state_class=STATE_CLASS_MEASUREMENT,
|
|
),
|
|
)
|
|
|
|
CONF_SERVER_NAME: Final = "server_name"
|
|
CONF_SERVER_ID: Final = "server_id"
|
|
CONF_MANUAL: Final = "manual"
|
|
|
|
ATTR_BYTES_RECEIVED: Final = "bytes_received"
|
|
ATTR_BYTES_SENT: Final = "bytes_sent"
|
|
ATTR_SERVER_COUNTRY: Final = "server_country"
|
|
ATTR_SERVER_ID: Final = "server_id"
|
|
ATTR_SERVER_NAME: Final = "server_name"
|
|
|
|
|
|
DEFAULT_NAME: Final = "SpeedTest"
|
|
DEFAULT_SCAN_INTERVAL: Final = 60
|
|
DEFAULT_SERVER: Final = "*Auto Detect"
|
|
|
|
ATTRIBUTION: Final = "Data retrieved from Speedtest.net by Ookla"
|
|
|
|
ICON: Final = "mdi:speedometer"
|
|
|
|
PLATFORMS: Final = ["sensor"]
|