Explorar el Código

- Add Jiahong ET-72W Thermostate C and F configs

craibo hace 3 años
padre
commit
0b099c82b9

+ 225 - 0
custom_components/tuya_local/devices/jiahong_et72w_thermostat_c.yaml

@@ -0,0 +1,225 @@
+name: Jiahong ET-72W Thermostat (C)
+primary_entity:
+  entity: climate
+  dps:
+    - id: 101
+      type: boolean
+      name: power
+      mapping:
+        - dps_val: false
+          value: "off"
+      hidden: true
+    - id: 102
+      type: integer
+      name: temperature
+      range:
+        min: 50
+        max: 400
+      mapping:
+        - scale: 10
+          step: 5
+    - id: 103
+      type: string
+      name: hvac_mode
+      mapping:
+        - dps_val: "Smart"
+          icon: "mdi:calendar-sync"
+          constraint: power
+          conditions:
+            - dps_val: true
+              value: auto
+            - dps_val: false
+              value_redirect: power
+              value: "off"
+        - dps_val: "Manual"
+          icon: "mdi:fire"
+          constraint: power
+          conditions:
+            - dps_val: true
+              value: heat
+            - dps_val: false
+              value_redirect: power
+              value: "off"
+        - dps_val: "Anti_frozen"
+          icon: "mdi:snowflake"
+          constraint: power
+          conditions:
+            - dps_val: true
+              value: cool
+            - dps_val: false
+              value_redirect: power
+              value: "off"
+    - id: 105
+      type: integer
+      name: current_temperature
+      readonly: true
+      mapping:
+        - constraint: sensor
+          conditions:
+            - dps_val: '0'
+              scale: 10
+            - dps_val: '1'
+              value_redirect: floor_temperature
+            - dps_val: '2'
+              scale: 10
+    - id: 106
+      type: integer
+      name: floor_temperature
+      readonly: true
+      mapping:
+        - scale: 10
+    - id: 107
+      name: temperature_unit
+      type: boolean
+      readonly: true
+      mapping:
+        - dps_val: false
+          value: "C"
+        - dps_val: true
+          value: "F"
+    - id: 111
+      type: string
+      name: sensor
+      readonly: true
+    - id: 116
+      type: integer
+      name: energy_calibration
+      readonly: true
+    - id: 118
+      type: boolean
+      name: hvac_action
+      readonly: true
+      mapping:
+        - dps_val: true
+          constraint: power
+          conditions:
+            - dps_val: true
+              value: heating
+            - dps_val: false
+              value_redirect: power
+              value: "off"
+        - dps_val: false
+          constraint: power
+          conditions:
+            - dps_val: true
+              value: idle
+            - dps_val: false
+              value_redirect: power
+              value: "off"
+    - id: 104
+      type: integer
+      name: unknown_104
+      readonly: true
+    - id: 109
+      type: boolean
+      name: unknown_109
+      readonly: true
+    - id: 112
+      type: integer
+      name: unknown_112
+      readonly: true
+    - id: 113
+      type: integer
+      name: unknown_113
+      readonly: true
+secondary_entities:
+  - entity: lock
+    name: Screen Lock
+    category: config
+    dps:
+      - id: 108
+        type: boolean
+        name: lock
+        mapping:
+          - dps_val: true
+            icon: "mdi:hand-back-right-off"
+          - dps_val: false
+            icon: "mdi:hand-back-right"
+  - entity: sensor
+    name: Room Temperature
+    class: temperature
+    readonly: true
+    icon: "mdi:home-thermometer"
+    dps:
+      - id: 105
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: sensor
+    name: Floor Temperature
+    class: temperature
+    readonly: true
+    icon: "mdi:thermometer-lines"
+    dps:
+      - id: 106
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: sensor
+    name: Energy
+    class: energy
+    readonly: true
+    dps:
+      - id: 117
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 10
+  - entity: number
+    category: config
+    name: Room Temperature Limit
+    icon: "mdi:thermometer-chevron-down"
+    dps:
+      - id: 121
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: 100
+          max: 400
+        mapping:
+          - scale: 10
+            step: 5
+  - entity: select
+    category: config
+    name: Temperature Sensor
+    icon: "mdi:thermometer-check"
+    dps:
+      - id: 111
+        type: string
+        name: option
+        mapping:
+          - dps_val: "0"
+            value: "Room"
+            icon: "mdi:home-thermometer"
+          - dps_val: "1"
+            value: "Floor"
+            icon: "mdi:heating-coil"
+          - dps_val: '2'
+            value: "Both"
+            icon: "mdi:thermometer"
+  - entity: select
+    category: config
+    name: Auto Schedule
+    icon: "mdi:calendar-sync"
+    dps:
+      - id: 110
+        type: integer
+        name: option
+        mapping:
+          - dps_val: 0
+            value: "7"
+          - dps_val: 1
+            value: "5+1+1"
+          - dps_val: 2
+            value: "7 (Adaptive)"
+          - dps_val: 3
+            value: "5+1+1 (Adaptive)"

+ 225 - 0
custom_components/tuya_local/devices/jiahong_et72w_thermostat_f.yaml

@@ -0,0 +1,225 @@
+name: Jiahong ET-72W Thermostat (F)
+primary_entity:
+  entity: climate
+  dps:
+    - id: 101
+      type: boolean
+      name: power
+      mapping:
+        - dps_val: false
+          value: "off"
+      hidden: true
+    - id: 102
+      type: integer
+      name: temperature
+      range:
+        min: 120
+        max: 750
+      mapping:
+        - step: 30
+          scale: 10
+    - id: 103
+      type: string
+      name: hvac_mode
+      mapping:
+        - dps_val: "Smart"
+          icon: "mdi:calendar-sync"
+          constraint: power
+          conditions:
+            - dps_val: true
+              value: auto
+            - dps_val: false
+              value_redirect: power
+              value: "off"
+        - dps_val: "Manual"
+          icon: "mdi:fire"
+          constraint: power
+          conditions:
+            - dps_val: true
+              value: heat
+            - dps_val: false
+              value_redirect: power
+              value: "off"
+        - dps_val: "Anti_frozen"
+          icon: "mdi:snowflake"
+          constraint: power
+          conditions:
+            - dps_val: true
+              value: cool
+            - dps_val: false
+              value_redirect: power
+              value: "off"
+    - id: 105
+      type: integer
+      name: current_temperature
+      readonly: true
+      mapping:
+        - constraint: sensor
+          conditions:
+            - dps_val: '0'
+              scale: 10
+            - dps_val: '1'
+              value_redirect: floor_temperature
+            - dps_val: '2'
+              scale: 10
+    - id: 106
+      type: integer
+      name: floor_temperature
+      readonly: true
+      mapping:
+        - scale: 10
+    - id: 107
+      name: temperature_unit
+      type: boolean
+      readonly: true
+      mapping:
+        - dps_val: false
+          value: "C"
+        - dps_val: true
+          value: "F"
+    - id: 111
+      type: string
+      name: sensor
+      readonly: true
+    - id: 116
+      type: integer
+      name: energy_calibration
+      readonly: true
+    - id: 118
+      type: boolean
+      name: hvac_action
+      readonly: true
+      mapping:
+        - dps_val: true
+          constraint: power
+          conditions:
+            - dps_val: true
+              value: heating
+            - dps_val: false
+              value_redirect: power
+              value: "off"
+        - dps_val: false
+          constraint: power
+          conditions:
+            - dps_val: true
+              value: idle
+            - dps_val: false
+              value_redirect: power
+              value: "off"
+    - id: 104
+      type: integer
+      name: unknown_104
+      readonly: true
+    - id: 109
+      type: boolean
+      name: unknown_109
+      readonly: true
+    - id: 112
+      type: integer
+      name: unknown_112
+      readonly: true
+    - id: 113
+      type: integer
+      name: unknown_113
+      readonly: true
+secondary_entities:
+  - entity: lock
+    name: Screen Lock
+    category: config
+    dps:
+      - id: 108
+        type: boolean
+        name: lock
+        mapping:
+          - dps_val: true
+            icon: "mdi:hand-back-right-off"
+          - dps_val: false
+            icon: "mdi:hand-back-right"
+  - entity: sensor
+    name: Room Temperature
+    class: temperature
+    readonly: true
+    icon: "mdi:home-thermometer"
+    dps:
+      - id: 105
+        type: integer
+        name: sensor
+        unit: F
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: sensor
+    name: Floor Temperature
+    class: temperature
+    readonly: true
+    icon: "mdi:thermometer-lines"
+    dps:
+      - id: 106
+        type: integer
+        name: sensor
+        unit: F
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: sensor
+    name: Energy
+    class: energy
+    readonly: true
+    dps:
+      - id: 117
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 10
+  - entity: number
+    category: config
+    name: Room Temperature Limit
+    icon: "mdi:thermometer-chevron-down"
+    dps:
+      - id: 121
+        type: integer
+        name: value
+        unit: F
+        range:
+          min: 120
+          max: 750
+        mapping:
+          - step: 30
+            scale: 10
+  - entity: select
+    category: config
+    name: Temperature Sensor
+    icon: "mdi:thermometer-check"
+    dps:
+      - id: 111
+        type: string
+        name: option
+        mapping:
+          - dps_val: "0"
+            value: "Room"
+            icon: "mdi:home-thermometer"
+          - dps_val: "1"
+            value: "Floor"
+            icon: "mdi:heating-coil"
+          - dps_val: '2'
+            value: "Both"
+            icon: "mdi:thermometer"
+  - entity: select
+    category: config
+    name: Auto Schedule
+    icon: "mdi:calendar-sync"
+    dps:
+      - id: 110
+        type: integer
+        name: option
+        mapping:
+          - dps_val: 0
+            value: "7"
+          - dps_val: 1
+            value: "5+1+1"
+          - dps_val: 2
+            value: "7 (Adaptive)"
+          - dps_val: 3
+            value: "5+1+1 (Adaptive)"