From a47f27821f077cb6c2f4447fcbbe72c5410d9956 Mon Sep 17 00:00:00 2001 From: tmenguy Date: Mon, 28 Apr 2025 13:31:27 -0700 Subject: [PATCH] Add some tests with an invalid plugStatus and renault twingo iii. (#143838) --- tests/components/renault/const.py | 252 +++ .../battery_status_waiting_for_charger.json | 13 + .../fixtures/charge_mode_always.2.json | 9 + .../renault/fixtures/hvac_status.3.json | 11 + .../fixtures/vehicle_twingo_3_electric.json | 254 +++ .../renault/snapshots/test_binary_sensor.ambr | 876 +++++++++ .../renault/snapshots/test_button.ambr | 344 ++++ .../snapshots/test_device_tracker.ambr | 177 ++ .../renault/snapshots/test_select.ambr | 198 ++ .../renault/snapshots/test_sensor.ambr | 1626 +++++++++++++++++ 10 files changed, 3760 insertions(+) create mode 100644 tests/components/renault/fixtures/battery_status_waiting_for_charger.json create mode 100644 tests/components/renault/fixtures/charge_mode_always.2.json create mode 100644 tests/components/renault/fixtures/hvac_status.3.json create mode 100644 tests/components/renault/fixtures/vehicle_twingo_3_electric.json diff --git a/tests/components/renault/const.py b/tests/components/renault/const.py index 30ff85d6c69..3a73723b818 100644 --- a/tests/components/renault/const.py +++ b/tests/components/renault/const.py @@ -873,4 +873,256 @@ MOCK_VEHICLES = { }, ], }, + "twingo_3_electric": { + "expected_device": { + ATTR_IDENTIFIERS: {(DOMAIN, "VF1AAAAA555777999")}, + ATTR_MANUFACTURER: "Renault", + ATTR_MODEL: "Twingo iii", + ATTR_NAME: "REG-NUMBER", + ATTR_MODEL_ID: "X071VE", + }, + "endpoints": { + "battery_status": "battery_status_waiting_for_charger.json", + "charge_mode": "charge_mode_always.2.json", + "cockpit": "cockpit_ev.json", + "hvac_status": "hvac_status.3.json", + "location": "location.json", + }, + Platform.BINARY_SENSOR: [ + { + ATTR_DEVICE_CLASS: BinarySensorDeviceClass.PLUG, + ATTR_ENTITY_ID: "binary_sensor.reg_number_plug", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_plugged_in", + }, + { + ATTR_DEVICE_CLASS: BinarySensorDeviceClass.BATTERY_CHARGING, + ATTR_ENTITY_ID: "binary_sensor.reg_number_charging", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_charging", + }, + { + ATTR_ENTITY_ID: "binary_sensor.reg_number_hvac", + ATTR_ICON: "mdi:fan-off", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_hvac_status", + }, + { + ATTR_DEVICE_CLASS: BinarySensorDeviceClass.LOCK, + ATTR_ENTITY_ID: "binary_sensor.reg_number_lock", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_lock_status", + }, + { + ATTR_DEVICE_CLASS: BinarySensorDeviceClass.DOOR, + ATTR_ENTITY_ID: "binary_sensor.reg_number_rear_left_door", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_rear_left_door_status", + }, + { + ATTR_DEVICE_CLASS: BinarySensorDeviceClass.DOOR, + ATTR_ENTITY_ID: "binary_sensor.reg_number_rear_right_door", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_rear_right_door_status", + }, + { + ATTR_DEVICE_CLASS: BinarySensorDeviceClass.DOOR, + ATTR_ENTITY_ID: "binary_sensor.reg_number_driver_door", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_driver_door_status", + }, + { + ATTR_DEVICE_CLASS: BinarySensorDeviceClass.DOOR, + ATTR_ENTITY_ID: "binary_sensor.reg_number_passenger_door", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_passenger_door_status", + }, + { + ATTR_DEVICE_CLASS: BinarySensorDeviceClass.DOOR, + ATTR_ENTITY_ID: "binary_sensor.reg_number_hatch", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_hatch_status", + }, + ], + Platform.BUTTON: [ + { + ATTR_ENTITY_ID: "button.reg_number_start_air_conditioner", + ATTR_ICON: "mdi:air-conditioner", + ATTR_STATE: STATE_UNKNOWN, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_start_air_conditioner", + }, + { + ATTR_ENTITY_ID: "button.reg_number_start_charge", + ATTR_ICON: "mdi:ev-station", + ATTR_STATE: STATE_UNKNOWN, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_start_charge", + }, + { + ATTR_ENTITY_ID: "button.reg_number_stop_charge", + ATTR_ICON: "mdi:ev-station", + ATTR_STATE: STATE_UNKNOWN, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_stop_charge", + }, + ], + Platform.DEVICE_TRACKER: [ + { + ATTR_ENTITY_ID: "device_tracker.reg_number_location", + ATTR_ICON: "mdi:car", + ATTR_STATE: STATE_NOT_HOME, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_location", + } + ], + Platform.SELECT: [ + { + ATTR_ENTITY_ID: "select.reg_number_charge_mode", + ATTR_ICON: "mdi:calendar-clock", + ATTR_OPTIONS: [ + "always", + "always_charging", + "schedule_mode", + "scheduled", + ], + ATTR_STATE: "schedule_mode", + ATTR_UNIQUE_ID: "vf1aaaaa555777999_charge_mode", + }, + ], + Platform.SENSOR: [ + { + ATTR_DEVICE_CLASS: SensorDeviceClass.DISTANCE, + ATTR_ENTITY_ID: "sensor.reg_number_battery_autonomy", + ATTR_ICON: "mdi:ev-station", + ATTR_STATE: "182", + ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_battery_autonomy", + ATTR_UNIT_OF_MEASUREMENT: UnitOfLength.KILOMETERS, + }, + { + ATTR_DEVICE_CLASS: SensorDeviceClass.ENERGY, + ATTR_ENTITY_ID: "sensor.reg_number_battery_available_energy", + ATTR_STATE: "0", + ATTR_STATE_CLASS: SensorStateClass.TOTAL, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_battery_available_energy", + ATTR_UNIT_OF_MEASUREMENT: UnitOfEnergy.KILO_WATT_HOUR, + }, + { + ATTR_DEVICE_CLASS: SensorDeviceClass.BATTERY, + ATTR_ENTITY_ID: "sensor.reg_number_battery", + ATTR_STATE: "96", + ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_battery_level", + ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE, + }, + { + ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: SensorDeviceClass.TIMESTAMP, + ATTR_ENTITY_ID: "sensor.reg_number_last_battery_activity", + ATTR_STATE: "2025-04-28T05:27:07+00:00", + ATTR_UNIQUE_ID: "vf1aaaaa555777999_battery_last_activity", + }, + { + ATTR_DEVICE_CLASS: SensorDeviceClass.TEMPERATURE, + ATTR_ENTITY_ID: "sensor.reg_number_battery_temperature", + ATTR_STATE: STATE_UNKNOWN, + ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_battery_temperature", + ATTR_UNIT_OF_MEASUREMENT: UnitOfTemperature.CELSIUS, + }, + { + ATTR_DEVICE_CLASS: SensorDeviceClass.ENUM, + ATTR_ENTITY_ID: "sensor.reg_number_charge_state", + ATTR_ICON: "mdi:flash-off", + ATTR_OPTIONS: [ + "not_in_charge", + "waiting_for_a_planned_charge", + "charge_ended", + "waiting_for_current_charge", + "energy_flap_opened", + "charge_in_progress", + "charge_error", + "unavailable", + ], + ATTR_STATE: "waiting_for_current_charge", + ATTR_UNIQUE_ID: "vf1aaaaa555777999_charge_state", + }, + { + ATTR_DEVICE_CLASS: SensorDeviceClass.POWER, + ATTR_ENTITY_ID: "sensor.reg_number_admissible_charging_power", + ATTR_STATE: STATE_UNKNOWN, + ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_charging_power", + ATTR_UNIT_OF_MEASUREMENT: UnitOfPower.KILO_WATT, + }, + { + ATTR_DEVICE_CLASS: SensorDeviceClass.DURATION, + ATTR_ENTITY_ID: "sensor.reg_number_charging_remaining_time", + ATTR_ICON: "mdi:timer", + ATTR_STATE: 15, + ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_charging_remaining_time", + ATTR_UNIT_OF_MEASUREMENT: UnitOfTime.MINUTES, + }, + { + ATTR_DEVICE_CLASS: SensorDeviceClass.DISTANCE, + ATTR_ENTITY_ID: "sensor.reg_number_mileage", + ATTR_ICON: "mdi:sign-direction", + ATTR_STATE: "49114", + ATTR_STATE_CLASS: SensorStateClass.TOTAL_INCREASING, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_mileage", + ATTR_UNIT_OF_MEASUREMENT: UnitOfLength.KILOMETERS, + }, + { + ATTR_DEVICE_CLASS: SensorDeviceClass.TEMPERATURE, + ATTR_ENTITY_ID: "sensor.reg_number_outside_temperature", + ATTR_STATE: STATE_UNKNOWN, + ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_outside_temperature", + ATTR_UNIT_OF_MEASUREMENT: UnitOfTemperature.CELSIUS, + }, + { + ATTR_ENTITY_ID: "sensor.reg_number_hvac_soc_threshold", + ATTR_STATE: "30.0", + ATTR_UNIQUE_ID: "vf1aaaaa555777999_hvac_soc_threshold", + ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE, + }, + { + ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: SensorDeviceClass.TIMESTAMP, + ATTR_ENTITY_ID: "sensor.reg_number_last_hvac_activity", + ATTR_STATE: "2025-04-28T04:29:26+00:00", + ATTR_UNIQUE_ID: "vf1aaaaa555777999_hvac_last_activity", + }, + { + ATTR_DEVICE_CLASS: SensorDeviceClass.ENUM, + ATTR_ENTITY_ID: "sensor.reg_number_plug_state", + ATTR_ICON: "mdi:power-plug-off", + ATTR_OPTIONS: [ + "unplugged", + "plugged", + "plugged_waiting_for_charge", + "plug_error", + "plug_unknown", + ], + ATTR_STATE: STATE_UNKNOWN, + ATTR_UNIQUE_ID: "vf1aaaaa555777999_plug_state", + }, + { + ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: SensorDeviceClass.TIMESTAMP, + ATTR_ENTITY_ID: "sensor.reg_number_last_location_activity", + ATTR_STATE: "2020-02-18T16:58:38+00:00", + ATTR_UNIQUE_ID: "vf1aaaaa555777999_location_last_activity", + }, + { + ATTR_ENTITY_ID: "sensor.reg_number_remote_engine_start", + ATTR_STATE: "Stopped, ready for RES", + ATTR_UNIQUE_ID: "vf1aaaaa555777999_res_state", + }, + { + ATTR_DEFAULT_DISABLED: True, + ATTR_ENTITY_ID: "sensor.reg_number_remote_engine_start_code", + ATTR_STATE: "10", + ATTR_UNIQUE_ID: "vf1aaaaa555777999_res_state_code", + }, + ], + }, } diff --git a/tests/components/renault/fixtures/battery_status_waiting_for_charger.json b/tests/components/renault/fixtures/battery_status_waiting_for_charger.json new file mode 100644 index 00000000000..a904de8627c --- /dev/null +++ b/tests/components/renault/fixtures/battery_status_waiting_for_charger.json @@ -0,0 +1,13 @@ +{ + "data": { + "id": "VF1AAAAA555777999", + "attributes": { + "timestamp": "2025-04-28T05:27:07Z", + "batteryLevel": 96, + "batteryAutonomy": 182, + "plugStatus": 3, + "chargingStatus": 0.3, + "chargingRemainingTime": 15 + } + } +} diff --git a/tests/components/renault/fixtures/charge_mode_always.2.json b/tests/components/renault/fixtures/charge_mode_always.2.json new file mode 100644 index 00000000000..c8c33942541 --- /dev/null +++ b/tests/components/renault/fixtures/charge_mode_always.2.json @@ -0,0 +1,9 @@ +{ + "data": { + "type": "Car", + "id": "VF1AAAAA555777999", + "attributes": { + "chargeMode": "always_charging" + } + } +} diff --git a/tests/components/renault/fixtures/hvac_status.3.json b/tests/components/renault/fixtures/hvac_status.3.json new file mode 100644 index 00000000000..b0e5c2759e6 --- /dev/null +++ b/tests/components/renault/fixtures/hvac_status.3.json @@ -0,0 +1,11 @@ +{ + "data": { + "id": "VF1AAAAA555777999", + "attributes": { + "internalTemperature": 26.0, + "hvacStatus": "off", + "socThreshold": 30.0, + "lastUpdateTime": "2025-04-28T04:29:26Z" + } + } +} diff --git a/tests/components/renault/fixtures/vehicle_twingo_3_electric.json b/tests/components/renault/fixtures/vehicle_twingo_3_electric.json new file mode 100644 index 00000000000..ce320fccd02 --- /dev/null +++ b/tests/components/renault/fixtures/vehicle_twingo_3_electric.json @@ -0,0 +1,254 @@ +{ + "accountId": "account-id-1", + "country": "FR", + "vehicleLinks": [ + { + "brand": "RENAULT", + "vin": "VF1AAAAA555777999", + "status": "ACTIVE", + "linkType": "OWNER", + "garageBrand": "renault", + "mileage": 23362, + "mileageUnit": "km", + "mileageDate": "2024-07-24", + "startDate": "2023-03-12", + "createdDate": "2023-03-11T23:53:55.253006Z", + "lastModifiedDate": "2024-07-24T15:13:28.062494Z", + "ownershipStartDate": "2023-03-07", + "cancellationReason": {}, + "connectedDriver": { + "role": "MAIN_DRIVER", + "createdDate": "2023-03-18T09:24:35.745983023Z", + "lastModifiedDate": "2023-03-18T09:24:35.745983023Z" + }, + "vehicleDetails": { + "vin": "VF1AAAAA555777999", + "registrationDate": "2023-03-07", + "firstRegistrationDate": "2023-03-07", + "engineType": "5AL", + "engineRatio": "605", + "modelSCR": "2WE", + "passToSalesDate": "2023-02-10", + "deliveryCountry": { + "code": "FR", + "label": "FRANCE" + }, + "family": { + "code": "X07", + "label": "FAMILLE X07", + "group": "007" + }, + "tcu": { + "code": "AIVCT", + "label": "WITH AIVC CONNECTION UNIT", + "group": "E70" + }, + "navigationAssistanceLevel": { + "code": "SSNAV", + "label": "WITHOUT NAVIGATION ASSISTANCE", + "group": "408" + }, + "battery": { + "code": "BT6AE", + "label": "BT6AE BATTERY", + "group": "968" + }, + "radioType": { + "code": "NA435", + "label": "CORE NAV DAB - CLASS", + "group": "425" + }, + "registrationCountry": { + "code": "FR" + }, + "brand": { + "label": "RENAULT" + }, + "model": { + "code": "X071VE", + "label": "TWINGO III", + "group": "971" + }, + "gearbox": { + "code": "BVEL", + "label": "ELEC.VAR.GEARBOX", + "group": "427" + }, + "version": { + "code": "E3W A1E C1 X" + }, + "energy": { + "code": "ELEC", + "label": "ELECTRICITY", + "group": "019" + }, + "bodyType": { + "code": "B07", + "label": "5-DOOR X07 SALOON", + "group": "008" + }, + "steeringSide": { + "code": "DG", + "label": "LEFT-HAND DRIVE", + "group": "027" + }, + "registrationNumber": "REG-NUMBER", + "vcd": "STANDA/X07/B07/EA3/A1/ELEC/DG/TEMP/TR4X2/DA/RV/CAREG1/TOTOIL/LAC/VSTLAR/CPE/RET01/SPROJA/RALU15/CEAVFX/ADAC/CCHBAM/SERIE/DRA/TICUI6/HARM01/ATAR/SGAV02/FBANAR/OVRPP/BANAL/KM/TPRM3/VERCAP/SSDECA/ABLAV1/RDAR02/ALEVA/PRENFA/SOP02C/CTHAB2/VLCUIR/REPNTC/LVCIPE/KTGREP/SGSCHA/FRA01/APL03/BECQA1/PLAT02/VOLRH/SBRDA/PROJ1/SSNAV/NA435/BVEL/SSCAPO/STALT/SPREST/RANPAR/RDIF24/PRLOO1/PNSTRD/ISOFIA/ENPH02/HRGM01/SANACF/PREALA/CHARAP/TLFRAN/RGAR1/SPRODI/SAN613/SSFAP/SSABGE/SAN713/CHC03/ELC1/SANCML/PRUPT2/SSRESE/SSFLEX/M2021/PHAS1/SAN913/024KWH/BT6AE/VEC029/X071VE/NB005/5AL/SDLIGM/AVSVEL/RAGAC2/CDVOL1/COIN02/SKTPOU/SKTPGR/SSCCPC/SRGTLU/ELCTRI/SSTOST/SECAMH/FDIU1/SSESM/SRGPDB/SSCALL/FACBA1/SPRCIN/TABANA/CABDO1/AIVCT/PREVSE/TPRPP/TSRPP/1TON/SPERTA/PERB09/SPERTN/SPERTP/VOLNCH/SAFDEP/1234YF/SAACC1/COFMOF/SPMIR/SANVF/TCHQ0", + "manufacturingDate": "2023-02-10", + "assets": [ + { + "assetType": "PICTURE", + "viewpoint": "mybrand_2", + "renditions": [ + { + "resolutionType": "ONE_MYRENAULT_SMALL", + "url": "https://3dv.renault.com/ImageFromBookmark?configuration=X07%2FB07%2FEA3%2FELEC%2FDG%2FRV%2FCAREG1%2FTOTOIL%2FVSTLAR%2FRET01%2FSPROJA%2FRALU15%2FTICUI6%2FATAR%2FSGAV02%2FOVRPP%2FKM%2FVERCAP%2FSSDECA%2FRDAR02%2FALEVA%2FVLCUIR%2FREPNTC%2FLVCIPE%2FSGSCHA%2FAPL03%2FBECQA1%2FPLAT02%2FVOLRH%2FSSNAV%2FNA435%2FBVEL%2FSPREST%2FRANPAR%2FRDIF24%2FENPH02%2FSANACF%2FRGAR1%2FCHC03%2FPRUPT2%2FSAN913%2FSDLIGM%2FAVSVEL%2FRAGAC2%2FCOIN02%2FSKTPOU%2FSRGTLU%2FELCTRI%2FSSTOST%2FSECAMH%2FSRGPDB%2FPERB09%2FSPERTN%2FSPERTP&databaseId=86ccf096-af52-4768-a165-edd53ab8259c&bookmarkSet=RSITE&bookmark=EXT_34_DESSUS&profile=HELIOS_OWNERSERVICES_SMALL_V2" + }, + { + "resolutionType": "ONE_MYRENAULT_LARGE", + "url": "https://3dv.renault.com/ImageFromBookmark?configuration=X07%2FB07%2FEA3%2FELEC%2FDG%2FRV%2FCAREG1%2FTOTOIL%2FVSTLAR%2FRET01%2FSPROJA%2FRALU15%2FTICUI6%2FATAR%2FSGAV02%2FOVRPP%2FKM%2FVERCAP%2FSSDECA%2FRDAR02%2FALEVA%2FVLCUIR%2FREPNTC%2FLVCIPE%2FSGSCHA%2FAPL03%2FBECQA1%2FPLAT02%2FVOLRH%2FSSNAV%2FNA435%2FBVEL%2FSPREST%2FRANPAR%2FRDIF24%2FENPH02%2FSANACF%2FRGAR1%2FCHC03%2FPRUPT2%2FSAN913%2FSDLIGM%2FAVSVEL%2FRAGAC2%2FCOIN02%2FSKTPOU%2FSRGTLU%2FELCTRI%2FSSTOST%2FSECAMH%2FSRGPDB%2FPERB09%2FSPERTN%2FSPERTP&databaseId=86ccf096-af52-4768-a165-edd53ab8259c&bookmarkSet=RSITE&bookmark=EXT_34_DESSUS&profile=HELIOS_OWNERSERVICES_LARGE" + } + ], + "viewPointInLowerCase": "mybrand_2" + }, + { + "assetType": "PICTURE", + "viewpoint": "mybrand_5", + "renditions": [ + { + "resolutionType": "ONE_MYRENAULT_SMALL", + "url": "https://3dv.renault.com/ImageFromBookmark?configuration=X07%2FB07%2FEA3%2FELEC%2FDG%2FRV%2FCAREG1%2FTOTOIL%2FVSTLAR%2FRET01%2FSPROJA%2FRALU15%2FTICUI6%2FATAR%2FSGAV02%2FOVRPP%2FKM%2FVERCAP%2FSSDECA%2FRDAR02%2FALEVA%2FVLCUIR%2FREPNTC%2FLVCIPE%2FSGSCHA%2FAPL03%2FBECQA1%2FPLAT02%2FVOLRH%2FSSNAV%2FNA435%2FBVEL%2FSPREST%2FRANPAR%2FRDIF24%2FENPH02%2FSANACF%2FRGAR1%2FCHC03%2FPRUPT2%2FSAN913%2FSDLIGM%2FAVSVEL%2FRAGAC2%2FCOIN02%2FSKTPOU%2FSRGTLU%2FELCTRI%2FSSTOST%2FSECAMH%2FSRGPDB%2FPERB09%2FSPERTN%2FSPERTP&databaseId=86ccf096-af52-4768-a165-edd53ab8259c&bookmarkSet=RSITE&bookmark=EXT_34_AV&profile=HELIOS_OWNERSERVICES_SMALL_V2" + }, + { + "resolutionType": "ONE_MYRENAULT_LARGE", + "url": "https://3dv.renault.com/ImageFromBookmark?configuration=X07%2FB07%2FEA3%2FELEC%2FDG%2FRV%2FCAREG1%2FTOTOIL%2FVSTLAR%2FRET01%2FSPROJA%2FRALU15%2FTICUI6%2FATAR%2FSGAV02%2FOVRPP%2FKM%2FVERCAP%2FSSDECA%2FRDAR02%2FALEVA%2FVLCUIR%2FREPNTC%2FLVCIPE%2FSGSCHA%2FAPL03%2FBECQA1%2FPLAT02%2FVOLRH%2FSSNAV%2FNA435%2FBVEL%2FSPREST%2FRANPAR%2FRDIF24%2FENPH02%2FSANACF%2FRGAR1%2FCHC03%2FPRUPT2%2FSAN913%2FSDLIGM%2FAVSVEL%2FRAGAC2%2FCOIN02%2FSKTPOU%2FSRGTLU%2FELCTRI%2FSSTOST%2FSECAMH%2FSRGPDB%2FPERB09%2FSPERTN%2FSPERTP&databaseId=86ccf096-af52-4768-a165-edd53ab8259c&bookmarkSet=RSITE&bookmark=EXT_34_AV&profile=HELIOS_OWNERSERVICES_LARGE" + } + ], + "viewPointInLowerCase": "mybrand_5" + }, + { + "assetType": "PICTURE", + "viewpoint": "myb_car_selector", + "renditions": [ + { + "resolutionType": "ONE_MYRENAULT_SMALL", + "url": "https://3dv.renault.com/ImageFromBookmark?configuration=X07%2FB07%2FEA3%2FELEC%2FDG%2FRV%2FCAREG1%2FTOTOIL%2FVSTLAR%2FRET01%2FSPROJA%2FRALU15%2FTICUI6%2FATAR%2FSGAV02%2FOVRPP%2FKM%2FVERCAP%2FSSDECA%2FRDAR02%2FALEVA%2FVLCUIR%2FREPNTC%2FLVCIPE%2FSGSCHA%2FAPL03%2FBECQA1%2FPLAT02%2FVOLRH%2FSSNAV%2FNA435%2FBVEL%2FSPREST%2FRANPAR%2FRDIF24%2FENPH02%2FSANACF%2FRGAR1%2FCHC03%2FPRUPT2%2FSAN913%2FSDLIGM%2FAVSVEL%2FRAGAC2%2FCOIN02%2FSKTPOU%2FSRGTLU%2FELCTRI%2FSSTOST%2FSECAMH%2FSRGPDB%2FPERB09%2FSPERTN%2FSPERTP&databaseId=86ccf096-af52-4768-a165-edd53ab8259c&bookmarkSet=CARPICKER&bookmark=EXT_RIGHT_SIDE&profile=HELIOS_OWNERSERVICES_SMALL_V2" + }, + { + "resolutionType": "ONE_MYRENAULT_LARGE", + "url": "https://3dv.renault.com/ImageFromBookmark?configuration=X07%2FB07%2FEA3%2FELEC%2FDG%2FRV%2FCAREG1%2FTOTOIL%2FVSTLAR%2FRET01%2FSPROJA%2FRALU15%2FTICUI6%2FATAR%2FSGAV02%2FOVRPP%2FKM%2FVERCAP%2FSSDECA%2FRDAR02%2FALEVA%2FVLCUIR%2FREPNTC%2FLVCIPE%2FSGSCHA%2FAPL03%2FBECQA1%2FPLAT02%2FVOLRH%2FSSNAV%2FNA435%2FBVEL%2FSPREST%2FRANPAR%2FRDIF24%2FENPH02%2FSANACF%2FRGAR1%2FCHC03%2FPRUPT2%2FSAN913%2FSDLIGM%2FAVSVEL%2FRAGAC2%2FCOIN02%2FSKTPOU%2FSRGTLU%2FELCTRI%2FSSTOST%2FSECAMH%2FSRGPDB%2FPERB09%2FSPERTN%2FSPERTP&databaseId=86ccf096-af52-4768-a165-edd53ab8259c&bookmarkSet=CARPICKER&bookmark=EXT_RIGHT_SIDE&profile=HELIOS_OWNERSERVICES_LARGE" + } + ], + "viewPointInLowerCase": "myb_car_selector" + }, + { + "assetType": "PICTURE", + "viewpoint": "myb_car_page_dashboard", + "renditions": [ + { + "resolutionType": "ONE_MYRENAULT_SMALL", + "url": "https://3dv.renault.com/ImageFromBookmark?configuration=X07%2FB07%2FEA3%2FELEC%2FDG%2FRV%2FCAREG1%2FTOTOIL%2FVSTLAR%2FRET01%2FSPROJA%2FRALU15%2FTICUI6%2FATAR%2FSGAV02%2FOVRPP%2FKM%2FVERCAP%2FSSDECA%2FRDAR02%2FALEVA%2FVLCUIR%2FREPNTC%2FLVCIPE%2FSGSCHA%2FAPL03%2FBECQA1%2FPLAT02%2FVOLRH%2FSSNAV%2FNA435%2FBVEL%2FSPREST%2FRANPAR%2FRDIF24%2FENPH02%2FSANACF%2FRGAR1%2FCHC03%2FPRUPT2%2FSAN913%2FSDLIGM%2FAVSVEL%2FRAGAC2%2FCOIN02%2FSKTPOU%2FSRGTLU%2FELCTRI%2FSSTOST%2FSECAMH%2FSRGPDB%2FPERB09%2FSPERTN%2FSPERTP&databaseId=86ccf096-af52-4768-a165-edd53ab8259c&bookmarkSet=CARPICKER&bookmark=EXT_LEFT_SIDE&profile=HELIOS_OWNERSERVICES_SMALL_V2" + }, + { + "resolutionType": "ONE_MYRENAULT_LARGE", + "url": "https://3dv.renault.com/ImageFromBookmark?configuration=X07%2FB07%2FEA3%2FELEC%2FDG%2FRV%2FCAREG1%2FTOTOIL%2FVSTLAR%2FRET01%2FSPROJA%2FRALU15%2FTICUI6%2FATAR%2FSGAV02%2FOVRPP%2FKM%2FVERCAP%2FSSDECA%2FRDAR02%2FALEVA%2FVLCUIR%2FREPNTC%2FLVCIPE%2FSGSCHA%2FAPL03%2FBECQA1%2FPLAT02%2FVOLRH%2FSSNAV%2FNA435%2FBVEL%2FSPREST%2FRANPAR%2FRDIF24%2FENPH02%2FSANACF%2FRGAR1%2FCHC03%2FPRUPT2%2FSAN913%2FSDLIGM%2FAVSVEL%2FRAGAC2%2FCOIN02%2FSKTPOU%2FSRGTLU%2FELCTRI%2FSSTOST%2FSECAMH%2FSRGPDB%2FPERB09%2FSPERTN%2FSPERTP&databaseId=86ccf096-af52-4768-a165-edd53ab8259c&bookmarkSet=CARPICKER&bookmark=EXT_LEFT_SIDE&profile=HELIOS_OWNERSERVICES_LARGE" + } + ], + "viewPointInLowerCase": "myb_car_page_dashboard" + }, + { + "assetType": "PICTURE", + "viewpoint": "myb_program_settings_page", + "renditions": [ + { + "resolutionType": "ONE_MYRENAULT_SMALL", + "url": "https://3dv.renault.com/ImageFromBookmark?configuration=X07%2FB07%2FEA3%2FELEC%2FDG%2FRV%2FCAREG1%2FTOTOIL%2FVSTLAR%2FRET01%2FSPROJA%2FRALU15%2FTICUI6%2FATAR%2FSGAV02%2FOVRPP%2FKM%2FVERCAP%2FSSDECA%2FRDAR02%2FALEVA%2FVLCUIR%2FREPNTC%2FLVCIPE%2FSGSCHA%2FAPL03%2FBECQA1%2FPLAT02%2FVOLRH%2FSSNAV%2FNA435%2FBVEL%2FSPREST%2FRANPAR%2FRDIF24%2FENPH02%2FSANACF%2FRGAR1%2FCHC03%2FPRUPT2%2FSAN913%2FSDLIGM%2FAVSVEL%2FRAGAC2%2FCOIN02%2FSKTPOU%2FSRGTLU%2FELCTRI%2FSSTOST%2FSECAMH%2FSRGPDB%2FPERB09%2FSPERTN%2FSPERTP&databaseId=86ccf096-af52-4768-a165-edd53ab8259c&bookmarkSet=CARPICKER&bookmark=EXT_LEFT_SIDE&profile=HELIOS_OWNERSERVICES_SMALL_V2" + }, + { + "resolutionType": "ONE_MYRENAULT_LARGE", + "url": "https://3dv.renault.com/ImageFromBookmark?configuration=X07%2FB07%2FEA3%2FELEC%2FDG%2FRV%2FCAREG1%2FTOTOIL%2FVSTLAR%2FRET01%2FSPROJA%2FRALU15%2FTICUI6%2FATAR%2FSGAV02%2FOVRPP%2FKM%2FVERCAP%2FSSDECA%2FRDAR02%2FALEVA%2FVLCUIR%2FREPNTC%2FLVCIPE%2FSGSCHA%2FAPL03%2FBECQA1%2FPLAT02%2FVOLRH%2FSSNAV%2FNA435%2FBVEL%2FSPREST%2FRANPAR%2FRDIF24%2FENPH02%2FSANACF%2FRGAR1%2FCHC03%2FPRUPT2%2FSAN913%2FSDLIGM%2FAVSVEL%2FRAGAC2%2FCOIN02%2FSKTPOU%2FSRGTLU%2FELCTRI%2FSSTOST%2FSECAMH%2FSRGPDB%2FPERB09%2FSPERTN%2FSPERTP&databaseId=86ccf096-af52-4768-a165-edd53ab8259c&bookmarkSet=CARPICKER&bookmark=EXT_LEFT_SIDE&profile=HELIOS_OWNERSERVICES_LARGE" + } + ], + "viewPointInLowerCase": "myb_program_settings_page" + }, + { + "assetType": "PICTURE", + "viewpoint": "myb_plug_and_charge_activation", + "renditions": [ + { + "resolutionType": "ONE_MYRENAULT_SMALL", + "url": "https://3dv.renault.com/ImageFromBookmark?configuration=X07%2FB07%2FEA3%2FELEC%2FDG%2FRV%2FCAREG1%2FTOTOIL%2FVSTLAR%2FRET01%2FSPROJA%2FRALU15%2FTICUI6%2FATAR%2FSGAV02%2FOVRPP%2FKM%2FVERCAP%2FSSDECA%2FRDAR02%2FALEVA%2FVLCUIR%2FREPNTC%2FLVCIPE%2FSGSCHA%2FAPL03%2FBECQA1%2FPLAT02%2FVOLRH%2FSSNAV%2FNA435%2FBVEL%2FSPREST%2FRANPAR%2FRDIF24%2FENPH02%2FSANACF%2FRGAR1%2FCHC03%2FPRUPT2%2FSAN913%2FSDLIGM%2FAVSVEL%2FRAGAC2%2FCOIN02%2FSKTPOU%2FSRGTLU%2FELCTRI%2FSSTOST%2FSECAMH%2FSRGPDB%2FPERB09%2FSPERTN%2FSPERTP&databaseId=86ccf096-af52-4768-a165-edd53ab8259c&bookmarkSet=CARPICKER&bookmark=EXT_RIGHT_SIDE&profile=HELIOS_OWNERSERVICES_SMALL_V2" + }, + { + "resolutionType": "ONE_MYRENAULT_LARGE", + "url": "https://3dv.renault.com/ImageFromBookmark?configuration=X07%2FB07%2FEA3%2FELEC%2FDG%2FRV%2FCAREG1%2FTOTOIL%2FVSTLAR%2FRET01%2FSPROJA%2FRALU15%2FTICUI6%2FATAR%2FSGAV02%2FOVRPP%2FKM%2FVERCAP%2FSSDECA%2FRDAR02%2FALEVA%2FVLCUIR%2FREPNTC%2FLVCIPE%2FSGSCHA%2FAPL03%2FBECQA1%2FPLAT02%2FVOLRH%2FSSNAV%2FNA435%2FBVEL%2FSPREST%2FRANPAR%2FRDIF24%2FENPH02%2FSANACF%2FRGAR1%2FCHC03%2FPRUPT2%2FSAN913%2FSDLIGM%2FAVSVEL%2FRAGAC2%2FCOIN02%2FSKTPOU%2FSRGTLU%2FELCTRI%2FSSTOST%2FSECAMH%2FSRGPDB%2FPERB09%2FSPERTN%2FSPERTP&databaseId=86ccf096-af52-4768-a165-edd53ab8259c&bookmarkSet=CARPICKER&bookmark=EXT_RIGHT_SIDE&profile=HELIOS_OWNERSERVICES_LARGE" + } + ], + "viewPointInLowerCase": "myb_plug_and_charge_activation" + }, + { + "assetType": "PICTURE", + "viewpoint": "myb_plug_and_charge_my_car", + "renditions": [ + { + "resolutionType": "ONE_MYRENAULT_SMALL", + "url": "https://3dv.renault.com/ImageFromBookmark?configuration=X07%2FB07%2FEA3%2FELEC%2FDG%2FRV%2FCAREG1%2FTOTOIL%2FVSTLAR%2FRET01%2FSPROJA%2FRALU15%2FTICUI6%2FATAR%2FSGAV02%2FOVRPP%2FKM%2FVERCAP%2FSSDECA%2FRDAR02%2FALEVA%2FVLCUIR%2FREPNTC%2FLVCIPE%2FSGSCHA%2FAPL03%2FBECQA1%2FPLAT02%2FVOLRH%2FSSNAV%2FNA435%2FBVEL%2FSPREST%2FRANPAR%2FRDIF24%2FENPH02%2FSANACF%2FRGAR1%2FCHC03%2FPRUPT2%2FSAN913%2FSDLIGM%2FAVSVEL%2FRAGAC2%2FCOIN02%2FSKTPOU%2FSRGTLU%2FELCTRI%2FSSTOST%2FSECAMH%2FSRGPDB%2FPERB09%2FSPERTN%2FSPERTP&databaseId=86ccf096-af52-4768-a165-edd53ab8259c&bookmarkSet=CARPICKER&bookmark=EXT_LEFT_SIDE&profile=HELIOS_OWNERSERVICES_SMALL_V2" + }, + { + "resolutionType": "ONE_MYRENAULT_LARGE", + "url": "https://3dv.renault.com/ImageFromBookmark?configuration=X07%2FB07%2FEA3%2FELEC%2FDG%2FRV%2FCAREG1%2FTOTOIL%2FVSTLAR%2FRET01%2FSPROJA%2FRALU15%2FTICUI6%2FATAR%2FSGAV02%2FOVRPP%2FKM%2FVERCAP%2FSSDECA%2FRDAR02%2FALEVA%2FVLCUIR%2FREPNTC%2FLVCIPE%2FSGSCHA%2FAPL03%2FBECQA1%2FPLAT02%2FVOLRH%2FSSNAV%2FNA435%2FBVEL%2FSPREST%2FRANPAR%2FRDIF24%2FENPH02%2FSANACF%2FRGAR1%2FCHC03%2FPRUPT2%2FSAN913%2FSDLIGM%2FAVSVEL%2FRAGAC2%2FCOIN02%2FSKTPOU%2FSRGTLU%2FELCTRI%2FSSTOST%2FSECAMH%2FSRGPDB%2FPERB09%2FSPERTN%2FSPERTP&databaseId=86ccf096-af52-4768-a165-edd53ab8259c&bookmarkSet=CARPICKER&bookmark=EXT_LEFT_SIDE&profile=HELIOS_OWNERSERVICES_LARGE" + } + ], + "viewPointInLowerCase": "myb_plug_and_charge_my_car" + }, + { + "assetType": "URL", + "assetRole": "GUIDE", + "title": "e-guide", + "description": "", + "renditions": [ + { + "url": "https://tutos-videos.renault.fr/?id=twingo-electric", + "size": "51" + } + ] + }, + { + "assetType": "VIDEO", + "assetRole": "CAR", + "title": "Video 1", + "description": "", + "renditions": [ + { + "url": "1ChWFBuLqfU&t", + "size": "13" + } + ] + }, + { + "assetType": "URL", + "assetRole": "CAR", + "title": "More videos", + "description": "", + "renditions": [ + { + "url": "https://tutos-videos.renault.fr/?id=twingo-electric", + "size": "51" + } + ] + } + ], + "yearsOfMaintenance": 12, + "connectivityTechnology": "RLINK1", + "easyConnectStore": true, + "electrical": true, + "deliveryDate": "2023-03-21", + "retrievedFromDhs": false, + "engineEnergyType": "ELEC", + "radioCode": "", + "premiumSubscribed": false, + "batteryType": "NMC" + } + } + ] +} diff --git a/tests/components/renault/snapshots/test_binary_sensor.ambr b/tests/components/renault/snapshots/test_binary_sensor.ambr index b62cfb4d1b1..2c6ecda6f19 100644 --- a/tests/components/renault/snapshots/test_binary_sensor.ambr +++ b/tests/components/renault/snapshots/test_binary_sensor.ambr @@ -701,6 +701,444 @@ }), ]) # --- +# name: test_binary_sensor_empty[twingo_3_electric] + list([ + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'renault', + 'VF1AAAAA555777999', + ), + }), + 'is_new': False, + 'labels': set({ + }), + 'manufacturer': 'Renault', + 'model': 'Twingo iii', + 'model_id': 'X071VE', + 'name': 'REG-NUMBER', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'suggested_area': None, + 'sw_version': None, + 'via_device_id': None, + }), + ]) +# --- +# name: test_binary_sensor_empty[twingo_3_electric].1 + list([ + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'binary_sensor', + 'entity_category': None, + 'entity_id': 'binary_sensor.reg_number_plug', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Plug', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'vf1aaaaa555777999_plugged_in', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'binary_sensor', + 'entity_category': None, + 'entity_id': 'binary_sensor.reg_number_charging', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Charging', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'vf1aaaaa555777999_charging', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'binary_sensor', + 'entity_category': None, + 'entity_id': 'binary_sensor.reg_number_hvac', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'HVAC', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'hvac_status', + 'unique_id': 'vf1aaaaa555777999_hvac_status', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'binary_sensor', + 'entity_category': None, + 'entity_id': 'binary_sensor.reg_number_lock', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Lock', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'vf1aaaaa555777999_lock_status', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'binary_sensor', + 'entity_category': None, + 'entity_id': 'binary_sensor.reg_number_hatch', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Hatch', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'hatch_status', + 'unique_id': 'vf1aaaaa555777999_hatch_status', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'binary_sensor', + 'entity_category': None, + 'entity_id': 'binary_sensor.reg_number_rear_left_door', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Rear left door', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'rear_left_door_status', + 'unique_id': 'vf1aaaaa555777999_rear_left_door_status', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'binary_sensor', + 'entity_category': None, + 'entity_id': 'binary_sensor.reg_number_rear_right_door', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Rear right door', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'rear_right_door_status', + 'unique_id': 'vf1aaaaa555777999_rear_right_door_status', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'binary_sensor', + 'entity_category': None, + 'entity_id': 'binary_sensor.reg_number_driver_door', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Driver door', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'driver_door_status', + 'unique_id': 'vf1aaaaa555777999_driver_door_status', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'binary_sensor', + 'entity_category': None, + 'entity_id': 'binary_sensor.reg_number_passenger_door', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Passenger door', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'passenger_door_status', + 'unique_id': 'vf1aaaaa555777999_passenger_door_status', + 'unit_of_measurement': None, + }), + ]) +# --- +# name: test_binary_sensor_empty[twingo_3_electric].2 + list([ + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'plug', + 'friendly_name': 'REG-NUMBER Plug', + }), + 'context': , + 'entity_id': 'binary_sensor.reg_number_plug', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'battery_charging', + 'friendly_name': 'REG-NUMBER Charging', + }), + 'context': , + 'entity_id': 'binary_sensor.reg_number_charging', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'REG-NUMBER HVAC', + }), + 'context': , + 'entity_id': 'binary_sensor.reg_number_hvac', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'lock', + 'friendly_name': 'REG-NUMBER Lock', + }), + 'context': , + 'entity_id': 'binary_sensor.reg_number_lock', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'door', + 'friendly_name': 'REG-NUMBER Hatch', + }), + 'context': , + 'entity_id': 'binary_sensor.reg_number_hatch', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'door', + 'friendly_name': 'REG-NUMBER Rear left door', + }), + 'context': , + 'entity_id': 'binary_sensor.reg_number_rear_left_door', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'door', + 'friendly_name': 'REG-NUMBER Rear right door', + }), + 'context': , + 'entity_id': 'binary_sensor.reg_number_rear_right_door', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'door', + 'friendly_name': 'REG-NUMBER Driver door', + }), + 'context': , + 'entity_id': 'binary_sensor.reg_number_driver_door', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'door', + 'friendly_name': 'REG-NUMBER Passenger door', + }), + 'context': , + 'entity_id': 'binary_sensor.reg_number_passenger_door', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + ]) +# --- # name: test_binary_sensor_empty[zoe_40] list([ DeviceRegistryEntrySnapshot({ @@ -2015,6 +2453,444 @@ }), ]) # --- +# name: test_binary_sensors[twingo_3_electric] + list([ + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'renault', + 'VF1AAAAA555777999', + ), + }), + 'is_new': False, + 'labels': set({ + }), + 'manufacturer': 'Renault', + 'model': 'Twingo iii', + 'model_id': 'X071VE', + 'name': 'REG-NUMBER', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'suggested_area': None, + 'sw_version': None, + 'via_device_id': None, + }), + ]) +# --- +# name: test_binary_sensors[twingo_3_electric].1 + list([ + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'binary_sensor', + 'entity_category': None, + 'entity_id': 'binary_sensor.reg_number_plug', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Plug', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'vf1aaaaa555777999_plugged_in', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'binary_sensor', + 'entity_category': None, + 'entity_id': 'binary_sensor.reg_number_charging', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Charging', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'vf1aaaaa555777999_charging', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'binary_sensor', + 'entity_category': None, + 'entity_id': 'binary_sensor.reg_number_hvac', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'HVAC', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'hvac_status', + 'unique_id': 'vf1aaaaa555777999_hvac_status', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'binary_sensor', + 'entity_category': None, + 'entity_id': 'binary_sensor.reg_number_lock', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Lock', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'vf1aaaaa555777999_lock_status', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'binary_sensor', + 'entity_category': None, + 'entity_id': 'binary_sensor.reg_number_hatch', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Hatch', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'hatch_status', + 'unique_id': 'vf1aaaaa555777999_hatch_status', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'binary_sensor', + 'entity_category': None, + 'entity_id': 'binary_sensor.reg_number_rear_left_door', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Rear left door', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'rear_left_door_status', + 'unique_id': 'vf1aaaaa555777999_rear_left_door_status', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'binary_sensor', + 'entity_category': None, + 'entity_id': 'binary_sensor.reg_number_rear_right_door', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Rear right door', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'rear_right_door_status', + 'unique_id': 'vf1aaaaa555777999_rear_right_door_status', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'binary_sensor', + 'entity_category': None, + 'entity_id': 'binary_sensor.reg_number_driver_door', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Driver door', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'driver_door_status', + 'unique_id': 'vf1aaaaa555777999_driver_door_status', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'binary_sensor', + 'entity_category': None, + 'entity_id': 'binary_sensor.reg_number_passenger_door', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Passenger door', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'passenger_door_status', + 'unique_id': 'vf1aaaaa555777999_passenger_door_status', + 'unit_of_measurement': None, + }), + ]) +# --- +# name: test_binary_sensors[twingo_3_electric].2 + list([ + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'plug', + 'friendly_name': 'REG-NUMBER Plug', + }), + 'context': , + 'entity_id': 'binary_sensor.reg_number_plug', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'off', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'battery_charging', + 'friendly_name': 'REG-NUMBER Charging', + }), + 'context': , + 'entity_id': 'binary_sensor.reg_number_charging', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'off', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'REG-NUMBER HVAC', + }), + 'context': , + 'entity_id': 'binary_sensor.reg_number_hvac', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'off', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'lock', + 'friendly_name': 'REG-NUMBER Lock', + }), + 'context': , + 'entity_id': 'binary_sensor.reg_number_lock', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'door', + 'friendly_name': 'REG-NUMBER Hatch', + }), + 'context': , + 'entity_id': 'binary_sensor.reg_number_hatch', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'door', + 'friendly_name': 'REG-NUMBER Rear left door', + }), + 'context': , + 'entity_id': 'binary_sensor.reg_number_rear_left_door', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'door', + 'friendly_name': 'REG-NUMBER Rear right door', + }), + 'context': , + 'entity_id': 'binary_sensor.reg_number_rear_right_door', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'door', + 'friendly_name': 'REG-NUMBER Driver door', + }), + 'context': , + 'entity_id': 'binary_sensor.reg_number_driver_door', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'door', + 'friendly_name': 'REG-NUMBER Passenger door', + }), + 'context': , + 'entity_id': 'binary_sensor.reg_number_passenger_door', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + ]) +# --- # name: test_binary_sensors[zoe_40] list([ DeviceRegistryEntrySnapshot({ diff --git a/tests/components/renault/snapshots/test_button.ambr b/tests/components/renault/snapshots/test_button.ambr index 58789c7aa47..70194564e10 100644 --- a/tests/components/renault/snapshots/test_button.ambr +++ b/tests/components/renault/snapshots/test_button.ambr @@ -257,6 +257,178 @@ }), ]) # --- +# name: test_button_empty[twingo_3_electric] + list([ + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'renault', + 'VF1AAAAA555777999', + ), + }), + 'is_new': False, + 'labels': set({ + }), + 'manufacturer': 'Renault', + 'model': 'Twingo iii', + 'model_id': 'X071VE', + 'name': 'REG-NUMBER', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'suggested_area': None, + 'sw_version': None, + 'via_device_id': None, + }), + ]) +# --- +# name: test_button_empty[twingo_3_electric].1 + list([ + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'button', + 'entity_category': None, + 'entity_id': 'button.reg_number_start_air_conditioner', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Start air conditioner', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'start_air_conditioner', + 'unique_id': 'vf1aaaaa555777999_start_air_conditioner', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'button', + 'entity_category': None, + 'entity_id': 'button.reg_number_start_charge', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Start charge', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'start_charge', + 'unique_id': 'vf1aaaaa555777999_start_charge', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'button', + 'entity_category': None, + 'entity_id': 'button.reg_number_stop_charge', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Stop charge', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'stop_charge', + 'unique_id': 'vf1aaaaa555777999_stop_charge', + 'unit_of_measurement': None, + }), + ]) +# --- +# name: test_button_empty[twingo_3_electric].2 + list([ + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'REG-NUMBER Start air conditioner', + }), + 'context': , + 'entity_id': 'button.reg_number_start_air_conditioner', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'REG-NUMBER Start charge', + }), + 'context': , + 'entity_id': 'button.reg_number_start_charge', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'REG-NUMBER Stop charge', + }), + 'context': , + 'entity_id': 'button.reg_number_stop_charge', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + ]) +# --- # name: test_button_empty[zoe_40] list([ DeviceRegistryEntrySnapshot({ @@ -859,6 +1031,178 @@ }), ]) # --- +# name: test_buttons[twingo_3_electric] + list([ + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'renault', + 'VF1AAAAA555777999', + ), + }), + 'is_new': False, + 'labels': set({ + }), + 'manufacturer': 'Renault', + 'model': 'Twingo iii', + 'model_id': 'X071VE', + 'name': 'REG-NUMBER', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'suggested_area': None, + 'sw_version': None, + 'via_device_id': None, + }), + ]) +# --- +# name: test_buttons[twingo_3_electric].1 + list([ + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'button', + 'entity_category': None, + 'entity_id': 'button.reg_number_start_air_conditioner', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Start air conditioner', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'start_air_conditioner', + 'unique_id': 'vf1aaaaa555777999_start_air_conditioner', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'button', + 'entity_category': None, + 'entity_id': 'button.reg_number_start_charge', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Start charge', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'start_charge', + 'unique_id': 'vf1aaaaa555777999_start_charge', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'button', + 'entity_category': None, + 'entity_id': 'button.reg_number_stop_charge', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Stop charge', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'stop_charge', + 'unique_id': 'vf1aaaaa555777999_stop_charge', + 'unit_of_measurement': None, + }), + ]) +# --- +# name: test_buttons[twingo_3_electric].2 + list([ + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'REG-NUMBER Start air conditioner', + }), + 'context': , + 'entity_id': 'button.reg_number_start_air_conditioner', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'REG-NUMBER Start charge', + }), + 'context': , + 'entity_id': 'button.reg_number_start_charge', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'REG-NUMBER Stop charge', + }), + 'context': , + 'entity_id': 'button.reg_number_stop_charge', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + ]) +# --- # name: test_buttons[zoe_40] list([ DeviceRegistryEntrySnapshot({ diff --git a/tests/components/renault/snapshots/test_device_tracker.ambr b/tests/components/renault/snapshots/test_device_tracker.ambr index 119defca4ac..a6ae0770940 100644 --- a/tests/components/renault/snapshots/test_device_tracker.ambr +++ b/tests/components/renault/snapshots/test_device_tracker.ambr @@ -173,6 +173,93 @@ }), ]) # --- +# name: test_device_tracker_empty[twingo_3_electric] + list([ + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'renault', + 'VF1AAAAA555777999', + ), + }), + 'is_new': False, + 'labels': set({ + }), + 'manufacturer': 'Renault', + 'model': 'Twingo iii', + 'model_id': 'X071VE', + 'name': 'REG-NUMBER', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'suggested_area': None, + 'sw_version': None, + 'via_device_id': None, + }), + ]) +# --- +# name: test_device_tracker_empty[twingo_3_electric].1 + list([ + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'device_tracker', + 'entity_category': , + 'entity_id': 'device_tracker.reg_number_location', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Location', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'location', + 'unique_id': 'vf1aaaaa555777999_location', + 'unit_of_measurement': None, + }), + ]) +# --- +# name: test_device_tracker_empty[twingo_3_electric].2 + list([ + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'REG-NUMBER Location', + 'source_type': , + }), + 'context': , + 'entity_id': 'device_tracker.reg_number_location', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + ]) +# --- # name: test_device_tracker_empty[zoe_40] list([ DeviceRegistryEntrySnapshot({ @@ -483,6 +570,96 @@ }), ]) # --- +# name: test_device_trackers[twingo_3_electric] + list([ + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'renault', + 'VF1AAAAA555777999', + ), + }), + 'is_new': False, + 'labels': set({ + }), + 'manufacturer': 'Renault', + 'model': 'Twingo iii', + 'model_id': 'X071VE', + 'name': 'REG-NUMBER', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'suggested_area': None, + 'sw_version': None, + 'via_device_id': None, + }), + ]) +# --- +# name: test_device_trackers[twingo_3_electric].1 + list([ + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'device_tracker', + 'entity_category': , + 'entity_id': 'device_tracker.reg_number_location', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Location', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'location', + 'unique_id': 'vf1aaaaa555777999_location', + 'unit_of_measurement': None, + }), + ]) +# --- +# name: test_device_trackers[twingo_3_electric].2 + list([ + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'REG-NUMBER Location', + 'gps_accuracy': 0, + 'latitude': 48.1234567, + 'longitude': 11.1234567, + 'source_type': , + }), + 'context': , + 'entity_id': 'device_tracker.reg_number_location', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'not_home', + }), + ]) +# --- # name: test_device_trackers[zoe_40] list([ DeviceRegistryEntrySnapshot({ diff --git a/tests/components/renault/snapshots/test_select.ambr b/tests/components/renault/snapshots/test_select.ambr index 526c8af5bc4..c57159c63e3 100644 --- a/tests/components/renault/snapshots/test_select.ambr +++ b/tests/components/renault/snapshots/test_select.ambr @@ -141,6 +141,105 @@ }), ]) # --- +# name: test_select_empty[twingo_3_electric] + list([ + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'renault', + 'VF1AAAAA555777999', + ), + }), + 'is_new': False, + 'labels': set({ + }), + 'manufacturer': 'Renault', + 'model': 'Twingo iii', + 'model_id': 'X071VE', + 'name': 'REG-NUMBER', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'suggested_area': None, + 'sw_version': None, + 'via_device_id': None, + }), + ]) +# --- +# name: test_select_empty[twingo_3_electric].1 + list([ + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'options': list([ + 'always', + 'always_charging', + 'schedule_mode', + 'scheduled', + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'select', + 'entity_category': None, + 'entity_id': 'select.reg_number_charge_mode', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Charge mode', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'charge_mode', + 'unique_id': 'vf1aaaaa555777999_charge_mode', + 'unit_of_measurement': None, + }), + ]) +# --- +# name: test_select_empty[twingo_3_electric].2 + list([ + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'REG-NUMBER Charge mode', + 'options': list([ + 'always', + 'always_charging', + 'schedule_mode', + 'scheduled', + ]), + }), + 'context': , + 'entity_id': 'select.reg_number_charge_mode', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + ]) +# --- # name: test_select_empty[zoe_40] list([ DeviceRegistryEntrySnapshot({ @@ -481,6 +580,105 @@ }), ]) # --- +# name: test_selects[twingo_3_electric] + list([ + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'renault', + 'VF1AAAAA555777999', + ), + }), + 'is_new': False, + 'labels': set({ + }), + 'manufacturer': 'Renault', + 'model': 'Twingo iii', + 'model_id': 'X071VE', + 'name': 'REG-NUMBER', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'suggested_area': None, + 'sw_version': None, + 'via_device_id': None, + }), + ]) +# --- +# name: test_selects[twingo_3_electric].1 + list([ + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'options': list([ + 'always', + 'always_charging', + 'schedule_mode', + 'scheduled', + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'select', + 'entity_category': None, + 'entity_id': 'select.reg_number_charge_mode', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Charge mode', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'charge_mode', + 'unique_id': 'vf1aaaaa555777999_charge_mode', + 'unit_of_measurement': None, + }), + ]) +# --- +# name: test_selects[twingo_3_electric].2 + list([ + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'REG-NUMBER Charge mode', + 'options': list([ + 'always', + 'always_charging', + 'schedule_mode', + 'scheduled', + ]), + }), + 'context': , + 'entity_id': 'select.reg_number_charge_mode', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'always_charging', + }), + ]) +# --- # name: test_selects[zoe_40] list([ DeviceRegistryEntrySnapshot({ diff --git a/tests/components/renault/snapshots/test_sensor.ambr b/tests/components/renault/snapshots/test_sensor.ambr index 2027a32c0a4..2ce6baf5236 100644 --- a/tests/components/renault/snapshots/test_sensor.ambr +++ b/tests/components/renault/snapshots/test_sensor.ambr @@ -1089,6 +1089,819 @@ }), ]) # --- +# name: test_sensor_empty[twingo_3_electric] + list([ + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'renault', + 'VF1AAAAA555777999', + ), + }), + 'is_new': False, + 'labels': set({ + }), + 'manufacturer': 'Renault', + 'model': 'Twingo iii', + 'model_id': 'X071VE', + 'name': 'REG-NUMBER', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'suggested_area': None, + 'sw_version': None, + 'via_device_id': None, + }), + ]) +# --- +# name: test_sensor_empty[twingo_3_electric].1 + list([ + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_battery', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Battery', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'vf1aaaaa555777999_battery_level', + 'unit_of_measurement': '%', + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'options': list([ + 'not_in_charge', + 'waiting_for_a_planned_charge', + 'charge_ended', + 'waiting_for_current_charge', + 'energy_flap_opened', + 'charge_in_progress', + 'charge_error', + 'unavailable', + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_charge_state', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Charge state', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'charge_state', + 'unique_id': 'vf1aaaaa555777999_charge_state', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_charging_remaining_time', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Charging remaining time', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'charging_remaining_time', + 'unique_id': 'vf1aaaaa555777999_charging_remaining_time', + 'unit_of_measurement': , + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_admissible_charging_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Admissible charging power', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'admissible_charging_power', + 'unique_id': 'vf1aaaaa555777999_charging_power', + 'unit_of_measurement': , + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'options': list([ + 'unplugged', + 'plugged', + 'plugged_waiting_for_charge', + 'plug_error', + 'plug_unknown', + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_plug_state', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Plug state', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'plug_state', + 'unique_id': 'vf1aaaaa555777999_plug_state', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_battery_autonomy', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Battery autonomy', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'battery_autonomy', + 'unique_id': 'vf1aaaaa555777999_battery_autonomy', + 'unit_of_measurement': , + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_battery_available_energy', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Battery available energy', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'battery_available_energy', + 'unique_id': 'vf1aaaaa555777999_battery_available_energy', + 'unit_of_measurement': , + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_battery_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Battery temperature', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'battery_temperature', + 'unique_id': 'vf1aaaaa555777999_battery_temperature', + 'unit_of_measurement': , + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_last_battery_activity', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Last battery activity', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'battery_last_activity', + 'unique_id': 'vf1aaaaa555777999_battery_last_activity', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_mileage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Mileage', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'mileage', + 'unique_id': 'vf1aaaaa555777999_mileage', + 'unit_of_measurement': , + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_outside_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Outside temperature', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'outside_temperature', + 'unique_id': 'vf1aaaaa555777999_outside_temperature', + 'unit_of_measurement': , + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_hvac_soc_threshold', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'HVAC SoC threshold', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'hvac_soc_threshold', + 'unique_id': 'vf1aaaaa555777999_hvac_soc_threshold', + 'unit_of_measurement': '%', + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_last_hvac_activity', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Last HVAC activity', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'hvac_last_activity', + 'unique_id': 'vf1aaaaa555777999_hvac_last_activity', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_last_location_activity', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Last location activity', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'location_last_activity', + 'unique_id': 'vf1aaaaa555777999_location_last_activity', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_remote_engine_start', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Remote engine start', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'res_state', + 'unique_id': 'vf1aaaaa555777999_res_state', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_remote_engine_start_code', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Remote engine start code', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'res_state_code', + 'unique_id': 'vf1aaaaa555777999_res_state_code', + 'unit_of_measurement': None, + }), + ]) +# --- +# name: test_sensor_empty[twingo_3_electric].2 + list([ + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'battery', + 'friendly_name': 'REG-NUMBER Battery', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.reg_number_battery', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'enum', + 'friendly_name': 'REG-NUMBER Charge state', + 'options': list([ + 'not_in_charge', + 'waiting_for_a_planned_charge', + 'charge_ended', + 'waiting_for_current_charge', + 'energy_flap_opened', + 'charge_in_progress', + 'charge_error', + 'unavailable', + ]), + }), + 'context': , + 'entity_id': 'sensor.reg_number_charge_state', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'duration', + 'friendly_name': 'REG-NUMBER Charging remaining time', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.reg_number_charging_remaining_time', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'REG-NUMBER Admissible charging power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.reg_number_admissible_charging_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'enum', + 'friendly_name': 'REG-NUMBER Plug state', + 'options': list([ + 'unplugged', + 'plugged', + 'plugged_waiting_for_charge', + 'plug_error', + 'plug_unknown', + ]), + }), + 'context': , + 'entity_id': 'sensor.reg_number_plug_state', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'distance', + 'friendly_name': 'REG-NUMBER Battery autonomy', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.reg_number_battery_autonomy', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'REG-NUMBER Battery available energy', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.reg_number_battery_available_energy', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'REG-NUMBER Battery temperature', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.reg_number_battery_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'timestamp', + 'friendly_name': 'REG-NUMBER Last battery activity', + }), + 'context': , + 'entity_id': 'sensor.reg_number_last_battery_activity', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'distance', + 'friendly_name': 'REG-NUMBER Mileage', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.reg_number_mileage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'REG-NUMBER Outside temperature', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.reg_number_outside_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'REG-NUMBER HVAC SoC threshold', + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.reg_number_hvac_soc_threshold', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'timestamp', + 'friendly_name': 'REG-NUMBER Last HVAC activity', + }), + 'context': , + 'entity_id': 'sensor.reg_number_last_hvac_activity', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'timestamp', + 'friendly_name': 'REG-NUMBER Last location activity', + }), + 'context': , + 'entity_id': 'sensor.reg_number_last_location_activity', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'REG-NUMBER Remote engine start', + }), + 'context': , + 'entity_id': 'sensor.reg_number_remote_engine_start', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'REG-NUMBER Remote engine start code', + }), + 'context': , + 'entity_id': 'sensor.reg_number_remote_engine_start_code', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + ]) +# --- # name: test_sensor_empty[zoe_40] list([ DeviceRegistryEntrySnapshot({ @@ -3675,6 +4488,819 @@ }), ]) # --- +# name: test_sensors[twingo_3_electric] + list([ + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'renault', + 'VF1AAAAA555777999', + ), + }), + 'is_new': False, + 'labels': set({ + }), + 'manufacturer': 'Renault', + 'model': 'Twingo iii', + 'model_id': 'X071VE', + 'name': 'REG-NUMBER', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'suggested_area': None, + 'sw_version': None, + 'via_device_id': None, + }), + ]) +# --- +# name: test_sensors[twingo_3_electric].1 + list([ + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_battery', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Battery', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'vf1aaaaa555777999_battery_level', + 'unit_of_measurement': '%', + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'options': list([ + 'not_in_charge', + 'waiting_for_a_planned_charge', + 'charge_ended', + 'waiting_for_current_charge', + 'energy_flap_opened', + 'charge_in_progress', + 'charge_error', + 'unavailable', + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_charge_state', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Charge state', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'charge_state', + 'unique_id': 'vf1aaaaa555777999_charge_state', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_charging_remaining_time', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Charging remaining time', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'charging_remaining_time', + 'unique_id': 'vf1aaaaa555777999_charging_remaining_time', + 'unit_of_measurement': , + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_admissible_charging_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Admissible charging power', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'admissible_charging_power', + 'unique_id': 'vf1aaaaa555777999_charging_power', + 'unit_of_measurement': , + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'options': list([ + 'unplugged', + 'plugged', + 'plugged_waiting_for_charge', + 'plug_error', + 'plug_unknown', + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_plug_state', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Plug state', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'plug_state', + 'unique_id': 'vf1aaaaa555777999_plug_state', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_battery_autonomy', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Battery autonomy', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'battery_autonomy', + 'unique_id': 'vf1aaaaa555777999_battery_autonomy', + 'unit_of_measurement': , + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_battery_available_energy', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Battery available energy', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'battery_available_energy', + 'unique_id': 'vf1aaaaa555777999_battery_available_energy', + 'unit_of_measurement': , + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_battery_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Battery temperature', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'battery_temperature', + 'unique_id': 'vf1aaaaa555777999_battery_temperature', + 'unit_of_measurement': , + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': , + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_last_battery_activity', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Last battery activity', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'battery_last_activity', + 'unique_id': 'vf1aaaaa555777999_battery_last_activity', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_mileage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Mileage', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'mileage', + 'unique_id': 'vf1aaaaa555777999_mileage', + 'unit_of_measurement': , + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_outside_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Outside temperature', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'outside_temperature', + 'unique_id': 'vf1aaaaa555777999_outside_temperature', + 'unit_of_measurement': , + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_hvac_soc_threshold', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'HVAC SoC threshold', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'hvac_soc_threshold', + 'unique_id': 'vf1aaaaa555777999_hvac_soc_threshold', + 'unit_of_measurement': '%', + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': , + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_last_hvac_activity', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Last HVAC activity', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'hvac_last_activity', + 'unique_id': 'vf1aaaaa555777999_hvac_last_activity', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': , + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_last_location_activity', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Last location activity', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'location_last_activity', + 'unique_id': 'vf1aaaaa555777999_location_last_activity', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_remote_engine_start', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Remote engine start', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'res_state', + 'unique_id': 'vf1aaaaa555777999_res_state', + 'unit_of_measurement': None, + }), + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': , + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.reg_number_remote_engine_start_code', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Remote engine start code', + 'platform': 'renault', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'res_state_code', + 'unique_id': 'vf1aaaaa555777999_res_state_code', + 'unit_of_measurement': None, + }), + ]) +# --- +# name: test_sensors[twingo_3_electric].2 + list([ + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'battery', + 'friendly_name': 'REG-NUMBER Battery', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.reg_number_battery', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '96', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'enum', + 'friendly_name': 'REG-NUMBER Charge state', + 'options': list([ + 'not_in_charge', + 'waiting_for_a_planned_charge', + 'charge_ended', + 'waiting_for_current_charge', + 'energy_flap_opened', + 'charge_in_progress', + 'charge_error', + 'unavailable', + ]), + }), + 'context': , + 'entity_id': 'sensor.reg_number_charge_state', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'waiting_for_current_charge', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'duration', + 'friendly_name': 'REG-NUMBER Charging remaining time', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.reg_number_charging_remaining_time', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '15', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'REG-NUMBER Admissible charging power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.reg_number_admissible_charging_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'enum', + 'friendly_name': 'REG-NUMBER Plug state', + 'options': list([ + 'unplugged', + 'plugged', + 'plugged_waiting_for_charge', + 'plug_error', + 'plug_unknown', + ]), + }), + 'context': , + 'entity_id': 'sensor.reg_number_plug_state', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'distance', + 'friendly_name': 'REG-NUMBER Battery autonomy', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.reg_number_battery_autonomy', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '182', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'REG-NUMBER Battery available energy', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.reg_number_battery_available_energy', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'REG-NUMBER Battery temperature', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.reg_number_battery_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'timestamp', + 'friendly_name': 'REG-NUMBER Last battery activity', + }), + 'context': , + 'entity_id': 'sensor.reg_number_last_battery_activity', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '2025-04-28T05:27:07+00:00', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'distance', + 'friendly_name': 'REG-NUMBER Mileage', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.reg_number_mileage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '49114', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'REG-NUMBER Outside temperature', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.reg_number_outside_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'REG-NUMBER HVAC SoC threshold', + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.reg_number_hvac_soc_threshold', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '30.0', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'timestamp', + 'friendly_name': 'REG-NUMBER Last HVAC activity', + }), + 'context': , + 'entity_id': 'sensor.reg_number_last_hvac_activity', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '2025-04-28T04:29:26+00:00', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'timestamp', + 'friendly_name': 'REG-NUMBER Last location activity', + }), + 'context': , + 'entity_id': 'sensor.reg_number_last_location_activity', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '2020-02-18T16:58:38+00:00', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'REG-NUMBER Remote engine start', + }), + 'context': , + 'entity_id': 'sensor.reg_number_remote_engine_start', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'REG-NUMBER Remote engine start code', + }), + 'context': , + 'entity_id': 'sensor.reg_number_remote_engine_start_code', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }), + ]) +# --- # name: test_sensors[zoe_40] list([ DeviceRegistryEntrySnapshot({