"""Constants for SFR Box tests.""" from homeassistant.components.binary_sensor import BinarySensorDeviceClass from homeassistant.components.button import ButtonDeviceClass from homeassistant.components.sensor import ( ATTR_OPTIONS, ATTR_STATE_CLASS, SensorDeviceClass, SensorStateClass, ) from homeassistant.components.sfr_box.const import DOMAIN from homeassistant.const import ( ATTR_DEVICE_CLASS, ATTR_ENTITY_ID, ATTR_IDENTIFIERS, ATTR_MODEL, ATTR_NAME, ATTR_STATE, ATTR_SW_VERSION, ATTR_UNIT_OF_MEASUREMENT, SIGNAL_STRENGTH_DECIBELS, STATE_ON, STATE_UNKNOWN, Platform, UnitOfDataRate, UnitOfElectricPotential, UnitOfTemperature, ) ATTR_DEFAULT_DISABLED = "default_disabled" ATTR_UNIQUE_ID = "unique_id" FIXED_ATTRIBUTES = ( ATTR_DEVICE_CLASS, ATTR_OPTIONS, ATTR_STATE_CLASS, ATTR_UNIT_OF_MEASUREMENT, ) EXPECTED_ENTITIES = { "expected_device": { ATTR_IDENTIFIERS: {(DOMAIN, "e4:5d:51:00:11:22")}, ATTR_MODEL: "NB6VAC-FXC-r0", ATTR_NAME: "SFR Box", ATTR_SW_VERSION: "NB6VAC-MAIN-R4.0.44k", }, Platform.BINARY_SENSOR: [ { ATTR_DEVICE_CLASS: BinarySensorDeviceClass.CONNECTIVITY, ATTR_ENTITY_ID: "binary_sensor.sfr_box_status", ATTR_STATE: STATE_ON, ATTR_UNIQUE_ID: "e4:5d:51:00:11:22_dsl_status", }, ], Platform.BUTTON: [ { ATTR_DEVICE_CLASS: ButtonDeviceClass.RESTART, ATTR_ENTITY_ID: "button.sfr_box_reboot", ATTR_STATE: STATE_UNKNOWN, ATTR_UNIQUE_ID: "e4:5d:51:00:11:22_system_reboot", }, ], Platform.SENSOR: [ { ATTR_DEFAULT_DISABLED: True, ATTR_DEVICE_CLASS: SensorDeviceClass.ENUM, ATTR_ENTITY_ID: "sensor.sfr_box_network_infrastructure", ATTR_OPTIONS: ["adsl", "ftth", "gprs", "unknown"], ATTR_STATE: "adsl", ATTR_UNIQUE_ID: "e4:5d:51:00:11:22_system_net_infra", }, { ATTR_DEFAULT_DISABLED: True, ATTR_DEVICE_CLASS: SensorDeviceClass.TEMPERATURE, ATTR_ENTITY_ID: "sensor.sfr_box_temperature", ATTR_STATE: "27.56", ATTR_UNIQUE_ID: "e4:5d:51:00:11:22_system_temperature", ATTR_UNIT_OF_MEASUREMENT: UnitOfTemperature.CELSIUS, }, { ATTR_DEFAULT_DISABLED: True, ATTR_DEVICE_CLASS: SensorDeviceClass.VOLTAGE, ATTR_ENTITY_ID: "sensor.sfr_box_voltage", ATTR_STATE: "12251", ATTR_UNIQUE_ID: "e4:5d:51:00:11:22_system_alimvoltage", ATTR_UNIT_OF_MEASUREMENT: UnitOfElectricPotential.MILLIVOLT, }, { ATTR_DEFAULT_DISABLED: True, ATTR_ENTITY_ID: "sensor.sfr_box_line_mode", ATTR_STATE: "ADSL2+", ATTR_UNIQUE_ID: "e4:5d:51:00:11:22_dsl_linemode", }, { ATTR_DEFAULT_DISABLED: True, ATTR_ENTITY_ID: "sensor.sfr_box_counter", ATTR_STATE: "16", ATTR_UNIQUE_ID: "e4:5d:51:00:11:22_dsl_counter", }, { ATTR_DEFAULT_DISABLED: True, ATTR_ENTITY_ID: "sensor.sfr_box_crc", ATTR_STATE: "0", ATTR_UNIQUE_ID: "e4:5d:51:00:11:22_dsl_crc", }, { ATTR_DEFAULT_DISABLED: True, ATTR_DEVICE_CLASS: SensorDeviceClass.SIGNAL_STRENGTH, ATTR_ENTITY_ID: "sensor.sfr_box_noise_down", ATTR_STATE: "5.8", ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT, ATTR_UNIQUE_ID: "e4:5d:51:00:11:22_dsl_noise_down", ATTR_UNIT_OF_MEASUREMENT: SIGNAL_STRENGTH_DECIBELS, }, { ATTR_DEFAULT_DISABLED: True, ATTR_DEVICE_CLASS: SensorDeviceClass.SIGNAL_STRENGTH, ATTR_ENTITY_ID: "sensor.sfr_box_noise_up", ATTR_STATE: "6.0", ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT, ATTR_UNIQUE_ID: "e4:5d:51:00:11:22_dsl_noise_up", ATTR_UNIT_OF_MEASUREMENT: SIGNAL_STRENGTH_DECIBELS, }, { ATTR_DEFAULT_DISABLED: True, ATTR_DEVICE_CLASS: SensorDeviceClass.SIGNAL_STRENGTH, ATTR_ENTITY_ID: "sensor.sfr_box_attenuation_down", ATTR_STATE: "28.5", ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT, ATTR_UNIQUE_ID: "e4:5d:51:00:11:22_dsl_attenuation_down", ATTR_UNIT_OF_MEASUREMENT: SIGNAL_STRENGTH_DECIBELS, }, { ATTR_DEFAULT_DISABLED: True, ATTR_DEVICE_CLASS: SensorDeviceClass.SIGNAL_STRENGTH, ATTR_ENTITY_ID: "sensor.sfr_box_attenuation_up", ATTR_STATE: "20.8", ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT, ATTR_UNIQUE_ID: "e4:5d:51:00:11:22_dsl_attenuation_up", ATTR_UNIT_OF_MEASUREMENT: SIGNAL_STRENGTH_DECIBELS, }, { ATTR_DEVICE_CLASS: SensorDeviceClass.DATA_RATE, ATTR_ENTITY_ID: "sensor.sfr_box_rate_down", ATTR_STATE: "5549", ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT, ATTR_UNIQUE_ID: "e4:5d:51:00:11:22_dsl_rate_down", ATTR_UNIT_OF_MEASUREMENT: UnitOfDataRate.KILOBITS_PER_SECOND, }, { ATTR_DEVICE_CLASS: SensorDeviceClass.DATA_RATE, ATTR_ENTITY_ID: "sensor.sfr_box_rate_up", ATTR_STATE: "187", ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT, ATTR_UNIQUE_ID: "e4:5d:51:00:11:22_dsl_rate_up", ATTR_UNIT_OF_MEASUREMENT: UnitOfDataRate.KILOBITS_PER_SECOND, }, { ATTR_DEFAULT_DISABLED: True, ATTR_DEVICE_CLASS: SensorDeviceClass.ENUM, ATTR_ENTITY_ID: "sensor.sfr_box_line_status", ATTR_OPTIONS: [ "no_defect", "of_frame", "loss_of_signal", "loss_of_power", "loss_of_signal_quality", "unknown", ], ATTR_STATE: "no_defect", ATTR_UNIQUE_ID: "e4:5d:51:00:11:22_dsl_line_status", }, { ATTR_DEFAULT_DISABLED: True, ATTR_DEVICE_CLASS: SensorDeviceClass.ENUM, ATTR_ENTITY_ID: "sensor.sfr_box_training", ATTR_OPTIONS: [ "idle", "g_994_training", "g_992_started", "g_922_channel_analysis", "g_992_message_exchange", "g_993_started", "g_993_channel_analysis", "g_993_message_exchange", "showtime", "unknown", ], ATTR_STATE: "showtime", ATTR_UNIQUE_ID: "e4:5d:51:00:11:22_dsl_training", }, ], }