# Total time in seconds consumables have before Roborock recommends replacing
MAIN_BRUSH_REPLACE_TIME = 1080000
SIDE_BRUSH_REPLACE_TIME = 720000
FILTER_REPLACE_TIME = 540000
SENSOR_DIRTY_REPLACE_TIME = 108000
MOP_ROLLER_REPLACE_TIME = 1080000
STRAINER_REPLACE_TIME = 150
CLEANING_BRUSH_REPLACE_TIME = 300
DUST_COLLECTION_REPLACE_TIME = 90
FLOOR_CLEANER_REPLACE_TIME = 300


ROBOROCK_V1 = "ROBOROCK.vacuum.v1"
ROBOROCK_S4 = "roborock.vacuum.s4"
ROBOROCK_S4_MAX = "roborock.vacuum.a19"
ROBOROCK_S5 = "roborock.vacuum.s5"
ROBOROCK_S5_MAX = "roborock.vacuum.s5e"
ROBOROCK_S6 = "roborock.vacuum.s6"
ROBOROCK_T6 = "roborock.vacuum.t6"  # cn s6
ROBOROCK_E4 = "roborock.vacuum.a01"
ROBOROCK_S6_PURE = "roborock.vacuum.a08"
ROBOROCK_T7 = "roborock.vacuum.a11"  # cn s7
ROBOROCK_T7S = "roborock.vacuum.a14"
ROBOROCK_T7SPLUS = "roborock.vacuum.a23"
ROBOROCK_S7_MAXV = "roborock.vacuum.a27"
ROBOROCK_S7_MAXV_ULTRA = "roborock.vacuum.a65"
ROBOROCK_S7_PRO_ULTRA = "roborock.vacuum.a62"
ROBOROCK_Q5 = "roborock.vacuum.a34"
ROBOROCK_Q5_PRO = "roborock.vacuum.a72"
ROBOROCK_Q7 = "roborock.vacuum.a40"
ROBOROCK_Q7_MAX = "roborock.vacuum.a38"
ROBOROCK_Q7PLUS = "roborock.vacuum.a40"
ROBOROCK_QREVO_MASTER = "roborock.vacuum.a117"
ROBOROCK_QREVO_CURV = "roborock.vacuum.a135"
ROBOROCK_Q8_MAX = "roborock.vacuum.a73"
ROBOROCK_Q10 = "roborock.vacuum.ss07"
ROBOROCK_G10S_PRO = "roborock.vacuum.a26"
ROBOROCK_G20S_Ultra = "roborock.vacuum.a143"  # cn saros_r10
ROBOROCK_G10S = "roborock.vacuum.a46"
ROBOROCK_G10 = "roborock.vacuum.a29"
ROCKROBO_G10_SG = "roborock.vacuum.a30"  # Variant of the G10, has similar features as S7
ROBOROCK_S7 = "roborock.vacuum.a15"
ROBOROCK_S6_MAXV = "roborock.vacuum.a10"
ROBOROCK_E2 = "roborock.vacuum.e2"
ROBOROCK_1S = "roborock.vacuum.m1s"
ROBOROCK_C1 = "roborock.vacuum.c1"
ROBOROCK_S8_PRO_ULTRA = "roborock.vacuum.a70"
ROBOROCK_S8 = "roborock.vacuum.a51"
ROBOROCK_P10 = "roborock.vacuum.a75"  # also known as q_revo
ROBOROCK_S8_MAXV_ULTRA = "roborock.vacuum.a97"
ROBOROCK_QREVO_S = "roborock.vacuum.a104"
ROBOROCK_QREVO_PRO = "roborock.vacuum.a101"
ROBOROCK_QREVO_MAXV = "roborock.vacuum.a87"
ROBOROCK_SAROS_10R = "roborock.vacuum.a144"
ROBOROCK_SAROS_10 = "roborock.vacuum.a147"

ROBOROCK_DYAD_AIR = "roborock.wetdryvac.a107"
ROBOROCK_DYAD_PRO_COMBO = "roborock.wetdryvac.a83"
ROBOROCK_DYAD_PRO = "roborock.wetdryvac.a56"

# These are the devices that show up when you add a device - more could be supported and just not show up
SUPPORTED_VACUUMS = [
    ROBOROCK_G10,
    ROBOROCK_G10S_PRO,
    ROBOROCK_G20S_Ultra,
    ROBOROCK_Q5,
    ROBOROCK_Q7,
    ROBOROCK_Q7_MAX,
    ROBOROCK_S4,
    ROBOROCK_S5_MAX,
    ROBOROCK_S6,
    ROBOROCK_S6_MAXV,
    ROBOROCK_S6_PURE,
    ROBOROCK_S7_MAXV,
    ROBOROCK_S8_PRO_ULTRA,
    ROBOROCK_S8,
    ROBOROCK_S4_MAX,
    ROBOROCK_S7,
    ROBOROCK_P10,
    ROBOROCK_Q10,
    ROCKROBO_G10_SG,
]

NO_MAP = 63
