Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error when configuring MotionBlinds integration on 2024.9 #125396

Closed
R-zr opened this issue Sep 6, 2024 · 3 comments
Closed

Error when configuring MotionBlinds integration on 2024.9 #125396

R-zr opened this issue Sep 6, 2024 · 3 comments

Comments

@R-zr
Copy link

R-zr commented Sep 6, 2024

The problem

When attempting to configure the integration the step where I submit the API-key fails, in the log I'm seeing the following error (full stack-trace provided below):

TypeError: '>=' not supported between instances of 'NoneType' and 'float'

This seem to have started after I have upgraded to 2024.9.

What did I do after I noticed that the integration stopped working:

  1. Deleted the integration
  2. HA OS shows/finds the Brel gateway and notifies that a new device has been found
  3. I click on 'Configure' on the MotionBlinds integration card
  4. I add the API-key from the Brel-app
  5. When I click on 'Submit' I get 'Unknown error occurred'

I tried enable debug-logging but I don't think that's possible when the integration is not yet configured.

What version of Home Assistant Core has the issue?

2024.9

What was the last working version of Home Assistant Core?

2024.8.3

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Motionblinds

Link to integration documentation on our website

https://www.home-assistant.io/integrations/motion_blinds/

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

Logger: aiohttp.server
Source: /usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py:433
First occurred: September 5, 2024 at 16:36:37 (3 occurrences)
Last logged: 09:23:13

Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 462, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_app.py", line 537, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_middlewares.py", line 114, 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 83, 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 85, 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 32, 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 81, in with_admin
    return await func(self, request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 222, 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 122, in post
    result = await self._flow_mgr.async_configure(flow_id, data)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 366, in async_configure
    result = await self._async_configure(flow_id, user_input)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 413, in _async_configure
    result = await self._async_handle_step(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 516, in _async_handle_step
    result: _FlowResultT = await getattr(flow, method)(user_input)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/motion_blinds/config_flow.py", line 165, in async_step_connect
    if not await connect_gateway_class.async_connect_gateway(self._host, key):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/motion_blinds/gateway.py", line 53, in async_connect_gateway
    await self._hass.async_add_executor_job(self.update_gateway)
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/motion_blinds/gateway.py", line 43, in update_gateway
    blind.Update_from_cache()
  File "/usr/local/lib/python3.12/site-packages/motionblinds/motion_blinds.py", line 1270, in Update_from_cache
    self._parse_response(response)
  File "/usr/local/lib/python3.12/site-packages/motionblinds/motion_blinds.py", line 1205, in _parse_response
    self._battery_voltage <= 0.0 or self._battery_level >= 200.0
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: '>=' not supported between instances of 'NoneType' and 'float'

Additional information

  • I am able to control the blinds using the Brel-app on my phone. So the gateway seems online and able to communicate with the devices.
  • In the last days I noticed that one of blinds was reporting a battery percentage of some about 200% to Home Assistant. I remember it because it seemed odd to me. Not sure if it's related but the line self._battery_level >= 200.0 triggered this memory.
@home-assistant
Copy link

home-assistant bot commented Sep 6, 2024

Hey there @starkillerOG, mind taking a look at this issue as it has been labeled with an integration (motion_blinds) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of motion_blinds can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Renames the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign motion_blinds Removes the current integration label and assignees on the issue, add the integration domain after the command.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue.
  • @home-assistant remove-label needs-more-information Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


motion_blinds documentation
motion_blinds source
(message by IssueLinks)

@R-zr
Copy link
Author

R-zr commented Sep 8, 2024

@starkillerOG I've seemed to "fix" the problem by duplicating the integration into my custom_components folder and change the manifest to require version 0.6.23 of the motionblinds package instead of 0.6.24.

So the problem might actually be in the new release of the motionblinds package and not so much in the actual integration. Let me know if you want me to create an issue in the other repository!

@starkillerOG
Copy link
Contributor

@R-zr thank you very much for the detailed bug report!
This is indeed a bug introduced in the latest version of the motion blinds library.
I have fix it in this commit: starkillerOG/motion-blinds@76fe71c

Will update you when the fix makes it into HomeAssistant

@github-actions github-actions bot locked and limited conversation to collaborators Oct 14, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants