34 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
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
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
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
Allen Porter
a66cf62b09
Update roborock tests to only load the platform under test (#134694) 2025-01-07 14:08:12 +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
Luke Lashley
43481ffeac
Add support for Roborock Zeo (#121334) 2024-07-06 11:24:32 +02:00
Luke Lashley
d0f82d6f02
Add support for Dyad vacuums to Roborock (#115331) 2024-06-26 15:40:19 +02:00
Luke Lashley
835ce919f4
Fix roborock image crashes (#116487) 2024-05-01 11:56:02 +02: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
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
Marc Mueller
7d6251ca08
Add empty line after module docstring [tests q-s] (#112711) 2024-03-08 14:47:22 +01:00
Luke Lashley
6f3be3e505
Move Roborock map retrieval to coordinator and made map always diagnostic (#104680)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-02-07 09:13:51 +01:00
Aarni Koskela
706add4a57
Switch formatting from black to ruff-format (#102893)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-27 14:38:59 +01:00
Luke Lashley
bee457ed6f
Add Image to Roborock to display maps (#102941)
* add image to roborock

* add vacuum position

* addressing MR comments

* remove room names as it isn't supported in base package

* 100% coverage

* remove unneeded map changes

* fix image logic

* optimize create_coordinator_maps

* only update time if map is valid

* Update test_image.py

* fix linting from merge conflict

* fix mypy complaints

* re-add vacuum to const

* fix hanging test

* Make map sleep a const

* adjust commenting to be less than 88 characters.

* bump map parser
2023-11-18 12:22:30 -08:00
Luke Lashley
77001b26de
Add second test device for Roborock (#100565) 2023-09-20 17:17:32 +02:00
Luke
c9edc973f0
Bump python-roborock to 0.32.2 (#97907)
* bump to 0.32.2

* fix test
2023-08-06 22:34:14 +02:00
Luke
3474f46b09
Bump Roborock to 0.29.2 (#95549)
* init work

* fix tests
2023-06-29 13:13:37 -04:00
Luke
fe11cae08d
Add diagnostics to Roborock (#94099)
* Add diagnostics

* Update homeassistant/components/roborock/models.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* adds snapshot

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-06-06 21:24:36 -04:00
Luke
049582ec50
Add Switch platform to Roborock (#93833)
* init

* add switch platform

* remove stale comments

* remove stale list

* set entity category to config
2023-05-30 21:10:28 -04:00
Luke
8dd9482bb5
Add Roborock Consumable sensors (#91972)
* add sensors to roborock

* add value_fn typing

* fixed strings

* Update homeassistant/components/roborock/sensor.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* change to work time instead of time left

* added time left back

* fixed tests

* made diagnostic

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-05-24 20:31:02 +02:00
Luke
1ae7610622
Add Vacuum test for Roborock (#91870) 2023-04-24 16:46:00 +02:00
Luke
b4e0a1f1fc
Add new Roborock Integration (#89456)
* init roborock commit

* init commit of roborock

* removed some non-vacuum related code

* removed some non-needed constants

* removed translations

* removed options flow

* removed manual control

* remove password login

* removed go-to

* removed unneeded function and improved device_stat

* removed utils as it is unused

* typing changes in vacuum.py

* fixed test patch paths

* removed unneeded records

* removing unneeded code in tests

* remove password from strings

* removed maps in code

* changed const, reworked functions

* remove menu

* fixed tests

* 100% code coverage config_flow

* small changes

* removed unneeded patch

* bump to 0.1.7

* removed services

* removed extra functions and mop

* add () to configEntryNotReady

* moved coordinator into seperate file

* update roborock testing

* removed stale options code

* normalize username for unique id

* removed unneeded variables

* fixed linter problems

* removed stale comment

* additional pr changes

* simplify config_flow

* fix config flow test

* Apply suggestions from code review

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

* First pass at resolving PR comments

* reworked config flow

* moving vacuum attr

* attempt to clean up conflig flow more

* update package and use offline functionality

* Fixed errors and fan bug

* rework model and some other small changes

* bump version

* used default factory

* moved some client creation into coord

* fixed patch

* Update homeassistant/components/roborock/coordinator.py

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

* moved async functions into gather

* reworked gathers

* removed random line

* error catch if networking doesn't exist or timeout

* bump to 0.6.5

* fixed mocked data reference url

* change checking if we have no network information

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

---------

Co-authored-by: Allen Porter <allen.porter@gmail.com>
Co-authored-by: Allen Porter <allen@thebends.org>
2023-04-20 07:02:58 -07:00