Jelajahi Sumber

feat(devices): add ECoolBuy siren with temperature and humidity sensor

Issue #4847
Jason Rumney 1 bulan lalu
induk
melakukan
36b9269171

+ 1 - 0
DEVICES.md

@@ -1035,6 +1035,7 @@ work reliably, even if listed below.
 
 - A03 siren
 - Airam S1WFAA siren
+- ECoolBuy Siren with temperature and humidity sensor
 - Neo Coolcam Siren with temperature and humidity alert (NAS-AB02W)
 - Orion Grid Connect SWS07HA indoor siren
 - Orion Grid Connect outdoor siren (also Elesion NX-4980)

+ 204 - 0
custom_components/tuya_local/devices/ecoolbuy_siren_climatesensor.yaml

@@ -0,0 +1,204 @@
+name: Siren
+products:
+  - id: eISESdwVoVIV3axj
+    manufacturer: ECoolBuy
+    model: Siren with Temperature and Humidity sensor
+entities:
+  - entity: sensor
+    class: battery
+    dps:
+      - id: 101
+        type: string
+        name: sensor
+        unit: "%"
+        mapping:
+          - dps_val: "0"
+            value: 100
+          - dps_val: "1"
+            value: 75
+          - dps_val: "2"
+            value: 50
+          - dps_val: "3"
+            value: 25
+          - dps_val: "4"
+            value: null
+  - entity: binary_sensor
+    class: battery_charging
+    dps:
+      - id: 101
+        type: string
+        name: sensor
+        mapping:
+          - dps_val: "4"
+            value: true
+          - value: false
+  - entity: siren
+    dps:
+      - id: 102
+        type: string
+        name: tone
+        mapping:
+          - dps_val: "1"
+            value: Tone 1
+          - dps_val: "2"
+            value: Tone 2
+          - dps_val: "3"
+            value: Tone 3
+          - dps_val: "4"
+            value: Tone 4
+          - dps_val: "5"
+            value: Tone 5
+          - dps_val: "6"
+            value: Tone 6
+          - dps_val: "7"
+            value: Tone 7
+          - dps_val: "8"
+            value: Tone 8
+          - dps_val: "9"
+            value: Tone 9
+          - dps_val: "10"
+            value: Tone 10
+          - dps_val: "11"
+            value: Tone 11
+          - dps_val: "12"
+            value: Tone 12
+          - dps_val: "13"
+            value: Tone 13
+          - dps_val: "14"
+            value: Tone 14
+          - dps_val: "15"
+            value: Tone 15
+          - dps_val: "16"
+            value: Tone 16
+          - dps_val: "17"
+            value: Tone 17
+          - dps_val: "18"
+            value: Tone 18
+      - id: 103
+        type: integer
+        name: duration
+        unit: s
+        range:
+          min: 0
+          max: 1800
+      - id: 104
+        type: boolean
+        name: switch
+  - entity: sensor
+    class: temperature
+    dps:
+      - id: 105
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+  - entity: sensor
+    class: humidity
+    category: diagnostic
+    dps:
+      - id: 106
+        type: integer
+        name: sensor
+        unit: "%"
+        class: measurement
+  - entity: number
+    translation_key: minimum_temperature
+    class: temperature
+    category: config
+    dps:
+      - id: 107
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: -20
+          max: 80
+  - entity: number
+    translation_key: maximum_temperature
+    class: temperature
+    category: config
+    dps:
+      - id: 108
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: -20
+          max: 80
+  - entity: number
+    name: Minimum humidity
+    category: config
+    class: humidity
+    dps:
+      - id: 109
+        type: integer
+        name: value
+        unit: "%"
+        range:
+          min: 1
+          max: 100
+  - entity: number
+    name: Maximum humidity
+    category: config
+    class: humidity
+    dps:
+      - id: 110
+        type: integer
+        name: value
+        unit: "%"
+        range:
+          min: 1
+          max: 100
+  - entity: select
+    translation_key: temperature_unit
+    category: config
+    dps:
+      - id: 112
+        type: boolean
+        name: option
+        mapping:
+          - dps_val: true
+            value: celsius
+          - dps_val: false
+            value: fahrenheit
+  - entity: switch
+    name: Temperature alarm
+    icon: "mdi:temperature-alert"
+    category: config
+    dps:
+      - id: 113
+        type: boolean
+        name: switch
+  - entity: switch
+    name: Humidity alarm
+    icon: "mdi:water-percent-alert"
+    category: config
+    dps:
+      - id: 114
+        type: boolean
+        name: switch
+  - entity: event
+    name: Alarm
+    dps:
+      - id: 115
+        type: string
+        name: event
+        mapping:
+          - dps_val: "0"
+            value: Clear
+          - dps_val: "1"
+            value: High temperature
+          - dps_val: "2"
+            value: High humodity
+          - dps_val: "3"
+            value: High temperature and humidity
+          - dps_val: "4"
+            value: Low temperature
+          - dps_val: "6"
+            value: Low temperature high humidity
+          - dps_val: "8"
+            value: Low humidity
+          - dps_val: "9"
+            value: High temperature low humidity
+          - dps_val: "12"
+            value: Low temperature and humidity