ITADN

Error importing custom(rolling-key) device

#35OpenYb1t 创建于 2025-12-08
Y
Yb1tcommented
1. Generate a rolling-key json file with [generate_keys.py](https://github.com/pix/heystack-nrf5x/blob/master/tools/generate_keys.py): ``` python generate_keys.py -n 3 ``` ```json [{"id": 3477863,"colorComponents": [ 0, 1, 0, 1],"name": "U2LEZ5","privateKey": "WfiLRI/U+lZ9IFsByGnNSoPRuGwDHb/Z06MZ1A==","icon": "","isDeployed": true,"colorSpaceName": "kCGColorSpaceExtendedSRGB","usesDerivation": false,"isActive": false,"additionalKeys": ["LXdT8o7GvoQpaRGSgbCz9j0tXGQ9vBRYFc+HlA==","/Dym5izAzEo4KAIAmzn8ED6od6sFzTzgyqO1xw=="]}] ``` 2. Add a rolling-key device, upload the file above. 3. Submit: Unknown error occurred: <img width="388" height="531" alt="Image" src="https://github.com/user-attachments/assets/e664fca3-4bb2-4062-8cfb-687057f08839" /> Home assistant log: ``` 2025-12-08 14:30:25.915 ERROR (MainThread) [aiohttp.server] Error handling request from 127.0.0.1 Traceback (most recent call last): File "/usr/local/lib/python3.13/site-packages/aiohttp/web_protocol.py", line 510, in _handle_request resp = await request_handler(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.13/site-packages/aiohttp/web_app.py", line 569, in _handle return await handler(request) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.13/site-packages/aiohttp/web_middlewares.py", line 117, in impl return await handler(request) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 92, in security_filter_middleware return await handler(request) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 214, in forwarded_middleware return await handler(request) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 26, in request_context_middleware return await handler(request) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 86, in ban_middleware return await handler(request) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 242, in auth_middleware return await handler(request) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 41, in headers_middleware response = await handler(request) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/http.py", line 73, in handle result = await handler(request, **request.match_info) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 83, in with_admin return await func(self, request, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 234, in post return await super().post(request, flow_id) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 74, in wrapper return await method(view, request, data, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 121, in post result = await self._flow_mgr.async_configure(flow_id, data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 346, in async_configure result = await self._async_configure(flow_id, user_input) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 393, in _async_configure result = await self._async_handle_step( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ flow, cur_step["step_id"], user_input ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 493, in _async_handle_step result: _FlowResultT = await getattr(flow, method)(user_input) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/findmy/config_flow.py", line 464, in async_step_dev_rolling device = await self.hass.async_add_executor_job(_get_device_from_file, self.hass, file_id) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.13/concurrent/futures/thread.py", line 59, in run result = self.fn(*self.args, **self.kwargs) File "/config/custom_components/findmy/config_flow.py", line 496, in _get_device_from_file device = FindMyAccessory.from_json(f) File "/usr/local/lib/python3.13/site-packages/findmy/accessory.py", line 354, in from_json assert val["type"] == "accessory" ~~~^^^^^^^^ TypeError: list indices must be integers or slices, not str ```
0 条评论