HEX
Server: Apache/2.4.63 (Unix)
System: Linux Synopilou92 4.4.302+ #72806 SMP Mon Jul 21 23:16:00 CST 2025 x86_64
User: pilou92 (1026)
PHP: 8.0.30
Disabled: NONE
Upload Files
File: /volume1/docker/homeassistant2025/custom_components/roborock/roborock_typing.py
"""Typing for Roborock integration."""
from dataclasses import dataclass
from typing import Optional, TypedDict

from roborock import DeviceData, DeviceProp


class DeviceNetwork(TypedDict):
    """Define any network information needed."""

    ip: str
    mac: str


class ConfigEntryData(TypedDict):
    """Define data stored by integration."""

    user_data: dict
    home_data: dict
    base_url: str
    username: str
    device_network: dict[str, DeviceNetwork]


@dataclass
class RoborockHassDeviceInfo(DeviceData):
    """Define a help class to carry device information."""

    props: Optional[DeviceProp] = None
    is_map_valid: Optional[bool] = False
    map_mapping: Optional[dict[int, str]] = None
    room_mapping: Optional[dict[int, str]] = None
    current_room: Optional[int] = None