python-roborock 5.37.0__tar.gz → 5.37.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. {python_roborock-5.37.0 → python_roborock-5.37.1}/PKG-INFO +1 -1
  2. {python_roborock-5.37.0 → python_roborock-5.37.1}/pyproject.toml +1 -1
  3. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/data/v1/v1_code_mappings.py +17 -0
  4. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/device_features.py +104 -0
  5. {python_roborock-5.37.0 → python_roborock-5.37.1}/.gitignore +0 -0
  6. {python_roborock-5.37.0 → python_roborock-5.37.1}/LICENSE +0 -0
  7. {python_roborock-5.37.0 → python_roborock-5.37.1}/README.md +0 -0
  8. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/__init__.py +0 -0
  9. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/broadcast_protocol.py +0 -0
  10. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/callbacks.py +0 -0
  11. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/cli.py +0 -0
  12. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/const.py +0 -0
  13. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/data/__init__.py +0 -0
  14. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/data/b01_q10/__init__.py +0 -0
  15. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/data/b01_q10/b01_q10_code_mappings.py +0 -0
  16. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/data/b01_q10/b01_q10_containers.py +0 -0
  17. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/data/b01_q7/__init__.py +0 -0
  18. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/data/b01_q7/b01_q7_code_mappings.py +0 -0
  19. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/data/b01_q7/b01_q7_containers.py +0 -0
  20. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/data/code_mappings.py +0 -0
  21. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/data/containers.py +0 -0
  22. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/data/dyad/__init__.py +0 -0
  23. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/data/dyad/dyad_code_mappings.py +0 -0
  24. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/data/dyad/dyad_containers.py +0 -0
  25. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/data/mower/__init__.py +0 -0
  26. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/data/mower/mower_containers.py +0 -0
  27. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/data/v1/__init__.py +0 -0
  28. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/data/v1/v1_clean_modes.py +0 -0
  29. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/data/v1/v1_containers.py +0 -0
  30. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/data/zeo/__init__.py +0 -0
  31. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/data/zeo/zeo_code_mappings.py +0 -0
  32. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/data/zeo/zeo_containers.py +0 -0
  33. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/README.md +0 -0
  34. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/__init__.py +0 -0
  35. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/cache.py +0 -0
  36. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/device.py +0 -0
  37. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/device_manager.py +0 -0
  38. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/file_cache.py +0 -0
  39. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/rpc/__init__.py +0 -0
  40. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/rpc/a01_channel.py +0 -0
  41. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/rpc/b01_q10_channel.py +0 -0
  42. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/rpc/b01_q7_channel.py +0 -0
  43. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/rpc/v1_channel.py +0 -0
  44. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/__init__.py +0 -0
  45. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/a01/__init__.py +0 -0
  46. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/b01/__init__.py +0 -0
  47. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/b01/q10/__init__.py +0 -0
  48. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/b01/q10/button_light.py +0 -0
  49. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/b01/q10/child_lock.py +0 -0
  50. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/b01/q10/clean_history.py +0 -0
  51. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/b01/q10/command.py +0 -0
  52. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/b01/q10/common.py +0 -0
  53. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/b01/q10/consumable.py +0 -0
  54. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/b01/q10/do_not_disturb.py +0 -0
  55. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/b01/q10/dust_collection.py +0 -0
  56. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/b01/q10/map.py +0 -0
  57. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/b01/q10/network_info.py +0 -0
  58. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/b01/q10/remote.py +0 -0
  59. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/b01/q10/status.py +0 -0
  60. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/b01/q10/vacuum.py +0 -0
  61. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/b01/q10/volume.py +0 -0
  62. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/b01/q7/__init__.py +0 -0
  63. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/b01/q7/clean_summary.py +0 -0
  64. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/b01/q7/map.py +0 -0
  65. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/b01/q7/map_content.py +0 -0
  66. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/common.py +0 -0
  67. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/traits_mixin.py +0 -0
  68. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/__init__.py +0 -0
  69. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/child_lock.py +0 -0
  70. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/clean_summary.py +0 -0
  71. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/command.py +0 -0
  72. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/common.py +0 -0
  73. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/consumeable.py +0 -0
  74. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/device_features.py +0 -0
  75. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/do_not_disturb.py +0 -0
  76. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/dust_collection_mode.py +0 -0
  77. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/flow_led_status.py +0 -0
  78. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/home.py +0 -0
  79. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/led_status.py +0 -0
  80. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/map_content.py +0 -0
  81. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/maps.py +0 -0
  82. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/network_info.py +0 -0
  83. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/obstacle_photos.py +0 -0
  84. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/rooms.py +0 -0
  85. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/routines.py +0 -0
  86. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/smart_wash_params.py +0 -0
  87. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/status.py +0 -0
  88. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/valley_electricity_timer.py +0 -0
  89. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/volume.py +0 -0
  90. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/traits/v1/wash_towel_mode.py +0 -0
  91. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/transport/__init__.py +0 -0
  92. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/transport/channel.py +0 -0
  93. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/transport/local_channel.py +0 -0
  94. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/devices/transport/mqtt_channel.py +0 -0
  95. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/diagnostics.py +0 -0
  96. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/exceptions.py +0 -0
  97. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/map/__init__.py +0 -0
  98. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/map/b01_grid_layers.py +0 -0
  99. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/map/b01_map_parser.py +0 -0
  100. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/map/b01_q10_map_parser.py +0 -0
  101. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/map/b01_q10_overlays.py +0 -0
  102. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/map/b01_q10_render.py +0 -0
  103. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/map/map_parser.py +0 -0
  104. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/map/proto/__init__.py +0 -0
  105. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/map/proto/b01_scmap.proto +0 -0
  106. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/map/proto/b01_scmap_pb2.py +0 -0
  107. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/mqtt/__init__.py +0 -0
  108. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/mqtt/health_manager.py +0 -0
  109. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/mqtt/roborock_session.py +0 -0
  110. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/mqtt/session.py +0 -0
  111. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/protocol.py +0 -0
  112. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/protocols/__init__.py +0 -0
  113. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/protocols/a01_protocol.py +0 -0
  114. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/protocols/b01_q10_protocol.py +0 -0
  115. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/protocols/b01_q7_protocol.py +0 -0
  116. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/protocols/v1_protocol.py +0 -0
  117. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/py.typed +0 -0
  118. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/roborock_message.py +0 -0
  119. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/roborock_typing.py +0 -0
  120. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/testing/__init__.py +0 -0
  121. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/testing/b01_q10_simulator.py +0 -0
  122. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/testing/channel.py +0 -0
  123. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/testing/cloud.py +0 -0
  124. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/testing/simulator.py +0 -0
  125. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/testing/v1_simulator.py +0 -0
  126. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/util.py +0 -0
  127. {python_roborock-5.37.0 → python_roborock-5.37.1}/roborock/web_api.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-roborock
3
- Version: 5.37.0
3
+ Version: 5.37.1
4
4
  Summary: A package to control Roborock vacuums.
5
5
  Project-URL: Repository, https://github.com/python-roborock/python-roborock
6
6
  Project-URL: Documentation, https://python-roborock.readthedocs.io/
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "python-roborock"
3
- version = "5.37.0"
3
+ version = "5.37.1"
4
4
  description = "A package to control Roborock vacuums."
5
5
  authors = [{ name = "humbertogontijo", email = "humbertogontijo@users.noreply.github.com" }, {name="Lash-L"}, {name="allenporter"}]
6
6
  requires-python = ">=3.11, <4"
@@ -365,10 +365,27 @@ class RoborockDockTypeCode(RoborockEnum):
365
365
  shell_e_dock = 21
366
366
  shell_2e_dock = 22
367
367
  shell_3c_dock = 23
368
+ hera_dock = 24
369
+ k1s_pro_dock = 26
368
370
  type_27_dock = 27
369
371
  k1c_lite_dock = 28
372
+ k1r_dock = 29
370
373
  shell_2e_lite_dock = 30
374
+ shell_4rc_dock = 31
375
+ shell_4r_dock = 32
376
+ shell_4p_dock = 33
377
+ shell_4s_dock = 34
378
+ o7_dock = 35
379
+ k1d_dock = 37
380
+ shell_3p_dock = 38
381
+ shell_4d_dock = 39
371
382
  shell_2e_heat_dock = 40
383
+ f1_dock = 41
384
+ f1r_dock = 42
385
+ f2r_dock = 43
386
+ f1s_dock = 44
387
+ o7h_dock = 45
388
+ f1c_dock = 46
372
389
 
373
390
 
374
391
  class RoborockDockDustCollectionModeCode(RoborockEnum):
@@ -676,6 +676,8 @@ _ONLY_X_SERIES_DOCK_TYPES = {
676
676
  RoborockDockTypeCode.o4_dock,
677
677
  RoborockDockTypeCode.o5_dock,
678
678
  RoborockDockTypeCode.o6_dock,
679
+ RoborockDockTypeCode.o7_dock,
680
+ RoborockDockTypeCode.o7h_dock,
679
681
  }
680
682
 
681
683
  _CLEAN_FLUID_AUTO_DELIVERY_DOCK_TYPES = {
@@ -685,6 +687,10 @@ _CLEAN_FLUID_AUTO_DELIVERY_DOCK_TYPES = {
685
687
  RoborockDockTypeCode.shell_3s_dock,
686
688
  RoborockDockTypeCode.o6_dock,
687
689
  RoborockDockTypeCode.couple_dock,
690
+ RoborockDockTypeCode.type_27_dock,
691
+ RoborockDockTypeCode.o7_dock,
692
+ RoborockDockTypeCode.f1s_dock,
693
+ RoborockDockTypeCode.o7h_dock,
688
694
  }
689
695
 
690
696
  _CLEAN_FLUID_AUTO_DELIVERY_AM_DOCK_TYPES = {
@@ -696,6 +702,7 @@ _CLEAN_FLUID_AUTO_DELIVERY_AM_DOCK_TYPES = {
696
702
  RoborockDockTypeCode.shell_e_dock,
697
703
  RoborockDockTypeCode.shell_2e_dock,
698
704
  RoborockDockTypeCode.shell_3c_dock,
705
+ RoborockDockTypeCode.k1c_dock,
699
706
  }
700
707
 
701
708
  _AUTO_STERILIZE_DOCK_TYPES = {
@@ -725,6 +732,18 @@ _CLEAN_CAROUSEL_SELF_CLEAN_DOCK_TYPES = {
725
732
  RoborockDockTypeCode.shell_3s_dock,
726
733
  RoborockDockTypeCode.k1s_dock,
727
734
  RoborockDockTypeCode.shell_3c_dock,
735
+ RoborockDockTypeCode.k1s_pro_dock,
736
+ RoborockDockTypeCode.type_27_dock,
737
+ RoborockDockTypeCode.k1r_dock,
738
+ RoborockDockTypeCode.shell_4rc_dock,
739
+ RoborockDockTypeCode.shell_4p_dock,
740
+ RoborockDockTypeCode.shell_4s_dock,
741
+ RoborockDockTypeCode.k1d_dock,
742
+ RoborockDockTypeCode.shell_3p_dock,
743
+ RoborockDockTypeCode.f1_dock,
744
+ RoborockDockTypeCode.f2r_dock,
745
+ RoborockDockTypeCode.f1s_dock,
746
+ RoborockDockTypeCode.f1c_dock,
728
747
  }
729
748
 
730
749
  _WATER_UPDOWN_DRAIN_DOCK_TYPES = {
@@ -745,6 +764,19 @@ _WATER_UPDOWN_DRAIN_AM_DOCK_TYPES = {
745
764
  RoborockDockTypeCode.shell_e_dock,
746
765
  RoborockDockTypeCode.shell_2e_dock,
747
766
  RoborockDockTypeCode.shell_3c_dock,
767
+ RoborockDockTypeCode.k1c_dock,
768
+ RoborockDockTypeCode.hera_dock,
769
+ RoborockDockTypeCode.k1s_pro_dock,
770
+ RoborockDockTypeCode.type_27_dock,
771
+ RoborockDockTypeCode.shell_4rc_dock,
772
+ RoborockDockTypeCode.shell_4r_dock,
773
+ RoborockDockTypeCode.shell_4p_dock,
774
+ RoborockDockTypeCode.shell_4s_dock,
775
+ RoborockDockTypeCode.o7_dock,
776
+ RoborockDockTypeCode.shell_4d_dock,
777
+ RoborockDockTypeCode.f1r_dock,
778
+ RoborockDockTypeCode.f1s_dock,
779
+ RoborockDockTypeCode.o7h_dock,
748
780
  }
749
781
 
750
782
  _HATCH_DOOR_DOCK_COOL_FAN_DOCK_TYPES = {
@@ -755,6 +787,56 @@ _SPECIAL_WASH_TEMP_DOCK_TYPES = {
755
787
  RoborockDockTypeCode.shell_2e_lite_dock,
756
788
  }
757
789
 
790
+ _HIGH_TMP_WATER_DOCK_TYPES = {
791
+ RoborockDockTypeCode.k1r_dock,
792
+ RoborockDockTypeCode.shell_4rc_dock,
793
+ RoborockDockTypeCode.shell_2e_heat_dock,
794
+ RoborockDockTypeCode.f1_dock,
795
+ RoborockDockTypeCode.f1r_dock,
796
+ RoborockDockTypeCode.f2r_dock,
797
+ RoborockDockTypeCode.f1c_dock,
798
+ }
799
+
800
+ _DOUBLE_SERIAL_COMMUNICATION_DOCK_TYPES = {
801
+ RoborockDockTypeCode.k1s_pro_dock,
802
+ RoborockDockTypeCode.type_27_dock,
803
+ RoborockDockTypeCode.k1r_dock,
804
+ RoborockDockTypeCode.shell_4r_dock,
805
+ RoborockDockTypeCode.shell_4p_dock,
806
+ RoborockDockTypeCode.shell_4s_dock,
807
+ RoborockDockTypeCode.o7_dock,
808
+ RoborockDockTypeCode.k1d_dock,
809
+ RoborockDockTypeCode.shell_3p_dock,
810
+ RoborockDockTypeCode.f1_dock,
811
+ RoborockDockTypeCode.f1r_dock,
812
+ RoborockDockTypeCode.f2r_dock,
813
+ RoborockDockTypeCode.f1s_dock,
814
+ RoborockDockTypeCode.o7h_dock,
815
+ RoborockDockTypeCode.f1c_dock,
816
+ }
817
+
818
+ _DOUBLE_SERIAL_COMMUNICATION_AM_DOCK_TYPES = {
819
+ RoborockDockTypeCode.shell_4rc_dock,
820
+ RoborockDockTypeCode.shell_4d_dock,
821
+ }
822
+
823
+ _NO_WATER_FLOW_CAROUSEL_DOCK_TYPES = {
824
+ RoborockDockTypeCode.f1r_dock,
825
+ RoborockDockTypeCode.f2r_dock,
826
+ RoborockDockTypeCode.f1s_dock,
827
+ }
828
+
829
+ _SIMPLE_WASH_MODE_DOCK_TYPES = {
830
+ RoborockDockTypeCode.f1_dock,
831
+ RoborockDockTypeCode.f1r_dock,
832
+ RoborockDockTypeCode.f2r_dock,
833
+ RoborockDockTypeCode.f1c_dock,
834
+ }
835
+
836
+ _STEAM_WASH_DOCK_TYPES = {
837
+ RoborockDockTypeCode.o7h_dock,
838
+ }
839
+
758
840
 
759
841
  @dataclass(frozen=True)
760
842
  class RoborockDockFeatures:
@@ -855,6 +937,28 @@ class RoborockDockFeatures:
855
937
  def is_special_support_wash_temp(self) -> bool:
856
938
  return self.dock_type in _SPECIAL_WASH_TEMP_DOCK_TYPES
857
939
 
940
+ @property
941
+ def is_high_tmp_water_supported(self) -> bool:
942
+ return self.dock_type in _HIGH_TMP_WATER_DOCK_TYPES
943
+
944
+ @property
945
+ def is_double_serial_communication_supported(self) -> bool:
946
+ return self.dock_type in _DOUBLE_SERIAL_COMMUNICATION_DOCK_TYPES or self._matches_am_variant(
947
+ _DOUBLE_SERIAL_COMMUNICATION_AM_DOCK_TYPES
948
+ )
949
+
950
+ @property
951
+ def is_no_water_flow_carousel(self) -> bool:
952
+ return self.dock_type in _NO_WATER_FLOW_CAROUSEL_DOCK_TYPES
953
+
954
+ @property
955
+ def is_simple_wash_mode_supported(self) -> bool:
956
+ return self.dock_type in _SIMPLE_WASH_MODE_DOCK_TYPES
957
+
958
+ @property
959
+ def is_steam_wash_supported(self) -> bool:
960
+ return self.dock_type in _STEAM_WASH_DOCK_TYPES
961
+
858
962
 
859
963
  WASH_N_FILL_DOCK_TYPES = [
860
964
  dock_type for dock_type in RoborockDockTypeCode if RoborockDockFeatures.from_dock_type(dock_type).is_washable