proscenic_m9_vacuum.yaml 13 KB

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