Просмотр исходного кода

Add support for Zemismart roller shades.

Issue #566
Jason Rumney 2 лет назад
Родитель
Сommit
1c0b6b48c2
3 измененных файлов с 138 добавлено и 0 удалено
  1. 2 0
      ACKNOWLEDGEMENTS.md
  2. 1 0
      DEVICES.md
  3. 135 0
      custom_components/tuya_local/devices/zemismart_roller_shade.yaml

+ 2 - 0
ACKNOWLEDGEMENTS.md

@@ -229,3 +229,5 @@ Further device support has been made with the assistance of users.  Please consi
 - [szupi-ipuzs](https://github.com/szupi-ipuzs) for contributing support for desk lamps (Setti+ SL601) and Loratap relays.
 - [MackoMici](https://github.com/MackoMici) for contributing support for GX aroma diffuser, which was merged with the YYM config.
 - [Die-Meester](https://github.com/Die-Meester) for contributing support for CBI Astute smart switches.
+- [ResteNarquois](https://github.com/ResteNarquois) for assisting with support for Zemismart roller shades.
+

+ 1 - 0
DEVICES.md

@@ -303,6 +303,7 @@ of device.
 - QS-WIFI-C01(BK) curtain module
 - Wistar roller blind controller
 - Zemismart curtain rail
+- Zemismart roller shade
 
 ### Vacuum Cleaners
 

+ 135 - 0
custom_components/tuya_local/devices/zemismart_roller_shade.yaml

@@ -0,0 +1,135 @@
+name: Roller shade
+products:
+  - id: jzmy5ut0vishwscm
+    name: Zemismart ZM25TQ
+primary_entity:
+  entity: cover
+  class: shade
+  dps:
+    - id: 1
+      name: control
+      type: string
+      mapping:
+        - dps_val: open
+          value: open
+        - dps_val: close
+          value: close
+        - dps_val: stop
+          value: stop
+        - dps_val: continue
+          value: continue
+    - id: 2
+      name: position
+      type: integer
+      range:
+        min: 0
+        max: 100
+      invert: true
+    - id: 3
+      name: current_position
+      type: integer
+      range:
+        min: 0
+        max: 100
+      invert: true
+    - id: 7
+      name: action
+      type: string
+    - id: 12
+      name: fault_code
+      type: bitfield
+secondary_entities:
+  - entity: select
+    name: Direction
+    icon: "mdi:swap-horizontal"
+    category: config
+    dps:
+      - id: 5
+        type: string
+        name: option
+        mapping:
+          - dps_val: forward
+            value: Forward
+          - dps_val: back
+            value: Reverse
+  - entity: sensor
+    name: Situation
+    class: enum
+    category: diagnostic
+    dps:
+      - id: 11
+        type: string
+        name: sensor
+        mapping:
+          - dps_val: fully_open
+            value: Fully open
+          - dps_val: fully_close
+            value: Fully closed
+  - entity: binary_sensor
+    name: Fault
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 12
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - value: true
+  - entity: select
+    name: Motor mode
+    icon: "mdi:cog-transfer"
+    category: config
+    dps:
+      - id: 106
+        type: string
+        name: option
+        mapping:
+          - dps_val: continuation
+            value: Auto
+          - dps_val: point
+            value: Manual
+  - entity: button
+    name: Upper limit reset
+    icon: "mdi:arrow-collapse-up"
+    category: config
+    dps:
+      - id: 103
+        type: boolean
+        name: button
+  - entity: button
+    name: Intermediate limit reset
+    icon: "mdi:format-vertical-align-center"
+    category: config
+    dps:
+      - id: 104
+        type: boolean
+        name: button
+  - entity: button
+    name: Lower limit reset
+    icon: "mdi:arrow-collapse-down"
+    category: config
+    dps:
+      - id: 105
+        type: boolean
+        name: button
+  - entity: button
+    name: Remote pairing
+    icon: "mdi:remote"
+    category: config
+    dps:
+      - id: 101
+        type: boolean
+        name: button
+        optional: true
+  - entity: button
+    name: All limits reset
+    icon: "mdi:refresh"
+    category: config
+    dps:
+      - id: 102
+        type: boolean
+        name: button
+        optional: true
+