Skip to content
Merged
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
95127b3
first version of Ti Pro25 cat litter box
claudiu-persoiu-super Jul 12, 2026
10c2cae
full bin sensor and setting and removed a couple of settings that see…
claudiu-persoiu-super Jul 13, 2026
4b52723
fixed measurmenet warning
claudiu-persoiu Jul 13, 2026
ac89adf
Added one more config and a bit of cleaning related to the full bin
claudiu-persoiu Jul 13, 2026
21a8035
update icon
claudiu-persoiu Jul 13, 2026
4c81466
line too long
claudiu-persoiu Jul 14, 2026
ef91f8e
fixed missing translation_key
claudiu-persoiu Jul 14, 2026
9686f51
use translation key instead of name
claudiu-persoiu Jul 14, 2026
7ae8e95
Merge branch 'make-all:main' into main
claudiu-persoiu Jul 14, 2026
eeff1d4
add better description for status
claudiu-persoiu Jul 16, 2026
591a732
add better description for status
claudiu-persoiu Jul 16, 2026
3bc1fe3
Merge branch 'main' of github.com-claudiupersoiu:claudiu-persoiu/tuya…
claudiu-persoiu Jul 16, 2026
6f59359
display weight depending on the selected unit
claudiu-persoiu Jul 16, 2026
f35840a
add better labels for status
claudiu-persoiu Jul 16, 2026
ded03a3
update comments
claudiu-persoiu Jul 16, 2026
ad5a529
remove punctuation from name
claudiu-persoiu Jul 16, 2026
8359715
comment out the mapping
claudiu-persoiu Jul 16, 2026
3f7a186
added mapping back and revert sensor name
claudiu-persoiu Jul 16, 2026
4c930ab
remove sensor class that prevents unit and weight from changing
claudiu-persoiu Jul 16, 2026
7cb7958
add class back to weight sensor
claudiu-persoiu Jul 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
278 changes: 278 additions & 0 deletions custom_components/tuya_local/devices/ti_pro25_catlitterbox.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,278 @@
## Ti Pro25 Smart Cat Litter Box also fund as iHunt Smart Cat Litter V1
## dps that are not mapped
## 109 - odor removal, seems to be internal
## 110 - sleep mode, seems to be internal for schedule
## 106, 107, 108 # autocleaning with schedule
## 112, 119, 121, 122, 128, 129
## 115 - calibration could not find a button in the app

name: Cat litter box
products:
- id: yn6wqmizg7abe5k8
manufacturer: Ti
model: Ti Pro25 Smart Cat Litter Box
entities:
# Last recorded cat weight
- entity: sensor
icon: "mdi:cat"
name: Cat weight
class: weight
dps:
Comment thread
make-all marked this conversation as resolved.
- id: 6
type: integer
name: sensor
class: measurement
mapping:
- scale: 10
constraint: unit
conditions:
- dps_val: kilogram
value_redirect: weight_lb
- id: 116
type: string
name: unit
mapping:
- dps_val: kilogram
value: lb
- dps_val: pound
value: kg
- id: 134
type: integer
name: weight_lb
mapping:
- scale: 10
# Counts total number of cat visits
- entity: sensor
name: Total visits
icon: "mdi:counter"
dps:
- id: 7
type: integer
name: sensor
unit: visits
# Duration of cat's last visit in seconds
- entity: sensor
name: Visit duration
class: duration
dps:
- id: 8
type: integer
name: sensor
unit: s
class: measurement
# Reports device malfunctions and errors
- entity: binary_sensor
class: problem
category: diagnostic
dps:
- id: 22
type: bitfield
name: sensor
mapping:
- dps_val: 0
value: false
- value: true
- id: 22
type: bitfield
name: fault_code
- id: 22
type: bitfield
name: description
mapping:
- dps_val: 1
value: "Motor malfunction"
- dps_val: 2
value: "Program error"
- dps_val: 4
value: "Weight sensor malfunction"
- dps_val: 8
value: "Fan malfunction"
- dps_val: 16
value: "Ozone generator malfunction"
- dps_val: 32
value: "Ball bunker not installed"
- entity: sensor
translation_key: status
class: enum
category: diagnostic
dps:
- id: 24
type: string
optional: true
name: sensor
mapping:
- dps_val: "standly"
value: "standby"
- dps_val: "clean"
value: "cleaning"
- dps_val: "empty"
value: "emptying litter"
- dps_val: "clock"
value: "child lock"
- dps_val: "sleep"
value: "sleep mode"
- dps_val: "level"
value: "smoothing"
- dps_val: "test"
value: "self check"
- dps_val: "replace"
value: "replacing bag"
- entity: button
name: Clean
icon: "mdi:shimmer"
dps:
- id: 101
type: boolean
name: button
- entity: button
name: Empty
icon: "mdi:delete-empty"
dps:
- id: 102
type: boolean
name: button
- entity: binary_sensor
name: Bin full
icon: "mdi:trash-can"
translation_key: tank_full
dps:
- id: 103
type: boolean
optional: true
name: sensor
mapping:
- dps_val: null
value: false
- entity: binary_sensor
class: occupancy
icon: "mdi:motion-sensor"
dps:
- id: 104
type: boolean
name: sensor
- entity: switch
translation_key: auto_clean
category: config
dps:
- id: 105
type: boolean
name: switch
## In the event of a malfunction where the silo is not in its home position,
## perform a power-cycle operation (powering the equipment off and then on);
## this operation bypasses any triggered sensors and is executed while
## the system is connected to the network.
- entity: button
name: Device restart
dps:
- id: 113
type: boolean
name: button
- entity: lock
translation_key: child_lock
category: config
dps:
- id: 114
type: boolean
name: lock
- entity: select
name: Unit
category: config
icon: "mdi:dots-hexagon"
dps:
- id: 116
type: string
name: option
mapping:
- dps_val: "pound"
Comment thread
make-all marked this conversation as resolved.
value: "kilogram"
- dps_val: "kilogram"
value: "pound"
- entity: number
name: Clean wait time
category: config
class: duration
icon: "mdi:timer"
dps:
- id: 117
type: integer
name: value
unit: min
range:
min: 0
max: 60
- entity: number
name: Clean interval
category: config
icon: "mdi:update"
dps:
- id: 118
type: integer
name: value
unit: min
range:
min: 0
max: 120
- entity: number
name: Bin Full Calibration
category: config
icon: "mdi:delete-restore"
dps:
- id: 123
type: integer
name: value
unit: cleanings
range:
min: 15
max: 35
- entity: sensor
icon: "mdi:delete-restore"
name: Number of cleanings
dps:
- id: 124
type: integer
name: sensor
unit: cleanings
class: measurement
- entity: switch
name: Deep clean
category: config
icon: "mdi:shimmer"
dps:
- id: 125
type: boolean
name: switch
- entity: button
name: Level litter
icon: "mdi:arrow-collapse-down"
dps:
- id: 126
type: boolean
name: button
- entity: button
name: Bag replace
icon: "mdi:sack"
dps:
- id: 127
type: boolean
name: button
- entity: switch
name: Odor removal after cleaning
category: config
icon: "mdi:flower"
dps:
- id: 129
type: boolean
name: switch
- entity: select
name: Litter type
category: config
icon: "mdi:dots-hexagon"
dps:
- id: 131
type: string
name: option
mapping:
- dps_val: "mineral_cat_litter"
value: "Mineral"
- dps_val: "mix_cat_litter"
value: "Mixed"
Loading