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

Add CONOW CBE2000 Pro Solar Battery device definition file (#5589)

* Add CONOW CBE2000 Pro Solar Battery device definition file

* Fix invalid dps type 'float' and set 'integer'

* Improve entities, change some to attributes, add translations, remove unnessecary step setting

* Mark all dps that are not present in the partial cloud spec as optional

* Add class for battery capacity and remove name from fault entity

* Update optional dps based on debug message from tuya-local

* Refactor sensor names and move static info to attributes

- rename file slightly to better follow convention
- reword some entity names to more natural word order
- move static info into attributes, move from problem to battery capacity sensor which is general info about the device

---------

Co-authored-by: Jason Rumney <make-all@users.noreply.github.com>
Marc Schieferdecker 3 дней назад
Родитель
Сommit
1958ade79d
1 измененных файлов с 625 добавлено и 0 удалено
  1. 625 0
      custom_components/tuya_local/devices/conow_cbe2000pro_battery.yaml

+ 625 - 0
custom_components/tuya_local/devices/conow_cbe2000pro_battery.yaml

@@ -0,0 +1,625 @@
+name: Battery storage
+products:
+  - id: c4ilzd7aybycece9
+    manufacturer: Conow
+    model: CBE2000 Pro
+entities:
+  - entity: sensor
+    category: diagnostic
+    name: Battery capacity
+    class: energy_storage
+    dps:
+      - id: 2
+        type: integer
+        name: sensor
+        unit: kWh
+        mapping:
+          - scale: 1000
+      - id: 14
+        optional: true
+        type: string
+        name: hardware_version
+      - id: 15
+        optional: true
+        type: string
+        name: software_version
+      - id: 1
+        type: string
+        name: serial_number
+  - entity: binary_sensor
+    category: diagnostic
+    class: problem
+    dps:
+      - id: 11
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - value: true
+      - id: 10
+        type: string
+        name: error_code
+      - id: 11
+        type: bitfield
+        name: fault_code
+      - id: 11
+        type: bitfield
+        name: description
+        mapping:
+          - dps_val: 0
+            value: No Fault
+          - dps_val: 1
+            value: pack1_warning
+          - dps_val: 2
+            value: pack2_warning
+          - dps_val: 4
+            value: pack3_warning
+          - dps_val: 8
+            value: pack4_warning
+          - dps_val: 16
+            value: pack5_warning
+          - dps_val: 32
+            value: pack6_warning
+          - dps_val: 64
+            value: infrared_module_failure
+          - dps_val: 128
+            value: led_strip_comm_fault
+          - dps_val: 256
+            value: master_slave_comm_fault
+          - dps_val: 512
+            value: panel_comm_fault
+          - dps_val: 1024
+            value: inverter_comm_fault
+          - dps_val: 2048
+            value: inverter_failure
+          - dps_val: 4096
+            value: wifi_module_comm_fault
+          - dps_val: 8192
+            value: pv1_fault
+          - dps_val: 16384
+            value: pv2_fault
+          - dps_val: 32768
+            value: pv3_fault
+          - dps_val: 65536
+            value: pv4_fault
+          - dps_val: 131072
+            value: grid_failure
+          - dps_val: 262144
+            value: inverter_output_fault
+          - dps_val: 524288
+            value: inverter_other_fault
+          - dps_val: 1048576
+            value: meter_comm_failure
+          - dps_val: 2097152
+            value: system_temp_diff_protection
+  - entity: sensor
+    name: Connection state
+    category: diagnostic
+    class: enum
+    hidden: true
+    dps:
+      - id: 12
+        type: string
+        name: sensor
+        mapping:
+          - dps_val: paired_connected
+            value: Paired and connected
+          - dps_val: unpaired_uncon
+            value: Unpaired and not connected
+          - dps_val: paired_uncon
+            value: Paired and not connected
+  - entity: sensor
+    class: signal_strength
+    category: diagnostic
+    hidden: true
+    dps:
+      - id: 13
+        optional: true
+        type: integer
+        name: sensor
+        unit: dBm
+  - entity: binary_sensor
+    name: Cell heating
+    category: diagnostic
+    dps:
+      - id: 16
+        type: boolean
+        name: sensor
+  - entity: sensor
+    name: Expansion pack count
+    category: diagnostic
+    dps:
+      - id: 17
+        type: integer
+        name: sensor
+  - entity: binary_sensor
+    name: Human presence
+    class: occupancy
+    dps:
+      - id: 18
+        type: boolean
+        name: sensor
+  - entity: sensor
+    name: PV power total
+    class: power
+    dps:
+      - id: 20
+        type: integer
+        name: sensor
+        unit: W
+  - entity: sensor
+    name: PV power port 1
+    class: power
+    dps:
+      - id: 21
+        type: integer
+        name: sensor
+        unit: W
+  - entity: sensor
+    name: PV power port 2
+    class: power
+    dps:
+      - id: 22
+        type: integer
+        name: sensor
+        unit: W
+  - entity: sensor
+    name: PV power port 3
+    class: power
+    dps:
+      - id: 36
+        type: integer
+        name: sensor
+        unit: W
+  - entity: sensor
+    name: PV power port 4
+    class: power
+    dps:
+      - id: 37
+        type: integer
+        name: sensor
+        unit: W
+  - entity: sensor
+    name: Unit SoC
+    class: battery
+    dps:
+      - id: 23
+        type: integer
+        name: sensor
+        unit: "%"
+  - entity: sensor
+    name: Load state
+    translation_key: status
+    class: enum
+    dps:
+      - id: 24
+        type: string
+        name: sensor
+        mapping:
+          - dps_val: charging
+            value: charging
+          - dps_val: discharging
+            value: discharging
+          - dps_val: idle
+            value: idle
+  - entity: sensor
+    name: Battery power
+    class: power
+    dps:
+      - id: 25
+        type: integer
+        name: sensor
+        unit: W
+  - entity: sensor
+    name: Grid power
+    class: power
+    dps:
+      - id: 26
+        type: integer
+        name: sensor
+        unit: W
+  - entity: sensor
+    name: Inverter output power
+    class: power
+    dps:
+      - id: 27
+        type: integer
+        name: sensor
+        unit: W
+        range:
+          min: -20000
+          max: 20000
+  - entity: sensor
+    name: PV charging power
+    class: power
+    dps:
+      - id: 28
+        optional: true
+        type: integer
+        name: sensor
+        unit: W
+  - entity: sensor
+    name: Grid charging power
+    class: power
+    dps:
+      - id: 29
+        optional: true
+        type: integer
+        name: sensor
+        unit: W
+  - entity: sensor
+    name: SoC battery array
+    class: battery
+    hidden: true
+    dps:
+      - id: 30
+        type: integer
+        name: sensor
+        unit: "%"
+  - entity: sensor
+    name: Expansion pack 1 SoC
+    class: battery
+    hidden: true
+    dps:
+      - id: 31
+        type: integer
+        name: sensor
+        unit: "%"
+  - entity: sensor
+    name: Expansion pack 2 SoC
+    class: battery
+    hidden: true
+    dps:
+      - id: 32
+        type: integer
+        name: sensor
+        unit: "%"
+  - entity: sensor
+    name: Expansion pack 3 SoC
+    class: battery
+    hidden: true
+    dps:
+      - id: 33
+        type: integer
+        name: sensor
+        unit: "%"
+  - entity: sensor
+    name: Expansion pack 4 SoC
+    class: battery
+    hidden: true
+    dps:
+      - id: 34
+        type: integer
+        name: sensor
+        unit: "%"
+  - entity: sensor
+    name: Expansion pack 5 SoC
+    class: battery
+    hidden: true
+    dps:
+      - id: 35
+        type: integer
+        name: sensor
+        unit: "%"
+  - entity: sensor
+    name: Offgrid export power
+    class: power
+    dps:
+      - id: 38
+        type: integer
+        name: sensor
+        unit: W
+  - entity: sensor
+    name: Cumulative PV energy generated
+    class: energy
+    dps:
+      - id: 40
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 1000
+  - entity: sensor
+    name: Cumulative inverter energy output
+    class: energy
+    dps:
+      - id: 41
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 1000
+  - entity: sensor
+    name: Cumulative energy discharged
+    class: energy
+    dps:
+      - id: 42
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 1000
+  - entity: sensor
+    name: Cumulative energy charged
+    class: energy
+    dps:
+      - id: 43
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 1000
+  - entity: sensor
+    name: Cumulative PV energy charged
+    class: energy
+    dps:
+      - id: 44
+        optional: true
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 1000
+  - entity: sensor
+    name: Cumulative grid energy charged
+    class: energy
+    dps:
+      - id: 45
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 1000
+  - entity: sensor
+    name: Cumulative energy exported offgrid
+    class: energy
+    dps:
+      - id: 46
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 1000
+  - entity: sensor
+    name: Cumulative energy imported offgrid
+    class: energy
+    dps:
+      - id: 47
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 1000
+  - entity: number
+    name: Backup reserve
+    mode: slider
+    category: config
+    dps:
+      - id: 50
+        type: integer
+        name: value
+        unit: "%"
+        range:
+          min: 0
+          max: 100
+  - entity: select
+    translation_key: mode
+    category: config
+    dps:
+      - id: 51
+        type: string
+        name: option
+        mapping:
+          - dps_val: self_powered
+            value: Self Powered
+          - dps_val: time_of_use
+            value: schedule
+          - dps_val: manual
+            value: manual
+          - dps_val: plug
+            value: Plug
+          - dps_val: diy
+            value: Custom
+  - entity: number
+    name: Output power limit
+    mode: box
+    category: config
+    dps:
+      - id: 53
+        type: integer
+        name: value
+        unit: W
+        range:
+          min: 0
+          max: 100000
+  - entity: switch
+    name: Feedin power limit enable
+    category: config
+    dps:
+      - id: 54
+        type: boolean
+        name: switch
+  - entity: number
+    name: Feedin power limit
+    mode: box
+    category: config
+    dps:
+      - id: 55
+        type: integer
+        name: value
+        unit: W
+        range:
+          min: 0
+          max: 100000
+  - entity: select
+    translation_key: light_mode
+    category: config
+    dps:
+      - id: 57
+        type: string
+        name: option
+        mapping:
+          - dps_val: "eco"
+            value: "auto"
+          - dps_val: "on"
+            value: "on"
+          - dps_val: "off"
+            value: "off"
+  - entity: sensor
+    name: Smart meter type
+    class: enum
+    dps:
+      - id: 58
+        optional: true
+        type: string
+        name: sensor
+        mapping:
+          - dps_val: none
+            value: None
+          - dps_val: ty_lan
+            value: Lan
+          - dps_val: ty_rs485
+            value: RS485
+  - entity: button
+    name: Recalibrate battery
+    category: config
+    dps:
+      - id: 59
+        type: boolean
+        name: button
+  - entity: switch
+    name: Offgrid port enable
+    category: config
+    dps:
+      - id: 60
+        type: boolean
+        name: switch
+  - entity: switch
+    name: Peak shaving enable
+    category: config
+    dps:
+      - id: 63
+        type: boolean
+        name: switch
+  - entity: number
+    name: Peak shaving threshold
+    mode: box
+    category: config
+    dps:
+      - id: 64
+        type: integer
+        name: value
+        unit: W
+        range:
+          min: 0
+          max: 30000
+  - entity: select
+    name: Vibe light mode
+    category: config
+    dps:
+      - id: 65
+        type: string
+        name: option
+        mapping:
+          - dps_val: scene
+            value: Scene
+          - dps_val: "off"
+            value: "Off"
+  - entity: select
+    name: Offgrid mode
+    category: config
+    dps:
+      - id: 68
+        type: string
+        name: option
+        mapping:
+          - dps_val: backup
+            value: Backup
+          - dps_val: plugin
+            value: Plugin
+  - entity: number
+    name: Inverter input power limit
+    mode: box
+    category: config
+    dps:
+      - id: 69
+        type: integer
+        name: value
+        unit: W
+        range:
+          min: 0
+          max: 2500
+  - entity: switch
+    name: Reserve priority
+    category: config
+    dps:
+      - id: 70
+        type: boolean
+        name: switch
+  - entity: select
+    name: LED items
+    category: config
+    dps:
+      - id: 73
+        type: string
+        name: option
+        mapping:
+          - dps_val: led_all
+            value: Cycle All
+          - dps_val: led_pv
+            value: PV
+          - dps_val: led_bypass
+            value: Bypass
+  - entity: select
+    name: Baseline strategy
+    category: config
+    dps:
+      - id: 78
+        type: string
+        name: option
+        mapping:
+          - dps_val: self_powered
+            value: Self Powered
+          - dps_val: pv_only
+            value: PV Only
+  - entity: sensor
+    name: Regulation grid export power limit
+    category: diagnostic
+    dps:
+      - id: 84
+        type: integer
+        name: sensor
+        unit: W
+      - id: 56
+        type: integer
+        name: country_code
+  - entity: switch
+    name: LP sleep
+    category: config
+    hidden: true
+    dps:
+      - id: 85
+        optional: true
+        type: boolean
+        name: switch
+  - entity: number
+    name: Base load
+    mode: box
+    category: config
+    dps:
+      - id: 91
+        type: integer
+        name: value
+        unit: W
+        range:
+          min: 0
+          max: 99999