1 """Websocket constants."""
3 from __future__
import annotations
5 from collections.abc
import Awaitable, Callable
6 from typing
import TYPE_CHECKING, Any, Final
11 from .connection
import ActiveConnection
14 type WebSocketCommandHandler = Callable[
15 [HomeAssistant, ActiveConnection, dict[str, Any]],
None
17 type AsyncWebSocketCommandHandler = Callable[
18 [HomeAssistant, ActiveConnection, dict[str, Any]], Awaitable[
None]
21 DOMAIN: Final =
"websocket_api"
22 URL: Final =
"/api/websocket"
23 PENDING_MSG_PEAK: Final = 1024
24 PENDING_MSG_PEAK_TIME: Final = 5
31 MAX_PENDING_MSG: Final = 4096
35 PENDING_MSG_MAX_FORCE_READY: Final = 256
37 ERR_ID_REUSE: Final =
"id_reuse"
38 ERR_INVALID_FORMAT: Final =
"invalid_format"
39 ERR_NOT_ALLOWED: Final =
"not_allowed"
40 ERR_NOT_FOUND: Final =
"not_found"
41 ERR_NOT_SUPPORTED: Final =
"not_supported"
42 ERR_HOME_ASSISTANT_ERROR: Final =
"home_assistant_error"
43 ERR_SERVICE_VALIDATION_ERROR: Final =
"service_validation_error"
44 ERR_UNKNOWN_COMMAND: Final =
"unknown_command"
45 ERR_UNKNOWN_ERROR: Final =
"unknown_error"
46 ERR_UNAUTHORIZED: Final =
"unauthorized"
47 ERR_TIMEOUT: Final =
"timeout"
48 ERR_TEMPLATE_ERROR: Final =
"template_error"
50 TYPE_RESULT: Final =
"result"
54 SIGNAL_WEBSOCKET_CONNECTED: Final =
"websocket_connected"
55 SIGNAL_WEBSOCKET_DISCONNECTED: Final =
"websocket_disconnected"
58 DATA_CONNECTIONS: Final = f
"{DOMAIN}.connections"
60 FEATURE_COALESCE_MESSAGES =
"coalesce_messages"