Sfoglia il codice sorgente

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 anno fa
parent
commit
6d1fd67080

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

@@ -32,7 +32,7 @@ primary_entity:
       name: temperature
       unit: C
       range:
-        min: 5
+        min: 7
         max: 60
     - id: 3
       type: integer
@@ -54,24 +54,9 @@ primary_entity:
             - dps_val: cold
               value: cooling
         - dps_val: defrost
-          value: heating
+          value: defrosting
         - dps_val: antifrozen
           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
       type: string
       name: error_code_table
@@ -141,25 +126,144 @@ secondary_entities:
         type: bitfield
         name: fault_code
   - entity: binary_sensor
-    translation_key: defrost
+    name: Anti-freeze
+    class: cold
     category: diagnostic
     dps:
       - id: 103
         type: string
         name: sensor
         mapping:
-          - dps_val: defrost
+          - dps_val: antifrozen
             value: true
           - value: false
-  - entity: binary_sensor
-    name: Anti-freeze
-    class: cold
-    category: diagnostic
+  - entity: select
+    name: Diagnostic query
+    icon: "mdi:database-search"
+    category: config
     dps:
-      - id: 103
+      - id: 104
         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
+  - entity: select
+    name: Parameter ID
+    icon: "mdi:database-cog"
+    category: config
+    dps:
+      - id: 106
+        type: string
+        name: option
         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