Browse Source

Add support for Plikc Neve X RFW thermostat

Issue #1350
Jason Rumney 1 year ago
parent
commit
c51b259dc2
3 changed files with 136 additions and 0 deletions
  1. 1 0
      ACKNOWLEDGEMENTS.md
  2. 1 0
      DEVICES.md
  3. 134 0
      custom_components/tuya_local/devices/plikc_neve_thermostat.yaml

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -515,3 +515,4 @@ Further device support has been made with the assistance of users. Please consid
 - [zeosson](https://github.com/zeosson) for contributing support for Feit RGBWW lights and Peteme recessed lighting.
 - [backcountrymountains](https://github.com/backcountrymountains) for contributing support for iHome AutoVac Nova vacuum cleaners.
 - [afallows](https://github.com/afallows) for contributing support for MoistenLand water timers.
+- [popokio](https://github.com/popokio) for assisting with support for Plikc Neve X RFW thermostats.

+ 1 - 0
DEVICES.md

@@ -157,6 +157,7 @@
 - Nashone MTS-700-WB thermostat smartplug
 - Netmostat N-1 (RTAFN1) thermostat
 - Owon PCT513 thermostat
+- Plikc Neve X RFW thermostat
 - RYRA TYTE-D1 thermostat with energy monitoring
 - Salcar T9W thermostat _(likely also Tellur TSH02)_
 - Saswell C16 thermostat _(rebadged as Warmme, Klima and others)_

+ 134 - 0
custom_components/tuya_local/devices/plikc_neve_thermostat.yaml

@@ -0,0 +1,134 @@
+name: Thermostat
+products:
+  - id: qgmh0aak7xcmrlf3
+    name: Plikc Neve X RFW
+primary_entity:
+  entity: climate
+  translation_key: thermostat
+  dps:
+    - id: 1
+      type: boolean
+      name: hvac_mode
+      mapping:
+        - dps_val: false
+          value: "off"
+        - dps_val: true
+          value: cool
+    - id: 2
+      type: string
+      name: preset_mode
+      mapping:
+        - dps_val: auto
+          value: program
+        - dps_val: holiday
+          value: away
+        - dps_val: manual
+          value: manual
+    - id: 3
+      type: string
+      name: hvac_action
+      mapping:
+        - dps_val: cold
+          value: cooling
+        - dps_val: "off"
+          value: idle
+    - id: 16
+      type: integer
+      name: temperature
+      unit: C
+      range:
+        min: 50
+        max: 350
+      mapping:
+        - scale: 10
+          constraint: preset_mode
+          conditions:
+            - dps_val: holiday
+              value_redirect: holiday_temp_set
+    - id: 24
+      type: integer
+      name: current_temperature
+      mapping:
+        - scale: 10
+    - id: 32
+      type: integer
+      name: holiday_temp_set
+      optional: true
+      hidden: true
+      range:
+        min: 50
+        max: 350
+      mapping:
+        - scale: 10
+secondary_entities:
+  - entity: number
+    name: Temperature calibration
+    category: config
+    icon: "mdi:thermometer-check"
+    dps:
+      - id: 27
+        type: integer
+        name: value
+        unit: °
+        range:
+          min: -30
+          max: 30
+        mapping:
+          - scale: 10
+            step: 5
+  - entity: number
+    name: Holiday length
+    category: config
+    icon: "mdi:calendar-range"
+    dps:
+      - id: 33
+        type: integer
+        name: value
+        unit: d
+        range:
+          min: 0
+          max: 99
+  - entity: button
+    name: Factory reset
+    class: restart
+    category: config
+    dps:
+      - id: 39
+        type: boolean
+        name: button
+        optional: true
+        persist: false
+  - entity: lock
+    translation_key: child_lock
+    category: config
+    dps:
+      - id: 40
+        type: boolean
+        name: lock
+        optional: true
+        mapping:
+          - dps_val: null
+            value: false
+  - entity: sensor
+    name: Remaining time
+    class: duration
+    category: diagnostic
+    dps:
+      - id: 42
+        type: integer
+        name: sensor
+        unit: min
+  - entity: binary_sensor
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 45
+        type: bitfield
+        optional: true
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - dps_val: null
+            value: false
+          - value: true