瀏覽代碼

feat(fmsolar_12k_heatpump): support Qlima Q Split Flex

Like the FM Solar model, this looks compatible with kibernetik, but supports
HEAT without any difference in model for detection.

This also has further differences in the temperature_unit, which appears to
use lower case, but in fact is fixed to C. Since the case is different, the
value can be used to detect this and act accordingly, also to configure the
slightly lower maximum temperature of 30 for this model.

Issue #5737
Jason Rumney 1 周之前
父節點
當前提交
825b135c03
共有 1 個文件被更改,包括 26 次插入4 次删除
  1. 26 4
      custom_components/tuya_local/devices/fmsolar_12k_heatpump.yaml

+ 26 - 4
custom_components/tuya_local/devices/fmsolar_12k_heatpump.yaml

@@ -3,6 +3,9 @@ products:
   - id: deedvplnx2yvge08
     manufacturer: FM Solar
     model: 12K portable split with heating
+  - id: swda8udjkwmydxhe
+    manufacturer: Qlima
+    model: Q Split Flex
 entities:
   - entity: climate
     translation_only_key: aircon_extra
@@ -27,17 +30,21 @@ entities:
       - id: 2
         name: temperature
         type: integer
+        range:
+          min: 16
+          max: 32
         mapping:
           - constraint: temperature_unit
             conditions:
-              - dps_val: C
-                range:
-                  min: 16
-                  max: 32
               - dps_val: F
                 range:
                   min: 60
                   max: 90
+              # Qlima has 16-30 range always in C
+              - dps_val: [c, f]
+                range:
+                  min: 16
+                  max: 30
       - id: 3
         name: current_temperature
         type: integer
@@ -62,6 +69,10 @@ entities:
       - id: 19
         name: temperature_unit
         type: string
+        mapping:
+          - dps_val: F
+            value: F
+          - value: C
       - id: 101
         type: boolean
         name: preset_mode
@@ -87,6 +98,7 @@ entities:
   - entity: select
     translation_key: temperature_unit
     category: config
+    hidden: unavailable
     dps:
       - id: 19
         type: string
@@ -96,6 +108,16 @@ entities:
             value: celsius
           - dps_val: F
             value: fahrenheit
+      - id: 19
+        type: string
+        name: available
+        mapping:
+          - dps_val: C
+            value: true
+          - dps_val: F
+            value: true
+          # Qlima gives lower case c and f here, but actual setting is fixed to C
+          - value: false
   - entity: switch
     translation_key: auto_dry
     category: config