mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Fix legacy Hunter Douglas PowerView devices (#35895)
These devices are missing firmware information as the 1.0 firmware did not provide it.
This commit is contained in:
parent
c2f8e0bf66
commit
b19223cb37
@ -31,9 +31,15 @@ from .const import (
|
||||
DEVICE_REVISION,
|
||||
DEVICE_SERIAL_NUMBER,
|
||||
DOMAIN,
|
||||
FIRMWARE_BUILD,
|
||||
FIRMWARE_IN_USERDATA,
|
||||
FIRMWARE_SUB_REVISION,
|
||||
HUB_EXCEPTIONS,
|
||||
HUB_NAME,
|
||||
LEGACY_DEVICE_BUILD,
|
||||
LEGACY_DEVICE_MODEL,
|
||||
LEGACY_DEVICE_REVISION,
|
||||
LEGACY_DEVICE_SUB_REVISION,
|
||||
MAC_ADDRESS_IN_USERDATA,
|
||||
MAINPROCESSOR_IN_USERDATA_FIRMWARE,
|
||||
MODEL_IN_MAINPROCESSOR,
|
||||
@ -159,9 +165,19 @@ async def async_get_device_info(pv_request):
|
||||
resources = await userdata.get_resources()
|
||||
userdata_data = resources[USER_DATA]
|
||||
|
||||
main_processor_info = userdata_data[FIRMWARE_IN_USERDATA][
|
||||
MAINPROCESSOR_IN_USERDATA_FIRMWARE
|
||||
]
|
||||
if FIRMWARE_IN_USERDATA in userdata_data:
|
||||
main_processor_info = userdata_data[FIRMWARE_IN_USERDATA][
|
||||
MAINPROCESSOR_IN_USERDATA_FIRMWARE
|
||||
]
|
||||
else:
|
||||
# Legacy devices
|
||||
main_processor_info = {
|
||||
REVISION_IN_MAINPROCESSOR: LEGACY_DEVICE_REVISION,
|
||||
FIRMWARE_SUB_REVISION: LEGACY_DEVICE_SUB_REVISION,
|
||||
FIRMWARE_BUILD: LEGACY_DEVICE_BUILD,
|
||||
MODEL_IN_MAINPROCESSOR: LEGACY_DEVICE_MODEL,
|
||||
}
|
||||
|
||||
return {
|
||||
DEVICE_NAME: base64_to_unicode(userdata_data[HUB_NAME]),
|
||||
DEVICE_MAC_ADDRESS: userdata_data[MAC_ADDRESS_IN_USERDATA],
|
||||
|
@ -65,3 +65,8 @@ PV_ROOM_DATA = "pv_room_data"
|
||||
COORDINATOR = "coordinator"
|
||||
|
||||
HUB_EXCEPTIONS = (asyncio.TimeoutError, PvApiConnectionError)
|
||||
|
||||
LEGACY_DEVICE_SUB_REVISION = 1
|
||||
LEGACY_DEVICE_REVISION = 0
|
||||
LEGACY_DEVICE_BUILD = 0
|
||||
LEGACY_DEVICE_MODEL = "PV Hub1.0"
|
||||
|
34
tests/fixtures/hunterdouglas_powerview/userdata_v1.json
vendored
Normal file
34
tests/fixtures/hunterdouglas_powerview/userdata_v1.json
vendored
Normal file
@ -0,0 +1,34 @@
|
||||
{
|
||||
"userData" : {
|
||||
"enableScheduledEvents" : true,
|
||||
"staticIp" : false,
|
||||
"sceneControllerCount" : 0,
|
||||
"accessPointCount" : 0,
|
||||
"shadeCount" : 5,
|
||||
"ip" : "192.168.20.9",
|
||||
"groupCount" : 9,
|
||||
"scheduledEventCount" : 0,
|
||||
"editingEnabled" : true,
|
||||
"roomCount" : 5,
|
||||
"setupCompleted" : false,
|
||||
"sceneCount" : 18,
|
||||
"sceneControllerMemberCount" : 0,
|
||||
"mask" : "255.255.255.0",
|
||||
"hubName" : "UG93ZXJWaWV3IEh1YiBHZW4gMQ==",
|
||||
"rfID" : "0x8B2A",
|
||||
"remoteConnectEnabled" : false,
|
||||
"multiSceneMemberCount" : 0,
|
||||
"rfStatus" : 0,
|
||||
"serialNumber" : "REMOVED",
|
||||
"undefinedShadeCount" : 0,
|
||||
"sceneMemberCount" : 18,
|
||||
"unassignedShadeCount" : 0,
|
||||
"multiSceneCount" : 0,
|
||||
"addressKind" : "newPrimary",
|
||||
"gateway" : "192.168.20.1",
|
||||
"localTimeDataSet" : true,
|
||||
"dns" : "192.168.20.1",
|
||||
"macAddress" : "00:00:00:00:00:eb",
|
||||
"rfIDInt" : 35626
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user