Quellcode durchsuchen

feat (devices): add support for Ettroit LN4102 thermostat

Issue #3572
Jason Rumney vor 4 Monaten
Ursprung
Commit
0eaa6b8a99

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -1076,3 +1076,4 @@ Further device support has been made with the assistance of users. Please consid
 - [Veuchez](https://github.com/Veuchez) for assisting with support for Ryakka 7-in-1 pool monitor.
 - [banemonster](https://github.com/banemonster) for contributing support for Neopower Black Diamond all-in-one heat pump water heater.
 - [ajpohv](https://github.com/ajpohv) for contributing support for Qlima D720 dehumidifier.
+- [sport80](https://github.com/sport80) for assisting with support for Ettroit LN4102 thermostat.

+ 1 - 0
DEVICES.md

@@ -210,6 +210,7 @@
 - ETOP-HP thermostat (CH7100)
 - ETOP-HT thermostat
 - ETOP-HT-CH thermostat (branded as Ferco GN1)
+- Ettroit LN4102 thermostat
 - Eurom WiFi thermostat
 - Euroster 4040 Smart thermostat
 - EZAIoT R9Lite thermostat

+ 147 - 0
custom_components/tuya_local/devices/ettroit_ln4102_thermostat.yaml

@@ -0,0 +1,147 @@
+name: Thermostat
+products:
+  - id: rfhbvecszj0m3ixe
+    manufacturer: Ettroit
+    model: LN4102
+entities:
+  - entity: climate
+    translation_key: thermostat
+    dps:
+      - id: 1
+        type: boolean
+        name: hvac_mode
+        mapping:
+          - dps_val: false
+            value: "off"
+          - dps_val: true
+            value: heat
+      - id: 3
+        type: string
+        name: hvac_action
+        mapping:
+          - dps_val: open
+            value: heating
+          - dps_val: close
+            value: idle
+      - id: 16
+        type: integer
+        name: temperature
+        unit: C
+        range:
+          min: 50
+          max: 450
+        mapping:
+          - scale: 10
+      - id: 18
+        type: integer
+        name: max_temp_f
+        mapping:
+          - scale: 10
+      - id: 19
+        type: integer
+        name: max_temperature
+        mapping:
+          - scale: 10
+      - id: 20
+        type: integer
+        name: min_temp_f
+        mapping:
+          - scale: 10
+      - id: 24
+        type: integer
+        name: current_temperature
+        mapping:
+          - scale: 10
+      - id: 26
+        type: integer
+        name: min_temperature
+        mapping:
+          - scale: 10
+  - entity: number
+    name: Maximum temperature
+    class: temperature
+    icon: "mdi:thermometer-chevron-up"
+    category: config
+    dps:
+      - id: 19
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: 159
+          max: 450
+        mapping:
+          - scale: 10
+  - entity: number
+    name: Minimum temperature
+    class: temperature
+    icon: "mdi:thermometer-chevron-down"
+    category: config
+    dps:
+      - id: 26
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: 50
+          max: 150
+  - entity: number
+    name: Temperature correction
+    category: config
+    icon: "mdi:thermometer-check"
+    dps:
+      - id: 27
+        type: integer
+        name: value
+        unit: °
+        range:
+          min: -9
+          max: 9
+  - entity: binary_sensor
+    name: Output
+    category: diagnostic
+    dps:
+      - id: 36
+        type: string
+        name: sensor
+        mapping:
+          - dps_val: open
+            value: true
+          - dps_val: close
+            value: false
+  - entity: light
+    translation_key: backlight
+    category: config
+    dps:
+      - id: 44
+        name: brightness
+        type: integer
+        optional: true
+        range:
+          min: 0
+          max: 8
+  - entity: select
+    name: Sensor
+    icon: "mdi:thermometer-probe"
+    category: config
+    dps:
+      - id: 102
+        type: string
+        name: option
+        mapping:
+          - dps_val: IN
+            value: internal
+          - dps_val: OU
+            value: external
+  - entity: number
+    name: Temperature hysteresis
+    category: config
+    icon: "mdi:thermometer-plus"
+    dps:
+      - id: 103
+        type: integer
+        name: value
+        unit: °
+        range:
+          min: 0
+          max: 5