Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Thermoval TVT 40 WiFi Thermostat #1421

Merged
merged 4 commits into from
Sep 2, 2024
Merged
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
259 changes: 259 additions & 0 deletions custom_components/tuya_local/devices/thermoval_tvt40_thermostat.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,259 @@
name: Thermostat
products:
- id: jIRwsT5yLPJO41Po
name: Thermoval TVT 40
primary_entity:
entity: climate
translation_key: thermostat
dps:
- id: 2
name: temperature
type: integer
unit: C
range:
min: 50
max: 400
mapping:
- scale: 10
step: 5
- id: 3
name: preset_mode
type: string
mapping:
- dps_val: Smart
value: program
icon: "mdi:home-thermometer"
- dps_val: Anti_frozen
value: away
icon: "mdi:snowflake-melt"
- dps_val: Manual
value: manual
icon: "mdi:cursor-pointer"
- id: 5
name: current_temperature
type: integer
mapping:
- scale: 10
constraint: sensor_select
conditions:
- dps_val: "0"
value_redirect: floor_temperature
- id: 8
name: floor_temperature
type: integer
hidden: true
- id: 9
name: hvac_mode
type: boolean
readonly: true
Copy link
Owner

Choose a reason for hiding this comment

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

hvac_mode should not be read-only. If this is really read-only, rename this attribute (I guess the original tuya name is work_mode, which would be appropriate) to avoid buttons that cannot be used in the UI (the mode will then always show as auto).

mapping:
- dps_val: false
value: "heat"
- dps_val: true
value: "cool"
- id: 14
type: string
name: sensor_select
hidden: true
- id: 21
name: factory_reset
type: boolean
- id: 24
name: hvac_action
type: string
mapping:
- dps_val: Standby
value: idle
- dps_val: Heating
value: heating
- dps_val: Cooling
value: cooling
- id: 26
name: antifreeze_mode_settings
optional: true
type: integer
secondary_entities:
- entity: binary_sensor
class: problem
category: diagnostic
dps:
- id: 4
name: sensor
type: bitfield
mapping:
- dps_val: 0
value: false
- value: true
- id: 4
name: fault_code
type: bitfield
- entity: lock
translation_key: child_lock
category: config
dps:
- id: 11
name: lock
type: boolean
- entity: number
make-all marked this conversation as resolved.
Show resolved Hide resolved
name: Room temperature limit
category: config
class: temperature
icon: "mdi:thermometer-alert"
dps:
- id: 2
name: value
type: integer
unit: C
range:
min: 200
max: 500
mapping:
- scale: 10
step: 5
- entity: sensor
name: Room temperature
class: temperature
category: diagnostic
dps:
- id: 5
name: sensor
type: integer
class: measurement
unit: C
mapping:
- scale: 10
- entity: number
name: Floor temperature limit
category: config
class: temperature
icon: "mdi:thermometer-alert"
dps:
- id: 6
name: value
type: integer
unit: C
range:
min: 200
max: 500
mapping:
- scale: 10
step: 5
- entity: select
name: Installation
category: config
dps:
- id: 7
name: option
type: boolean
mapping:
- dps_val: true
value: Office
icon: "mdi:office-building-marker"
- dps_val: false
value: Home
icon: "mdi:home-map-marker"
- entity: sensor
name: Floor temperature
class: temperature
category: diagnostic
dps:
- id: 8
name: sensor
type: integer
class: measurement
unit: C
mapping:
- scale: 10
- entity: switch
name: Adaptive
icon: "mdi:school"
category: config
dps:
- id: 10
name: switch
type: boolean
- entity: select
name: Schedule
icon: "mdi:calendar-clock"
category: config
dps:
- id: 12
name: option
type: string
mapping:
- dps_val: "5_1_1"
value: "Weekdays+Sat+Sun"
- dps_val: "7"
value: "Daily"
- entity: select
name: Sensor select
icon: "mdi:home-thermometer"
category: config
dps:
- id: 14
name: option
type: string
mapping:
- dps_val: "0"
value: "Floor sensor"
- dps_val: "1"
value: "Room sensor"
- dps_val: "2"
value: "Room sensor with floor sensor limit"
- dps_val: "3"
value: "External room sensor"
- dps_val: "4"
value: "External room sensor with floor sensor limit"
- entity: number
name: Room temperature calibration
icon: "mdi:thermometer-check"
category: config
dps:
- id: 15
name: value
type: integer
unit: C
range:
min: -50
max: 50
mapping:
- scale: 10
step: 5
- entity: number
name: Floor temperature calibration
icon: "mdi:thermometer-check"
category: config
dps:
- id: 17
name: value
type: integer
unit: C
range:
min: -50
max: 50
mapping:
- scale: 10
step: 5
- entity: number
name: Power rating
category: config
class: power
icon: "mdi:signal"
dps:
- id: 22
name: value
type: integer
unit: W
range:
min: 0
max: 3500
- entity: sensor
name: Power Consumption Duration
category: diagnostic
icon: "mdi:clock"
dps:
- id: 23
name: sensor
type: integer
class: measurement
unit: h