lubluelu_a901_vacuum.yaml 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. name: Robot vacuum
  2. products:
  3. - id: vg6qvrgj99ase4xd
  4. manufacturer: Lubluelu
  5. model: A901
  6. entities:
  7. - entity: vacuum
  8. dps:
  9. - id: 1
  10. type: boolean
  11. name: activate
  12. optional: true
  13. mapping:
  14. - dps_val: false
  15. constraint: pause
  16. conditions:
  17. - dps_val: true
  18. value: false
  19. - dps_val: false
  20. value: false
  21. hidden: true
  22. - dps_val: null
  23. value: false
  24. hidden: true
  25. - dps_val: true
  26. constraint: pause
  27. conditions:
  28. - dps_val: true
  29. value: true
  30. hidden: true
  31. - dps_val: false
  32. value: true
  33. - dps_val: null
  34. value: true
  35. hidden: true
  36. - dps_val: null
  37. value: false
  38. hidden: true
  39. - id: 2
  40. type: boolean
  41. optional: true
  42. name: pause
  43. hidden: true
  44. - id: 4
  45. type: string
  46. optional: true
  47. name: command
  48. mapping:
  49. - dps_val: smart
  50. value: smart
  51. - dps_val: chargego
  52. value: return_to_base
  53. - dps_val: zone
  54. value: zone
  55. - dps_val: pose
  56. value: clean_spot
  57. - dps_val: part
  58. value: partial
  59. - dps_val: select_room
  60. value: select_room
  61. - id: 5
  62. type: string
  63. optional: true
  64. name: status
  65. mapping:
  66. - dps_val: standby
  67. value: standby
  68. - dps_val: smart
  69. value: smart
  70. - dps_val: zone_clean
  71. value: zone
  72. - dps_val: part_clean
  73. value: partial
  74. - dps_val: cleaning
  75. value: cleaning
  76. - dps_val: paused
  77. value: paused
  78. - dps_val: goto_pos
  79. value: seeking_spot
  80. - dps_val: pos_arrived
  81. value: located_spot
  82. - dps_val: pos_unarrive
  83. value: left_spot
  84. - dps_val: goto_charge
  85. value: returning
  86. - dps_val: charging
  87. value: charging
  88. - dps_val: charge_done
  89. value: charged
  90. - dps_val: sleep
  91. value: sleep
  92. - dps_val: select_room
  93. value: selecting_room
  94. - entity: switch
  95. name: Charge
  96. category: config
  97. dps:
  98. - id: 3
  99. type: boolean
  100. optional: true
  101. name: switch
  102. - entity: sensor
  103. class: battery
  104. category: diagnostic
  105. dps:
  106. - id: 8
  107. type: integer
  108. optional: true
  109. name: sensor
  110. unit: "%"
  111. class: measurement
  112. - entity: text
  113. name: Path data
  114. # usually read-only, but tuya docs say rw, so maybe path can be set?
  115. # description translates to "not used", so may be cloud only?
  116. category: config
  117. icon: "mdi:map-marker-path"
  118. hidden: true
  119. dps:
  120. - id: 14
  121. type: base64
  122. optional: true
  123. name: value
  124. - entity: text
  125. name: Command
  126. # description translates to "not used", so may be cloud only?
  127. category: config
  128. icon: "mdi:powershell"
  129. hidden: true
  130. dps:
  131. - id: 15
  132. type: base64
  133. optional: true
  134. name: value
  135. - entity: select
  136. name: Request
  137. # description translates to "not used", so may be cloud only?
  138. category: config
  139. icon: "mdi:powershell"
  140. hidden: true
  141. dps:
  142. - id: 16
  143. type: string
  144. optional: true
  145. name: option
  146. mapping:
  147. - dps_val: get_map
  148. value: Fetch map
  149. - dps_val: get_path
  150. value: Fetch path
  151. - dps_val: get_both
  152. value: Fetch both
  153. - entity: number
  154. name: Volume
  155. category: config
  156. icon: "mdi:volume-high"
  157. dps:
  158. - id: 26
  159. type: integer
  160. optional: true
  161. name: value
  162. unit: "%"
  163. range:
  164. min: 0
  165. max: 100
  166. - entity: binary_sensor
  167. class: problem
  168. category: diagnostic
  169. dps:
  170. - id: 28
  171. type: bitfield
  172. optional: true
  173. name: sensor
  174. mapping:
  175. - dps_val: 0
  176. value: false
  177. - value: true
  178. - id: 28
  179. type: bitfield
  180. optional: true
  181. name: fault_code
  182. - entity: select
  183. translation_key: language
  184. category: config
  185. dps:
  186. - id: 36
  187. type: string
  188. optional: true
  189. name: option
  190. mapping:
  191. - dps_val: chinese_simplified
  192. value: chinese
  193. - dps_val: chinese_traditional
  194. value: chinese_traditional
  195. - dps_val: english
  196. value: english
  197. - dps_val: german
  198. value: german
  199. - dps_val: french
  200. value: french
  201. - dps_val: russian
  202. value: russian
  203. - dps_val: spanish
  204. value: spanish
  205. - dps_val: korean
  206. value: korean
  207. - dps_val: latin
  208. value: latin
  209. - dps_val: portuguese
  210. value: portuguese
  211. - dps_val: japanese
  212. value: japanese
  213. - dps_val: italian
  214. value: italian
  215. # Everything above 101 is defined as a string, with no documentation
  216. # some would normally be a boolean and represented as a switch or
  217. # the locate attribute of vacuum. Many are documented as rw when
  218. # the function is expected to be read-only.
  219. # Only the battery info that is needed for identification of the
  220. # device is implemented below.
  221. - entity: sensor
  222. name: Battery info
  223. category: diagnostic
  224. hidden: true
  225. dps:
  226. - id: 154
  227. type: string # documented as string but appears to be base64 (raw)
  228. name: sensor