delfick / photons

Python3.6+ asyncio framework for interacting with LIFX devices
https://photons.delfick.com
MIT License
73 stars 6 forks source link

Docker & WSL - Didn't find any devices error #104

Closed briankudera closed 2 years ago

briankudera commented 2 years ago

Newbie here interested in checking this out, but I need assistance in getting it running. Thank you!

I tried on Docker: docker pull delfick/lifx-photons-interactor-homeassistant docker-compose run image

I also tried in WSL: python3 -m venv ~/.photons-core ~/.photons-core/bin/activate pip install lifx-photons-core pip install lifx-photons-arranger lifx lan:arrange

A web browser opens but no tiles are found. v0dzfusrqmo81

delfick commented 2 years ago

Hello,

Are you tiles turned on and on the same wifi your computer is connected to?

Can your phone control the tiles from the same wifi your computer is connected to when 4g is turned off?

briankudera commented 2 years ago

Yes yes and yes :)

delfick commented 2 years ago

So I believe the problem is that WSL and docker can't broadcast packets to your network and so your lifx devices never see you looking for them.

If you try in a normal windows cmd prompt does it work there?

briankudera commented 2 years ago

I'm not sure which commands work on windows, I had read it only runs on Linux, macOS, or WSL. Can you point me to the documentation for windows install and commands?

image

delfick commented 2 years ago

yeah, windows prompt is annoying.

probs easier to not rely on "activating" the virtualenv (I tend not to do that anyway, makes things a little less confusing)

python3 -m venv photons
.\photons\Scripts\python -m pip install lifx-photons-core
.\photons\Scripts\lifx lan:find_devices

https://photons.delfick.com/commandline/index.html#running-cli-commands-on-windows

briankudera commented 2 years ago

.\photons\bin\python : The term '.\photons\bin\python' is not recognized as the name of a cmdlet

image

delfick commented 2 years ago

I edited my post just as you posted hehehe, it's Scripts on windows instead of bin if I remember correctly

briankudera commented 2 years ago

Thanks!! It looks like I might need to install some separate windows components first?

Installing collected packages: ruamel.yaml, lru-dict, logutils, kdtree, bitarray, six, delfick_project, colorama, rainbow_logging_handler, python-dateutil, lifx-photons-core Running setup.py install for lru-dict ... error error: subprocess-exited-with-error

× Running setup.py install for lru-dict did not run successfully. │ exit code: 1 ╰─> [5 lines of output] running install running build running build_ext building 'lru' extension error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/

image

delfick commented 2 years ago

yeah, install that.

briankudera commented 2 years ago

Ok I installed the installer from that link and rebooted my PC. Same error. And it does look like Visual C++ 14.0+ did install. Other ideas? :)

image

PS C:\Users\brian\source\repos\photons> python3 -m venv photons PS C:\Users\brian\source\repos\photons> .\photons\Scripts\python -m pip install lifx-photons-core Collecting lifx-photons-core Using cached lifx-photons-core-0.42.3.tar.gz (194 kB) Preparing metadata (setup.py) ... done Collecting delfick_project==0.7.9 Using cached delfick_project-0.7.9-py3-none-any.whl Requirement already satisfied: ruamel.yaml==0.16.12 in c:\users\brian\source\repos\photons\photons\lib\site-packages (from lifx-photons-core) (0.16.12) Collecting python-dateutil>=2.8.1 Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB) Collecting rainbow_logging_handler==2.2.2 Using cached rainbow_logging_handler-2.2.2.zip (15 kB) Preparing metadata (setup.py) ... done Collecting lru-dict==1.1.6 Using cached lru-dict-1.1.6.tar.gz (9.4 kB) Preparing metadata (setup.py) ... done Collecting bitarray==1.6.1 Using cached bitarray-1.6.1.tar.gz (55 kB) Preparing metadata (setup.py) ... done Collecting kdtree==0.16 Using cached kdtree-0.16-py2.py3-none-any.whl (7.7 kB) Collecting logutils Using cached logutils-0.3.5.tar.gz (27 kB) Preparing metadata (setup.py) ... done Collecting colorama Using cached colorama-0.4.4-py2.py3-none-any.whl (16 kB) Collecting six>=1.5 Using cached six-1.16.0-py2.py3-none-any.whl (11 kB) Using legacy 'setup.py install' for lifx-photons-core, since package 'wheel' is not installed. Using legacy 'setup.py install' for bitarray, since package 'wheel' is not installed. Using legacy 'setup.py install' for lru-dict, since package 'wheel' is not installed. Using legacy 'setup.py install' for rainbow_logging_handler, since package 'wheel' is not installed. Using legacy 'setup.py install' for logutils, since package 'wheel' is not installed. Installing collected packages: lru-dict, logutils, kdtree, bitarray, six, delfick_project, colorama, rainbow_logging_handler, python-dateutil, lifx-photons-core Running setup.py install for lru-dict ... error error: subprocess-exited-with-error

× Running setup.py install for lru-dict did not run successfully. │ exit code: 1 ╰─> [5 lines of output] running install running build running build_ext building 'lru' extension error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/ [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure

× Encountered error while trying to install package. ╰─> lru-dict

note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure. PS C:\Users\brian\source\repos\photons>

briankudera commented 2 years ago

Got it installed - I removed the 2017 build tools and installed C++ desktop dev from my visual studio 2019

image

briankudera commented 2 years ago

It does find my devices using the windows CLI! Minus a runtime error...

image

delfick commented 2 years ago

ah nice, that looks like cleanup functionality needs tweaking on windows. You can ignore that.

Now try

.\photons\Scripts\python -m pip install lifx-photons-arranger
.\photons\Scripts\lifx lan:arrange
briankudera commented 2 years ago

yes the arranger sees them now! Thank you!

delfick commented 2 years ago

yay :)

briankudera commented 2 years ago

Thanks @delfick! So WSL does NOT work then, is that the conclusion? So I can use windows command line, or get a raspberry pi?

delfick commented 2 years ago

pretty much. I'm not a windows person so I don't know if it's possible to make WSL able to broadcast to the network and I don't have spare time to investigate atm sorry. Maybe there's a WSL community out there that may be more helpful

An rPi is a great alternative to work from :)

briankudera commented 2 years ago

Understood!! I saw someone else with the same issue on Reddit said he changed some config in the source code. I've asked that person for clarification on what they did to fix it. If I find out, I'll holler! But in the middle of all of this, one of my sets of tiles started displaying the blue leader with all the followers as a slow red pulse. Argggg. May just forget about this but it looks pretty dang cool what you've done!

delfick commented 2 years ago

https://www.reddit.com/r/lifx/comments/sjrh75/tiles_not_connecting_to_each_other_red_pulsing/hvhq3yr/?utm_source=reddit&utm_medium=web2x&context=3