101 Commits

Author SHA1 Message Date
Allen Porter
4463e4c42b
Move roborock unique id to be based on roborock userid instead of email (#141337)
* Move roborock unique id to be based on roborock userid instead of email

* Remove unnecessary data update

* Update tests

* Add tests coverage for removal of config entry

* Use config entry migration

* Remove unused fixtues

* Remove unnecessary logging
2025-03-30 16:04:28 +02:00
Allen Porter
06f6c86ba5
Simplify roborock map storage test fixture (#141430) 2025-03-26 08:19:48 -04:00
Luke Lashley
e2e80a850c
Add dhcp discovery to Roborock (#141148)
* Add discovery to Roborock

* Update homeassistant/components/roborock/config_flow.py

Co-authored-by: Allen Porter <allen.porter@gmail.com>

* MR comments

* go back to removing the ":"

* change method of getting devices

---------

Co-authored-by: Allen Porter <allen.porter@gmail.com>
2025-03-22 21:21:43 -07:00
Luke Lashley
466ec0b596
Fix failing Roborock test (#141059)
Fix the falky test
2025-03-21 05:31:17 -07:00
Luke Lashley
a388863e62
Remove stale devices automatically for Roborock (#140991)
* Remove stale devices

* Add test

* extra test + fix networking patch bug
2025-03-20 18:28:37 -07:00
Luke Lashley
2a4ed9ace7
Add translations for Roborock Exceptions (#140964)
* Add translations to a few exceptions

* match existing wording

* fix regex

* consolidate errors

* fix test
2025-03-20 07:14:45 -07:00
Luke Lashley
254622878a
Add Roborock entity with the name of the current room (#140895)
* Add current room entity

* Update homeassistant/components/roborock/models.py

Co-authored-by: Allen Porter <allen.porter@gmail.com>

* Update homeassistant/components/roborock/models.py

Co-authored-by: Allen Porter <allen.porter@gmail.com>

* use current_room property

* remove select changes

---------

Co-authored-by: Allen Porter <allen.porter@gmail.com>
2025-03-18 18:48:34 -07:00
Luke Lashley
1cae866da9
Update Roborock Map on status change (#140873)
* update map on status change

* Update tests/components/roborock/test_image.py

Co-authored-by: Allen Porter <allen.porter@gmail.com>

* update code to handle state logic within async_update_data

* Update homeassistant/components/roborock/coordinator.py

Co-authored-by: Allen Porter <allen.porter@gmail.com>

* move previous_state and allow update on None

---------

Co-authored-by: Allen Porter <allen.porter@gmail.com>
2025-03-18 07:34:02 -07:00
Luke Lashley
0eac679a5a
Move MapData to Coordinator for Roborock (#140766)
* Move MapData to Coordinator

* seeing if mypy likes this

* delete dead code

* Some MR comments

* remove MapData and always update on startup if we don't have a stored map.

* don't do on demand updates

* remove unneeded logic and pull out map save

* Apply suggestions from code review

Co-authored-by: Allen Porter <allen.porter@gmail.com>

* see if mypy is happy

---------

Co-authored-by: Allen Porter <allen.porter@gmail.com>
2025-03-17 19:34:47 -07:00
Luke Lashley
a40bb2790e
Move Roborock map refresh to coordinator (#140758)
Move refresh coordinator to coordinator
2025-03-16 14:15:04 -07:00
Luke Lashley
b0db7b432e
Move Roborock MapParser to coordinator (#140750)
Move MapParser to coordinator
2025-03-16 12:55:00 -07:00
Luke Lashley
baafcf48dc
Separate Roborock entities to a new dock device (#140612)
* Seperate entities to a new dock device

* update entity names

* Update homeassistant/components/roborock/coordinator.py

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2025-03-14 22:06:09 -04:00
Luke Lashley
7ff842fc37
Add dynamic update interval to Roborock (#140563)
* Add dynamic update interval to Roborock

* mr comments

* update time intervals

* Set A01 to 1 minute

* set interval to 30
2025-03-14 06:55:18 -07:00
Luke Lashley
3c57b12cd1
Fix bug with all Roborock maps being set to the wrong map when empty (#138493)
* Fix bug with all maps being set to the same when empty

* fix parens

* fix other parens

* rework some of the logic

* few small updates

* Remove test that is no longer relevant

* remove updated time bump
2025-03-11 07:31:20 -07:00
Luke Lashley
6754bf2466
Send Roborock commands via cloud api when needed (#138496)
* Send via cloud api when needed

* Extract logic to helper function

* change to class method
2025-03-08 10:04:40 -08:00
Regev Brody
df1563daaf
Add Roborock buttons for starting routines (#139845) 2025-03-06 17:18:37 +00:00
Allen Porter
c0e5a549b6
Revert "Add scene support to roborock (#137203)" (#139840)
This reverts commit 379bf106754dffd5c6c8cd8035a33597976cd866.
2025-03-05 14:36:20 +01:00
StaleLoafOfBread
890c672f8c
Add charging binary_sensor so front end can render battery icon properly (#139684)
* Add charging binary sensor

* Add charging binary sensor test
2025-03-03 20:21:05 +01:00
Regev Brody
379bf10675
Add scene support to roborock (#137203)
* feature: add scene buttons to roborock

* feature: upgrade python-roborock

* feature: upgrade python-roborock

* feature: upgrade python-roborock

* feature: upgrade python-roborock

* feature: upgrade python-roborock

* feature: upgrade python-roborock

* feature: upgrade python-roborock

* feature: upgrade python-roborock

* feature: upgrade python-roborock
2025-02-09 13:39:38 -08:00
Allen Porter
df59b1d4fa
Persist roborock maps to disk only on shutdown (#136889)
* Persist roborock maps to disk only on shutdown

* Rename on_unload to on_stop

* Spawn 1 executor thread and block writes to disk

* Update tests/components/roborock/test_image.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Use config entry setup instead of component setup

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-31 13:45:01 -05:00
Luke Lashley
4ce891512e
Add ability to cache Roborock maps instead of always reloading (#112047)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Allen Porter <allen.porter@gmail.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Allen Porter <allen@thebends.org>
Co-authored-by: Robert Resch <robert@resch.dev>
2025-01-29 18:16:28 +01:00
Allen Porter
b1fec51e2f
Update roborock tests to patch client before test setup (#136587) 2025-01-28 10:54:36 +01:00
Luke Lashley
0dd9845501
Add total cleaning count sensor to Roborock (#135015) 2025-01-07 19:01:04 +01:00
Allen Porter
c684b06734
Simplify roborock coordinator (#134700)
* Update roborock coordinator to require maps on startup

* Fix indent in merge
2025-01-07 07:09:32 -08:00
Allen Porter
a66cf62b09
Update roborock tests to only load the platform under test (#134694) 2025-01-07 14:08:12 +01:00
Luke Lashley
14d2f2c589
Add extra failure exceptions during roborock setup (#134889)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-06 15:46:21 +01:00
Allen Porter
2c7a1446b8
Update Roborock config flow message when an account is already configured (#134854) 2025-01-06 11:24:06 +01:00
Allen Porter
2f295efb3f
Update roborock to ensure every room has a name, falling back to a placeholder (#134733)
* Update roborock to ensure every room has a name, falling back to a placeholder

* Change Map to Room
2025-01-05 18:28:17 -08:00
G Johansson
4080455c12
Use x,y in roborock action call (#134133)
* Use x,y in roborock action call

* Fix description
2024-12-28 16:12:09 +01:00
Raphael Hehl
b2a160d926
Roborock Add vacuum_goto service (#133994)
* Roborock Add vacuum_goto service to control vacuum movement to specified coordinates

* roborock Add type specification for x_coord and y_coord in vacuum_goto service

* roborock Add get_current_position service to retrieve vacuum's current coordinates

* Rename vacuum services for clarity and consistency

* Apply suggestions from code review

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Add integration field to vacuum service targets for Roborock

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-12-27 00:20:09 +01:00
Luke Lashley
ce94073321
Bump python-roborock to 2.7.2 (#130100) 2024-11-08 08:39:41 +01:00
Allen Porter
8d0e9eb8ac
Improve Roborock error handling (#124267) 2024-09-24 22:38:40 +02:00
Paulus Schoutsen
006b2da14e
Add model ID to roborock (#125366) 2024-09-05 16:52:45 -04:00
Yuxin Wang
097162eceb
Add handling for RoborockTooFrequentCodeRequests for roborock integration (#123759)
* Add handling for RoborockTooFrequentCodeRequests

* Add tests for coverage
2024-08-19 21:09:01 -07:00
Luke Lashley
43481ffeac
Add support for Roborock Zeo (#121334) 2024-07-06 11:24:32 +02:00
Luke Lashley
ffc39585ed
Add ability to select current map for Roborock (#120882)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-07-05 09:38:26 -05:00
Robert Resch
31e9de3b95
Adapt Roborock to runtime_data (#120578)
* Adopt Roborock to runtime_data

* Fix name
2024-06-26 19:42:15 +02:00
Luke Lashley
d0f82d6f02
Add support for Dyad vacuums to Roborock (#115331) 2024-06-26 15:40:19 +02:00
Luke Lashley
b9be491016
Add options flow to Roborock (#104345)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-26 14:32:26 +02:00
epenet
4320445c30
Use absolute import in roborock tests (#119353) 2024-06-11 07:59:46 +02:00
epenet
ac588ddc75
Use relative imports in tests [j-r] (#119282) 2024-06-10 13:32:31 +02:00
epenet
8d8696075b
Use registry fixtures in tests (r) (#118293) 2024-05-28 14:23:31 +02:00
Luke Lashley
412e9bb072
Add test data for Zeo and Dyad devices to Roborock (#117054) 2024-05-09 00:16:48 +02:00
Luke Lashley
835ce919f4
Fix roborock image crashes (#116487) 2024-05-01 11:56:02 +02:00
Luke Lashley
cc79129587
Make Roborock listener update thread safe (#116184)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-25 13:26:11 -05:00
Luke Lashley
968de08e4b
Bump python-roborock to 1.0.0 (#115324)
* refactor base code

* refactor tests code
2024-04-09 20:50:46 -04:00
Luke Lashley
5ef42078a3
Add a service to get maps for Roborock (#111478)
* add service to get rooms

* fix linting

* add snapshot

* change map id
2024-04-08 21:40:59 +02:00
Joost Lekkerkerker
ee66f6ec8c
Use is in enum comparison in config flow tests P-T (#114675) 2024-04-02 11:21:50 -10:00
Joost Lekkerkerker
6bb4e7d62c
Bump ruff to 0.3.4 (#112690)
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-26 00:02:16 +01:00
Sid
69564b1a17
Add ruff rule PIE800 (#113619)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-16 16:31:30 -10:00