@@ -74,6 +74,17 @@ def __init__(self, coordinator, device_info, shade, shade_name):
7474 @property
7575 def device_info (self ):
7676 """Return the device_info of the device."""
77+
78+ device_info = {
79+ "identifiers" : {(DOMAIN , self ._shade .id )},
80+ "name" : self ._shade_name ,
81+ "manufacturer" : MANUFACTURER ,
82+ "via_device" : (DOMAIN , self ._device_info [DEVICE_SERIAL_NUMBER ]),
83+ }
84+
85+ if FIRMWARE_IN_SHADE not in self ._shade .raw_data :
86+ return device_info
87+
7788 firmware = self ._shade .raw_data [FIRMWARE_IN_SHADE ]
7889 sw_version = f"{ firmware [FIRMWARE_REVISION ]} .{ firmware [FIRMWARE_SUB_REVISION ]} .{ firmware [FIRMWARE_BUILD ]} "
7990 model = self ._shade .raw_data [ATTR_TYPE ]
@@ -82,11 +93,6 @@ def device_info(self):
8293 model = shade .description
8394 break
8495
85- return {
86- "identifiers" : {(DOMAIN , self ._shade .id )},
87- "name" : self ._shade_name ,
88- "model" : str (model ),
89- "sw_version" : sw_version ,
90- "manufacturer" : MANUFACTURER ,
91- "via_device" : (DOMAIN , self ._device_info [DEVICE_SERIAL_NUMBER ]),
92- }
96+ device_info ["sw_version" ] = sw_version
97+ device_info ["model" ] = model
98+ return device_info
0 commit comments