Skip to content
Open
Changes from all commits
Commits
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
328 changes: 328 additions & 0 deletions custom_components/tuya_local/devices/tion_breezer_bio_x.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,328 @@
name: Ventilator with heater
products:
- id: 9mqdhwklpvnnvb7t
manufacturer: Tion
model: Breezer Bio X
entities:
# Main entities
- entity: switch
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this device should be a higher level type of device, maybe climate since it has temperature control also.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried the climate implementation, but found it misleading. It implies the device can control the room's temperature, which it cannot; it only heats the incoming air. This is a secondary function, as the device's main purpose is ventilation.

name: "Power"
icon: "mdi:power"
dps:
- id: 101
name: switch
type: boolean
- entity: number
name: "Speed"
icon: "mdi:fan"
dps:
- id: 102
name: value
type: integer
range:
min: 1
max: 7
- entity: number
name: "Heater"
icon: "mdi:thermometer-plus"
dps:
- id: 114
name: value
type: integer
unit: C
range:
min: 0
max: 30
- entity: switch
name: "Recirculation mode"
icon: "mdi:air-conditioner"
dps:
- id: 105
name: switch
type: boolean
- entity: sensor
name: "Indoor temperature"
class: temperature
dps:
- id: 108
name: sensor
type: integer
unit: "°C"
- entity: sensor
name: "Outdoor temperature"
class: temperature
dps:
- id: 112
name: sensor
type: integer
unit: "°C"
- entity: sensor
name: "Filter life"
icon: "mdi:air-filter"
dps:
- id: 115
name: sensor
type: integer
unit: "%"
- entity: sensor
class: carbon_dioxide
dps:
- id: 106
name: sensor
type: integer
unit: "ppm"
- id: 122
name: available
type: string
mapping:
- dps_val: "absent"
value: false
- dps_val: null
value: false
- value: true
- entity: sensor
class: pm25
dps:
- id: 116
name: sensor
type: integer
unit: "µg/m³"
- id: 123
name: available
type: string
mapping:
- dps_val: "absent"
value: false
- dps_val: null
value: false
- value: true
- entity: sensor
class: "humidity"
dps:
- id: 119
name: sensor
type: integer
unit: "%"
- id: 124
name: available
type: string
mapping:
- dps_val: "absent"
value: false
- dps_val: null
value: false
- value: true

# Configuration entities
- entity: switch
translation_key: sleep
category: config
dps:
- id: 132
name: switch
type: boolean
- entity: lock
translation_key: child_lock
category: config
dps:
- id: 111
name: lock
type: boolean
- entity: light
name: "Indicator light"
category: config
dps:
- id: 104
name: brightness
type: string
mapping:
- dps_val: "0"
value: 0
- dps_val: "50"
value: 128
- dps_val: "100"
value: 255
- entity: switch
name: "Sound"
category: config
icon: "mdi:volume-high"
dps:
- id: 103
name: switch
type: boolean
- entity: button
translation_key: filter_reset
category: config
dps:
- id: 110
name: button
type: boolean
- entity: switch
name: "Auto mode"
category: config
icon: "mdi:fan-auto"
dps:
- id: 131
name: switch
type: boolean
- id: 122
name: available
type: string
mapping:
- dps_val: "absent"
value: false
- dps_val: null
value: false
- value: true
- entity: number
name: "Target CO2"
category: config
icon: "mdi:molecule-co2"
dps:
- id: 130
name: value
type: integer
unit: "ppm"
range:
min: 400
max: 1500
mapping:
- step: 50.0
- id: 122
name: available
type: string
mapping:
- dps_val: "absent"
value: false
- dps_val: null
value: false
- value: true
- entity: number
name: "Max auto speed"
category: config
icon: "mdi:fan-chevron-up"
dps:
- id: 128
name: value
type: integer
range:
min: 1
max: 7
- id: 122
name: available
type: string
mapping:
- dps_val: "absent"
value: false
- dps_val: null
value: false
- value: true
- entity: number
name: "Min auto speed"
category: config
icon: "mdi:fan-chevron-down"
dps:
- id: 129
name: value
type: integer
range:
min: 0
max: 1
- id: 122
name: available
type: string
mapping:
- dps_val: "absent"
value: false
- dps_val: null
value: false
- value: true
- entity: number
name: "Target filter life"
category: config
icon: "mdi:calendar-check"
dps:
- id: 134
name: value
type: integer
unit: "days"
range:
min: 30
max: 365
mapping:
- step: 1.0
- entity: select
name: "Panel color"
category: config
icon: "mdi:palette"
dps:
- id: 133
name: option
type: string
mapping:
- dps_val: "color0"
value: "Turquoise"
- dps_val: "color1"
value: "Purple"
- dps_val: "color2"
value: "Green"
- dps_val: "color3"
value: "White"
- dps_val: "color4"
value: "Yellow"
- entity: button
name: "Calibrate CO2"
category: config
icon: "mdi:camera-metering-matrix"
dps:
- id: 136
name: button
type: boolean

# Diagnostic entities
- entity: sensor
name: "Heater type"
category: diagnostic
icon: "mdi:information-outline"
hidden: true
dps:
- id: 118
name: sensor
type: string
- entity: sensor
name: "Total work time"
category: diagnostic
class: duration
hidden: true
dps:
- id: 113
name: sensor
type: integer
unit: "s"
- entity: sensor
name: "Error code"
category: diagnostic
icon: "mdi:alert-circle-outline"
dps:
- id: 127
name: sensor
type: string
- entity: binary_sensor
name: "Heating"
category: diagnostic
icon: "mdi:radiator"
hidden: true
dps:
- id: 117
name: sensor
type: boolean
- entity: sensor
name: "Heater power"
category: diagnostic
icon: "mdi:gauge"
hidden: true
dps:
- id: 120
name: sensor
type: integer
unit: "%"