krzysztofhajdamowicz / home-assistant-vacuum-styj02ym Goto Github PK
View Code? Open in Web Editor NEWThis project forked from nqkdev/home-assistant-vacuum-styj02ym
This project forked from nqkdev/home-assistant-vacuum-styj02ym
Hi Krzysztof
Thanks for maintaining this component.
I've been wondering if you're aware of potential ways to detect when the vaccum runs and doesn't recognize the current map. Every now and then, my Xiaomi does that and results in it going where it should now.
I'd like to recognize that and cancel the job by telling it to go back to the dock automatically.
Thanks
Mateusz
Is there any sheet to document the "err_state" status codes? I'd like to automatically dock and restart cleaning when the vacuum cleaner get lost, but apparently no other value seems to change other than "err_state".
Also, I'd like to know if, as asked in #18, those additional attributes are now reachable or it will still crash?
Thank you so much for this integration, I'm really enjoying it.
What do these two updates do? The HACS description just says "This is an automated created release".
Thanks!
Please add compatibility with Python 3.12. Periodically the vacuum cleaner becomes unavailable. A complete reboot of the host helps for a short time. In the logs:
Platform error 'vacuum' from integration 'miio2' - No module named 'imp
Entity vacuum.home_vacuum (<class 'custom_components.miio2.vacuum.MiroboVacuum2'>) is using deprecated supported features values which will be removed in HA Core 2025.1. Instead it should use <VacuumEntityFeature.PAUSE|STOP|RETURN_HOME|FAN_SPEED|BATTERY|SEND_COMMAND|LOCATE|STATE|START: 13180>, please report it to the author of the 'miio2' custom integration and reference https://developers.home-assistant.io/blog/2023/12/28/support-feature-magic-numbers-deprecation
Allowed params for the reset_consumable command:
['main_brush_work_time']
['side_brush_work_time']
['filter_work_time']
['sensor_dirty_time']
Commands aren't working currently. Any way to fix this easily?
Hi.
I have a automations whitch are working on diferent types of floors. In firast automation on a ceramic tile i want to use water grade == 3 and in second automation on wood floor i want to use water grade == 0. How can i change it? thanks for support
I cant find any plugin named "styj02m" or "vacuum-styj2m" in HACS store.
You also can reproduce this issue in hacs-repositories,and can not find any plugin relating to this github repository.
PLEASE check it out!
Hello my friend.
Your wonderful component uses a very old version of miio. I would like to ask you to update it to the current one. The fact is that a situation arises in which other integrations, no less remarkable than yours, stop working. Here is one such example syssi/xiaomi_airpurifier#296
My HACS is missing your addon. Any special way how to add it via HACS?
Hi Krzysztof
Just wanted to report that the latest version of Home Assistant bumps Python to 3.11 and I get the following error logged when sending commands to the vacuum.
Luckily, the commands themselves still work.
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 205, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1910, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1950, in _execute_service
await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
File "/config/custom_components/miio2/vacuum.py", line 231, in async_service_handler
await asyncio.wait(update_tasks)
File "/usr/local/lib/python3.11/asyncio/tasks.py", line 415, in wait
raise TypeError("Passing coroutines is forbidden, use tasks explicitly.")
TypeError: Passing coroutines is forbidden, use tasks explicitly.
Thanks
The services still work, but every time one is executed the error appears.
I've noticied some problems related with "async", in other custom components, and the new changes with Python...
Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/commands.py:230
Integration: Home Assistant WebSocket API ([documentation](https://www.home-assistant.io/integrations/websocket_api), [issues](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+websocket_api%22))
First occurred: 11:21:16 (1 occurrences)
Last logged: 11:21:16
[140322262907200] Passing coroutines is forbidden, use tasks explicitly.
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 230, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 2035, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2072, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/miio2/vacuum.py", line 231, in async_service_handler
await asyncio.wait(update_tasks)
File "/usr/local/lib/python3.11/asyncio/tasks.py", line 425, in wait
raise TypeError("Passing coroutines is forbidden, use tasks explicitly.")
TypeError: Passing coroutines is forbidden, use tasks explicitly.
Please change the code to:
for vacuum in target_vacuums:
update_coro = vacuum.async_update_ha_state(True)
update_tasks.append(asyncio.create_task(update_coro))
Cześć.
Mam robora Viomi2 pro i wcześniej używałem integracji nqkdev, na której się wzorowałeś. Działała bez zarzutu jednak Piotr Machowski(https://github.com/PiotrMachowski/lovelace-xiaomi-vacuum-map-card) zrobił bardzo fajną kartę, za pomocą, której można sterować odkurzaczem wykorzystując Twoją integrację.
Zauważyłem, że niestety brakuje mi kilku sensorów ( czujników zużycia filtrów, szczotek).
Dostępne są tylko takie atrybuty:
Czy byłbyś w stanie je przywrócić?
I didn't update to 2022.3.0 because of the broken UI components, so I'm unsure exactly what Hass.io version broke this - I assume it's all 2022.3.x.
Now that I have updated, devices defined for this integration won't load.
Log snippet:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config.py", line 877, in async_process_component_config
platform = p_integration.get_platform(domain)
File "/usr/src/homeassistant/homeassistant/loader.py", line 572, in get_platform
cache[full_name] = self._import_platform(platform_name)
File "/usr/src/homeassistant/homeassistant/loader.py", line 589, in _import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/config/custom_components/miio2/vacuum.py", line 6, in <module>
from miio import DeviceException, Vacuum # pylint: disable=import-error
ImportError: cannot import name 'Vacuum' from 'miio' (/usr/local/lib/python3.9/site-packages/miio/__init__.py)
I cannot reload configuration, because:
The system cannot restart because the configuration is not valid: Platform error vacuum.miio2 - cannot import name 'Vacuum' from 'miio' (/usr/local/lib/python3.9/site-packages/miio/__init__.py) Platform error vacuum.miio2 - cannot import name 'Vacuum' from 'miio' (/usr/local/lib/python3.9/site-packages/miio/__init__.py)
Is there anything further I can provide to assist in identifying the fault?
Hello,
I found a discussion about roborock's multimap in "Xiaomi Vacuum Map Card" here and I was wondering if there is any way to make multimap work also for our vacuum.
The command that roborock uses "load_multi_map" can be called but is not changing maps for us (I have 3 maps stored but I always see the last selected on mi home).
Is there any other way to do so?
Thanks in advance
Hi.
2021-12-18 18:29:27 WARNING (MainThread) [homeassistant.helpers.entity] Entity vacuum.pylesos (<class 'custom_components.miio2.vacuum.MiroboVacuum2'>) implements device_state_attributes. Please report it to the custom component author.
I'm having a little bit of a trouble installing this repository:
The system cannot restart because the configuration is not valid: Platform error vacuum.miio2 - Integration 'miio2' not found.
What am I missing?
Hi Krzysztof
I've just got the PiotrMachowski/lovelace-xiaomi-vacuum-map-card card working with this integration and I'm wondering if it's possible to somehow control the Do not disturb status in the Xiaomi app via the API?
I've got some schedules for cleaning that I'd like paused if the door of the room in which the vacuum is located are closed.
If it's not possible, I guess it will be best to move those scheduled clean-up sessions to HASS.
Thanks
Integration version: 1.30
Home Assistant Core 2022.6.7
Home Assistant Supervisor 2022.05.3
Home Assistant OS 8.2
Error:
2022-07-06 18:51:26 ERROR (MainThread) [homeassistant.components.hassio] The system cannot restart because the configuration is not valid: Platform error vacuum.rest - No module named 'homeassistant.components.rest.vacuum'
2022-07-06 18:51:26 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [139861637089168] The system cannot restart because the configuration is not valid: Platform error vacuum.rest - No module named 'homeassistant.components.rest.vacuum'
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 193, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1704, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1741, in _execute_service
await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
File "/usr/src/homeassistant/homeassistant/components/hassio/__init__.py", line 684, in async_handle_core_service
raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: The system cannot restart because the configuration is not valid: Platform error vacuum.rest - No module named 'homeassistant.components.rest.vacuum'
Configuration:
vacuum:
- platform: miio2
host: 192.168.220.126
token: !secret bert_token
name: Bert
- platform: miio2
host: 192.168.220.133
token: !secret wally_token
name: Wally
When I comment out the configuration lines above, I am able to verify the yaml and restart fine but obviously have lost HA control of my vacuums.
Is there an updated configuration I need to use instead?
Hej Krzysztof
Wydaje mi się ze po ostatniej aktualizacji zaszły spore zmiany w Python-miio
I kiedy używam twojego komponentu reszta urządzeń xiaomi przestaje działać
zmieniłem w manifescie wersje biblioteki z 5.8 na 5.9.1
Błedy kiedy używam biblioteki miio w wersji 5.8
po "aktualizacji" biblioteki zostaje tylko
Daj znać czy potrzebujesz jakiś dodatkowych informacji
Thanks for maintaining the component, it's been pretty trouble free so far.
I was wondering if you could update the integration to provide a unique_id
to the exposed vacuum.
This is because more and more things are dependent on it. Lately, with the improvements to voice interaction with Home Assistant, it's become much easier to control it by voice; however, I've noticed that it's not possible to create aliases for the vacuum due to lack of the above property.
Would you be able to take a look into it?
Dziękuje :)
I have been using it for a long time but now after the latest update, this integration is not able to find my vacuum. It is not creating the vacuum entity also. What's happening?
Hello,
Would it be possible to program an action so that the robot goes to a point, does not clean and stops at that point?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.