|
|
@@ -0,0 +1,165 @@
|
|
|
+# Loosly based on the Airrounder Plus config
|
|
|
+# Dealing with the overlapping DP modes, decided to retain one climate window
|
|
|
+# and have that auto update rather than seperate Fan and Climate UI's.
|
|
|
+# Mode matrix for reference:
|
|
|
+# Fan only mode:
|
|
|
+# Low DP4=heat_low DP5=NatureWind_Low
|
|
|
+# Med DP4=heat_low DP5=NatureWind_High
|
|
|
+# High DP4=heat_low DP5=CoolWind_0
|
|
|
+# Heat:
|
|
|
+# Low - DP4=heat_high DP5=SleepWind
|
|
|
+# High - DP4=heat_0 DP5=SleepWind
|
|
|
+
|
|
|
+name: Purifier heater
|
|
|
+products:
|
|
|
+ - id: 56ssixusjwkhp6yg
|
|
|
+ manufacturer: Breville
|
|
|
+ model: AirRounder LPH408
|
|
|
+entities:
|
|
|
+ - entity: climate
|
|
|
+ translation_key: heater
|
|
|
+ dps:
|
|
|
+ - id: 1
|
|
|
+ type: boolean
|
|
|
+ name: hvac_mode
|
|
|
+ mapping:
|
|
|
+ - dps_val: false
|
|
|
+ value: "off"
|
|
|
+ - dps_val: true
|
|
|
+ constraint: preset_mode
|
|
|
+ conditions:
|
|
|
+ - dps_val: heat_low
|
|
|
+ value: fan_only
|
|
|
+ - dps_val: heat_high
|
|
|
+ value: heat
|
|
|
+ - dps_val: heat_0
|
|
|
+ value: heat
|
|
|
+ hidden: true
|
|
|
+ - id: 2
|
|
|
+ type: integer
|
|
|
+ name: temperature
|
|
|
+ range:
|
|
|
+ min: 5
|
|
|
+ max: 35
|
|
|
+ unit: C
|
|
|
+ - id: 3
|
|
|
+ type: integer
|
|
|
+ name: current_temperature
|
|
|
+ - id: 4
|
|
|
+ type: string
|
|
|
+ name: preset_mode
|
|
|
+ mapping:
|
|
|
+ - dps_val: heat_low
|
|
|
+ value: fan_only
|
|
|
+ - dps_val: heat_high
|
|
|
+ constraint: fan_mode
|
|
|
+ conditions:
|
|
|
+ - dps_val: SleepWind
|
|
|
+ value: low
|
|
|
+ - dps_val: heat_0
|
|
|
+ constraint: fan_mode
|
|
|
+ conditions:
|
|
|
+ - dps_val: SleepWind
|
|
|
+ value: high
|
|
|
+ - id: 5
|
|
|
+ type: string
|
|
|
+ name: fan_mode
|
|
|
+ mapping:
|
|
|
+ - dps_val: NatureWind_Low
|
|
|
+ constraint: preset_mode
|
|
|
+ conditions:
|
|
|
+ - dps_val: heat_low
|
|
|
+ value: low
|
|
|
+ - dps_val: NatureWind_High
|
|
|
+ constraint: preset_mode
|
|
|
+ conditions:
|
|
|
+ - dps_val: heat_low
|
|
|
+ value: medium
|
|
|
+ - dps_val: CoolWind_0
|
|
|
+ constraint: preset_mode
|
|
|
+ conditions:
|
|
|
+ - dps_val: heat_low
|
|
|
+ value: high
|
|
|
+ - dps_val: SleepWind
|
|
|
+ value: auto
|
|
|
+ hidden: true
|
|
|
+ - id: 101
|
|
|
+ type: string
|
|
|
+ name: swing_mode
|
|
|
+ mapping:
|
|
|
+ - dps_val: "off"
|
|
|
+ value: "off"
|
|
|
+ - dps_val: "30"
|
|
|
+ value: "60"
|
|
|
+ - dps_val: "60"
|
|
|
+ value: "120"
|
|
|
+ - dps_val: "180"
|
|
|
+ value: "180"
|
|
|
+
|
|
|
+ - entity: lock
|
|
|
+ translation_key: child_lock
|
|
|
+ category: config
|
|
|
+ dps:
|
|
|
+ - id: 7
|
|
|
+ type: boolean
|
|
|
+ name: lock
|
|
|
+
|
|
|
+ - entity: select
|
|
|
+ translation_key: timer
|
|
|
+ category: config
|
|
|
+ dps:
|
|
|
+ - id: 19
|
|
|
+ type: string
|
|
|
+ name: option
|
|
|
+ mapping:
|
|
|
+ - dps_val: cancel
|
|
|
+ value: cancel
|
|
|
+ - dps_val: "1h"
|
|
|
+ value: "1h"
|
|
|
+ - dps_val: "2h"
|
|
|
+ value: "2h"
|
|
|
+ - dps_val: "3h"
|
|
|
+ value: "3h"
|
|
|
+ - dps_val: "4h"
|
|
|
+ value: "4h"
|
|
|
+ - dps_val: "5h"
|
|
|
+ value: "5h"
|
|
|
+ - dps_val: "6h"
|
|
|
+ value: "6h"
|
|
|
+ - dps_val: "7h"
|
|
|
+ value: "7h"
|
|
|
+
|
|
|
+ - entity: sensor
|
|
|
+ translation_key: time_remaining
|
|
|
+ class: duration
|
|
|
+ category: diagnostic
|
|
|
+ dps:
|
|
|
+ - id: 20
|
|
|
+ type: integer
|
|
|
+ name: sensor
|
|
|
+ unit: min
|
|
|
+
|
|
|
+ - entity: sensor
|
|
|
+ translation_key: filter_life
|
|
|
+ class: duration
|
|
|
+ category: diagnostic
|
|
|
+ dps:
|
|
|
+ - id: 102
|
|
|
+ type: integer
|
|
|
+ name: sensor
|
|
|
+ unit: min
|
|
|
+
|
|
|
+ - entity: binary_sensor
|
|
|
+ class: problem
|
|
|
+ category: diagnostic
|
|
|
+ dps:
|
|
|
+ - id: 23
|
|
|
+ type: bitfield
|
|
|
+ name: sensor
|
|
|
+ mapping:
|
|
|
+ - dps_val: 0
|
|
|
+ value: false
|
|
|
+ - value: true
|
|
|
+ - id: 23
|
|
|
+ type: bitfield
|
|
|
+ name: fault_code
|