Przeglądaj źródła

Deakon EVI: add diagnostic and parameter control as entities.

As attributes, there is no way to use these to query diagnostics or set
parameters. Break them out as entities so they can be used.

Discussion #2338
Jason Rumney 1 rok temu
rodzic
commit
6d1fd67080

+ 131 - 27
custom_components/tuya_local/devices/deakon_evi_waterheatpump.yaml

@@ -32,7 +32,7 @@ primary_entity:
       name: temperature
       name: temperature
       unit: C
       unit: C
       range:
       range:
-        min: 5
+        min: 7
         max: 60
         max: 60
     - id: 3
     - id: 3
       type: integer
       type: integer
@@ -54,24 +54,9 @@ primary_entity:
             - dps_val: cold
             - dps_val: cold
               value: cooling
               value: cooling
         - dps_val: defrost
         - dps_val: defrost
-          value: heating
+          value: defrosting
         - dps_val: antifrozen
         - dps_val: antifrozen
           value: heating
           value: heating
-    - id: 104
-      type: string
-      name: inquire_id
-    - id: 105
-      type: integer
-      name: inquire_value
-    - id: 106
-      type: string
-      name: set_id
-    - id: 107
-      type: integer
-      name: set_value
-      range:
-        min: -100
-        max: 999
     - id: 109
     - id: 109
       type: string
       type: string
       name: error_code_table
       name: error_code_table
@@ -141,25 +126,144 @@ secondary_entities:
         type: bitfield
         type: bitfield
         name: fault_code
         name: fault_code
   - entity: binary_sensor
   - entity: binary_sensor
-    translation_key: defrost
+    name: Anti-freeze
+    class: cold
     category: diagnostic
     category: diagnostic
     dps:
     dps:
       - id: 103
       - id: 103
         type: string
         type: string
         name: sensor
         name: sensor
         mapping:
         mapping:
-          - dps_val: defrost
+          - dps_val: antifrozen
             value: true
             value: true
           - value: false
           - value: false
-  - entity: binary_sensor
-    name: Anti-freeze
-    class: cold
-    category: diagnostic
+  - entity: select
+    name: Diagnostic query
+    icon: "mdi:database-search"
+    category: config
     dps:
     dps:
-      - id: 103
+      - id: 104
         type: string
         type: string
+        name: option
+        mapping:
+          - dps_val: "1"
+            value: Version
+          - dps_val: "2"
+            value: Ambient temperature
+          - dps_val: "3"
+            value: Water tank temperature
+          - dps_val: "4"
+            value: Outlet temperature
+          - dps_val: "5"
+            value: Inlet temperature
+          - dps_val: "6"
+            value: Evaporator coil temperature
+          - dps_val: "7"
+            value: Exhaust gas temperature
+          - dps_val: "8"
+            value: Condensor coil temperature
+          - dps_val: "9"
+            value: Suction temperature
+          - dps_val: "10"
+            value: Module temperature
+          - dps_val: "11"
+            value: Main valve opening
+          - dps_val: "12"
+            value: Secondary valve opening
+          - dps_val: "13"
+            value: Exhaust valve opening
+          - dps_val: "14"
+            value: Fan speed
+          - dps_val: "15"
+            value: Running frequency
+          - dps_val: "16"
+            value: AC voltage
+          - dps_val: "17"
+            value: DC voltage
+          - dps_val: "18"
+            value: Overall current
+          - dps_val: "19"
+            value: Compressor current
+          - dps_val: "20"
+            value: Output power
+          - dps_val: "21"
+            value: EVI plate inlet
+          - dps_val: "22"
+            value: EVI plate outlet
+          - dps_val: "23"
+            value: Low pressure
+          - dps_val: "24"
+            value: High pressure
+          - dps_val: "25"
+            value: Error code
+          - dps_val: "26"
+            value: Limited frequency code
+          - dps_val: "27"
+            value: LCD version
+          - dps_val: "28"
+            value: MCU1 version
+          - dps_val: "29"
+            value: MCU2 version
+          - dps_val: "30"
+            value: MCU3 version
+          - dps_val: "31"
+            value: Error history
+  - entity: sensor
+    name: Diagnostic value
+    category: diagnostic
+    icon: "mdi:database-eye"
+    dps:
+      - id: 105
+        type: integer
+        optional: true
         name: sensor
         name: sensor
+  - entity: select
+    name: Parameter ID
+    icon: "mdi:database-cog"
+    category: config
+    dps:
+      - id: 106
+        type: string
+        name: option
         mapping:
         mapping:
-          - dps_val: antifrozen
-            value: true
-          - value: false
+          - dps_val: d01
+            value: Heating temperature
+          - dps_val: d02
+            value: Water tank temperature
+          - dps_val: d03
+            value: Cooling temperature
+          - dps_val: d04
+            value: Temperature hysteresis
+          - dps_val: d05
+            value: Basic control
+          - dps_val: d06
+            value: Electric heat temperature
+          - dps_val: d07
+            value: Electric heat start delay
+          - dps_val: d08
+            value: Coil defrost temperature
+          - dps_val: d09
+            value: Coil defrost end temperature
+          - dps_val: d10
+            value: Defrost interval
+          - dps_val: d11
+            value: Defrost time
+          - dps_val: d12
+            value: Temperature reached control
+          - dps_val: d13
+            value: Ambient temperature threshold
+          - dps_val: d14
+            value: Inlet-outlet temperature difference
+          - dps_val: d15
+            value: Water pump control
+  - entity: number
+    name: Parameter value
+    category: config
+    icon: "mdi:database-edit"
+    dps:
+      - id: 107
+        type: integer
+        name: value
+        range:
+          min: -100
+          max: 999