proscenic_m9_vacuum.yaml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569
  1. name: M9 Robot Vacuum
  2. products:
  3. - id: ise3eub6pvacnzdw
  4. name: Proscenic M9
  5. # information about dpids https://developer.tuya.com/en/docs/iot/laser-sweep-robot-template?id=Kae3e76wphrun
  6. primary_entity:
  7. entity: vacuum
  8. dps:
  9. - id: 1
  10. type: boolean
  11. name: activate
  12. optional: true
  13. - id: 2
  14. type: boolean
  15. name: pause
  16. optional: true
  17. - id: 3
  18. name: return_to_base
  19. type: boolean
  20. optional: true
  21. - id: 4
  22. type: string
  23. name: command
  24. optional: true
  25. mapping:
  26. - dps_val: smart
  27. value: Auto clean
  28. - dps_val: zone
  29. value: Zone cleaning
  30. - dps_val: pose
  31. value: pose
  32. - dps_val: part
  33. value: clean_spot
  34. - dps_val: goto_charge
  35. value: return_to_base
  36. - dps_val: wallfollow
  37. value: wallfollow
  38. - dps_val: select_room
  39. value: Select room cleaning
  40. - id: 5
  41. name: status
  42. type: string
  43. optional: true
  44. mapping:
  45. - dps_val: standby
  46. value: standby
  47. - dps_val: smart
  48. value: cleaning
  49. - dps_val: zone_clean
  50. value: cleaning
  51. - dps_val: part_clean
  52. value: cleaning
  53. - dps_val: cleaning
  54. value: cleaning
  55. - dps_val: paused
  56. value: pause
  57. - dps_val: goto_pos
  58. value: go to target point
  59. - dps_val: pos_arrived
  60. value: arrived to target point
  61. - dps_val: pos_unarrive
  62. value: cannot arrive to target point
  63. - dps_val: goto_charge
  64. value: returning
  65. - dps_val: charging
  66. value: charging
  67. - dps_val: charge_done
  68. value: charged
  69. - dps_val: sleep
  70. value: sleep
  71. - dps_val: fault
  72. value: error
  73. - dps_val: wall_follow
  74. value: wall_follow
  75. - dps_val: direction_control
  76. value: direction_control
  77. - dps_val: repositing
  78. value: repositing
  79. - dps_val: select_room
  80. value: select_room
  81. - dps_val: seek_dust_bucket
  82. value: seek_dust_bucket
  83. - dps_val: collecting_dust
  84. value: collecting_dust
  85. - id: 8
  86. name: battery
  87. type: integer
  88. - id: 9
  89. name: fan_speed
  90. type: string
  91. mapping:
  92. - dps_val: closed
  93. value: "Off"
  94. - dps_val: gentle
  95. value: Gentle
  96. - dps_val: normal
  97. value: Normal
  98. - dps_val: strong
  99. value: Strong
  100. - dps_val: max
  101. value: Max
  102. hidden: true
  103. - id: 11
  104. name: locate
  105. type: boolean
  106. optional: true
  107. - id: 12
  108. name: direction_control
  109. type: string
  110. optional: true
  111. mapping:
  112. - dps_val: forward
  113. value: forward
  114. - dps_val: backward
  115. value: backward
  116. - dps_val: turn_left
  117. value: left
  118. - dps_val: turn_right
  119. value: right
  120. - dps_val: stop
  121. value: stop
  122. - dps_val: exit
  123. value: exit
  124. - id: 13
  125. name: map_reset
  126. type: boolean
  127. optional: true
  128. hidden: true
  129. - id: 14
  130. name: path_data
  131. type: string
  132. optional: true
  133. - id: 15
  134. name: command_trans
  135. type: base64
  136. optional: true
  137. - id: 16
  138. name: request
  139. type: string
  140. optional: true
  141. - id: 25
  142. name: do_not_disturb # cannot be used, set an automation to mute sound instead
  143. type: boolean
  144. hidden: true
  145. - id: 28
  146. name: error # seems to only switch between 0 and 2 when fault, dp 198 and 199 is where the messages are
  147. type: integer
  148. - id: 32
  149. name: device_timer # cannot be used, set an automation for scheduled cleaning
  150. type: string
  151. optional: true
  152. - id: 33
  153. name: disturb_time
  154. type: base64
  155. optional: true
  156. - id: 34
  157. name: device_info
  158. type: base64
  159. readonly: true
  160. optional: true
  161. - id: 35
  162. name: voice_data
  163. type: base64
  164. optional: true
  165. - id: 36
  166. name: language
  167. type: string
  168. optional: true
  169. - id: 39
  170. name: customize_mode_switch # moved here since it's not useful without the app
  171. type: boolean
  172. - id: 132
  173. name: chaging_base_type
  174. type: string
  175. optional: true
  176. - id: 133
  177. name: water_tank_type
  178. type: string
  179. optional: true
  180. - id: 134
  181. name: realtime_fanspeed
  182. type: string
  183. optional: true
  184. - id: 135
  185. name: realtime_water_level
  186. type: string
  187. optional: true
  188. - id: 137
  189. name: cloud_map # moved here since it's not useful without the app
  190. type: boolean
  191. - id: 141
  192. name: cleanspot
  193. type: boolean
  194. optional: true
  195. secondary_entities:
  196. - entity: sensor
  197. name: Cleaning time
  198. category: diagnostic
  199. class: duration
  200. icon: "mdi:timer-star"
  201. dps:
  202. - id: 6
  203. name: sensor
  204. type: integer
  205. unit: min
  206. mapping:
  207. - scale: 1
  208. step: 1
  209. - entity: sensor
  210. name: Cleaned area
  211. category: diagnostic
  212. icon: "mdi:vector-square-close"
  213. dps:
  214. - id: 7
  215. name: sensor
  216. type: integer
  217. unit: m²
  218. mapping:
  219. - scale: 1
  220. step: 1
  221. - entity: select
  222. name: Water setting
  223. icon: "mdi:water"
  224. dps:
  225. - id: 10
  226. name: option
  227. type: string
  228. mapping:
  229. - constraint: mopstate
  230. conditions:
  231. - dps_val: installed
  232. mapping:
  233. - dps_val: closed
  234. value: "Off"
  235. - dps_val: low
  236. value: Low
  237. - dps_val: middle
  238. value: Middle
  239. - dps_val: high
  240. value: High
  241. - dps_val: none
  242. mapping:
  243. - dps_val: closed
  244. value: "Off"
  245. - id: 40
  246. name: mopstate
  247. type: string
  248. - entity: sensor
  249. name: Side brush life
  250. category: diagnostic
  251. class: duration
  252. icon: "mdi:timer-sand"
  253. dps:
  254. - id: 17
  255. name: sensor
  256. type: integer
  257. unit: min
  258. range:
  259. min: 0
  260. max: 12000
  261. - entity: button
  262. name: Side brush reset
  263. category: diagnostic
  264. icon: "mdi:autorenew"
  265. dps:
  266. - id: 18
  267. type: boolean
  268. name: button
  269. optional: true
  270. - entity: sensor
  271. name: Main brush life
  272. category: diagnostic
  273. class: duration
  274. icon: "mdi:timer-sand"
  275. dps:
  276. - id: 19
  277. name: sensor
  278. type: integer
  279. unit: min
  280. range:
  281. min: 0
  282. max: 18000
  283. - entity: button
  284. name: Main brush reset
  285. category: diagnostic
  286. icon: "mdi:autorenew"
  287. dps:
  288. - id: 20
  289. type: boolean
  290. name: button
  291. optional: true
  292. - entity: sensor
  293. name: Filter life
  294. category: diagnostic
  295. class: duration
  296. icon: "mdi:timer-sand"
  297. dps:
  298. - id: 21
  299. name: sensor
  300. type: integer
  301. unit: min
  302. range:
  303. min: 0
  304. max: 9000
  305. - entity: button
  306. name: Filter reset
  307. category: diagnostic
  308. icon: "mdi:autorenew"
  309. dps:
  310. - id: 22
  311. type: boolean
  312. name: button
  313. optional: true
  314. - entity: sensor
  315. name: Mop life
  316. category: diagnostic
  317. class: duration
  318. icon: "mdi:timer-sand"
  319. dps:
  320. - id: 23
  321. name: sensor
  322. type: integer
  323. unit: min
  324. range:
  325. min: 0
  326. max: 9000
  327. - entity: button
  328. name: Mop reset
  329. category: diagnostic
  330. icon: "mdi:autorenew"
  331. dps:
  332. - id: 24
  333. type: boolean
  334. name: button
  335. optional: true
  336. - entity: number
  337. name: Volume
  338. category: config
  339. icon: "mdi:volume-high"
  340. dps:
  341. - id: 26
  342. type: integer
  343. name: value
  344. range:
  345. min: 0
  346. max: 100
  347. - entity: switch
  348. name: Resume cleaning option
  349. icon: "mdi:replay"
  350. category: config
  351. dps:
  352. - id: 27
  353. name: switch
  354. type: boolean
  355. - entity: sensor
  356. name: Total cleaned area
  357. category: diagnostic
  358. icon: "mdi:archive-marker-outline"
  359. dps:
  360. - id: 29
  361. name: sensor
  362. type: integer
  363. unit: m²
  364. mapping:
  365. - scale: 1
  366. step: 1
  367. - entity: sensor
  368. name: Total clean count
  369. category: diagnostic
  370. icon: "mdi:counter"
  371. dps:
  372. - id: 30
  373. name: sensor
  374. type: integer
  375. mapping:
  376. - scale: 1
  377. step: 1
  378. - entity: sensor
  379. name: Total clean time
  380. category: diagnostic
  381. class: duration
  382. icon: "mdi:archive-clock-outline"
  383. dps:
  384. - id: 31
  385. name: sensor
  386. type: integer
  387. unit: min
  388. range:
  389. min: 0
  390. max: 99999
  391. mapping:
  392. - scale: 1
  393. step: 1
  394. # - entity: select
  395. # name: Language
  396. # icon: "mdi:mouth"
  397. # dps:
  398. # - id: 36
  399. # name: option
  400. # type: string
  401. # optional: true
  402. # mapping:
  403. # - dps_val: chinese_simplified
  404. # value: chinese_simplified
  405. # - dps_val: chinese_traditional
  406. # value: chinese_traditional
  407. # - dps_val: english
  408. # value: english
  409. # - dps_val: german
  410. # value: german
  411. # - dps_val: french
  412. # value: french
  413. # - dps_val: russian
  414. # value: russian
  415. # - dps_val: spanish
  416. # value: spanish
  417. # - dps_val: korean
  418. # value: korean
  419. # - dps_val: latin
  420. # value: latin
  421. # - dps_val: portuguese
  422. # value: portuguese
  423. # - dps_val: japanese
  424. # value: japanese
  425. # - dps_val: italian
  426. # value: italian
  427. - entity: select
  428. name: Dust collection frequency
  429. category: config
  430. dps:
  431. - id: 37
  432. name: option
  433. type: integer
  434. mapping:
  435. - dps_val: 0
  436. value: Never
  437. icon: "mdi:numeric-0"
  438. - dps_val: 1
  439. value: After each clean
  440. icon: "mdi:numeric-1"
  441. - dps_val: 2
  442. value: After 2 cleans
  443. icon: "mdi:numeric-2"
  444. - dps_val: 3
  445. value: After 3 cleans
  446. icon: "mdi:numeric-3"
  447. - entity: button
  448. name: Empty dustbin
  449. category: config
  450. icon: "mdi:delete-restore"
  451. dps:
  452. - id: 38
  453. name: button
  454. type: boolean
  455. - entity: binary_sensor
  456. name: Mop installed
  457. category: diagnostic
  458. icon: "mdi:connection"
  459. dps:
  460. - id: 40
  461. name: sensor
  462. type: string
  463. mapping:
  464. - dps_val: "installed"
  465. value: true
  466. - dps_val: "none"
  467. value: false
  468. - entity: select
  469. name: Working mode
  470. icon: "mdi:vacuum"
  471. optional: true
  472. dps:
  473. - id: 41
  474. name: option
  475. type: string
  476. mapping:
  477. - dps_val: both_work
  478. value: Vacuum and mop
  479. icon: "mdi:robot-vacuum-variant"
  480. - dps_val: only_sweep
  481. value: Vacuum only
  482. icon: "mdi:broom"
  483. - dps_val: only_mop
  484. value: Mopping only
  485. icon: "mdi:liquid-spot"
  486. - entity: switch
  487. name: LED lights
  488. category: config
  489. icon: "mdi:car-parking-lights"
  490. dps:
  491. - id: 130
  492. name: switch
  493. type: boolean
  494. - entity: switch
  495. name: Mute sound
  496. category: config
  497. icon: "mdi:volume-mute"
  498. dps:
  499. - id: 131
  500. name: switch
  501. type: boolean
  502. - entity: switch
  503. name: Mop rotation
  504. icon: "mdi:rotate-360"
  505. dps:
  506. - id: 138
  507. name: switch
  508. type: boolean
  509. - entity: sensor
  510. name: Sensor life
  511. category: diagnostic
  512. class: duration
  513. icon: "mdi:eye-circle-outline"
  514. dps:
  515. - id: 139
  516. name: sensor
  517. type: integer
  518. unit: min
  519. range:
  520. min: 0
  521. max: 1800
  522. - entity: button
  523. name: Sensor reset
  524. category: diagnostic
  525. icon: "mdi:autorenew"
  526. dps:
  527. - id: 140
  528. type: boolean
  529. name: button
  530. optional: true
  531. - entity: sensor
  532. name: Event message
  533. category: diagnostic
  534. icon: "mdi:eye-circle-outline"
  535. dps:
  536. - id: 198
  537. name: sensor
  538. type: integer
  539. # 20001 - Start auto clean
  540. # 20002 - Start mopping
  541. # 20003 - Start room clean
  542. # 20004 - Start area clean
  543. # 20005 - Start spot clean
  544. # 20006 - Start partial clean
  545. # 20008 - Relocating
  546. # 20019 - Job finished
  547. # 20020 - Low power, return to charge
  548. # 20021 - Charging
  549. # 20022 - Battery low
  550. # 20024 - Emptying dustbin
  551. # 20025 - Dustbin empty completed
  552. - entity: sensor
  553. name: Error message
  554. category: diagnostic
  555. icon: "mdi:eye-circle-outline"
  556. dps:
  557. - id: 199
  558. name: sensor
  559. type: integer
  560. # 21003 - Dustbin not installed
  561. # 21004
  562. # 21005 - Mopping cloth not installed
  563. # 21008 - Vacuum not on floor
  564. # 21012 - Dust bag full
  565. # 21013 - Dust bag not installed
  566. # 22001 - Check anti-collision sensor
  567. # 22006 - Jammed or stuck
  568. # 23011 - Dust collection error due to insufficient pressure