starkillerOG / motion-blinds

Python library for interfacing with Motion Blinds
MIT License
23 stars 9 forks source link

multicast docker problem #14

Closed lawa42 closed 3 years ago

lawa42 commented 3 years ago

Thanks for putting this together. I am running HA in a docker container. I can access the blinds from the host system (tested directly from python) but HA shows the 5 sec timeout error message related to multicast issues. Multicast is enabled on all devices I have (one real one and a couple of docker related ones). The docker-compose image has the network mode set to host. Also HA shows the correct device for multicast traffic in settings -> general -> network. I guess this might be a docker related issue but maybe you can help or provide some pointers.

starkillerOG commented 3 years ago

Multicast pushes have proven to be a difficult problem. Basically something is preventing the multicast pushes from arriving at your HomeAssistant instance. This is probably some network setup/setting/firewall issue. You can try the following tips: https://www.home-assistant.io/integrations/motion_blinds/#troubleshooting Bassically:

I do have an PR open to resolve some of these issues: https://github.com/home-assistant/core/pull/50067 That will give you the option to bind to an specific interface which can help with getting the multicast messages. If that does not work it also provides you with an option to un-check "wait_for_push", then the multicast messages are not awaited and the errors will disapear. You can then use the blinds as normal, you will only not get the status pushes for instant status updates.

starkillerOG commented 3 years ago

You can try home-assistant/core#50067 as a custom component if you like.

lawa42 commented 3 years ago

Lets see I might test the custom component. In the meantime I gave up docker and installed it directly in arch linux. While it worked initially I see it coming and going now. It is unavailable most of the time but shows up every few hours for a couple of minutes.

lawa42 commented 3 years ago

This also does not seem to be a HA issue your python code also stopped working.

starkillerOG commented 3 years ago

@lawa42 yea that can also be caused by a bad signal strenght of the blind. If you use the "blind_1.Update_trigger()" instead of "blind_1.Update()" you will not have this problem because the multicast push is not beeing awaited. (You can do that in HomeAssistant in the custom component by un-checking the "wait_for_push").

lawa42 commented 3 years ago

I tried to install it as a custom_component but just copying the motion_blinds directory from your Motion_blinds_2 branch into custom_components doesn't work. After adding the required version (0.5.4) it still fails to load and can resolve the subdependency tree. Are there instructions somehwere on how to install this as a custom component?

starkillerOG commented 3 years ago

@lawa42 I just updated this repo for you: https://github.com/starkillerOG/HA-motion-blinds you can download the files from there, instructions are here: https://github.com/starkillerOG/HA-motion-blinds#how-to-use

lawa42 commented 3 years ago

Hi @starkillerOG thanks but it doesn't work. Upon loading I get an error message that the config flow (gerrman: Konfigurationsfluss) could not be loaded.

starkillerOG commented 3 years ago

@lawa42 do you see any error message in the log when you get the error about the config flow that could not be loaded?

lawa42 commented 3 years ago

Logger: homeassistant.config_entries Source: config_entries.py:698 First occurred: 16:12:09 (1 occurrences) Last logged: 16:12:09

Error occurred loading configuration flow for integration motion_blinds: cannot import name 'AsyncMotionMulticast' from 'motionblinds' (/var/lib/hass/deps/lib/python3.9/site-packages/motionblinds/init.py)

starkillerOG commented 3 years ago

@lawa42 that is really strange, it looks like it is now using the custom component but somehow it did not properly install version 0.5.4 of motionblinds as instructed in the manifest.

Could you remove your motion integration from your homeassistant, then fully restart homeassistant again and then try to set it up again and see if you still get this config flow error?

lawa42 commented 3 years ago

Hi @starkillerOG I somehow missed the part that I need to update the libs inside hass also. Makes sense of course. I did a pip install --upgrade -t /var/lib/hass/deps/lib/python3.9/site-packages motionblinds and it installed seamlessly. I unchecked the Wait for multicast push on update and it seems to work now. Need to leave it running for a few days to see if it disappears again.

starkillerOG commented 3 years ago

@lawa42 that is greath news. I changed the defaults so that Wait for multicast push on update is by default off once the new PR is merged into HomeAssistant.

I will close this now since I think the issue is resolved. Feel free to open it again or make a new issue if you need any additional help or have questions.

lawa42 commented 3 years ago

Still working no disconnects and my automatisations are also active. Thanks for the help