holman_wx1_taptimer.yaml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472
  1. name: Tap timer
  2. products:
  3. - id: zrsgzc8jktsricjj
  4. model: WX1
  5. manufacturer: Holman
  6. # DP decoding thanks to funtastix https://github.com/funtastix/localtuya/blob/dbcc6dcd8340cd3e8b7ae91cda379ab68dfcac22/HOLMAN_TAP_TIMER.md
  7. primary_entity:
  8. entity: switch
  9. name: Manual
  10. icon: "mdi:watering-can"
  11. dps:
  12. - id: 108
  13. type: boolean
  14. name: switch
  15. mapping:
  16. - dps_val: true
  17. value: false
  18. - dps_val: false
  19. value: true
  20. secondary_entities:
  21. - entity: sensor
  22. name: Soil temperature
  23. class: temperature
  24. category: diagnostic
  25. dps:
  26. - id: 101
  27. name: sensor
  28. type: integer
  29. unit: C
  30. - id: 115
  31. name: sensor_present
  32. type: boolean
  33. - entity: sensor
  34. name: Soil moisture
  35. class: humidity
  36. category: diagnostic
  37. dps:
  38. - id: 102
  39. name: sensor
  40. type: integer
  41. unit: "%"
  42. - entity: sensor
  43. name: Water flow
  44. class: water
  45. category: diagnostic
  46. icon: "mdi:water"
  47. dps:
  48. - id: 103
  49. name: sensor
  50. type: integer
  51. unit: L
  52. - entity: sensor
  53. class: battery
  54. category: diagnostic
  55. dps:
  56. - id: 105
  57. type: integer
  58. name: sensor
  59. unit: "%"
  60. mapping:
  61. - dps_val: 0
  62. icon: "mdi:battery-10"
  63. value: 0
  64. - dps_val: 1
  65. icon: "mdi:battery-60"
  66. value: 50
  67. - dps_val: 2
  68. icon: "mdi:battery"
  69. value: 100
  70. - entity: sensor
  71. name: Status
  72. class: enum
  73. icon: "mdi:list-status"
  74. category: diagnostic
  75. dps:
  76. - id: 106
  77. type: integer
  78. name: sensor
  79. mapping:
  80. - dps_val: 0
  81. value: "Off"
  82. - dps_val: 1
  83. value: "Manual"
  84. - dps_val: 2
  85. value: "Auto"
  86. - dps_val: 3
  87. value: "Rain Delay"
  88. - entity: number
  89. name: Timer
  90. icon: "mdi:timer"
  91. category: config
  92. dps:
  93. - id: 107
  94. type: integer
  95. name: value
  96. unit: min
  97. range:
  98. min: 0
  99. max: 60
  100. - entity: number
  101. name: Time left
  102. icon: "mdi:timer"
  103. category: diagnostic
  104. dps:
  105. - id: 109
  106. optional: true
  107. type: integer
  108. name: value
  109. unit: min
  110. - entity: sensor
  111. name: Start A encoded # this DP shows the start time, duration and days for start A. Not controllable - use automation instead.
  112. category: diagnostic
  113. dps:
  114. - id: 110
  115. optional: true
  116. name: sensor
  117. type: base64
  118. - id: 110
  119. optional: true
  120. name: days # bit string of flags for days of the week Sun-Sat, plus a bit for on/off
  121. type: base64
  122. mapping:
  123. - mask: "FF000000"
  124. - id: 110
  125. optional: true
  126. name: minutes_duration
  127. type: base64
  128. mapping:
  129. - mask: "FF00000000"
  130. - id: 110
  131. optional: true
  132. name: hours_duration
  133. type: base64
  134. mapping:
  135. - mask: "FF0000000000"
  136. - id: 110
  137. optional: true
  138. name: minutes_start
  139. type: base64
  140. mapping:
  141. - mask: "FF000000000000"
  142. - id: 110
  143. optional: true
  144. name: hours_start
  145. type: base64
  146. mapping:
  147. - mask: "FF00000000000000"
  148. - entity: sensor
  149. name: Start B encoded # this DP shows the start time, duration and days for start B. Not controllable - use automation instead.
  150. category: diagnostic
  151. dps:
  152. - id: 111
  153. optional: true
  154. name: sensor
  155. type: string
  156. - id: 111
  157. optional: true
  158. name: days # bit string of flags for days of the week Sun-Sat, plus a bit for on/off
  159. type: base64
  160. mapping:
  161. - mask: "FF000000"
  162. - id: 111
  163. optional: true
  164. name: minutes_duration
  165. type: base64
  166. mapping:
  167. - mask: "FF00000000"
  168. - id: 111
  169. optional: true
  170. name: hours_duration
  171. type: base64
  172. mapping:
  173. - mask: "FF0000000000"
  174. - id: 111
  175. optional: true
  176. name: minutes_start
  177. type: base64
  178. mapping:
  179. - mask: "FF000000000000"
  180. - id: 111
  181. optional: true
  182. name: hours_start
  183. type: base64
  184. mapping:
  185. - mask: "FF00000000000000"
  186. - entity: sensor
  187. name: Start C encoded # this DP shows the start time, duration and days for start C. Not controllable - use automation instead.
  188. category: diagnostic
  189. dps:
  190. - id: 112
  191. optional: true
  192. name: sensor
  193. type: string
  194. - id: 112
  195. optional: true
  196. name: days # bit string of flags for days of the week Sun-Sat, plus a bit for on/off
  197. type: base64
  198. mapping:
  199. - mask: "FF000000"
  200. - id: 112
  201. optional: true
  202. name: minutes_duration
  203. type: base64
  204. mapping:
  205. - mask: "FF00000000"
  206. - id: 112
  207. optional: true
  208. name: hours_duration
  209. type: base64
  210. mapping:
  211. - mask: "FF0000000000"
  212. - id: 112
  213. optional: true
  214. name: minutes_start
  215. type: base64
  216. mapping:
  217. - mask: "FF000000000000"
  218. - id: 112
  219. optional: true
  220. name: hours_start
  221. type: base64
  222. mapping:
  223. - mask: "FF00000000000000"
  224. - entity: select
  225. name: Watering delay
  226. category: config
  227. dps:
  228. - id: 113
  229. name: option
  230. type: string
  231. mapping:
  232. - dps_val: 0
  233. value: 0h
  234. - dps_val: 24
  235. value: 24h
  236. - dps_val: 48
  237. value: 48h
  238. - dps_val: 72
  239. value: 72h
  240. - entity: select
  241. name: Time format
  242. category: config
  243. dps:
  244. - id: 114
  245. name: option
  246. type: string
  247. optional: true
  248. mapping:
  249. - dps_val: 12
  250. value: 12H
  251. - dps_val: 24
  252. value: 24H
  253. - entity: binary_sensor
  254. name: Soil sensor power OK
  255. category: diagnostic
  256. dps:
  257. - id: 117
  258. name: sensor
  259. type: boolean
  260. - entity: select
  261. name: Units
  262. category: config
  263. dps:
  264. - id: 119
  265. name: option
  266. type: string
  267. optional: true
  268. mapping:
  269. - dps_val: 1
  270. value: "l/C"
  271. - dps_val: 2
  272. value: "gal/F"
  273. - entity: sensor
  274. name: Alarm status
  275. category: diagnostic
  276. dps:
  277. - id: 120
  278. name: sensor
  279. type: integer
  280. - entity: sensor
  281. name: Flow count encoded # shows the past 10 days of flow count history. xx_days_256 values need to be multiplied by 256 and added to xx_days value to get the total for that day.
  282. category: diagnostic
  283. dps:
  284. - id: 121
  285. optional: true
  286. name: sensor
  287. type: base64
  288. - id: 121
  289. optional: true
  290. name: 10_days
  291. type: base64
  292. mapping:
  293. - mask: "FF"
  294. - id: 121
  295. optional: true
  296. name: 10_days_256
  297. type: base64
  298. mapping:
  299. - mask: "FF00"
  300. - id: 121
  301. optional: true
  302. name: 9_days
  303. type: base64
  304. mapping:
  305. - mask: "FF0000"
  306. - id: 121
  307. optional: true
  308. name: 9_days_256
  309. type: base64
  310. mapping:
  311. - mask: "FF000000"
  312. - id: 121
  313. optional: true
  314. name: 8_days
  315. type: base64
  316. mapping:
  317. - mask: "FF00000000"
  318. - id: 121
  319. optional: true
  320. name: 8_days_256
  321. type: base64
  322. mapping:
  323. - mask: "FF0000000000"
  324. - id: 121
  325. optional: true
  326. name: 7_days
  327. type: base64
  328. mapping:
  329. - mask: "FF000000000000"
  330. - id: 121
  331. optional: true
  332. name: 7_days_256
  333. type: base64
  334. mapping:
  335. - mask: "FF00000000000000"
  336. - id: 121
  337. optional: true
  338. name: 6_days
  339. type: base64
  340. mapping:
  341. - mask: "FF0000000000000000"
  342. - id: 121
  343. optional: true
  344. name: 6_days_256
  345. type: base64
  346. mapping:
  347. - mask: "FF000000000000000000"
  348. - id: 121
  349. optional: true
  350. name: 5_days
  351. type: base64
  352. mapping:
  353. - mask: "FF00000000000000000000"
  354. - id: 121
  355. optional: true
  356. name: 5_days_256
  357. type: base64
  358. mapping:
  359. - mask: "FF0000000000000000000000"
  360. - id: 121
  361. optional: true
  362. name: 4_days
  363. type: base64
  364. mapping:
  365. - mask: "FF000000000000000000000000"
  366. - id: 121
  367. optional: true
  368. name: 4_days_256
  369. type: base64
  370. mapping:
  371. - mask: "FF00000000000000000000000000"
  372. - id: 121
  373. optional: true
  374. name: 3_days
  375. type: base64
  376. mapping:
  377. - mask: "FF0000000000000000000000000000"
  378. - id: 121
  379. optional: true
  380. name: 3_days_256
  381. type: base64
  382. mapping:
  383. - mask: "FF000000000000000000000000000000"
  384. - id: 121
  385. optional: true
  386. name: 2_days
  387. type: base64
  388. mapping:
  389. - mask: "FF00000000000000000000000000000000"
  390. - id: 121
  391. optional: true
  392. name: 2_days_256
  393. type: base64
  394. mapping:
  395. - mask: "FF0000000000000000000000000000000000"
  396. - id: 121
  397. optional: true
  398. name: 1_day
  399. type: base64
  400. mapping:
  401. - mask: "FF000000000000000000000000000000000000"
  402. - id: 121
  403. optional: true
  404. name: 1_day_256
  405. type: base64
  406. mapping:
  407. - mask: "FF00000000000000000000000000000000000000"
  408. - entity: sensor
  409. name: Temperature count encoded
  410. category: diagnostic
  411. dps:
  412. - id: 122
  413. optional: true
  414. name: sensor
  415. type: base64
  416. - entity: sensor
  417. name: Moisture count encoded
  418. category: diagnostic
  419. dps:
  420. - id: 123
  421. optional: true
  422. name: sensor
  423. type: base64
  424. - entity: binary_sensor
  425. name: Postponed due to rain
  426. category: diagnostic
  427. dps:
  428. - id: 125
  429. name: sensor
  430. type: boolean
  431. - id: 116
  432. optional: true
  433. name: sensor_present
  434. type: boolean
  435. - entity: sensor
  436. name: Next watering encoded # shows the next scheduled watering time based on starts A, B and C
  437. category: diagnostic
  438. dps:
  439. - id: 128
  440. optional: true
  441. name: sensor
  442. type: base64
  443. - id: 128
  444. optional: true
  445. name: minute
  446. type: base64
  447. mapping:
  448. - mask: "FF"
  449. - id: 128
  450. optional: true
  451. name: hour
  452. type: base64
  453. mapping:
  454. - mask: "FF00"
  455. - id: 128
  456. optional: true
  457. name: day
  458. type: base64
  459. mapping:
  460. - mask: "FF0000"
  461. - id: 128
  462. optional: true
  463. name: month
  464. type: base64
  465. mapping:
  466. - mask: "FF000000"
  467. - id: 128
  468. optional: true
  469. name: year
  470. type: base64
  471. mapping:
  472. - mask: "FF00000000"