rytilahti / python-miio

Python library & console tool for controlling Xiaomi smart appliances
https://python-miio.readthedocs.io
GNU General Public License v3.0
3.68k stars 552 forks source link

Disappearing/changing devices to use ? #1625

Closed Tontze closed 1 year ago

Tontze commented 1 year ago

Describe the bug "miiocli roborockvacuum" option sometimes missing and when its missing, "miiocli vacuum" is present. When "miiocli roborockvacuum" works, there is no "miiocli vacuum" present ?

Version information (please complete the following information):

To Reproduce Steps to reproduce the behavior:

Completely random behaviour.

Console output

Today there is no "roborockvacuum" listed, but vacuum is present.

$ miiocli --help Usage: miiocli [OPTIONS] COMMAND [ARGS]...

Options: -d, --debug -o, --output [default|json|json_pretty] --version Show the version and exit. --help Show this message and exit.

Commands: airconditionermiot airconditioningcompanion airconditioningcompanionmcn02 airconditioningcompanionv3 airdehumidifier airdogx3 airdogx5 airdogx7sm airfresh airfresha1 airfresht2017 airfreshva4 airhumidifier airhumidifierca1 airhumidifiercb1 airhumidifiercb2 airhumidifierjsq airhumidifiermiot airhumidifiermjjsq airpurifier airpurifiermb4 airpurifiermiot airqualitymonitor airqualitymonitorcgdn1 alarm alarmclock aqaracamera basicairpurifiermiot ceil chuangmicamera chuangmiir chuangmiplug cooker curtainmiot device dreamevacuummiot fan fanleshow fanmiot fanp10 fanp11 fanp5 fanp9 fansa1 fanv2 fanza1 fanza3 fanza4 gateway gatewaydevice heater heatermiot huizuo huizuolampfan huizuolampheater huizuolampscene light miotdevice philipsbulb philipseyecare philipsmoonlight philipsrwread philipswhitebulb plug plugv1 plugv3 powerstrip pwznrelay radio scisharecoffee toiletlid vacuum viomivacuum waterpurifier waterpurifieryunmi wifirepeater wifispeaker yeelight yeelightdualcontrolmodule zigbee

rytilahti commented 1 year ago

Version 0.5.5 is rather an old version (released in March of 2021), the naming change came in with 0.5.9 (released also already a year ago).

Tontze commented 1 year ago

Yeah, how to update ?

tontze@T610:~$ pip install python-miio Requirement already satisfied: python-miio in ./.local/lib/python3.9/site-packages (0.5.12) Requirement already satisfied: defusedxml<1,>=0 in /usr/local/lib/python3.9/dist-packages (from python-miio) (0.6.0) Requirement already satisfied: micloud in ./.local/lib/python3.9/site-packages (from python-miio) (0.5) Requirement already satisfied: tqdm<5,>=4 in /usr/local/lib/python3.9/dist-packages (from python-miio) (4.59.0) Requirement already satisfied: appdirs<2,>=1 in /usr/local/lib/python3.9/dist-packages (from python-miio) (1.4.4) Requirement already satisfied: PyYAML<7,>=5 in /usr/local/lib/python3.9/dist-packages (from python-miio) (5.4.1) Requirement already satisfied: pytz in /usr/local/lib/python3.9/dist-packages (from python-miio) (2021.1) Requirement already satisfied: attrs in /usr/local/lib/python3.9/dist-packages (from python-miio) (20.3.0) Requirement already satisfied: click>=8 in ./.local/lib/python3.9/site-packages (from python-miio) (8.1.3) Requirement already satisfied: construct<3.0.0,>=2.10.56 in /usr/local/lib/python3.9/dist-packages (from python-miio) (2.10.61) Requirement already satisfied: zeroconf<1,>=0 in /usr/local/lib/python3.9/dist-packages (from python-miio) (0.28.8) Requirement already satisfied: android_backup<1,>=0 in /usr/local/lib/python3.9/dist-packages (from python-miio) (0.2.0) Requirement already satisfied: cryptography>=35 in ./.local/lib/python3.9/site-packages (from python-miio) (38.0.1) Requirement already satisfied: netifaces<1,>=0 in /usr/local/lib/python3.9/dist-packages (from python-miio) (0.10.6) Requirement already satisfied: croniter>=1 in ./.local/lib/python3.9/site-packages (from python-miio) (1.3.7) Requirement already satisfied: python-dateutil in /usr/local/lib/python3.9/dist-packages (from croniter>=1->python-miio) (2.8.1) Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.9/dist-packages (from cryptography>=35->python-miio) (1.14.5) Requirement already satisfied: pycparser in /usr/local/lib/python3.9/dist-packages (from cffi>=1.12->cryptography>=35->python-miio) (2.18) Requirement already satisfied: ifaddr>=0.1.7 in /usr/local/lib/python3.9/dist-packages (from zeroconf<1,>=0->python-miio) (0.1.7) Requirement already satisfied: pycryptodome in ./.local/lib/python3.9/site-packages (from micloud->python-miio) (3.15.0) Requirement already satisfied: tzlocal in ./.local/lib/python3.9/site-packages (from micloud->python-miio) (4.2) Requirement already satisfied: requests in /usr/lib/python3/dist-packages (from micloud->python-miio) (2.25.1) Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.9/dist-packages (from python-dateutil->croniter>=1->python-miio) (1.11.0) Requirement already satisfied: pytz-deprecation-shim in ./.local/lib/python3.9/site-packages (from tzlocal->micloud->python-miio) (0.1.0.post0) Requirement already satisfied: tzdata in ./.local/lib/python3.9/site-packages (from pytz-deprecation-shim->tzlocal->micloud->python-miio) (2022.5)

Tontze commented 1 year ago

Hm, is it possible to have this installed as normal user and root user ? As i do get different outputs as root/normal user with pip install ?

Requirement already satisfied: python-miio in ./.local/lib/python3.9/site-packages (0.5.12)

and

Requirement already satisfied: python-miio in ./.local/lib/python3.9/site-packages (0.5.5)

rytilahti commented 1 year ago

Well, they are two separate installations, generally speaking you should not run python as root. If you still want to have separate installations, it's preferably to use virtual environments instead of the local prefix when installing packages. Or if you are just using the shipped commands (e.g. miiocli), you might find pipx useful!

Now to answer your question how to update, pip install has --upgrade/-U flag for that.

Tontze commented 1 year ago

Hm, my pip does not have --upgrade or -U ?

tontze@T610:~$ pip -V pip 20.3.4 from /usr/lib/python3/dist-packages/pip (python 3.9)

rytilahti commented 1 year ago

pip install -U python-miio should work, it's a flag for the install command.

Tontze commented 1 year ago

Got it updated, lets see if it helps :)

rytilahti commented 1 year ago

Great, feel free to close the issue if it's fixed now!