zigbee-herdsman-converters 23.6.0 → 23.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/converters/fromZigbee.d.ts.map +1 -1
  3. package/dist/converters/fromZigbee.js +3 -0
  4. package/dist/converters/fromZigbee.js.map +1 -1
  5. package/dist/devices/cwd.d.ts +3 -0
  6. package/dist/devices/cwd.d.ts.map +1 -0
  7. package/dist/devices/cwd.js +14 -0
  8. package/dist/devices/cwd.js.map +1 -0
  9. package/dist/devices/dqsmart.js +34 -1
  10. package/dist/devices/dqsmart.js.map +1 -1
  11. package/dist/devices/efekta.d.ts.map +1 -1
  12. package/dist/devices/efekta.js +2235 -883
  13. package/dist/devices/efekta.js.map +1 -1
  14. package/dist/devices/index.d.ts.map +1 -1
  15. package/dist/devices/index.js +4 -0
  16. package/dist/devices/index.js.map +1 -1
  17. package/dist/devices/niko.d.ts.map +1 -1
  18. package/dist/devices/niko.js +9 -3
  19. package/dist/devices/niko.js.map +1 -1
  20. package/dist/devices/nodon.d.ts.map +1 -1
  21. package/dist/devices/nodon.js +75 -76
  22. package/dist/devices/nodon.js.map +1 -1
  23. package/dist/devices/nordtronic.d.ts.map +1 -1
  24. package/dist/devices/nordtronic.js +7 -0
  25. package/dist/devices/nordtronic.js.map +1 -1
  26. package/dist/devices/orvibo.d.ts.map +1 -1
  27. package/dist/devices/orvibo.js +164 -51
  28. package/dist/devices/orvibo.js.map +1 -1
  29. package/dist/devices/paulmann.d.ts.map +1 -1
  30. package/dist/devices/paulmann.js +7 -0
  31. package/dist/devices/paulmann.js.map +1 -1
  32. package/dist/devices/quirky.d.ts +8 -0
  33. package/dist/devices/quirky.d.ts.map +1 -0
  34. package/dist/devices/quirky.js +47 -0
  35. package/dist/devices/quirky.js.map +1 -0
  36. package/dist/devices/shinasystem.d.ts.map +1 -1
  37. package/dist/devices/shinasystem.js +34 -0
  38. package/dist/devices/shinasystem.js.map +1 -1
  39. package/dist/devices/sonoff.d.ts.map +1 -1
  40. package/dist/devices/sonoff.js +17 -6
  41. package/dist/devices/sonoff.js.map +1 -1
  42. package/dist/devices/tuya.d.ts.map +1 -1
  43. package/dist/devices/tuya.js +58 -4
  44. package/dist/devices/tuya.js.map +1 -1
  45. package/dist/lib/exposes.d.ts.map +1 -1
  46. package/dist/lib/exposes.js +5 -11
  47. package/dist/lib/exposes.js.map +1 -1
  48. package/dist/lib/modernExtend.d.ts +1 -0
  49. package/dist/lib/modernExtend.d.ts.map +1 -1
  50. package/dist/lib/modernExtend.js +8 -6
  51. package/dist/lib/modernExtend.js.map +1 -1
  52. package/dist/lib/zosung.js +1 -1
  53. package/dist/lib/zosung.js.map +1 -1
  54. package/dist/models-index.json +1 -1
  55. package/package.json +2 -2
@@ -42,6 +42,7 @@ const rareReporting = { min: 0, max: 21600, change: 0 };
42
42
  const rarestReporting = { min: 0, max: 64800, change: 0 };
43
43
  const threeReporting = { min: 30, max: 1800, change: 1 };
44
44
  const fourReporting = { min: 30, max: 1800, change: 10 };
45
+ const fiveReporting = { min: 10, max: 600, change: 1 };
45
46
  const sixReporting = { min: 3600, max: 21600, change: 1 };
46
47
  const co2Reporting = { min: 10, max: 600, change: 0.000001 };
47
48
  const pmReporting = { min: 10, max: 600, change: 0.1 };
@@ -1864,76 +1865,17 @@ exports.definitions = [
1864
1865
  ],
1865
1866
  },
1866
1867
  {
1867
- zigbeeModel: ["EFEKTA_PST_V1_LR"],
1868
- model: "EFEKTA_PST_V1_LR",
1868
+ zigbeeModel: ["EFEKTA_TH_v1_LR"],
1869
+ model: "EFEKTA_TH_v1_LR",
1869
1870
  vendor: "EFEKTA",
1870
- description: "Water, gas smart pressure monitor with signal amplifier",
1871
+ description: "Temperature and humidity sensors with a signal amplifier. Simple Thermostat.",
1871
1872
  extend: [
1872
- m.pressure({
1873
- unit: "kPa",
1874
- description: "Measured pressure value in kPa",
1875
- scale: 10,
1876
- reporting: threeReporting,
1877
- access: "STATE",
1878
- }),
1879
- m.numeric({
1880
- name: "bar",
1881
- unit: "bar",
1882
- cluster: "msPressureMeasurement",
1883
- attribute: "measuredValue",
1884
- description: "Measured pressure value in bar",
1885
- scale: 1000,
1886
- precision: 2,
1887
- access: "STATE",
1888
- }),
1889
- m.numeric({
1890
- name: "psi",
1891
- unit: "psi",
1892
- cluster: "msPressureMeasurement",
1893
- attribute: "measuredValue",
1894
- description: "Measured pressure value in psi",
1895
- scale: 68.94757,
1896
- precision: 2,
1897
- access: "STATE",
1898
- }),
1899
1873
  m.temperature({
1900
1874
  reporting: fourReporting,
1901
1875
  access: "STATE",
1902
1876
  }),
1903
- m.numeric({
1904
- name: "pressure_offset",
1905
- unit: "kPa",
1906
- valueMin: -100.0,
1907
- valueMax: 100.0,
1908
- cluster: "msPressureMeasurement",
1909
- attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
1910
- description: "Adjust first pressure sensor",
1911
- access: "STATE_SET",
1912
- }),
1913
- m.numeric({
1914
- name: "raw_temperature_calibration",
1915
- unit: "raw unit",
1916
- valueMin: -8192,
1917
- valueMax: 8192,
1918
- cluster: "msTemperatureMeasurement",
1919
- attribute: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
1920
- description: "Adjust first temperature sensor",
1921
- access: "STATE_SET",
1922
- }),
1923
- m.numeric({
1924
- name: "raw_temperature",
1925
- unit: "raw unit",
1926
- cluster: "msTemperatureMeasurement",
1927
- attribute: { ID: 0x0007, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
1928
- description: "Sensor raw temperature",
1929
- access: "STATE",
1930
- }),
1931
- m.numeric({
1932
- name: "raw_temperature_recalibrated",
1933
- unit: "raw unit",
1934
- cluster: "msTemperatureMeasurement",
1935
- attribute: { ID: 0x0009, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
1936
- description: "Recalibrated sensor raw temperature",
1877
+ m.humidity({
1878
+ reporting: fourReporting,
1937
1879
  access: "STATE",
1938
1880
  }),
1939
1881
  m.battery({
@@ -1941,25 +1883,18 @@ exports.definitions = [
1941
1883
  lowStatus: true,
1942
1884
  voltage: true,
1943
1885
  percentageReporting: true,
1944
- voltageReporting: false,
1886
+ voltageReporting: true,
1945
1887
  percentageReportingConfig: sixReporting,
1946
- }),
1947
- m.numeric({
1948
- name: "uptime",
1949
- unit: "Hours",
1950
- cluster: "genTime",
1951
- attribute: "localTime",
1952
- description: "Uptime",
1953
- access: "STATE",
1888
+ voltageReportingConfig: sixReporting,
1954
1889
  }),
1955
1890
  m.numeric({
1956
1891
  name: "reading_interval",
1957
1892
  unit: "sec",
1958
1893
  valueMin: 10,
1959
- valueMax: 300,
1894
+ valueMax: 360,
1960
1895
  cluster: "genPowerCfg",
1961
1896
  attribute: { ID: 0x0201, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
1962
- description: "Setting the sensor reading interval in seconds, by default 15 seconds",
1897
+ description: "Setting the sensor reading interval in seconds, by default 30 seconds",
1963
1898
  access: "STATE_SET",
1964
1899
  }),
1965
1900
  m.enumLookup({
@@ -1979,6 +1914,16 @@ exports.definitions = [
1979
1914
  description: "Enable Smart Sleep, short wakeup every 7 seconds",
1980
1915
  access: "STATE_SET",
1981
1916
  }),
1917
+ m.numeric({
1918
+ name: "uptime",
1919
+ unit: "Hours",
1920
+ cluster: "genTime",
1921
+ attribute: "localTime",
1922
+ description: "Uptime",
1923
+ scale: 3600,
1924
+ precision: 1,
1925
+ access: "STATE",
1926
+ }),
1982
1927
  m.binary({
1983
1928
  name: "config_report_enable",
1984
1929
  valueOn: ["ON", 1],
@@ -1997,89 +1942,98 @@ exports.definitions = [
1997
1942
  description: "Enable сontrol of comparison with previous data",
1998
1943
  access: "STATE_SET",
1999
1944
  }),
2000
- ],
2001
- },
2002
- {
2003
- zigbeeModel: ["EFEKTA_PST_POW_V1_LR"],
2004
- model: "EFEKTA_PST_POW_V1_LR",
2005
- vendor: "EFEKTA",
2006
- description: "Water, gas smart pressure monitor with two types of power supply",
2007
- extend: [
2008
- m.pressure({
2009
- unit: "kPa",
2010
- description: "Measured pressure value in kPa",
2011
- scale: 10,
2012
- reporting: threeReporting,
2013
- access: "STATE",
1945
+ m.binary({
1946
+ name: "enable_temperature",
1947
+ valueOn: ["ON", 1],
1948
+ valueOff: ["OFF", 0],
1949
+ cluster: "msTemperatureMeasurement",
1950
+ attribute: { ID: 0x0220, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1951
+ description: "Enable Temperature Control",
1952
+ }),
1953
+ m.binary({
1954
+ name: "invert_logic_temperature",
1955
+ valueOn: ["ON", 1],
1956
+ valueOff: ["OFF", 0],
1957
+ cluster: "msTemperatureMeasurement",
1958
+ attribute: { ID: 0x0225, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1959
+ description: "Invert Logic Temperature Control",
2014
1960
  }),
2015
1961
  m.numeric({
2016
- name: "bar",
2017
- unit: "bar",
2018
- cluster: "msPressureMeasurement",
2019
- attribute: "measuredValue",
2020
- description: "Measured pressure value in bar",
2021
- scale: 1000,
2022
- precision: 2,
2023
- access: "STATE",
1962
+ name: "high_temperature",
1963
+ unit: "°C",
1964
+ valueMin: -40,
1965
+ valueMax: 90,
1966
+ cluster: "msTemperatureMeasurement",
1967
+ attribute: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
1968
+ description: "Setting High Temperature Border",
2024
1969
  }),
2025
1970
  m.numeric({
2026
- name: "psi",
2027
- unit: "psi",
2028
- cluster: "msPressureMeasurement",
2029
- attribute: "measuredValue",
2030
- description: "Measured pressure value in psi",
2031
- scale: 68.94757,
2032
- precision: 2,
2033
- access: "STATE",
1971
+ name: "low_temperature",
1972
+ unit: "°C",
1973
+ valueMin: -40,
1974
+ valueMax: 90,
1975
+ cluster: "msTemperatureMeasurement",
1976
+ attribute: { ID: 0x0222, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
1977
+ description: "Setting Low Temperature Border",
2034
1978
  }),
2035
- m.temperature({
2036
- reporting: fourReporting,
2037
- access: "STATE",
1979
+ m.binary({
1980
+ name: "enable_humidity",
1981
+ valueOn: ["ON", 1],
1982
+ valueOff: ["OFF", 0],
1983
+ cluster: "msRelativeHumidity",
1984
+ attribute: { ID: 0x0220, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1985
+ description: "Enable Humidity Control",
2038
1986
  }),
2039
- m.numeric({
2040
- name: "pressure_offset",
2041
- unit: "kPa",
2042
- valueMin: -100.0,
2043
- valueMax: 100.0,
2044
- cluster: "msPressureMeasurement",
2045
- attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2046
- description: "Adjust first pressure sensor",
2047
- access: "STATE_SET",
1987
+ m.binary({
1988
+ name: "invert_logic_humidity",
1989
+ valueOn: ["ON", 1],
1990
+ valueOff: ["OFF", 0],
1991
+ cluster: "msRelativeHumidity",
1992
+ attribute: { ID: 0x0225, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1993
+ description: "Invert Logic Humidity Control",
2048
1994
  }),
2049
1995
  m.numeric({
2050
- name: "raw_temperature_calibration",
2051
- unit: "raw unit",
2052
- valueMin: -8192,
2053
- valueMax: 8192,
2054
- cluster: "msTemperatureMeasurement",
2055
- attribute: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2056
- description: "Adjust first temperature sensor",
2057
- access: "STATE_SET",
1996
+ name: "high_humidity",
1997
+ unit: "%",
1998
+ valueMin: 0,
1999
+ valueMax: 99,
2000
+ cluster: "msRelativeHumidity",
2001
+ attribute: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2002
+ description: "Setting High Humidity Border",
2058
2003
  }),
2059
2004
  m.numeric({
2060
- name: "mains_voltage",
2061
- unit: "V",
2062
- cluster: "genPowerCfg",
2063
- attribute: "mainsVoltage",
2064
- description: "Mains voltage",
2065
- scale: 10,
2066
- precision: 1,
2067
- access: "STATE_GET",
2005
+ name: "low_humidity",
2006
+ unit: "%",
2007
+ valueMin: 0,
2008
+ valueMax: 99,
2009
+ cluster: "msRelativeHumidity",
2010
+ attribute: { ID: 0x0222, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2011
+ description: "Setting Low Humidity Border",
2012
+ }),
2013
+ ],
2014
+ },
2015
+ {
2016
+ zigbeeModel: ["EFEKTA_TH_v1"],
2017
+ model: "EFEKTA_TH_v1",
2018
+ vendor: "EFEKTA",
2019
+ description: "Temperature and humidity sensors. Simple Thermostat.",
2020
+ extend: [
2021
+ m.temperature({
2022
+ reporting: fourReporting,
2023
+ access: "STATE",
2024
+ }),
2025
+ m.humidity({
2026
+ reporting: fourReporting,
2027
+ access: "STATE",
2068
2028
  }),
2069
2029
  m.battery({
2070
2030
  percentage: true,
2071
2031
  lowStatus: true,
2072
- voltage: false,
2032
+ voltage: true,
2073
2033
  percentageReporting: true,
2034
+ voltageReporting: true,
2074
2035
  percentageReportingConfig: sixReporting,
2075
- }),
2076
- m.numeric({
2077
- name: "uptime",
2078
- unit: "Hours",
2079
- cluster: "genTime",
2080
- attribute: "localTime",
2081
- description: "Uptime",
2082
- access: "STATE",
2036
+ voltageReportingConfig: sixReporting,
2083
2037
  }),
2084
2038
  m.numeric({
2085
2039
  name: "reading_interval",
@@ -2088,15 +2042,7 @@ exports.definitions = [
2088
2042
  valueMax: 360,
2089
2043
  cluster: "genPowerCfg",
2090
2044
  attribute: { ID: 0x0201, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
2091
- description: "Setting the sensor reading interval in seconds, by default 10 seconds",
2092
- access: "STATE_SET",
2093
- }),
2094
- m.enumLookup({
2095
- name: "tx_radio_power",
2096
- lookup: { "4dbm": 4, "19dbm": 19 },
2097
- cluster: "genPowerCfg",
2098
- attribute: { ID: 0x0236, type: zigbee_herdsman_1.Zcl.DataType.INT8 },
2099
- description: "Set TX Radio Power, dbm",
2045
+ description: "Setting the sensor reading interval in seconds, by default 30 seconds",
2100
2046
  access: "STATE_SET",
2101
2047
  }),
2102
2048
  m.binary({
@@ -2105,9 +2051,19 @@ exports.definitions = [
2105
2051
  valueOff: ["OFF", 0],
2106
2052
  cluster: "genPowerCfg",
2107
2053
  attribute: { ID: 0x0216, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2108
- description: "Enable Smart Sleep, short wakeup every 2-7 seconds",
2054
+ description: "Enable Smart Sleep, short wakeup every 7 seconds",
2109
2055
  access: "STATE_SET",
2110
2056
  }),
2057
+ m.numeric({
2058
+ name: "uptime",
2059
+ unit: "Hours",
2060
+ cluster: "genTime",
2061
+ attribute: "localTime",
2062
+ description: "Uptime",
2063
+ scale: 3600,
2064
+ precision: 1,
2065
+ access: "STATE",
2066
+ }),
2111
2067
  m.binary({
2112
2068
  name: "config_report_enable",
2113
2069
  valueOn: ["ON", 1],
@@ -2126,89 +2082,98 @@ exports.definitions = [
2126
2082
  description: "Enable сontrol of comparison with previous data",
2127
2083
  access: "STATE_SET",
2128
2084
  }),
2129
- ],
2130
- },
2131
- {
2132
- zigbeeModel: ["EFEKTA_PST_POW_V2_LR"],
2133
- model: "EFEKTA_PST_POW_V2_LR",
2134
- vendor: "EFEKTA",
2135
- description: "Water, gas smart pressure monitor with two types of power supply V2",
2136
- extend: [
2137
- m.pressure({
2138
- unit: "kPa",
2139
- description: "Measured pressure value in kPa",
2140
- scale: 10,
2141
- reporting: threeReporting,
2142
- access: "STATE",
2085
+ m.binary({
2086
+ name: "enable_temperature",
2087
+ valueOn: ["ON", 1],
2088
+ valueOff: ["OFF", 0],
2089
+ cluster: "msTemperatureMeasurement",
2090
+ attribute: { ID: 0x0220, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2091
+ description: "Enable Temperature Control",
2092
+ }),
2093
+ m.binary({
2094
+ name: "invert_logic_temperature",
2095
+ valueOn: ["ON", 1],
2096
+ valueOff: ["OFF", 0],
2097
+ cluster: "msTemperatureMeasurement",
2098
+ attribute: { ID: 0x0225, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2099
+ description: "Invert Logic Temperature Control",
2143
2100
  }),
2144
2101
  m.numeric({
2145
- name: "bar",
2146
- unit: "bar",
2147
- cluster: "msPressureMeasurement",
2148
- attribute: "measuredValue",
2149
- description: "Measured pressure value in bar",
2150
- scale: 1000,
2151
- precision: 2,
2152
- access: "STATE",
2102
+ name: "high_temperature",
2103
+ unit: "°C",
2104
+ valueMin: -40,
2105
+ valueMax: 90,
2106
+ cluster: "msTemperatureMeasurement",
2107
+ attribute: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2108
+ description: "Setting High Temperature Border",
2153
2109
  }),
2154
2110
  m.numeric({
2155
- name: "psi",
2156
- unit: "psi",
2157
- cluster: "msPressureMeasurement",
2158
- attribute: "measuredValue",
2159
- description: "Measured pressure value in psi",
2160
- scale: 68.94757,
2161
- precision: 2,
2162
- access: "STATE",
2111
+ name: "low_temperature",
2112
+ unit: "°C",
2113
+ valueMin: -40,
2114
+ valueMax: 90,
2115
+ cluster: "msTemperatureMeasurement",
2116
+ attribute: { ID: 0x0222, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2117
+ description: "Setting Low Temperature Border",
2163
2118
  }),
2164
- m.temperature({
2165
- reporting: fourReporting,
2166
- access: "STATE",
2119
+ m.binary({
2120
+ name: "enable_humidity",
2121
+ valueOn: ["ON", 1],
2122
+ valueOff: ["OFF", 0],
2123
+ cluster: "msRelativeHumidity",
2124
+ attribute: { ID: 0x0220, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2125
+ description: "Enable Humidity Control",
2167
2126
  }),
2168
- m.numeric({
2169
- name: "pressure_offset",
2170
- unit: "kPa",
2171
- valueMin: -100.0,
2172
- valueMax: 100.0,
2173
- cluster: "msPressureMeasurement",
2174
- attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2175
- description: "Adjust first pressure sensor",
2176
- access: "STATE_SET",
2127
+ m.binary({
2128
+ name: "invert_logic_humidity",
2129
+ valueOn: ["ON", 1],
2130
+ valueOff: ["OFF", 0],
2131
+ cluster: "msRelativeHumidity",
2132
+ attribute: { ID: 0x0225, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2133
+ description: "Invert Logic Humidity Control",
2177
2134
  }),
2178
2135
  m.numeric({
2179
- name: "raw_temperature_calibration",
2180
- unit: "raw unit",
2181
- valueMin: -8192,
2182
- valueMax: 8192,
2183
- cluster: "msTemperatureMeasurement",
2184
- attribute: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2185
- description: "Adjust first temperature sensor",
2186
- access: "STATE_SET",
2136
+ name: "high_humidity",
2137
+ unit: "%",
2138
+ valueMin: 0,
2139
+ valueMax: 99,
2140
+ cluster: "msRelativeHumidity",
2141
+ attribute: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2142
+ description: "Setting High Humidity Border",
2187
2143
  }),
2188
2144
  m.numeric({
2189
- name: "mains_voltage",
2190
- unit: "V",
2191
- cluster: "genPowerCfg",
2192
- attribute: "mainsVoltage",
2193
- description: "Mains voltage",
2194
- scale: 10,
2195
- precision: 1,
2196
- access: "STATE_GET",
2145
+ name: "low_humidity",
2146
+ unit: "%",
2147
+ valueMin: 0,
2148
+ valueMax: 99,
2149
+ cluster: "msRelativeHumidity",
2150
+ attribute: { ID: 0x0222, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2151
+ description: "Setting Low Humidity Border",
2152
+ }),
2153
+ ],
2154
+ },
2155
+ {
2156
+ zigbeeModel: ["EFEKTA_TH_v2_LR"],
2157
+ model: "EFEKTA_TH_v2_LR",
2158
+ vendor: "EFEKTA",
2159
+ description: "Temperature and humidity sensors with a signal amplifier. Simple Thermostat.",
2160
+ extend: [
2161
+ m.temperature({
2162
+ reporting: fourReporting,
2163
+ access: "STATE",
2164
+ }),
2165
+ m.humidity({
2166
+ reporting: fourReporting,
2167
+ access: "STATE",
2197
2168
  }),
2198
2169
  m.battery({
2199
2170
  percentage: true,
2200
2171
  lowStatus: true,
2201
- voltage: false,
2172
+ voltage: true,
2202
2173
  percentageReporting: true,
2174
+ voltageReporting: true,
2203
2175
  percentageReportingConfig: sixReporting,
2204
- }),
2205
- m.numeric({
2206
- name: "uptime",
2207
- unit: "Hours",
2208
- cluster: "genTime",
2209
- attribute: "localTime",
2210
- description: "Uptime",
2211
- access: "STATE",
2176
+ voltageReportingConfig: sixReporting,
2212
2177
  }),
2213
2178
  m.numeric({
2214
2179
  name: "reading_interval",
@@ -2217,7 +2182,7 @@ exports.definitions = [
2217
2182
  valueMax: 360,
2218
2183
  cluster: "genPowerCfg",
2219
2184
  attribute: { ID: 0x0201, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
2220
- description: "Setting the sensor reading interval in seconds, by default 10 seconds",
2185
+ description: "Setting the sensor reading interval in seconds, by default 30 seconds",
2221
2186
  access: "STATE_SET",
2222
2187
  }),
2223
2188
  m.enumLookup({
@@ -2234,9 +2199,19 @@ exports.definitions = [
2234
2199
  valueOff: ["OFF", 0],
2235
2200
  cluster: "genPowerCfg",
2236
2201
  attribute: { ID: 0x0216, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2237
- description: "Enable Smart Sleep, short wakeup every 2-7 seconds",
2202
+ description: "Enable Smart Sleep, short wakeup every 7 seconds",
2238
2203
  access: "STATE_SET",
2239
2204
  }),
2205
+ m.numeric({
2206
+ name: "uptime",
2207
+ unit: "Hours",
2208
+ cluster: "genTime",
2209
+ attribute: "localTime",
2210
+ description: "Uptime",
2211
+ scale: 3600,
2212
+ precision: 1,
2213
+ access: "STATE",
2214
+ }),
2240
2215
  m.binary({
2241
2216
  name: "config_report_enable",
2242
2217
  valueOn: ["ON", 1],
@@ -2255,116 +2230,128 @@ exports.definitions = [
2255
2230
  description: "Enable сontrol of comparison with previous data",
2256
2231
  access: "STATE_SET",
2257
2232
  }),
2233
+ m.binary({
2234
+ name: "enable_temperature",
2235
+ valueOn: ["ON", 1],
2236
+ valueOff: ["OFF", 0],
2237
+ cluster: "msTemperatureMeasurement",
2238
+ attribute: { ID: 0x0220, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2239
+ description: "Enable Temperature Control",
2240
+ }),
2241
+ m.binary({
2242
+ name: "invert_logic_temperature",
2243
+ valueOn: ["ON", 1],
2244
+ valueOff: ["OFF", 0],
2245
+ cluster: "msTemperatureMeasurement",
2246
+ attribute: { ID: 0x0225, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2247
+ description: "Invert Logic Temperature Control",
2248
+ }),
2249
+ m.numeric({
2250
+ name: "high_temperature",
2251
+ unit: "°C",
2252
+ valueMin: -40,
2253
+ valueMax: 90,
2254
+ cluster: "msTemperatureMeasurement",
2255
+ attribute: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2256
+ description: "Setting High Temperature Border",
2257
+ }),
2258
+ m.numeric({
2259
+ name: "low_temperature",
2260
+ unit: "°C",
2261
+ valueMin: -40,
2262
+ valueMax: 90,
2263
+ cluster: "msTemperatureMeasurement",
2264
+ attribute: { ID: 0x0222, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2265
+ description: "Setting Low Temperature Border",
2266
+ }),
2267
+ m.binary({
2268
+ name: "enable_humidity",
2269
+ valueOn: ["ON", 1],
2270
+ valueOff: ["OFF", 0],
2271
+ cluster: "msRelativeHumidity",
2272
+ attribute: { ID: 0x0220, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2273
+ description: "Enable Humidity Control",
2274
+ }),
2275
+ m.binary({
2276
+ name: "invert_logic_humidity",
2277
+ valueOn: ["ON", 1],
2278
+ valueOff: ["OFF", 0],
2279
+ cluster: "msRelativeHumidity",
2280
+ attribute: { ID: 0x0225, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2281
+ description: "Invert Logic Humidity Control",
2282
+ }),
2283
+ m.numeric({
2284
+ name: "high_humidity",
2285
+ unit: "%",
2286
+ valueMin: 0,
2287
+ valueMax: 99,
2288
+ cluster: "msRelativeHumidity",
2289
+ attribute: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2290
+ description: "Setting High Humidity Border",
2291
+ }),
2292
+ m.numeric({
2293
+ name: "low_humidity",
2294
+ unit: "%",
2295
+ valueMin: 0,
2296
+ valueMax: 99,
2297
+ cluster: "msRelativeHumidity",
2298
+ attribute: { ID: 0x0222, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2299
+ description: "Setting Low Humidity Border",
2300
+ }),
2258
2301
  ],
2259
2302
  },
2260
2303
  {
2261
- zigbeeModel: ["EFEKTA_PST_V1"],
2262
- model: "EFEKTA_PST_V1",
2304
+ zigbeeModel: ["EFEKTA_TH_v2"],
2305
+ model: "EFEKTA_TH_v2",
2263
2306
  vendor: "EFEKTA",
2264
- description: "Water, gas smart pressure monitor",
2307
+ description: "Temperature and humidity sensors. Simple Thermostat.",
2265
2308
  extend: [
2266
- m.pressure({
2267
- unit: "kPa",
2268
- description: "Measured pressure value in kPa",
2269
- scale: 10,
2270
- reporting: threeReporting,
2271
- access: "STATE",
2272
- }),
2273
- m.numeric({
2274
- name: "bar",
2275
- unit: "bar",
2276
- cluster: "msPressureMeasurement",
2277
- attribute: "measuredValue",
2278
- description: "Measured pressure value in bar",
2279
- scale: 1000,
2280
- precision: 2,
2281
- access: "STATE",
2282
- }),
2283
- m.numeric({
2284
- name: "psi",
2285
- unit: "psi",
2286
- cluster: "msPressureMeasurement",
2287
- attribute: "measuredValue",
2288
- description: "Measured pressure value in psi",
2289
- scale: 68.94757,
2290
- precision: 2,
2309
+ m.temperature({
2310
+ reporting: fourReporting,
2291
2311
  access: "STATE",
2292
2312
  }),
2293
- m.temperature({
2313
+ m.humidity({
2294
2314
  reporting: fourReporting,
2295
2315
  access: "STATE",
2296
2316
  }),
2317
+ m.battery({
2318
+ percentage: true,
2319
+ lowStatus: true,
2320
+ voltage: true,
2321
+ percentageReporting: true,
2322
+ voltageReporting: true,
2323
+ percentageReportingConfig: sixReporting,
2324
+ voltageReportingConfig: sixReporting,
2325
+ }),
2297
2326
  m.numeric({
2298
- name: "pressure_offset",
2299
- unit: "kPa",
2300
- valueMin: -100.0,
2301
- valueMax: 100.0,
2302
- cluster: "msPressureMeasurement",
2303
- attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2304
- description: "Adjust first pressure sensor",
2327
+ name: "reading_interval",
2328
+ unit: "sec",
2329
+ valueMin: 10,
2330
+ valueMax: 360,
2331
+ cluster: "genPowerCfg",
2332
+ attribute: { ID: 0x0201, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
2333
+ description: "Setting the sensor reading interval in seconds, by default 30 seconds",
2305
2334
  access: "STATE_SET",
2306
2335
  }),
2307
- m.numeric({
2308
- name: "raw_temperature_calibration",
2309
- unit: "raw unit",
2310
- valueMin: -8192,
2311
- valueMax: 8192,
2312
- cluster: "msTemperatureMeasurement",
2313
- attribute: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2314
- description: "Adjust first temperature sensor",
2336
+ m.binary({
2337
+ name: "smart_sleep",
2338
+ valueOn: ["ON", 1],
2339
+ valueOff: ["OFF", 0],
2340
+ cluster: "genPowerCfg",
2341
+ attribute: { ID: 0x0216, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2342
+ description: "Enable Smart Sleep, short wakeup every 7 seconds",
2315
2343
  access: "STATE_SET",
2316
2344
  }),
2317
- m.numeric({
2318
- name: "raw_temperature",
2319
- unit: "raw unit",
2320
- cluster: "msTemperatureMeasurement",
2321
- attribute: { ID: 0x0007, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
2322
- description: "Sensor raw temperature",
2323
- access: "STATE",
2324
- }),
2325
- m.numeric({
2326
- name: "raw_temperature_recalibrated",
2327
- unit: "raw unit",
2328
- cluster: "msTemperatureMeasurement",
2329
- attribute: { ID: 0x0009, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
2330
- description: "Recalibrated sensor raw temperature",
2331
- access: "STATE",
2332
- }),
2333
- m.battery({
2334
- percentage: true,
2335
- lowStatus: true,
2336
- voltage: true,
2337
- percentageReporting: true,
2338
- voltageReporting: false,
2339
- percentageReportingConfig: sixReporting,
2340
- }),
2341
2345
  m.numeric({
2342
2346
  name: "uptime",
2343
2347
  unit: "Hours",
2344
2348
  cluster: "genTime",
2345
2349
  attribute: "localTime",
2346
2350
  description: "Uptime",
2351
+ scale: 3600,
2352
+ precision: 1,
2347
2353
  access: "STATE",
2348
2354
  }),
2349
- m.numeric({
2350
- name: "reading_interval",
2351
- unit: "sec",
2352
- valueMin: 10,
2353
- valueMax: 300,
2354
- cluster: "genPowerCfg",
2355
- attribute: { ID: 0x0201, type: zigbee_herdsman_1.Zcl.DataType.INT8 },
2356
- description: "Setting the sensor reading interval in seconds, by default 15 seconds",
2357
- access: "STATE_SET",
2358
- }),
2359
- m.binary({
2360
- name: "smart_sleep",
2361
- valueOn: ["ON", 1],
2362
- valueOff: ["OFF", 0],
2363
- cluster: "genPowerCfg",
2364
- attribute: { ID: 0x0216, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2365
- description: "Enable Smart Sleep, short wakeup every 7 seconds",
2366
- access: "STATE_SET",
2367
- }),
2368
2355
  m.binary({
2369
2356
  name: "config_report_enable",
2370
2357
  valueOn: ["ON", 1],
@@ -2383,146 +2370,111 @@ exports.definitions = [
2383
2370
  description: "Enable сontrol of comparison with previous data",
2384
2371
  access: "STATE_SET",
2385
2372
  }),
2386
- ],
2387
- },
2388
- {
2389
- zigbeeModel: ["EFEKTA_PST_DUO_V1"],
2390
- model: "EFEKTA_PST_DUO_V1",
2391
- vendor: "EFEKTA",
2392
- description: "Water, gas smart pressure monitor with two sensors",
2393
- extend: [
2394
- m.deviceEndpoints({ endpoints: { "1": 1, "2": 2 } }),
2395
- m.pressure({
2396
- endpointNames: ["1"],
2397
- unit: "kPa",
2398
- description: "Measured pressure value оf the first sensor in kPa",
2399
- scale: 10,
2400
- reporting: threeReporting,
2401
- access: "STATE",
2402
- }),
2403
- m.numeric({
2404
- endpointNames: ["1"],
2405
- name: "bar",
2406
- unit: "bar",
2407
- cluster: "msPressureMeasurement",
2408
- attribute: "measuredValue",
2409
- description: "Measured pressure value оf the first sensor in bar",
2410
- scale: 1000,
2411
- precision: 2,
2412
- access: "STATE",
2413
- }),
2414
- m.numeric({
2415
- endpointNames: ["1"],
2416
- name: "psi",
2417
- unit: "psi",
2418
- cluster: "msPressureMeasurement",
2419
- attribute: "measuredValue",
2420
- description: "Measured pressure value оf the first sensor in psi",
2421
- scale: 68.94757,
2422
- precision: 2,
2423
- access: "STATE",
2373
+ m.binary({
2374
+ name: "enable_temperature",
2375
+ valueOn: ["ON", 1],
2376
+ valueOff: ["OFF", 0],
2377
+ cluster: "msTemperatureMeasurement",
2378
+ attribute: { ID: 0x0220, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2379
+ description: "Enable Temperature Control",
2424
2380
  }),
2425
- m.temperature({
2426
- endpointNames: ["1"],
2427
- description: "Measured value of the first temperature sensor",
2428
- reporting: fourReporting,
2429
- access: "STATE",
2381
+ m.binary({
2382
+ name: "invert_logic_temperature",
2383
+ valueOn: ["ON", 1],
2384
+ valueOff: ["OFF", 0],
2385
+ cluster: "msTemperatureMeasurement",
2386
+ attribute: { ID: 0x0225, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2387
+ description: "Invert Logic Temperature Control",
2430
2388
  }),
2431
2389
  m.numeric({
2432
- endpointNames: ["1"],
2433
- name: "pressure_offset",
2434
- unit: "kPa",
2435
- valueMin: -100.0,
2436
- valueMax: 100.0,
2437
- cluster: "msPressureMeasurement",
2438
- attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2439
- description: "Adjust first pressure sensor",
2440
- access: "STATE_SET",
2390
+ name: "high_temperature",
2391
+ unit: "°C",
2392
+ valueMin: -40,
2393
+ valueMax: 90,
2394
+ cluster: "msTemperatureMeasurement",
2395
+ attribute: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2396
+ description: "Setting High Temperature Border",
2441
2397
  }),
2442
2398
  m.numeric({
2443
- endpointNames: ["1"],
2444
- name: "raw_temperature_calibration",
2445
- unit: "raw unit",
2446
- valueMin: -8192,
2447
- valueMax: 8192,
2399
+ name: "low_temperature",
2400
+ unit: "°C",
2401
+ valueMin: -40,
2402
+ valueMax: 90,
2448
2403
  cluster: "msTemperatureMeasurement",
2449
- attribute: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2450
- description: "Adjust first temperature sensor",
2451
- access: "STATE_SET",
2404
+ attribute: { ID: 0x0222, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2405
+ description: "Setting Low Temperature Border",
2452
2406
  }),
2453
- m.pressure({
2454
- endpointNames: ["2"],
2455
- unit: "kPa",
2456
- description: "Measured pressure value оf the second sensor in kPa",
2457
- scale: 10,
2458
- reporting: threeReporting,
2459
- access: "STATE",
2407
+ m.binary({
2408
+ name: "enable_humidity",
2409
+ valueOn: ["ON", 1],
2410
+ valueOff: ["OFF", 0],
2411
+ cluster: "msRelativeHumidity",
2412
+ attribute: { ID: 0x0220, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2413
+ description: "Enable Humidity Control",
2414
+ }),
2415
+ m.binary({
2416
+ name: "invert_logic_humidity",
2417
+ valueOn: ["ON", 1],
2418
+ valueOff: ["OFF", 0],
2419
+ cluster: "msRelativeHumidity",
2420
+ attribute: { ID: 0x0225, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2421
+ description: "Invert Logic Humidity Control",
2460
2422
  }),
2461
2423
  m.numeric({
2462
- endpointNames: ["2"],
2463
- name: "bar",
2464
- unit: "bar",
2465
- cluster: "msPressureMeasurement",
2466
- attribute: "measuredValue",
2467
- description: "Measured pressure value оf the second sensor in bar",
2468
- scale: 1000,
2469
- precision: 2,
2470
- access: "STATE",
2424
+ name: "high_humidity",
2425
+ unit: "%",
2426
+ valueMin: 0,
2427
+ valueMax: 99,
2428
+ cluster: "msRelativeHumidity",
2429
+ attribute: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2430
+ description: "Setting High Humidity Border",
2471
2431
  }),
2472
2432
  m.numeric({
2473
- endpointNames: ["2"],
2474
- name: "psi",
2475
- unit: "psi",
2476
- cluster: "msPressureMeasurement",
2477
- attribute: "measuredValue",
2478
- description: "pressure in psi",
2479
- scale: 68.94757,
2480
- precision: 2,
2481
- access: "STATE",
2433
+ name: "low_humidity",
2434
+ unit: "%",
2435
+ valueMin: 0,
2436
+ valueMax: 99,
2437
+ cluster: "msRelativeHumidity",
2438
+ attribute: { ID: 0x0222, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2439
+ description: "Setting Low Humidity Border",
2482
2440
  }),
2441
+ ],
2442
+ },
2443
+ {
2444
+ zigbeeModel: ["EFEKTA_TH_DUO_LR"],
2445
+ model: "EFEKTA_TH_DUO_LR",
2446
+ vendor: "EFEKTA",
2447
+ description: "Smart device with internal and external temperature and humidity sensor.",
2448
+ extend: [
2449
+ m.deviceEndpoints({ endpoints: { "1": 1, "2": 2 } }),
2483
2450
  m.temperature({
2484
- endpointNames: ["2"],
2485
- description: "Measured value of the second temperature sensor",
2451
+ endpointNames: ["1"],
2452
+ description: "Measured value of the built-in temperature sensor",
2486
2453
  reporting: fourReporting,
2487
- access: "STATE",
2488
2454
  }),
2489
- m.numeric({
2455
+ m.temperature({
2490
2456
  endpointNames: ["2"],
2491
- name: "pressure_offset",
2492
- unit: "kPa",
2493
- valueMin: -100.0,
2494
- valueMax: 100.0,
2495
- cluster: "msPressureMeasurement",
2496
- attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2497
- description: "Adjust second pressure sensor",
2498
- access: "STATE_SET",
2457
+ description: "Measured value of the external temperature sensor",
2458
+ reporting: fourReporting,
2499
2459
  }),
2500
- m.numeric({
2460
+ m.humidity({
2461
+ endpointNames: ["1"],
2462
+ description: "Measured value of the built-in humidity sensor",
2463
+ reporting: fourReporting,
2464
+ }),
2465
+ m.humidity({
2501
2466
  endpointNames: ["2"],
2502
- name: "raw_temperature_cal",
2503
- unit: "raw unit",
2504
- valueMin: -8192,
2505
- valueMax: 8192,
2506
- cluster: "msTemperatureMeasurement",
2507
- attribute: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2508
- description: "Adjust second temperature sensor",
2509
- access: "STATE_SET",
2467
+ description: "Measured value of the external humidity sensor",
2468
+ reporting: fourReporting,
2510
2469
  }),
2511
2470
  m.battery({
2512
2471
  percentage: true,
2513
2472
  lowStatus: true,
2514
2473
  voltage: true,
2515
2474
  percentageReporting: true,
2516
- voltageReporting: false,
2475
+ voltageReporting: true,
2517
2476
  percentageReportingConfig: sixReporting,
2518
- }),
2519
- m.numeric({
2520
- name: "uptime",
2521
- unit: "Hours",
2522
- cluster: "genTime",
2523
- attribute: "localTime",
2524
- description: "Uptime",
2525
- access: "STATE",
2477
+ voltageReportingConfig: sixReporting,
2526
2478
  }),
2527
2479
  m.numeric({
2528
2480
  name: "reading_interval",
@@ -2531,7 +2483,15 @@ exports.definitions = [
2531
2483
  valueMax: 360,
2532
2484
  cluster: "genPowerCfg",
2533
2485
  attribute: { ID: 0x0201, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
2534
- description: "Setting sensor reading interval in seconds, by default 20 seconds",
2486
+ description: "Setting the sensor reading interval in seconds, by default 30 seconds",
2487
+ access: "STATE_SET",
2488
+ }),
2489
+ m.enumLookup({
2490
+ name: "tx_radio_power",
2491
+ lookup: { "4dbm": 4, "19dbm": 19 },
2492
+ cluster: "genPowerCfg",
2493
+ attribute: { ID: 0x0236, type: zigbee_herdsman_1.Zcl.DataType.INT8 },
2494
+ description: "Set TX Radio Power, dbm",
2535
2495
  access: "STATE_SET",
2536
2496
  }),
2537
2497
  m.binary({
@@ -2543,6 +2503,16 @@ exports.definitions = [
2543
2503
  description: "Enable Smart Sleep, short wakeup every 7 seconds",
2544
2504
  access: "STATE_SET",
2545
2505
  }),
2506
+ m.numeric({
2507
+ name: "uptime",
2508
+ unit: "Hours",
2509
+ cluster: "genTime",
2510
+ attribute: "localTime",
2511
+ description: "Uptime",
2512
+ scale: 3600,
2513
+ precision: 1,
2514
+ access: "STATE",
2515
+ }),
2546
2516
  m.binary({
2547
2517
  name: "config_report_enable",
2548
2518
  valueOn: ["ON", 1],
@@ -2561,146 +2531,127 @@ exports.definitions = [
2561
2531
  description: "Enable сontrol of comparison with previous data",
2562
2532
  access: "STATE_SET",
2563
2533
  }),
2564
- ],
2565
- },
2566
- {
2567
- zigbeeModel: ["EFEKTA_PST_DUO_V1_LR"],
2568
- model: "EFEKTA_PST_DUO_V1_LR",
2569
- vendor: "EFEKTA",
2570
- description: "Water, gas smart pressure monitor with two sensors and signal amplifier",
2571
- extend: [
2572
- m.deviceEndpoints({ endpoints: { "1": 1, "2": 2 } }),
2573
- m.pressure({
2574
- endpointNames: ["1"],
2575
- unit: "kPa",
2576
- description: "Measured pressure value оf the first sensor in kPa",
2577
- scale: 10,
2578
- reporting: threeReporting,
2579
- access: "STATE",
2580
- }),
2581
- m.numeric({
2582
- endpointNames: ["1"],
2583
- name: "bar",
2584
- unit: "bar",
2585
- cluster: "msPressureMeasurement",
2586
- attribute: "measuredValue",
2587
- description: "Measured pressure value оf the first sensor in bar",
2588
- scale: 1000,
2589
- precision: 2,
2590
- access: "STATE",
2534
+ m.binary({
2535
+ name: "enable_temperature",
2536
+ valueOn: ["ON", 1],
2537
+ valueOff: ["OFF", 0],
2538
+ cluster: "msTemperatureMeasurement",
2539
+ attribute: { ID: 0x0220, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2540
+ description: "Enable Temperature Control",
2591
2541
  }),
2592
- m.numeric({
2593
- endpointNames: ["1"],
2594
- name: "psi",
2595
- unit: "psi",
2596
- cluster: "msPressureMeasurement",
2597
- attribute: "measuredValue",
2598
- description: "Measured pressure value оf the first sensor in psi",
2599
- scale: 68.94757,
2600
- precision: 2,
2601
- access: "STATE",
2542
+ m.binary({
2543
+ name: "switching_temperature_sensor",
2544
+ valueOn: ["ON", 1],
2545
+ valueOff: ["OFF", 0],
2546
+ cluster: "msTemperatureMeasurement",
2547
+ attribute: { ID: 0x0229, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2548
+ description: "Enable internal or external sensor control",
2602
2549
  }),
2603
- m.temperature({
2604
- endpointNames: ["1"],
2605
- description: "Measured value of the first temperature sensor",
2606
- reporting: fourReporting,
2607
- access: "STATE",
2550
+ m.binary({
2551
+ name: "invert_logic_temperature",
2552
+ valueOn: ["ON", 1],
2553
+ valueOff: ["OFF", 0],
2554
+ cluster: "msTemperatureMeasurement",
2555
+ attribute: { ID: 0x0225, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2556
+ description: "Invert Logic Temperature Control",
2608
2557
  }),
2609
2558
  m.numeric({
2610
- endpointNames: ["1"],
2611
- name: "pressure_offset",
2612
- unit: "kPa",
2613
- valueMin: -100.0,
2614
- valueMax: 100.0,
2615
- cluster: "msPressureMeasurement",
2616
- attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2617
- description: "Adjust first pressure sensor",
2618
- access: "STATE_SET",
2559
+ name: "high_temperature",
2560
+ unit: "°C",
2561
+ valueMin: -40,
2562
+ valueMax: 90,
2563
+ cluster: "msTemperatureMeasurement",
2564
+ attribute: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2565
+ description: "Setting High Temperature Border",
2619
2566
  }),
2620
2567
  m.numeric({
2621
- endpointNames: ["1"],
2622
- name: "raw_temperature_cal",
2623
- unit: "raw unit",
2624
- valueMin: -8192,
2625
- valueMax: 8192,
2568
+ name: "low_temperature",
2569
+ unit: "°C",
2570
+ valueMin: -40,
2571
+ valueMax: 90,
2626
2572
  cluster: "msTemperatureMeasurement",
2627
- attribute: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2628
- description: "Adjust first temperature sensor",
2629
- access: "STATE_SET",
2573
+ attribute: { ID: 0x0222, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2574
+ description: "Setting Low Temperature Border",
2630
2575
  }),
2631
- m.pressure({
2632
- endpointNames: ["2"],
2633
- unit: "kPa",
2634
- description: "Measured pressure value оf the second sensor in kPa",
2635
- scale: 10,
2636
- reporting: threeReporting,
2637
- access: "STATE",
2576
+ m.binary({
2577
+ name: "enable_humidity",
2578
+ valueOn: ["ON", 1],
2579
+ valueOff: ["OFF", 0],
2580
+ cluster: "msRelativeHumidity",
2581
+ attribute: { ID: 0x0220, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2582
+ description: "Enable Humidity Control",
2583
+ }),
2584
+ m.binary({
2585
+ name: "switching_humidity_sensor",
2586
+ valueOn: ["ON", 1],
2587
+ valueOff: ["OFF", 0],
2588
+ cluster: "msRelativeHumidity",
2589
+ attribute: { ID: 0x0229, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2590
+ description: "Enable internal or external sensor control",
2591
+ }),
2592
+ m.binary({
2593
+ name: "invert_logic_humidity",
2594
+ valueOn: ["ON", 1],
2595
+ valueOff: ["OFF", 0],
2596
+ cluster: "msRelativeHumidity",
2597
+ attribute: { ID: 0x0225, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2598
+ description: "Invert Logic Humidity Control",
2638
2599
  }),
2639
2600
  m.numeric({
2640
- endpointNames: ["2"],
2641
- name: "bar",
2642
- unit: "bar",
2643
- cluster: "msPressureMeasurement",
2644
- attribute: "measuredValue",
2645
- description: "Measured pressure value оf the second sensor in bar",
2646
- scale: 1000,
2647
- precision: 2,
2648
- access: "STATE",
2601
+ name: "high_humidity",
2602
+ unit: "%",
2603
+ valueMin: 0,
2604
+ valueMax: 99,
2605
+ cluster: "msRelativeHumidity",
2606
+ attribute: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2607
+ description: "Setting High Humidity Border",
2649
2608
  }),
2650
2609
  m.numeric({
2651
- endpointNames: ["2"],
2652
- name: "psi",
2653
- unit: "psi",
2654
- cluster: "msPressureMeasurement",
2655
- attribute: "measuredValue",
2656
- description: "Measured pressure value оf the second sensor in psi",
2657
- scale: 68.94757,
2658
- precision: 2,
2659
- access: "STATE",
2610
+ name: "low_humidity",
2611
+ unit: "%",
2612
+ valueMin: 0,
2613
+ valueMax: 99,
2614
+ cluster: "msRelativeHumidity",
2615
+ attribute: { ID: 0x0222, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2616
+ description: "Setting Low Humidity Border",
2660
2617
  }),
2618
+ ],
2619
+ },
2620
+ {
2621
+ zigbeeModel: ["EFEKTA_TH_DUO"],
2622
+ model: "EFEKTA_TH_DUO",
2623
+ vendor: "EFEKTA",
2624
+ description: "Smart device with internal and external temperature and humidity sensor.",
2625
+ extend: [
2626
+ m.deviceEndpoints({ endpoints: { "1": 1, "2": 2 } }),
2661
2627
  m.temperature({
2662
- endpointNames: ["2"],
2663
- description: "Measured value of the second temperature sensor",
2628
+ endpointNames: ["1"],
2629
+ description: "Measured value of the built-in temperature sensor",
2664
2630
  reporting: fourReporting,
2665
- access: "STATE",
2666
2631
  }),
2667
- m.numeric({
2632
+ m.temperature({
2668
2633
  endpointNames: ["2"],
2669
- name: "pressure_offset",
2670
- unit: "kPa",
2671
- valueMin: -100.0,
2672
- valueMax: 100.0,
2673
- cluster: "msPressureMeasurement",
2674
- attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2675
- description: "Adjust second pressure sensor",
2676
- access: "STATE_SET",
2634
+ description: "Measured value of the external temperature sensor",
2635
+ reporting: fourReporting,
2677
2636
  }),
2678
- m.numeric({
2637
+ m.humidity({
2638
+ endpointNames: ["1"],
2639
+ description: "Measured value of the built-in humidity sensor",
2640
+ reporting: fourReporting,
2641
+ }),
2642
+ m.humidity({
2679
2643
  endpointNames: ["2"],
2680
- name: "raw_temperature_calibration",
2681
- unit: "raw unit",
2682
- valueMin: -8192,
2683
- valueMax: 8192,
2684
- cluster: "msTemperatureMeasurement",
2685
- attribute: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2686
- description: "Adjust second temperature sensor",
2687
- access: "STATE_SET",
2644
+ description: "Measured value of the external humidity sensor",
2645
+ reporting: fourReporting,
2688
2646
  }),
2689
2647
  m.battery({
2690
2648
  percentage: true,
2691
2649
  lowStatus: true,
2692
2650
  voltage: true,
2693
2651
  percentageReporting: true,
2694
- voltageReporting: false,
2652
+ voltageReporting: true,
2695
2653
  percentageReportingConfig: sixReporting,
2696
- }),
2697
- m.numeric({
2698
- name: "uptime",
2699
- unit: "Hours",
2700
- cluster: "genTime",
2701
- attribute: "localTime",
2702
- description: "Uptime",
2703
- access: "STATE",
2654
+ voltageReportingConfig: sixReporting,
2704
2655
  }),
2705
2656
  m.numeric({
2706
2657
  name: "reading_interval",
@@ -2709,15 +2660,7 @@ exports.definitions = [
2709
2660
  valueMax: 360,
2710
2661
  cluster: "genPowerCfg",
2711
2662
  attribute: { ID: 0x0201, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
2712
- description: "Setting the sensor reading interval in seconds, by default 40 seconds",
2713
- access: "STATE_SET",
2714
- }),
2715
- m.enumLookup({
2716
- name: "tx_radio_power",
2717
- lookup: { "4dbm": 4, "19dbm": 19 },
2718
- cluster: "genPowerCfg",
2719
- attribute: { ID: 0x0236, type: zigbee_herdsman_1.Zcl.DataType.INT8 },
2720
- description: "Set TX Radio Power, dbm",
2663
+ description: "Setting the sensor reading interval in seconds, by default 30 seconds",
2721
2664
  access: "STATE_SET",
2722
2665
  }),
2723
2666
  m.binary({
@@ -2729,6 +2672,16 @@ exports.definitions = [
2729
2672
  description: "Enable Smart Sleep, short wakeup every 7 seconds",
2730
2673
  access: "STATE_SET",
2731
2674
  }),
2675
+ m.numeric({
2676
+ name: "uptime",
2677
+ unit: "Hours",
2678
+ cluster: "genTime",
2679
+ attribute: "localTime",
2680
+ description: "Uptime",
2681
+ scale: 3600,
2682
+ precision: 1,
2683
+ access: "STATE",
2684
+ }),
2732
2685
  m.binary({
2733
2686
  name: "config_report_enable",
2734
2687
  valueOn: ["ON", 1],
@@ -2747,146 +2700,171 @@ exports.definitions = [
2747
2700
  description: "Enable сontrol of comparison with previous data",
2748
2701
  access: "STATE_SET",
2749
2702
  }),
2750
- ],
2751
- },
2752
- {
2753
- zigbeeModel: ["EFEKTA_PST_POW_DUO_V1_LR"],
2754
- model: "EFEKTA_PST_POW_DUO_V1_LR",
2755
- vendor: "EFEKTA",
2756
- description: "Water, gas smart pressure monitor with two sensors, two power supply",
2757
- extend: [
2758
- m.deviceEndpoints({ endpoints: { "1": 1, "2": 2 } }),
2759
- m.pressure({
2760
- endpointNames: ["1"],
2761
- unit: "kPa",
2762
- description: "Measured pressure value оf the first sensor in kPa",
2763
- scale: 10,
2764
- reporting: threeReporting,
2765
- access: "STATE",
2703
+ m.binary({
2704
+ name: "enable_temperature",
2705
+ valueOn: ["ON", 1],
2706
+ valueOff: ["OFF", 0],
2707
+ cluster: "msTemperatureMeasurement",
2708
+ attribute: { ID: 0x0220, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2709
+ description: "Enable Temperature Control",
2766
2710
  }),
2767
- m.numeric({
2768
- endpointNames: ["1"],
2769
- name: "bar",
2770
- unit: "bar",
2771
- cluster: "msPressureMeasurement",
2772
- attribute: "measuredValue",
2773
- description: "Measured pressure value оf the first sensor in bar",
2774
- scale: 1000,
2775
- precision: 2,
2776
- access: "STATE",
2711
+ m.binary({
2712
+ name: "switching_temperature_sensor",
2713
+ valueOn: ["ON", 1],
2714
+ valueOff: ["OFF", 0],
2715
+ cluster: "msTemperatureMeasurement",
2716
+ attribute: { ID: 0x0229, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2717
+ description: "Enable internal or external sensor control",
2718
+ }),
2719
+ m.binary({
2720
+ name: "invert_logic_temperature",
2721
+ valueOn: ["ON", 1],
2722
+ valueOff: ["OFF", 0],
2723
+ cluster: "msTemperatureMeasurement",
2724
+ attribute: { ID: 0x0225, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2725
+ description: "Invert Logic Temperature Control",
2777
2726
  }),
2778
2727
  m.numeric({
2779
- endpointNames: ["1"],
2780
- name: "psi",
2781
- unit: "psi",
2782
- cluster: "msPressureMeasurement",
2783
- attribute: "measuredValue",
2784
- description: "Measured pressure value оf the first sensor in psi",
2785
- scale: 68.94757,
2786
- precision: 2,
2787
- access: "STATE",
2728
+ name: "high_temperature",
2729
+ unit: "°C",
2730
+ valueMin: -40,
2731
+ valueMax: 90,
2732
+ cluster: "msTemperatureMeasurement",
2733
+ attribute: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2734
+ description: "Setting High Temperature Border",
2788
2735
  }),
2789
- m.temperature({
2790
- endpointNames: ["1"],
2791
- description: "Measured value of the first temperature sensor",
2792
- reporting: fourReporting,
2793
- access: "STATE",
2736
+ m.numeric({
2737
+ name: "low_temperature",
2738
+ unit: "°C",
2739
+ valueMin: -40,
2740
+ valueMax: 90,
2741
+ cluster: "msTemperatureMeasurement",
2742
+ attribute: { ID: 0x0222, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2743
+ description: "Setting Low Temperature Border",
2744
+ }),
2745
+ m.binary({
2746
+ name: "enable_humidity",
2747
+ valueOn: ["ON", 1],
2748
+ valueOff: ["OFF", 0],
2749
+ cluster: "msRelativeHumidity",
2750
+ attribute: { ID: 0x0220, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2751
+ description: "Enable Humidity Control",
2752
+ }),
2753
+ m.binary({
2754
+ name: "switching_humidity_sensor",
2755
+ valueOn: ["ON", 1],
2756
+ valueOff: ["OFF", 0],
2757
+ cluster: "msRelativeHumidity",
2758
+ attribute: { ID: 0x0229, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2759
+ description: "Enable internal or external sensor control",
2760
+ }),
2761
+ m.binary({
2762
+ name: "invert_logic_humidity",
2763
+ valueOn: ["ON", 1],
2764
+ valueOff: ["OFF", 0],
2765
+ cluster: "msRelativeHumidity",
2766
+ attribute: { ID: 0x0225, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2767
+ description: "Invert Logic Humidity Control",
2794
2768
  }),
2795
2769
  m.numeric({
2796
- endpointNames: ["1"],
2797
- name: "pressure_offset",
2798
- unit: "kPa",
2799
- valueMin: -100.0,
2800
- valueMax: 100.0,
2801
- cluster: "msPressureMeasurement",
2802
- attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2803
- description: "Adjust first pressure sensor",
2804
- access: "STATE_SET",
2770
+ name: "high_humidity",
2771
+ unit: "%",
2772
+ valueMin: 0,
2773
+ valueMax: 99,
2774
+ cluster: "msRelativeHumidity",
2775
+ attribute: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2776
+ description: "Setting High Humidity Border",
2805
2777
  }),
2806
2778
  m.numeric({
2807
- endpointNames: ["1"],
2808
- name: "raw_temperature_calibration",
2809
- unit: "raw unit",
2810
- valueMin: -8192,
2811
- valueMax: 8192,
2812
- cluster: "msTemperatureMeasurement",
2813
- attribute: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2814
- description: "Adjust first temperature sensor",
2815
- access: "STATE_SET",
2779
+ name: "low_humidity",
2780
+ unit: "%",
2781
+ valueMin: 0,
2782
+ valueMax: 99,
2783
+ cluster: "msRelativeHumidity",
2784
+ attribute: { ID: 0x0222, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2785
+ description: "Setting Low Humidity Border",
2816
2786
  }),
2787
+ ],
2788
+ },
2789
+ {
2790
+ zigbeeModel: ["EFEKTA_PST_V1_LR"],
2791
+ model: "EFEKTA_PST_V1_LR",
2792
+ vendor: "EFEKTA",
2793
+ description: "Water, gas smart pressure monitor with signal amplifier",
2794
+ extend: [
2817
2795
  m.pressure({
2818
- endpointNames: ["2"],
2819
2796
  unit: "kPa",
2820
- description: "Measured pressure value оf the second sensor in kPa",
2797
+ description: "Measured pressure value in kPa",
2821
2798
  scale: 10,
2822
2799
  reporting: threeReporting,
2823
2800
  access: "STATE",
2824
2801
  }),
2825
2802
  m.numeric({
2826
- endpointNames: ["2"],
2827
2803
  name: "bar",
2828
2804
  unit: "bar",
2829
2805
  cluster: "msPressureMeasurement",
2830
2806
  attribute: "measuredValue",
2831
- description: "Measured pressure value оf the second sensor in bar",
2807
+ description: "Measured pressure value in bar",
2832
2808
  scale: 1000,
2833
2809
  precision: 2,
2834
2810
  access: "STATE",
2835
2811
  }),
2836
2812
  m.numeric({
2837
- endpointNames: ["2"],
2838
2813
  name: "psi",
2839
2814
  unit: "psi",
2840
2815
  cluster: "msPressureMeasurement",
2841
2816
  attribute: "measuredValue",
2842
- description: "Measured pressure value оf the second sensor in psi",
2817
+ description: "Measured pressure value in psi",
2843
2818
  scale: 68.94757,
2844
2819
  precision: 2,
2845
2820
  access: "STATE",
2846
2821
  }),
2847
2822
  m.temperature({
2848
- endpointNames: ["2"],
2849
- description: "Measured value of the second temperature sensor",
2850
2823
  reporting: fourReporting,
2851
2824
  access: "STATE",
2852
2825
  }),
2853
2826
  m.numeric({
2854
- endpointNames: ["2"],
2855
2827
  name: "pressure_offset",
2856
2828
  unit: "kPa",
2857
2829
  valueMin: -100.0,
2858
2830
  valueMax: 100.0,
2859
2831
  cluster: "msPressureMeasurement",
2860
2832
  attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2861
- description: "Adjust second pressure sensor",
2833
+ description: "Adjust first pressure sensor",
2862
2834
  access: "STATE_SET",
2863
2835
  }),
2864
2836
  m.numeric({
2865
- endpointNames: ["2"],
2866
2837
  name: "raw_temperature_calibration",
2867
2838
  unit: "raw unit",
2868
2839
  valueMin: -8192,
2869
2840
  valueMax: 8192,
2870
2841
  cluster: "msTemperatureMeasurement",
2871
2842
  attribute: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
2872
- description: "Adjust second temperature sensor",
2843
+ description: "Adjust first temperature sensor",
2873
2844
  access: "STATE_SET",
2874
2845
  }),
2875
2846
  m.numeric({
2876
- name: "mains_voltage",
2877
- unit: "V",
2878
- cluster: "genPowerCfg",
2879
- attribute: "mainsVoltage",
2880
- description: "Mains voltage",
2881
- scale: 10,
2882
- precision: 1,
2883
- access: "STATE_GET",
2847
+ name: "raw_temperature",
2848
+ unit: "raw unit",
2849
+ cluster: "msTemperatureMeasurement",
2850
+ attribute: { ID: 0x0007, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
2851
+ description: "Sensor raw temperature",
2852
+ access: "STATE",
2853
+ }),
2854
+ m.numeric({
2855
+ name: "raw_temperature_recalibrated",
2856
+ unit: "raw unit",
2857
+ cluster: "msTemperatureMeasurement",
2858
+ attribute: { ID: 0x0009, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
2859
+ description: "Recalibrated sensor raw temperature",
2860
+ access: "STATE",
2884
2861
  }),
2885
2862
  m.battery({
2886
2863
  percentage: true,
2887
2864
  lowStatus: true,
2888
- voltage: false,
2865
+ voltage: true,
2889
2866
  percentageReporting: true,
2867
+ voltageReporting: false,
2890
2868
  percentageReportingConfig: sixReporting,
2891
2869
  }),
2892
2870
  m.numeric({
@@ -2901,10 +2879,10 @@ exports.definitions = [
2901
2879
  name: "reading_interval",
2902
2880
  unit: "sec",
2903
2881
  valueMin: 10,
2904
- valueMax: 360,
2882
+ valueMax: 300,
2905
2883
  cluster: "genPowerCfg",
2906
2884
  attribute: { ID: 0x0201, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
2907
- description: "Setting the sensor reading interval in seconds, by default 10 seconds",
2885
+ description: "Setting the sensor reading interval in seconds, by default 15 seconds",
2908
2886
  access: "STATE_SET",
2909
2887
  }),
2910
2888
  m.enumLookup({
@@ -2921,7 +2899,7 @@ exports.definitions = [
2921
2899
  valueOff: ["OFF", 0],
2922
2900
  cluster: "genPowerCfg",
2923
2901
  attribute: { ID: 0x0216, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2924
- description: "Enable Smart Sleep, short wakeup every 2-7 seconds",
2902
+ description: "Enable Smart Sleep, short wakeup every 7 seconds",
2925
2903
  access: "STATE_SET",
2926
2904
  }),
2927
2905
  m.binary({
@@ -2945,50 +2923,43 @@ exports.definitions = [
2945
2923
  ],
2946
2924
  },
2947
2925
  {
2948
- zigbeeModel: ["EFEKTA_PST_POW_DUO_V2_LR"],
2949
- model: "EFEKTA_PST_POW_DUO_V2_LR",
2926
+ zigbeeModel: ["EFEKTA_PST_POW_V1_LR"],
2927
+ model: "EFEKTA_PST_POW_V1_LR",
2950
2928
  vendor: "EFEKTA",
2951
- description: "Water, gas smart pressure monitor with two sensors, power supply, V2",
2929
+ description: "Water, gas smart pressure monitor with two types of power supply",
2952
2930
  extend: [
2953
- m.deviceEndpoints({ endpoints: { "1": 1, "2": 2 } }),
2954
2931
  m.pressure({
2955
- endpointNames: ["1"],
2956
2932
  unit: "kPa",
2957
- description: "Measured pressure value оf the first sensor in kPa",
2933
+ description: "Measured pressure value in kPa",
2958
2934
  scale: 10,
2959
2935
  reporting: threeReporting,
2960
2936
  access: "STATE",
2961
2937
  }),
2962
2938
  m.numeric({
2963
- endpointNames: ["1"],
2964
2939
  name: "bar",
2965
2940
  unit: "bar",
2966
2941
  cluster: "msPressureMeasurement",
2967
2942
  attribute: "measuredValue",
2968
- description: "Measured pressure value оf the first sensor in bar",
2943
+ description: "Measured pressure value in bar",
2969
2944
  scale: 1000,
2970
2945
  precision: 2,
2971
2946
  access: "STATE",
2972
2947
  }),
2973
2948
  m.numeric({
2974
- endpointNames: ["1"],
2975
2949
  name: "psi",
2976
2950
  unit: "psi",
2977
2951
  cluster: "msPressureMeasurement",
2978
2952
  attribute: "measuredValue",
2979
- description: "Measured pressure value оf the first sensor in psi",
2953
+ description: "Measured pressure value in psi",
2980
2954
  scale: 68.94757,
2981
2955
  precision: 2,
2982
2956
  access: "STATE",
2983
2957
  }),
2984
2958
  m.temperature({
2985
- endpointNames: ["1"],
2986
- description: "Measured value of the first temperature sensor",
2987
2959
  reporting: fourReporting,
2988
2960
  access: "STATE",
2989
2961
  }),
2990
2962
  m.numeric({
2991
- endpointNames: ["1"],
2992
2963
  name: "pressure_offset",
2993
2964
  unit: "kPa",
2994
2965
  valueMin: -100.0,
@@ -2999,7 +2970,6 @@ exports.definitions = [
2999
2970
  access: "STATE_SET",
3000
2971
  }),
3001
2972
  m.numeric({
3002
- endpointNames: ["1"],
3003
2973
  name: "raw_temperature_calibration",
3004
2974
  unit: "raw unit",
3005
2975
  valueMin: -8192,
@@ -3009,64 +2979,6 @@ exports.definitions = [
3009
2979
  description: "Adjust first temperature sensor",
3010
2980
  access: "STATE_SET",
3011
2981
  }),
3012
- m.pressure({
3013
- endpointNames: ["2"],
3014
- unit: "kPa",
3015
- description: "Measured pressure value оf the second sensor in kPa",
3016
- scale: 10,
3017
- reporting: threeReporting,
3018
- access: "STATE",
3019
- }),
3020
- m.numeric({
3021
- endpointNames: ["2"],
3022
- name: "bar",
3023
- unit: "bar",
3024
- cluster: "msPressureMeasurement",
3025
- attribute: "measuredValue",
3026
- description: "Measured pressure value оf the second sensor in bar",
3027
- scale: 1000,
3028
- precision: 2,
3029
- access: "STATE",
3030
- }),
3031
- m.numeric({
3032
- endpointNames: ["2"],
3033
- name: "psi",
3034
- unit: "psi",
3035
- cluster: "msPressureMeasurement",
3036
- attribute: "measuredValue",
3037
- description: "Measured pressure value оf the second sensor in psi",
3038
- scale: 68.94757,
3039
- precision: 2,
3040
- access: "STATE",
3041
- }),
3042
- m.temperature({
3043
- endpointNames: ["2"],
3044
- description: "Measured value of the second temperature sensor",
3045
- reporting: fourReporting,
3046
- access: "STATE",
3047
- }),
3048
- m.numeric({
3049
- endpointNames: ["2"],
3050
- name: "pressure_offset",
3051
- unit: "kPa",
3052
- valueMin: -100.0,
3053
- valueMax: 100.0,
3054
- cluster: "msPressureMeasurement",
3055
- attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3056
- description: "Adjust second pressure sensor",
3057
- access: "STATE_SET",
3058
- }),
3059
- m.numeric({
3060
- endpointNames: ["2"],
3061
- name: "raw_temperature_calibration",
3062
- unit: "raw unit",
3063
- valueMin: -8192,
3064
- valueMax: 8192,
3065
- cluster: "msTemperatureMeasurement",
3066
- attribute: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3067
- description: "Adjust second temperature sensor",
3068
- access: "STATE_SET",
3069
- }),
3070
2982
  m.numeric({
3071
2983
  name: "mains_voltage",
3072
2984
  unit: "V",
@@ -3140,127 +3052,1645 @@ exports.definitions = [
3140
3052
  ],
3141
3053
  },
3142
3054
  {
3143
- zigbeeModel: ["EFEKTA_Smart_AQ_Box_R3"],
3144
- model: "EFEKTA_Smart_AQ_Box_R3",
3055
+ zigbeeModel: ["EFEKTA_PST_POW_V2_LR"],
3056
+ model: "EFEKTA_PST_POW_V2_LR",
3057
+ vendor: "EFEKTA",
3058
+ description: "Water, gas smart pressure monitor with two types of power supply V2",
3059
+ extend: [
3060
+ m.pressure({
3061
+ unit: "kPa",
3062
+ description: "Measured pressure value in kPa",
3063
+ scale: 10,
3064
+ reporting: threeReporting,
3065
+ access: "STATE",
3066
+ }),
3067
+ m.numeric({
3068
+ name: "bar",
3069
+ unit: "bar",
3070
+ cluster: "msPressureMeasurement",
3071
+ attribute: "measuredValue",
3072
+ description: "Measured pressure value in bar",
3073
+ scale: 1000,
3074
+ precision: 2,
3075
+ access: "STATE",
3076
+ }),
3077
+ m.numeric({
3078
+ name: "psi",
3079
+ unit: "psi",
3080
+ cluster: "msPressureMeasurement",
3081
+ attribute: "measuredValue",
3082
+ description: "Measured pressure value in psi",
3083
+ scale: 68.94757,
3084
+ precision: 2,
3085
+ access: "STATE",
3086
+ }),
3087
+ m.temperature({
3088
+ reporting: fourReporting,
3089
+ access: "STATE",
3090
+ }),
3091
+ m.numeric({
3092
+ name: "pressure_offset",
3093
+ unit: "kPa",
3094
+ valueMin: -100.0,
3095
+ valueMax: 100.0,
3096
+ cluster: "msPressureMeasurement",
3097
+ attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3098
+ description: "Adjust first pressure sensor",
3099
+ access: "STATE_SET",
3100
+ }),
3101
+ m.numeric({
3102
+ name: "raw_temperature_calibration",
3103
+ unit: "raw unit",
3104
+ valueMin: -8192,
3105
+ valueMax: 8192,
3106
+ cluster: "msTemperatureMeasurement",
3107
+ attribute: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3108
+ description: "Adjust first temperature sensor",
3109
+ access: "STATE_SET",
3110
+ }),
3111
+ m.numeric({
3112
+ name: "mains_voltage",
3113
+ unit: "V",
3114
+ cluster: "genPowerCfg",
3115
+ attribute: "mainsVoltage",
3116
+ description: "Mains voltage",
3117
+ scale: 10,
3118
+ precision: 1,
3119
+ access: "STATE_GET",
3120
+ }),
3121
+ m.battery({
3122
+ percentage: true,
3123
+ lowStatus: true,
3124
+ voltage: false,
3125
+ percentageReporting: true,
3126
+ percentageReportingConfig: sixReporting,
3127
+ }),
3128
+ m.numeric({
3129
+ name: "uptime",
3130
+ unit: "Hours",
3131
+ cluster: "genTime",
3132
+ attribute: "localTime",
3133
+ description: "Uptime",
3134
+ access: "STATE",
3135
+ }),
3136
+ m.numeric({
3137
+ name: "reading_interval",
3138
+ unit: "sec",
3139
+ valueMin: 10,
3140
+ valueMax: 360,
3141
+ cluster: "genPowerCfg",
3142
+ attribute: { ID: 0x0201, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
3143
+ description: "Setting the sensor reading interval in seconds, by default 10 seconds",
3144
+ access: "STATE_SET",
3145
+ }),
3146
+ m.enumLookup({
3147
+ name: "tx_radio_power",
3148
+ lookup: { "4dbm": 4, "19dbm": 19 },
3149
+ cluster: "genPowerCfg",
3150
+ attribute: { ID: 0x0236, type: zigbee_herdsman_1.Zcl.DataType.INT8 },
3151
+ description: "Set TX Radio Power, dbm",
3152
+ access: "STATE_SET",
3153
+ }),
3154
+ m.binary({
3155
+ name: "smart_sleep",
3156
+ valueOn: ["ON", 1],
3157
+ valueOff: ["OFF", 0],
3158
+ cluster: "genPowerCfg",
3159
+ attribute: { ID: 0x0216, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3160
+ description: "Enable Smart Sleep, short wakeup every 2-7 seconds",
3161
+ access: "STATE_SET",
3162
+ }),
3163
+ m.binary({
3164
+ name: "config_report_enable",
3165
+ valueOn: ["ON", 1],
3166
+ valueOff: ["OFF", 0],
3167
+ cluster: "genPowerCfg",
3168
+ attribute: { ID: 0x0275, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3169
+ description: "Enable reporting based on reporting configuration",
3170
+ access: "STATE_SET",
3171
+ }),
3172
+ m.binary({
3173
+ name: "comparison_previous_data",
3174
+ valueOn: ["ON", 1],
3175
+ valueOff: ["OFF", 0],
3176
+ cluster: "genPowerCfg",
3177
+ attribute: { ID: 0x0205, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3178
+ description: "Enable сontrol of comparison with previous data",
3179
+ access: "STATE_SET",
3180
+ }),
3181
+ ],
3182
+ },
3183
+ {
3184
+ zigbeeModel: ["EFEKTA_PST_V1"],
3185
+ model: "EFEKTA_PST_V1",
3186
+ vendor: "EFEKTA",
3187
+ description: "Water, gas smart pressure monitor",
3188
+ extend: [
3189
+ m.pressure({
3190
+ unit: "kPa",
3191
+ description: "Measured pressure value in kPa",
3192
+ scale: 10,
3193
+ reporting: threeReporting,
3194
+ access: "STATE",
3195
+ }),
3196
+ m.numeric({
3197
+ name: "bar",
3198
+ unit: "bar",
3199
+ cluster: "msPressureMeasurement",
3200
+ attribute: "measuredValue",
3201
+ description: "Measured pressure value in bar",
3202
+ scale: 1000,
3203
+ precision: 2,
3204
+ access: "STATE",
3205
+ }),
3206
+ m.numeric({
3207
+ name: "psi",
3208
+ unit: "psi",
3209
+ cluster: "msPressureMeasurement",
3210
+ attribute: "measuredValue",
3211
+ description: "Measured pressure value in psi",
3212
+ scale: 68.94757,
3213
+ precision: 2,
3214
+ access: "STATE",
3215
+ }),
3216
+ m.temperature({
3217
+ reporting: fourReporting,
3218
+ access: "STATE",
3219
+ }),
3220
+ m.numeric({
3221
+ name: "pressure_offset",
3222
+ unit: "kPa",
3223
+ valueMin: -100.0,
3224
+ valueMax: 100.0,
3225
+ cluster: "msPressureMeasurement",
3226
+ attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3227
+ description: "Adjust first pressure sensor",
3228
+ access: "STATE_SET",
3229
+ }),
3230
+ m.numeric({
3231
+ name: "raw_temperature_calibration",
3232
+ unit: "raw unit",
3233
+ valueMin: -8192,
3234
+ valueMax: 8192,
3235
+ cluster: "msTemperatureMeasurement",
3236
+ attribute: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3237
+ description: "Adjust first temperature sensor",
3238
+ access: "STATE_SET",
3239
+ }),
3240
+ m.numeric({
3241
+ name: "raw_temperature",
3242
+ unit: "raw unit",
3243
+ cluster: "msTemperatureMeasurement",
3244
+ attribute: { ID: 0x0007, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
3245
+ description: "Sensor raw temperature",
3246
+ access: "STATE",
3247
+ }),
3248
+ m.numeric({
3249
+ name: "raw_temperature_recalibrated",
3250
+ unit: "raw unit",
3251
+ cluster: "msTemperatureMeasurement",
3252
+ attribute: { ID: 0x0009, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
3253
+ description: "Recalibrated sensor raw temperature",
3254
+ access: "STATE",
3255
+ }),
3256
+ m.battery({
3257
+ percentage: true,
3258
+ lowStatus: true,
3259
+ voltage: true,
3260
+ percentageReporting: true,
3261
+ voltageReporting: false,
3262
+ percentageReportingConfig: sixReporting,
3263
+ }),
3264
+ m.numeric({
3265
+ name: "uptime",
3266
+ unit: "Hours",
3267
+ cluster: "genTime",
3268
+ attribute: "localTime",
3269
+ description: "Uptime",
3270
+ access: "STATE",
3271
+ }),
3272
+ m.numeric({
3273
+ name: "reading_interval",
3274
+ unit: "sec",
3275
+ valueMin: 10,
3276
+ valueMax: 300,
3277
+ cluster: "genPowerCfg",
3278
+ attribute: { ID: 0x0201, type: zigbee_herdsman_1.Zcl.DataType.INT8 },
3279
+ description: "Setting the sensor reading interval in seconds, by default 15 seconds",
3280
+ access: "STATE_SET",
3281
+ }),
3282
+ m.binary({
3283
+ name: "smart_sleep",
3284
+ valueOn: ["ON", 1],
3285
+ valueOff: ["OFF", 0],
3286
+ cluster: "genPowerCfg",
3287
+ attribute: { ID: 0x0216, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3288
+ description: "Enable Smart Sleep, short wakeup every 7 seconds",
3289
+ access: "STATE_SET",
3290
+ }),
3291
+ m.binary({
3292
+ name: "config_report_enable",
3293
+ valueOn: ["ON", 1],
3294
+ valueOff: ["OFF", 0],
3295
+ cluster: "genPowerCfg",
3296
+ attribute: { ID: 0x0275, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3297
+ description: "Enable reporting based on reporting configuration",
3298
+ access: "STATE_SET",
3299
+ }),
3300
+ m.binary({
3301
+ name: "comparison_previous_data",
3302
+ valueOn: ["ON", 1],
3303
+ valueOff: ["OFF", 0],
3304
+ cluster: "genPowerCfg",
3305
+ attribute: { ID: 0x0205, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3306
+ description: "Enable сontrol of comparison with previous data",
3307
+ access: "STATE_SET",
3308
+ }),
3309
+ ],
3310
+ },
3311
+ {
3312
+ zigbeeModel: ["EFEKTA_PST_DUO_V1"],
3313
+ model: "EFEKTA_PST_DUO_V1",
3314
+ vendor: "EFEKTA",
3315
+ description: "Water, gas smart pressure monitor with two sensors",
3316
+ extend: [
3317
+ m.deviceEndpoints({ endpoints: { "1": 1, "2": 2 } }),
3318
+ m.pressure({
3319
+ endpointNames: ["1"],
3320
+ unit: "kPa",
3321
+ description: "Measured pressure value оf the first sensor in kPa",
3322
+ scale: 10,
3323
+ reporting: threeReporting,
3324
+ access: "STATE",
3325
+ }),
3326
+ m.numeric({
3327
+ endpointNames: ["1"],
3328
+ name: "bar",
3329
+ unit: "bar",
3330
+ cluster: "msPressureMeasurement",
3331
+ attribute: "measuredValue",
3332
+ description: "Measured pressure value оf the first sensor in bar",
3333
+ scale: 1000,
3334
+ precision: 2,
3335
+ access: "STATE",
3336
+ }),
3337
+ m.numeric({
3338
+ endpointNames: ["1"],
3339
+ name: "psi",
3340
+ unit: "psi",
3341
+ cluster: "msPressureMeasurement",
3342
+ attribute: "measuredValue",
3343
+ description: "Measured pressure value оf the first sensor in psi",
3344
+ scale: 68.94757,
3345
+ precision: 2,
3346
+ access: "STATE",
3347
+ }),
3348
+ m.temperature({
3349
+ endpointNames: ["1"],
3350
+ description: "Measured value of the first temperature sensor",
3351
+ reporting: fourReporting,
3352
+ access: "STATE",
3353
+ }),
3354
+ m.numeric({
3355
+ endpointNames: ["1"],
3356
+ name: "pressure_offset",
3357
+ unit: "kPa",
3358
+ valueMin: -100.0,
3359
+ valueMax: 100.0,
3360
+ cluster: "msPressureMeasurement",
3361
+ attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3362
+ description: "Adjust first pressure sensor",
3363
+ access: "STATE_SET",
3364
+ }),
3365
+ m.numeric({
3366
+ endpointNames: ["1"],
3367
+ name: "raw_temperature_calibration",
3368
+ unit: "raw unit",
3369
+ valueMin: -8192,
3370
+ valueMax: 8192,
3371
+ cluster: "msTemperatureMeasurement",
3372
+ attribute: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3373
+ description: "Adjust first temperature sensor",
3374
+ access: "STATE_SET",
3375
+ }),
3376
+ m.pressure({
3377
+ endpointNames: ["2"],
3378
+ unit: "kPa",
3379
+ description: "Measured pressure value оf the second sensor in kPa",
3380
+ scale: 10,
3381
+ reporting: threeReporting,
3382
+ access: "STATE",
3383
+ }),
3384
+ m.numeric({
3385
+ endpointNames: ["2"],
3386
+ name: "bar",
3387
+ unit: "bar",
3388
+ cluster: "msPressureMeasurement",
3389
+ attribute: "measuredValue",
3390
+ description: "Measured pressure value оf the second sensor in bar",
3391
+ scale: 1000,
3392
+ precision: 2,
3393
+ access: "STATE",
3394
+ }),
3395
+ m.numeric({
3396
+ endpointNames: ["2"],
3397
+ name: "psi",
3398
+ unit: "psi",
3399
+ cluster: "msPressureMeasurement",
3400
+ attribute: "measuredValue",
3401
+ description: "pressure in psi",
3402
+ scale: 68.94757,
3403
+ precision: 2,
3404
+ access: "STATE",
3405
+ }),
3406
+ m.temperature({
3407
+ endpointNames: ["2"],
3408
+ description: "Measured value of the second temperature sensor",
3409
+ reporting: fourReporting,
3410
+ access: "STATE",
3411
+ }),
3412
+ m.numeric({
3413
+ endpointNames: ["2"],
3414
+ name: "pressure_offset",
3415
+ unit: "kPa",
3416
+ valueMin: -100.0,
3417
+ valueMax: 100.0,
3418
+ cluster: "msPressureMeasurement",
3419
+ attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3420
+ description: "Adjust second pressure sensor",
3421
+ access: "STATE_SET",
3422
+ }),
3423
+ m.numeric({
3424
+ endpointNames: ["2"],
3425
+ name: "raw_temperature_cal",
3426
+ unit: "raw unit",
3427
+ valueMin: -8192,
3428
+ valueMax: 8192,
3429
+ cluster: "msTemperatureMeasurement",
3430
+ attribute: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3431
+ description: "Adjust second temperature sensor",
3432
+ access: "STATE_SET",
3433
+ }),
3434
+ m.battery({
3435
+ percentage: true,
3436
+ lowStatus: true,
3437
+ voltage: true,
3438
+ percentageReporting: true,
3439
+ voltageReporting: false,
3440
+ percentageReportingConfig: sixReporting,
3441
+ }),
3442
+ m.numeric({
3443
+ name: "uptime",
3444
+ unit: "Hours",
3445
+ cluster: "genTime",
3446
+ attribute: "localTime",
3447
+ description: "Uptime",
3448
+ access: "STATE",
3449
+ }),
3450
+ m.numeric({
3451
+ name: "reading_interval",
3452
+ unit: "sec",
3453
+ valueMin: 10,
3454
+ valueMax: 360,
3455
+ cluster: "genPowerCfg",
3456
+ attribute: { ID: 0x0201, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
3457
+ description: "Setting sensor reading interval in seconds, by default 20 seconds",
3458
+ access: "STATE_SET",
3459
+ }),
3460
+ m.binary({
3461
+ name: "smart_sleep",
3462
+ valueOn: ["ON", 1],
3463
+ valueOff: ["OFF", 0],
3464
+ cluster: "genPowerCfg",
3465
+ attribute: { ID: 0x0216, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3466
+ description: "Enable Smart Sleep, short wakeup every 7 seconds",
3467
+ access: "STATE_SET",
3468
+ }),
3469
+ m.binary({
3470
+ name: "config_report_enable",
3471
+ valueOn: ["ON", 1],
3472
+ valueOff: ["OFF", 0],
3473
+ cluster: "genPowerCfg",
3474
+ attribute: { ID: 0x0275, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3475
+ description: "Enable reporting based on reporting configuration",
3476
+ access: "STATE_SET",
3477
+ }),
3478
+ m.binary({
3479
+ name: "comparison_previous_data",
3480
+ valueOn: ["ON", 1],
3481
+ valueOff: ["OFF", 0],
3482
+ cluster: "genPowerCfg",
3483
+ attribute: { ID: 0x0205, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3484
+ description: "Enable сontrol of comparison with previous data",
3485
+ access: "STATE_SET",
3486
+ }),
3487
+ ],
3488
+ },
3489
+ {
3490
+ zigbeeModel: ["EFEKTA_PST_DUO_V1_LR"],
3491
+ model: "EFEKTA_PST_DUO_V1_LR",
3492
+ vendor: "EFEKTA",
3493
+ description: "Water, gas smart pressure monitor with two sensors and signal amplifier",
3494
+ extend: [
3495
+ m.deviceEndpoints({ endpoints: { "1": 1, "2": 2 } }),
3496
+ m.pressure({
3497
+ endpointNames: ["1"],
3498
+ unit: "kPa",
3499
+ description: "Measured pressure value оf the first sensor in kPa",
3500
+ scale: 10,
3501
+ reporting: threeReporting,
3502
+ access: "STATE",
3503
+ }),
3504
+ m.numeric({
3505
+ endpointNames: ["1"],
3506
+ name: "bar",
3507
+ unit: "bar",
3508
+ cluster: "msPressureMeasurement",
3509
+ attribute: "measuredValue",
3510
+ description: "Measured pressure value оf the first sensor in bar",
3511
+ scale: 1000,
3512
+ precision: 2,
3513
+ access: "STATE",
3514
+ }),
3515
+ m.numeric({
3516
+ endpointNames: ["1"],
3517
+ name: "psi",
3518
+ unit: "psi",
3519
+ cluster: "msPressureMeasurement",
3520
+ attribute: "measuredValue",
3521
+ description: "Measured pressure value оf the first sensor in psi",
3522
+ scale: 68.94757,
3523
+ precision: 2,
3524
+ access: "STATE",
3525
+ }),
3526
+ m.temperature({
3527
+ endpointNames: ["1"],
3528
+ description: "Measured value of the first temperature sensor",
3529
+ reporting: fourReporting,
3530
+ access: "STATE",
3531
+ }),
3532
+ m.numeric({
3533
+ endpointNames: ["1"],
3534
+ name: "pressure_offset",
3535
+ unit: "kPa",
3536
+ valueMin: -100.0,
3537
+ valueMax: 100.0,
3538
+ cluster: "msPressureMeasurement",
3539
+ attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3540
+ description: "Adjust first pressure sensor",
3541
+ access: "STATE_SET",
3542
+ }),
3543
+ m.numeric({
3544
+ endpointNames: ["1"],
3545
+ name: "raw_temperature_cal",
3546
+ unit: "raw unit",
3547
+ valueMin: -8192,
3548
+ valueMax: 8192,
3549
+ cluster: "msTemperatureMeasurement",
3550
+ attribute: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3551
+ description: "Adjust first temperature sensor",
3552
+ access: "STATE_SET",
3553
+ }),
3554
+ m.pressure({
3555
+ endpointNames: ["2"],
3556
+ unit: "kPa",
3557
+ description: "Measured pressure value оf the second sensor in kPa",
3558
+ scale: 10,
3559
+ reporting: threeReporting,
3560
+ access: "STATE",
3561
+ }),
3562
+ m.numeric({
3563
+ endpointNames: ["2"],
3564
+ name: "bar",
3565
+ unit: "bar",
3566
+ cluster: "msPressureMeasurement",
3567
+ attribute: "measuredValue",
3568
+ description: "Measured pressure value оf the second sensor in bar",
3569
+ scale: 1000,
3570
+ precision: 2,
3571
+ access: "STATE",
3572
+ }),
3573
+ m.numeric({
3574
+ endpointNames: ["2"],
3575
+ name: "psi",
3576
+ unit: "psi",
3577
+ cluster: "msPressureMeasurement",
3578
+ attribute: "measuredValue",
3579
+ description: "Measured pressure value оf the second sensor in psi",
3580
+ scale: 68.94757,
3581
+ precision: 2,
3582
+ access: "STATE",
3583
+ }),
3584
+ m.temperature({
3585
+ endpointNames: ["2"],
3586
+ description: "Measured value of the second temperature sensor",
3587
+ reporting: fourReporting,
3588
+ access: "STATE",
3589
+ }),
3590
+ m.numeric({
3591
+ endpointNames: ["2"],
3592
+ name: "pressure_offset",
3593
+ unit: "kPa",
3594
+ valueMin: -100.0,
3595
+ valueMax: 100.0,
3596
+ cluster: "msPressureMeasurement",
3597
+ attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3598
+ description: "Adjust second pressure sensor",
3599
+ access: "STATE_SET",
3600
+ }),
3601
+ m.numeric({
3602
+ endpointNames: ["2"],
3603
+ name: "raw_temperature_calibration",
3604
+ unit: "raw unit",
3605
+ valueMin: -8192,
3606
+ valueMax: 8192,
3607
+ cluster: "msTemperatureMeasurement",
3608
+ attribute: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3609
+ description: "Adjust second temperature sensor",
3610
+ access: "STATE_SET",
3611
+ }),
3612
+ m.battery({
3613
+ percentage: true,
3614
+ lowStatus: true,
3615
+ voltage: true,
3616
+ percentageReporting: true,
3617
+ voltageReporting: false,
3618
+ percentageReportingConfig: sixReporting,
3619
+ }),
3620
+ m.numeric({
3621
+ name: "uptime",
3622
+ unit: "Hours",
3623
+ cluster: "genTime",
3624
+ attribute: "localTime",
3625
+ description: "Uptime",
3626
+ access: "STATE",
3627
+ }),
3628
+ m.numeric({
3629
+ name: "reading_interval",
3630
+ unit: "sec",
3631
+ valueMin: 10,
3632
+ valueMax: 360,
3633
+ cluster: "genPowerCfg",
3634
+ attribute: { ID: 0x0201, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
3635
+ description: "Setting the sensor reading interval in seconds, by default 40 seconds",
3636
+ access: "STATE_SET",
3637
+ }),
3638
+ m.enumLookup({
3639
+ name: "tx_radio_power",
3640
+ lookup: { "4dbm": 4, "19dbm": 19 },
3641
+ cluster: "genPowerCfg",
3642
+ attribute: { ID: 0x0236, type: zigbee_herdsman_1.Zcl.DataType.INT8 },
3643
+ description: "Set TX Radio Power, dbm",
3644
+ access: "STATE_SET",
3645
+ }),
3646
+ m.binary({
3647
+ name: "smart_sleep",
3648
+ valueOn: ["ON", 1],
3649
+ valueOff: ["OFF", 0],
3650
+ cluster: "genPowerCfg",
3651
+ attribute: { ID: 0x0216, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3652
+ description: "Enable Smart Sleep, short wakeup every 7 seconds",
3653
+ access: "STATE_SET",
3654
+ }),
3655
+ m.binary({
3656
+ name: "config_report_enable",
3657
+ valueOn: ["ON", 1],
3658
+ valueOff: ["OFF", 0],
3659
+ cluster: "genPowerCfg",
3660
+ attribute: { ID: 0x0275, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3661
+ description: "Enable reporting based on reporting configuration",
3662
+ access: "STATE_SET",
3663
+ }),
3664
+ m.binary({
3665
+ name: "comparison_previous_data",
3666
+ valueOn: ["ON", 1],
3667
+ valueOff: ["OFF", 0],
3668
+ cluster: "genPowerCfg",
3669
+ attribute: { ID: 0x0205, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3670
+ description: "Enable сontrol of comparison with previous data",
3671
+ access: "STATE_SET",
3672
+ }),
3673
+ ],
3674
+ },
3675
+ {
3676
+ zigbeeModel: ["EFEKTA_PST_POW_DUO_V1_LR"],
3677
+ model: "EFEKTA_PST_POW_DUO_V1_LR",
3678
+ vendor: "EFEKTA",
3679
+ description: "Water, gas smart pressure monitor with two sensors, two power supply",
3680
+ extend: [
3681
+ m.deviceEndpoints({ endpoints: { "1": 1, "2": 2 } }),
3682
+ m.pressure({
3683
+ endpointNames: ["1"],
3684
+ unit: "kPa",
3685
+ description: "Measured pressure value оf the first sensor in kPa",
3686
+ scale: 10,
3687
+ reporting: threeReporting,
3688
+ access: "STATE",
3689
+ }),
3690
+ m.numeric({
3691
+ endpointNames: ["1"],
3692
+ name: "bar",
3693
+ unit: "bar",
3694
+ cluster: "msPressureMeasurement",
3695
+ attribute: "measuredValue",
3696
+ description: "Measured pressure value оf the first sensor in bar",
3697
+ scale: 1000,
3698
+ precision: 2,
3699
+ access: "STATE",
3700
+ }),
3701
+ m.numeric({
3702
+ endpointNames: ["1"],
3703
+ name: "psi",
3704
+ unit: "psi",
3705
+ cluster: "msPressureMeasurement",
3706
+ attribute: "measuredValue",
3707
+ description: "Measured pressure value оf the first sensor in psi",
3708
+ scale: 68.94757,
3709
+ precision: 2,
3710
+ access: "STATE",
3711
+ }),
3712
+ m.temperature({
3713
+ endpointNames: ["1"],
3714
+ description: "Measured value of the first temperature sensor",
3715
+ reporting: fourReporting,
3716
+ access: "STATE",
3717
+ }),
3718
+ m.numeric({
3719
+ endpointNames: ["1"],
3720
+ name: "pressure_offset",
3721
+ unit: "kPa",
3722
+ valueMin: -100.0,
3723
+ valueMax: 100.0,
3724
+ cluster: "msPressureMeasurement",
3725
+ attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3726
+ description: "Adjust first pressure sensor",
3727
+ access: "STATE_SET",
3728
+ }),
3729
+ m.numeric({
3730
+ endpointNames: ["1"],
3731
+ name: "raw_temperature_calibration",
3732
+ unit: "raw unit",
3733
+ valueMin: -8192,
3734
+ valueMax: 8192,
3735
+ cluster: "msTemperatureMeasurement",
3736
+ attribute: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3737
+ description: "Adjust first temperature sensor",
3738
+ access: "STATE_SET",
3739
+ }),
3740
+ m.pressure({
3741
+ endpointNames: ["2"],
3742
+ unit: "kPa",
3743
+ description: "Measured pressure value оf the second sensor in kPa",
3744
+ scale: 10,
3745
+ reporting: threeReporting,
3746
+ access: "STATE",
3747
+ }),
3748
+ m.numeric({
3749
+ endpointNames: ["2"],
3750
+ name: "bar",
3751
+ unit: "bar",
3752
+ cluster: "msPressureMeasurement",
3753
+ attribute: "measuredValue",
3754
+ description: "Measured pressure value оf the second sensor in bar",
3755
+ scale: 1000,
3756
+ precision: 2,
3757
+ access: "STATE",
3758
+ }),
3759
+ m.numeric({
3760
+ endpointNames: ["2"],
3761
+ name: "psi",
3762
+ unit: "psi",
3763
+ cluster: "msPressureMeasurement",
3764
+ attribute: "measuredValue",
3765
+ description: "Measured pressure value оf the second sensor in psi",
3766
+ scale: 68.94757,
3767
+ precision: 2,
3768
+ access: "STATE",
3769
+ }),
3770
+ m.temperature({
3771
+ endpointNames: ["2"],
3772
+ description: "Measured value of the second temperature sensor",
3773
+ reporting: fourReporting,
3774
+ access: "STATE",
3775
+ }),
3776
+ m.numeric({
3777
+ endpointNames: ["2"],
3778
+ name: "pressure_offset",
3779
+ unit: "kPa",
3780
+ valueMin: -100.0,
3781
+ valueMax: 100.0,
3782
+ cluster: "msPressureMeasurement",
3783
+ attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3784
+ description: "Adjust second pressure sensor",
3785
+ access: "STATE_SET",
3786
+ }),
3787
+ m.numeric({
3788
+ endpointNames: ["2"],
3789
+ name: "raw_temperature_calibration",
3790
+ unit: "raw unit",
3791
+ valueMin: -8192,
3792
+ valueMax: 8192,
3793
+ cluster: "msTemperatureMeasurement",
3794
+ attribute: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3795
+ description: "Adjust second temperature sensor",
3796
+ access: "STATE_SET",
3797
+ }),
3798
+ m.numeric({
3799
+ name: "mains_voltage",
3800
+ unit: "V",
3801
+ cluster: "genPowerCfg",
3802
+ attribute: "mainsVoltage",
3803
+ description: "Mains voltage",
3804
+ scale: 10,
3805
+ precision: 1,
3806
+ access: "STATE_GET",
3807
+ }),
3808
+ m.battery({
3809
+ percentage: true,
3810
+ lowStatus: true,
3811
+ voltage: false,
3812
+ percentageReporting: true,
3813
+ percentageReportingConfig: sixReporting,
3814
+ }),
3815
+ m.numeric({
3816
+ name: "uptime",
3817
+ unit: "Hours",
3818
+ cluster: "genTime",
3819
+ attribute: "localTime",
3820
+ description: "Uptime",
3821
+ access: "STATE",
3822
+ }),
3823
+ m.numeric({
3824
+ name: "reading_interval",
3825
+ unit: "sec",
3826
+ valueMin: 10,
3827
+ valueMax: 360,
3828
+ cluster: "genPowerCfg",
3829
+ attribute: { ID: 0x0201, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
3830
+ description: "Setting the sensor reading interval in seconds, by default 10 seconds",
3831
+ access: "STATE_SET",
3832
+ }),
3833
+ m.enumLookup({
3834
+ name: "tx_radio_power",
3835
+ lookup: { "4dbm": 4, "19dbm": 19 },
3836
+ cluster: "genPowerCfg",
3837
+ attribute: { ID: 0x0236, type: zigbee_herdsman_1.Zcl.DataType.INT8 },
3838
+ description: "Set TX Radio Power, dbm",
3839
+ access: "STATE_SET",
3840
+ }),
3841
+ m.binary({
3842
+ name: "smart_sleep",
3843
+ valueOn: ["ON", 1],
3844
+ valueOff: ["OFF", 0],
3845
+ cluster: "genPowerCfg",
3846
+ attribute: { ID: 0x0216, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3847
+ description: "Enable Smart Sleep, short wakeup every 2-7 seconds",
3848
+ access: "STATE_SET",
3849
+ }),
3850
+ m.binary({
3851
+ name: "config_report_enable",
3852
+ valueOn: ["ON", 1],
3853
+ valueOff: ["OFF", 0],
3854
+ cluster: "genPowerCfg",
3855
+ attribute: { ID: 0x0275, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3856
+ description: "Enable reporting based on reporting configuration",
3857
+ access: "STATE_SET",
3858
+ }),
3859
+ m.binary({
3860
+ name: "comparison_previous_data",
3861
+ valueOn: ["ON", 1],
3862
+ valueOff: ["OFF", 0],
3863
+ cluster: "genPowerCfg",
3864
+ attribute: { ID: 0x0205, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3865
+ description: "Enable сontrol of comparison with previous data",
3866
+ access: "STATE_SET",
3867
+ }),
3868
+ ],
3869
+ },
3870
+ {
3871
+ zigbeeModel: ["EFEKTA_PST_POW_DUO_V2_LR"],
3872
+ model: "EFEKTA_PST_POW_DUO_V2_LR",
3873
+ vendor: "EFEKTA",
3874
+ description: "Water, gas smart pressure monitor with two sensors, power supply, V2",
3875
+ extend: [
3876
+ m.deviceEndpoints({ endpoints: { "1": 1, "2": 2 } }),
3877
+ m.pressure({
3878
+ endpointNames: ["1"],
3879
+ unit: "kPa",
3880
+ description: "Measured pressure value оf the first sensor in kPa",
3881
+ scale: 10,
3882
+ reporting: threeReporting,
3883
+ access: "STATE",
3884
+ }),
3885
+ m.numeric({
3886
+ endpointNames: ["1"],
3887
+ name: "bar",
3888
+ unit: "bar",
3889
+ cluster: "msPressureMeasurement",
3890
+ attribute: "measuredValue",
3891
+ description: "Measured pressure value оf the first sensor in bar",
3892
+ scale: 1000,
3893
+ precision: 2,
3894
+ access: "STATE",
3895
+ }),
3896
+ m.numeric({
3897
+ endpointNames: ["1"],
3898
+ name: "psi",
3899
+ unit: "psi",
3900
+ cluster: "msPressureMeasurement",
3901
+ attribute: "measuredValue",
3902
+ description: "Measured pressure value оf the first sensor in psi",
3903
+ scale: 68.94757,
3904
+ precision: 2,
3905
+ access: "STATE",
3906
+ }),
3907
+ m.temperature({
3908
+ endpointNames: ["1"],
3909
+ description: "Measured value of the first temperature sensor",
3910
+ reporting: fourReporting,
3911
+ access: "STATE",
3912
+ }),
3913
+ m.numeric({
3914
+ endpointNames: ["1"],
3915
+ name: "pressure_offset",
3916
+ unit: "kPa",
3917
+ valueMin: -100.0,
3918
+ valueMax: 100.0,
3919
+ cluster: "msPressureMeasurement",
3920
+ attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3921
+ description: "Adjust first pressure sensor",
3922
+ access: "STATE_SET",
3923
+ }),
3924
+ m.numeric({
3925
+ endpointNames: ["1"],
3926
+ name: "raw_temperature_calibration",
3927
+ unit: "raw unit",
3928
+ valueMin: -8192,
3929
+ valueMax: 8192,
3930
+ cluster: "msTemperatureMeasurement",
3931
+ attribute: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3932
+ description: "Adjust first temperature sensor",
3933
+ access: "STATE_SET",
3934
+ }),
3935
+ m.pressure({
3936
+ endpointNames: ["2"],
3937
+ unit: "kPa",
3938
+ description: "Measured pressure value оf the second sensor in kPa",
3939
+ scale: 10,
3940
+ reporting: threeReporting,
3941
+ access: "STATE",
3942
+ }),
3943
+ m.numeric({
3944
+ endpointNames: ["2"],
3945
+ name: "bar",
3946
+ unit: "bar",
3947
+ cluster: "msPressureMeasurement",
3948
+ attribute: "measuredValue",
3949
+ description: "Measured pressure value оf the second sensor in bar",
3950
+ scale: 1000,
3951
+ precision: 2,
3952
+ access: "STATE",
3953
+ }),
3954
+ m.numeric({
3955
+ endpointNames: ["2"],
3956
+ name: "psi",
3957
+ unit: "psi",
3958
+ cluster: "msPressureMeasurement",
3959
+ attribute: "measuredValue",
3960
+ description: "Measured pressure value оf the second sensor in psi",
3961
+ scale: 68.94757,
3962
+ precision: 2,
3963
+ access: "STATE",
3964
+ }),
3965
+ m.temperature({
3966
+ endpointNames: ["2"],
3967
+ description: "Measured value of the second temperature sensor",
3968
+ reporting: fourReporting,
3969
+ access: "STATE",
3970
+ }),
3971
+ m.numeric({
3972
+ endpointNames: ["2"],
3973
+ name: "pressure_offset",
3974
+ unit: "kPa",
3975
+ valueMin: -100.0,
3976
+ valueMax: 100.0,
3977
+ cluster: "msPressureMeasurement",
3978
+ attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3979
+ description: "Adjust second pressure sensor",
3980
+ access: "STATE_SET",
3981
+ }),
3982
+ m.numeric({
3983
+ endpointNames: ["2"],
3984
+ name: "raw_temperature_calibration",
3985
+ unit: "raw unit",
3986
+ valueMin: -8192,
3987
+ valueMax: 8192,
3988
+ cluster: "msTemperatureMeasurement",
3989
+ attribute: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3990
+ description: "Adjust second temperature sensor",
3991
+ access: "STATE_SET",
3992
+ }),
3993
+ m.numeric({
3994
+ name: "mains_voltage",
3995
+ unit: "V",
3996
+ cluster: "genPowerCfg",
3997
+ attribute: "mainsVoltage",
3998
+ description: "Mains voltage",
3999
+ scale: 10,
4000
+ precision: 1,
4001
+ access: "STATE_GET",
4002
+ }),
4003
+ m.battery({
4004
+ percentage: true,
4005
+ lowStatus: true,
4006
+ voltage: false,
4007
+ percentageReporting: true,
4008
+ percentageReportingConfig: sixReporting,
4009
+ }),
4010
+ m.numeric({
4011
+ name: "uptime",
4012
+ unit: "Hours",
4013
+ cluster: "genTime",
4014
+ attribute: "localTime",
4015
+ description: "Uptime",
4016
+ access: "STATE",
4017
+ }),
4018
+ m.numeric({
4019
+ name: "reading_interval",
4020
+ unit: "sec",
4021
+ valueMin: 10,
4022
+ valueMax: 360,
4023
+ cluster: "genPowerCfg",
4024
+ attribute: { ID: 0x0201, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
4025
+ description: "Setting the sensor reading interval in seconds, by default 10 seconds",
4026
+ access: "STATE_SET",
4027
+ }),
4028
+ m.enumLookup({
4029
+ name: "tx_radio_power",
4030
+ lookup: { "4dbm": 4, "19dbm": 19 },
4031
+ cluster: "genPowerCfg",
4032
+ attribute: { ID: 0x0236, type: zigbee_herdsman_1.Zcl.DataType.INT8 },
4033
+ description: "Set TX Radio Power, dbm",
4034
+ access: "STATE_SET",
4035
+ }),
4036
+ m.binary({
4037
+ name: "smart_sleep",
4038
+ valueOn: ["ON", 1],
4039
+ valueOff: ["OFF", 0],
4040
+ cluster: "genPowerCfg",
4041
+ attribute: { ID: 0x0216, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4042
+ description: "Enable Smart Sleep, short wakeup every 2-7 seconds",
4043
+ access: "STATE_SET",
4044
+ }),
4045
+ m.binary({
4046
+ name: "config_report_enable",
4047
+ valueOn: ["ON", 1],
4048
+ valueOff: ["OFF", 0],
4049
+ cluster: "genPowerCfg",
4050
+ attribute: { ID: 0x0275, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4051
+ description: "Enable reporting based on reporting configuration",
4052
+ access: "STATE_SET",
4053
+ }),
4054
+ m.binary({
4055
+ name: "comparison_previous_data",
4056
+ valueOn: ["ON", 1],
4057
+ valueOff: ["OFF", 0],
4058
+ cluster: "genPowerCfg",
4059
+ attribute: { ID: 0x0205, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4060
+ description: "Enable сontrol of comparison with previous data",
4061
+ access: "STATE_SET",
4062
+ }),
4063
+ ],
4064
+ },
4065
+ {
4066
+ zigbeeModel: ["EFEKTA_Smart_AQ_Box_R3"],
4067
+ model: "EFEKTA_Smart_AQ_Box_R3",
4068
+ vendor: "EFEKTA",
4069
+ description: "EFEKTA Smart Air Quality Box, can control the relay, binding on some other devices",
4070
+ extend: [
4071
+ m.numeric({
4072
+ name: "pm1",
4073
+ unit: "µg/m³",
4074
+ cluster: "pm25Measurement",
4075
+ attribute: { ID: 0x0601, type: zigbee_herdsman_1.Zcl.DataType.SINGLE_PREC },
4076
+ description: "Measured PM1.0 (particulate matter) concentration",
4077
+ access: "STATE",
4078
+ reporting: pmReporting,
4079
+ precision: 1,
4080
+ }),
4081
+ m.pm25({
4082
+ reporting: pmReporting,
4083
+ access: "STATE",
4084
+ description: "Measured PM2.5 (particulate matter) concentration",
4085
+ precision: 1,
4086
+ }),
4087
+ m.numeric({
4088
+ name: "pm4",
4089
+ unit: "µg/m³",
4090
+ cluster: "pm25Measurement",
4091
+ attribute: { ID: 0x0605, type: zigbee_herdsman_1.Zcl.DataType.SINGLE_PREC },
4092
+ description: "Measured PM4.0 (particulate matter) concentration",
4093
+ access: "STATE",
4094
+ reporting: pmReporting,
4095
+ precision: 1,
4096
+ }),
4097
+ m.numeric({
4098
+ name: "pm10",
4099
+ unit: "µg/m³",
4100
+ cluster: "pm25Measurement",
4101
+ attribute: { ID: 0x0602, type: zigbee_herdsman_1.Zcl.DataType.SINGLE_PREC },
4102
+ description: "Measured PM10.0 (particulate matter) concentration",
4103
+ access: "STATE",
4104
+ reporting: pmReporting,
4105
+ precision: 1,
4106
+ }),
4107
+ m.numeric({
4108
+ name: "pm_size",
4109
+ unit: "µm",
4110
+ cluster: "pm25Measurement",
4111
+ attribute: { ID: 0x0603, type: zigbee_herdsman_1.Zcl.DataType.SINGLE_PREC },
4112
+ description: "Typical Particle Size",
4113
+ access: "STATE",
4114
+ reporting: pm2Reporting,
4115
+ precision: 2,
4116
+ }),
4117
+ m.numeric({
4118
+ name: "aqi_25_index",
4119
+ unit: "PM2.5 Index",
4120
+ cluster: "pm25Measurement",
4121
+ attribute: { ID: 0x0604, type: zigbee_herdsman_1.Zcl.DataType.SINGLE_PREC },
4122
+ description: "PM 2.5 INDEX",
4123
+ access: "STATE",
4124
+ reporting: pmReporting,
4125
+ }),
4126
+ m.co2({
4127
+ reporting: co2Reporting,
4128
+ access: "STATE",
4129
+ }),
4130
+ m.numeric({
4131
+ name: "voc_index",
4132
+ unit: "VOC Index points",
4133
+ cluster: "genAnalogInput",
4134
+ attribute: "presentValue",
4135
+ description: "VOC index",
4136
+ access: "STATE",
4137
+ reporting: threeReporting,
4138
+ }),
4139
+ m.pressure({
4140
+ reporting: threeReporting,
4141
+ access: "STATE",
4142
+ }),
4143
+ m.temperature({
4144
+ reporting: fourReporting,
4145
+ access: "STATE",
4146
+ }),
4147
+ m.humidity({
4148
+ reporting: fourReporting,
4149
+ access: "STATE",
4150
+ }),
4151
+ m.numeric({
4152
+ name: "reading_delay",
4153
+ unit: "sec",
4154
+ valueMin: 6,
4155
+ valueMax: 600,
4156
+ cluster: "msCO2",
4157
+ attribute: { ID: 0x0201, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
4158
+ description: "Setting the sensor reading delay.",
4159
+ access: "STATE_SET",
4160
+ }),
4161
+ m.binary({
4162
+ name: "alarm",
4163
+ valueOn: ["ON", 1],
4164
+ valueOff: ["OFF", 0],
4165
+ cluster: "msCO2",
4166
+ attribute: { ID: 0x0240, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4167
+ description: "Alarm",
4168
+ access: "STATE_SET",
4169
+ }),
4170
+ m.binary({
4171
+ name: "light_indicator",
4172
+ valueOn: ["ON", 1],
4173
+ valueOff: ["OFF", 0],
4174
+ cluster: "msCO2",
4175
+ attribute: { ID: 0x0211, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4176
+ description: "Enable or Disable light indicator",
4177
+ access: "STATE_SET",
4178
+ }),
4179
+ m.numeric({
4180
+ name: "light_indicator_level",
4181
+ unit: "%",
4182
+ valueMin: 0,
4183
+ valueMax: 100,
4184
+ cluster: "msCO2",
4185
+ attribute: { ID: 0x0209, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
4186
+ description: "Light indicator level",
4187
+ access: "STATE_SET",
4188
+ }),
4189
+ m.numeric({
4190
+ name: "temperature_offset",
4191
+ unit: "°C",
4192
+ valueMin: -50,
4193
+ valueMax: 50,
4194
+ valueStep: 0.1,
4195
+ scale: 10,
4196
+ cluster: "msTemperatureMeasurement",
4197
+ attribute: { ID: 0x0410, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
4198
+ description: "Adjust temperature",
4199
+ access: "STATE_SET",
4200
+ }),
4201
+ m.numeric({
4202
+ name: "humidity_offset",
4203
+ unit: "%",
4204
+ valueMin: -50,
4205
+ valueMax: 50,
4206
+ valueStep: 1,
4207
+ cluster: "msRelativeHumidity",
4208
+ attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
4209
+ description: "Adjust humidity",
4210
+ access: "STATE_SET",
4211
+ }),
4212
+ m.numeric({
4213
+ name: "auto_clean_interval",
4214
+ unit: "day",
4215
+ valueMin: 0,
4216
+ valueMax: 10,
4217
+ valueStep: 1,
4218
+ cluster: "pm25Measurement",
4219
+ attribute: { ID: 0x0330, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
4220
+ description: "Auto clean interval PM2.5 sensor",
4221
+ access: "STATE_SET",
4222
+ }),
4223
+ m.binary({
4224
+ name: "manual_clean",
4225
+ valueOn: ["ON", 1],
4226
+ valueOff: ["OFF", 0],
4227
+ cluster: "pm25Measurement",
4228
+ attribute: { ID: 0x0331, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4229
+ description: "Manual clean PM2.5 sensor",
4230
+ access: "STATE_SET",
4231
+ }),
4232
+ m.binary({
4233
+ name: "forced_recalibration",
4234
+ valueOn: ["ON", 1],
4235
+ valueOff: ["OFF", 0],
4236
+ cluster: "msCO2",
4237
+ attribute: { ID: 0x0202, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4238
+ description: "Start FRC (Perform Forced Recalibration of the CO2 Sensor)",
4239
+ access: "STATE_SET",
4240
+ }),
4241
+ m.numeric({
4242
+ name: "manual_forced_recalibration",
4243
+ unit: "ppm",
4244
+ valueMin: 0,
4245
+ valueMax: 5000,
4246
+ cluster: "msCO2",
4247
+ attribute: { ID: 0x0207, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
4248
+ description: "Start Manual FRC (Perform Forced Recalibration of the CO2 Sensor)",
4249
+ access: "STATE_SET",
4250
+ }),
4251
+ m.binary({
4252
+ name: "automatic_self_calibration",
4253
+ valueOn: ["ON", 1],
4254
+ valueOff: ["OFF", 0],
4255
+ cluster: "msCO2",
4256
+ attribute: { ID: 0x0402, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4257
+ description: "Automatic self calibration",
4258
+ access: "STATE_SET",
4259
+ }),
4260
+ m.binary({
4261
+ name: "factory_reset_co2",
4262
+ valueOn: ["ON", 1],
4263
+ valueOff: ["OFF", 0],
4264
+ cluster: "msCO2",
4265
+ attribute: { ID: 0x0206, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4266
+ description: "Factory Reset CO2 sensor",
4267
+ access: "STATE_SET",
4268
+ }),
4269
+ m.binary({
4270
+ name: "enable_pm25",
4271
+ valueOn: ["ON", 1],
4272
+ valueOff: ["OFF", 0],
4273
+ cluster: "pm25Measurement",
4274
+ attribute: { ID: 0x0220, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4275
+ description: "Enable PM2.5 Control",
4276
+ access: "STATE_SET",
4277
+ }),
4278
+ m.numeric({
4279
+ name: "high_pm25",
4280
+ unit: "µg/m³",
4281
+ valueMin: 0,
4282
+ valueMax: 1000,
4283
+ cluster: "pm25Measurement",
4284
+ attribute: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
4285
+ description: "Setting High PM2.5 Border",
4286
+ access: "STATE_SET",
4287
+ }),
4288
+ m.numeric({
4289
+ name: "low_pm25",
4290
+ unit: "µg/m³",
4291
+ valueMin: 0,
4292
+ valueMax: 1000,
4293
+ cluster: "pm25Measurement",
4294
+ attribute: { ID: 0x0222, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
4295
+ description: "Setting Low PM2.5 Border",
4296
+ access: "STATE_SET",
4297
+ }),
4298
+ m.binary({
4299
+ name: "enable_co2_gas",
4300
+ valueOn: ["ON", 1],
4301
+ valueOff: ["OFF", 0],
4302
+ cluster: "msCO2",
4303
+ attribute: { ID: 0x0220, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4304
+ description: "Enable CO2 Gas Control",
4305
+ access: "STATE_SET",
4306
+ }),
4307
+ m.numeric({
4308
+ name: "high_co2_gas",
4309
+ unit: "ppm",
4310
+ valueMin: 400,
4311
+ valueMax: 5000,
4312
+ cluster: "msCO2",
4313
+ attribute: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4314
+ description: "Setting High CO2 Gas Border",
4315
+ access: "STATE_SET",
4316
+ }),
4317
+ m.numeric({
4318
+ name: "low_co2_gas",
4319
+ unit: "ppm",
4320
+ valueMin: 400,
4321
+ valueMax: 5000,
4322
+ cluster: "msCO2",
4323
+ attribute: { ID: 0x0222, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
4324
+ description: "Setting Low CO2 Gas Border",
4325
+ access: "STATE_SET",
4326
+ }),
4327
+ m.binary({
4328
+ name: "enable_voc",
4329
+ valueOn: ["ON", 1],
4330
+ valueOff: ["OFF", 0],
4331
+ cluster: "genAnalogInput",
4332
+ attribute: { ID: 0x0220, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4333
+ description: "Enable VOC Control",
4334
+ access: "STATE_SET",
4335
+ }),
4336
+ m.numeric({
4337
+ name: "high_voc",
4338
+ unit: "VOC Index points",
4339
+ valueMin: 0,
4340
+ valueMax: 500,
4341
+ cluster: "genAnalogInput",
4342
+ attribute: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
4343
+ description: "Setting High VOC Border",
4344
+ access: "STATE_SET",
4345
+ }),
4346
+ m.numeric({
4347
+ name: "low_voc",
4348
+ unit: "VOC Index points",
4349
+ valueMin: 0,
4350
+ valueMax: 500,
4351
+ cluster: "genAnalogInput",
4352
+ attribute: { ID: 0x0222, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
4353
+ description: "Setting Low VOC Border",
4354
+ access: "STATE_SET",
4355
+ }),
4356
+ ],
4357
+ },
4358
+ {
4359
+ zigbeeModel: ["EFEKTA_iAQ_S_III"],
4360
+ model: "EFEKTA_iAQ_S_III",
4361
+ vendor: "EFEKTA",
4362
+ description: "Air Quality Monitor, CO2, VOC, outdoor temperature and humidity, date and time",
4363
+ extend: [
4364
+ m.co2({
4365
+ reporting: co2Reporting,
4366
+ access: "STATE",
4367
+ }),
4368
+ m.numeric({
4369
+ name: "voc_index",
4370
+ unit: "VOC Index points",
4371
+ cluster: "genAnalogInput",
4372
+ attribute: "presentValue",
4373
+ description: "VOC index",
4374
+ reporting: fiveReporting,
4375
+ access: "STATE",
4376
+ }),
4377
+ m.temperature({
4378
+ reporting: fourReporting,
4379
+ access: "STATE",
4380
+ }),
4381
+ m.humidity({
4382
+ reporting: fourReporting,
4383
+ access: "STATE",
4384
+ }),
4385
+ m.illuminance({
4386
+ reporting: fourReporting,
4387
+ access: "STATE",
4388
+ }),
4389
+ m.binary({
4390
+ name: "auto_brightness",
4391
+ valueOn: ["ON", 1],
4392
+ valueOff: ["OFF", 0],
4393
+ cluster: "msCO2",
4394
+ attribute: { ID: 0x0203, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4395
+ description: "Enable or Disable Auto Brightness of the Display",
4396
+ access: "STATE_SET",
4397
+ }),
4398
+ m.binary({
4399
+ name: "night_onoff_backlight",
4400
+ valueOn: ["ON", 1],
4401
+ valueOff: ["OFF", 0],
4402
+ cluster: "msCO2",
4403
+ attribute: { ID: 0x0401, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4404
+ description: "Complete shutdown of the backlight at night mode",
4405
+ access: "STATE_SET",
4406
+ }),
4407
+ m.numeric({
4408
+ name: "night_on_backlight",
4409
+ unit: "Hr",
4410
+ valueMin: 0,
4411
+ valueMax: 23,
4412
+ cluster: "msCO2",
4413
+ attribute: { ID: 0x0405, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
4414
+ description: "Night mode activation time",
4415
+ access: "STATE_SET",
4416
+ }),
4417
+ m.numeric({
4418
+ name: "night_off_backlight",
4419
+ unit: "Hr",
4420
+ valueMin: 0,
4421
+ valueMax: 23,
4422
+ cluster: "msCO2",
4423
+ attribute: { ID: 0x0406, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
4424
+ description: "Night mode deactivation time",
4425
+ access: "STATE_SET",
4426
+ }),
4427
+ m.enumLookup({
4428
+ name: "long_chart_period",
4429
+ lookup: { "1H": 0, "24H": 1 },
4430
+ cluster: "msCO2",
4431
+ attribute: { ID: 0x0204, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4432
+ description: "The period of plotting the CO2 level(OFF - 1H | ON - 24H)",
4433
+ access: "STATE_SET",
4434
+ }),
4435
+ m.enumLookup({
4436
+ name: "long_chart_period2",
4437
+ lookup: { "1H": 0, "24H": 1 },
4438
+ cluster: "msCO2",
4439
+ attribute: { ID: 0x0404, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4440
+ description: "The period of plotting the VOC Index points(OFF - 1H | ON - 24H)",
4441
+ access: "STATE_SET",
4442
+ }),
4443
+ m.enumLookup({
4444
+ name: "internal_or_external",
4445
+ lookup: { INTERNAL: 1, EXTERNAL: 0 },
4446
+ cluster: "msCO2",
4447
+ attribute: { ID: 0x0288, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4448
+ description: "Display data from internal or external TH sensor",
4449
+ access: "STATE_SET",
4450
+ }),
4451
+ m.numeric({
4452
+ name: "temperature_offset",
4453
+ unit: "°C",
4454
+ valueMin: -50,
4455
+ valueMax: 50,
4456
+ valueStep: 0.1,
4457
+ scale: 10,
4458
+ cluster: "msTemperatureMeasurement",
4459
+ attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
4460
+ description: "Adjust temperature",
4461
+ access: "STATE_SET",
4462
+ }),
4463
+ m.numeric({
4464
+ name: "humidity_offset",
4465
+ unit: "%",
4466
+ valueMin: -50,
4467
+ valueMax: 50,
4468
+ valueStep: 1,
4469
+ cluster: "msRelativeHumidity",
4470
+ attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
4471
+ description: "Adjust humidity",
4472
+ access: "STATE_SET",
4473
+ }),
4474
+ m.numeric({
4475
+ name: "set_altitude",
4476
+ unit: "meters",
4477
+ valueMin: 0,
4478
+ valueMax: 3000,
4479
+ cluster: "msCO2",
4480
+ attribute: { ID: 0x0205, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
4481
+ description: "Setting the altitude above sea level (for high accuracy of the CO2 sensor)",
4482
+ access: "STATE_SET",
4483
+ }),
4484
+ m.binary({
4485
+ name: "automatic_scal",
4486
+ valueOn: ["ON", 1],
4487
+ valueOff: ["OFF", 0],
4488
+ cluster: "msCO2",
4489
+ attribute: { ID: 0x0402, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4490
+ description: "Automatic self calibration",
4491
+ access: "STATE_SET",
4492
+ }),
4493
+ m.binary({
4494
+ name: "forced_recalibration",
4495
+ valueOn: ["ON", 1],
4496
+ valueOff: ["OFF", 0],
4497
+ cluster: "msCO2",
4498
+ attribute: { ID: 0x0202, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4499
+ description: "Start FRC (Perform Forced Recalibration of the CO2 Sensor)",
4500
+ access: "STATE_SET",
4501
+ }),
4502
+ m.binary({
4503
+ name: "factory_reset_co2",
4504
+ valueOn: ["ON", 1],
4505
+ valueOff: ["OFF", 0],
4506
+ cluster: "msCO2",
4507
+ attribute: { ID: 0x0206, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4508
+ description: "Factory Reset CO2 sensor",
4509
+ access: "STATE_SET",
4510
+ }),
4511
+ m.numeric({
4512
+ name: "manual_forced_recalibration",
4513
+ unit: "ppm",
4514
+ valueMin: 0,
4515
+ valueMax: 5000,
4516
+ cluster: "msCO2",
4517
+ attribute: { ID: 0x0207, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
4518
+ description: "Start Manual FRC (Perform Forced Recalibration of the CO2 Sensor)",
4519
+ access: "STATE_SET",
4520
+ }),
4521
+ m.binary({
4522
+ name: "enable_co2",
4523
+ valueOn: ["ON", 1],
4524
+ valueOff: ["OFF", 0],
4525
+ cluster: "msCO2",
4526
+ attribute: { ID: 0x0220, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4527
+ description: "Enable CO2 Gas Control",
4528
+ access: "STATE_SET",
4529
+ }),
4530
+ m.binary({
4531
+ name: "invert_logic_co2",
4532
+ valueOn: ["ON", 1],
4533
+ valueOff: ["OFF", 0],
4534
+ cluster: "msCO2",
4535
+ attribute: { ID: 0x0225, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4536
+ description: "Enable invert logic CO2 Gas Control",
4537
+ access: "STATE_SET",
4538
+ }),
4539
+ m.numeric({
4540
+ name: "high_co2",
4541
+ unit: "ppm",
4542
+ valueMin: 400,
4543
+ valueMax: 5000,
4544
+ cluster: "msCO2",
4545
+ attribute: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
4546
+ description: "Setting High CO2 Gas Border",
4547
+ access: "STATE_SET",
4548
+ }),
4549
+ m.numeric({
4550
+ name: "low_co2",
4551
+ unit: "ppm",
4552
+ valueMin: 400,
4553
+ valueMax: 5000,
4554
+ cluster: "msCO2",
4555
+ attribute: { ID: 0x0222, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
4556
+ description: "Setting Low CO2 Gas Border",
4557
+ access: "STATE_SET",
4558
+ }),
4559
+ m.binary({
4560
+ name: "enable_voc",
4561
+ valueOn: ["ON", 1],
4562
+ valueOff: ["OFF", 0],
4563
+ cluster: "genAnalogInput",
4564
+ attribute: { ID: 0x0220, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4565
+ description: "Enable CO2 Gas Control",
4566
+ access: "STATE_SET",
4567
+ }),
4568
+ m.binary({
4569
+ name: "invert_logic_voc",
4570
+ valueOn: ["ON", 1],
4571
+ valueOff: ["OFF", 0],
4572
+ cluster: "genAnalogInput",
4573
+ attribute: { ID: 0x0225, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4574
+ description: "Enable invert logic CO2 Gas Control",
4575
+ access: "STATE_SET",
4576
+ }),
4577
+ m.numeric({
4578
+ name: "high_voc",
4579
+ unit: "ppm",
4580
+ valueMin: 0,
4581
+ valueMax: 500,
4582
+ cluster: "genAnalogInput",
4583
+ attribute: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
4584
+ description: "Setting High CO2 Gas Border",
4585
+ access: "STATE_SET",
4586
+ }),
4587
+ m.numeric({
4588
+ name: "low_voc",
4589
+ unit: "ppm",
4590
+ valueMin: 0,
4591
+ valueMax: 500,
4592
+ cluster: "genAnalogInput",
4593
+ attribute: { ID: 0x0222, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
4594
+ description: "Setting Low CO2 Gas Border",
4595
+ access: "STATE_SET",
4596
+ }),
4597
+ ],
4598
+ },
4599
+ {
4600
+ zigbeeModel: ["EFEKTA_iAQ_S_II"],
4601
+ model: "EFEKTA_iAQ_S_II",
3145
4602
  vendor: "EFEKTA",
3146
- description: "EFEKTA Smart Air Quality Box, can control the relay, binding on some other devices",
4603
+ description: "CO2 and atmospheric pressure мonitor with TFT Display, outdoor temperature and humidity",
3147
4604
  extend: [
3148
- m.numeric({
3149
- name: "pm1",
3150
- unit: "µg/m³",
3151
- cluster: "pm25Measurement",
3152
- attribute: { ID: 0x0601, type: zigbee_herdsman_1.Zcl.DataType.SINGLE_PREC },
3153
- description: "Measured PM1.0 (particulate matter) concentration",
3154
- access: "STATE",
3155
- reporting: pmReporting,
3156
- precision: 1,
3157
- }),
3158
- m.pm25({
3159
- reporting: pmReporting,
3160
- access: "STATE",
3161
- description: "Measured PM2.5 (particulate matter) concentration",
3162
- precision: 1,
3163
- }),
3164
- m.numeric({
3165
- name: "pm4",
3166
- unit: "µg/m³",
3167
- cluster: "pm25Measurement",
3168
- attribute: { ID: 0x0605, type: zigbee_herdsman_1.Zcl.DataType.SINGLE_PREC },
3169
- description: "Measured PM4.0 (particulate matter) concentration",
3170
- access: "STATE",
3171
- reporting: pmReporting,
3172
- precision: 1,
3173
- }),
3174
- m.numeric({
3175
- name: "pm10",
3176
- unit: "µg/m³",
3177
- cluster: "pm25Measurement",
3178
- attribute: { ID: 0x0602, type: zigbee_herdsman_1.Zcl.DataType.SINGLE_PREC },
3179
- description: "Measured PM10.0 (particulate matter) concentration",
3180
- access: "STATE",
3181
- reporting: pmReporting,
3182
- precision: 1,
3183
- }),
3184
- m.numeric({
3185
- name: "pm_size",
3186
- unit: "µm",
3187
- cluster: "pm25Measurement",
3188
- attribute: { ID: 0x0603, type: zigbee_herdsman_1.Zcl.DataType.SINGLE_PREC },
3189
- description: "Typical Particle Size",
3190
- access: "STATE",
3191
- reporting: pm2Reporting,
3192
- precision: 2,
3193
- }),
3194
- m.numeric({
3195
- name: "aqi_25_index",
3196
- unit: "PM2.5 Index",
3197
- cluster: "pm25Measurement",
3198
- attribute: { ID: 0x0604, type: zigbee_herdsman_1.Zcl.DataType.SINGLE_PREC },
3199
- description: "PM 2.5 INDEX",
3200
- access: "STATE",
3201
- reporting: pmReporting,
3202
- }),
4605
+ m.deviceEndpoints({ endpoints: { "1": 1, "2": 2 } }),
3203
4606
  m.co2({
3204
4607
  reporting: co2Reporting,
3205
4608
  access: "STATE",
3206
4609
  }),
3207
- m.numeric({
3208
- name: "voc_index",
3209
- unit: "VOC Index points",
3210
- cluster: "genAnalogInput",
3211
- attribute: "presentValue",
3212
- description: "VOC index",
4610
+ m.temperature({
4611
+ endpointNames: ["1"],
4612
+ description: "Measured value of the built-in temperature sensor",
4613
+ reporting: fourReporting,
3213
4614
  access: "STATE",
3214
- reporting: threeReporting,
3215
4615
  }),
3216
- m.pressure({
3217
- reporting: threeReporting,
4616
+ m.temperature({
4617
+ endpointNames: ["2"],
4618
+ description: "Measured value of the external temperature sensor",
4619
+ reporting: fourReporting,
3218
4620
  access: "STATE",
3219
4621
  }),
3220
- m.temperature({
4622
+ m.humidity({
4623
+ endpointNames: ["1"],
4624
+ description: "Measured value of the built-in humidity sensor",
3221
4625
  reporting: fourReporting,
3222
4626
  access: "STATE",
3223
4627
  }),
3224
4628
  m.humidity({
4629
+ endpointNames: ["2"],
4630
+ description: "Measured value of the external humidity sensor",
3225
4631
  reporting: fourReporting,
3226
4632
  access: "STATE",
3227
4633
  }),
3228
- m.numeric({
3229
- name: "reading_delay",
3230
- unit: "sec",
3231
- valueMin: 6,
3232
- valueMax: 600,
3233
- cluster: "msCO2",
3234
- attribute: { ID: 0x0201, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
3235
- description: "Setting the sensor reading delay.",
3236
- access: "STATE_SET",
4634
+ m.pressure({
4635
+ reporting: threeReporting,
4636
+ access: "STATE",
4637
+ }),
4638
+ m.illuminance({
4639
+ reporting: defaultReporting,
4640
+ access: "STATE",
3237
4641
  }),
3238
4642
  m.binary({
3239
- name: "alarm",
4643
+ name: "auto_brightness",
3240
4644
  valueOn: ["ON", 1],
3241
4645
  valueOff: ["OFF", 0],
3242
4646
  cluster: "msCO2",
3243
- attribute: { ID: 0x0240, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3244
- description: "Alarm",
4647
+ attribute: { ID: 0x0203, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4648
+ description: "Enable or Disable Auto Brightness of the Display",
3245
4649
  access: "STATE_SET",
3246
4650
  }),
3247
4651
  m.binary({
3248
- name: "light_indicator",
4652
+ name: "night_onoff_backlight",
3249
4653
  valueOn: ["ON", 1],
3250
4654
  valueOff: ["OFF", 0],
3251
4655
  cluster: "msCO2",
3252
- attribute: { ID: 0x0211, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3253
- description: "Enable or Disable light indicator",
4656
+ attribute: { ID: 0x0401, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4657
+ description: "Complete shutdown of the backlight at night mode",
3254
4658
  access: "STATE_SET",
3255
4659
  }),
3256
4660
  m.numeric({
3257
- name: "light_indicator_level",
3258
- unit: "%",
4661
+ name: "night_on_backlight",
4662
+ unit: "Hr",
3259
4663
  valueMin: 0,
3260
- valueMax: 100,
4664
+ valueMax: 23,
3261
4665
  cluster: "msCO2",
3262
- attribute: { ID: 0x0209, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
3263
- description: "Light indicator level",
4666
+ attribute: { ID: 0x0402, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
4667
+ description: "Night mode activation time",
4668
+ access: "STATE_SET",
4669
+ }),
4670
+ m.numeric({
4671
+ name: "night_off_backlight",
4672
+ unit: "Hr",
4673
+ valueMin: 0,
4674
+ valueMax: 23,
4675
+ cluster: "msCO2",
4676
+ attribute: { ID: 0x0403, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
4677
+ description: "Night mode deactivation time",
4678
+ access: "STATE_SET",
4679
+ }),
4680
+ m.enumLookup({
4681
+ name: "long_chart_period",
4682
+ lookup: { "1H": 0, "24H": 1 },
4683
+ cluster: "msCO2",
4684
+ attribute: { ID: 0x0204, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4685
+ description: "The period of plotting the CO2 level(OFF - 1H | ON - 24H)",
4686
+ access: "STATE_SET",
4687
+ }),
4688
+ m.enumLookup({
4689
+ name: "long_chart_period2",
4690
+ lookup: { "1H": 0, "24H": 1 },
4691
+ cluster: "msCO2",
4692
+ attribute: { ID: 0x0244, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4693
+ description: "The period of plotting the рressure level(OFF - 1H | ON - 24H)",
3264
4694
  access: "STATE_SET",
3265
4695
  }),
3266
4696
  m.numeric({
@@ -3271,7 +4701,7 @@ exports.definitions = [
3271
4701
  valueStep: 0.1,
3272
4702
  scale: 10,
3273
4703
  cluster: "msTemperatureMeasurement",
3274
- attribute: { ID: 0x0410, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
4704
+ attribute: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
3275
4705
  description: "Adjust temperature",
3276
4706
  access: "STATE_SET",
3277
4707
  }),
@@ -3286,33 +4716,22 @@ exports.definitions = [
3286
4716
  description: "Adjust humidity",
3287
4717
  access: "STATE_SET",
3288
4718
  }),
3289
- m.numeric({
3290
- name: "auto_clean_interval",
3291
- unit: "day",
3292
- valueMin: 0,
3293
- valueMax: 10,
3294
- valueStep: 1,
3295
- cluster: "pm25Measurement",
3296
- attribute: { ID: 0x0330, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
3297
- description: "Auto clean interval PM2.5 sensor",
3298
- access: "STATE_SET",
3299
- }),
3300
4719
  m.binary({
3301
- name: "manual_clean",
4720
+ name: "forced_recalibration",
3302
4721
  valueOn: ["ON", 1],
3303
4722
  valueOff: ["OFF", 0],
3304
- cluster: "pm25Measurement",
3305
- attribute: { ID: 0x0331, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3306
- description: "Manual clean PM2.5 sensor",
4723
+ cluster: "msCO2",
4724
+ attribute: { ID: 0x0202, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4725
+ description: "Start FRC (Perform Forced Recalibration of the CO2 Sensor)",
3307
4726
  access: "STATE_SET",
3308
4727
  }),
3309
4728
  m.binary({
3310
- name: "forced_recalibration",
4729
+ name: "factory_reset_co2",
3311
4730
  valueOn: ["ON", 1],
3312
4731
  valueOff: ["OFF", 0],
3313
4732
  cluster: "msCO2",
3314
- attribute: { ID: 0x0202, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3315
- description: "Start FRC (Perform Forced Recalibration of the CO2 Sensor)",
4733
+ attribute: { ID: 0x0206, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4734
+ description: "Factory Reset CO2 sensor",
3316
4735
  access: "STATE_SET",
3317
4736
  }),
3318
4737
  m.numeric({
@@ -3326,73 +4745,35 @@ exports.definitions = [
3326
4745
  access: "STATE_SET",
3327
4746
  }),
3328
4747
  m.binary({
3329
- name: "automatic_self_calibration",
3330
- valueOn: ["ON", 1],
3331
- valueOff: ["OFF", 0],
3332
- cluster: "msCO2",
3333
- attribute: { ID: 0x0402, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3334
- description: "Automatic self calibration",
3335
- access: "STATE_SET",
3336
- }),
3337
- m.binary({
3338
- name: "factory_reset_co2",
4748
+ name: "enable_gas",
3339
4749
  valueOn: ["ON", 1],
3340
4750
  valueOff: ["OFF", 0],
3341
4751
  cluster: "msCO2",
3342
- attribute: { ID: 0x0206, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3343
- description: "Factory Reset CO2 sensor",
3344
- access: "STATE_SET",
3345
- }),
3346
- m.binary({
3347
- name: "enable_pm25",
3348
- valueOn: ["ON", 1],
3349
- valueOff: ["OFF", 0],
3350
- cluster: "pm25Measurement",
3351
4752
  attribute: { ID: 0x0220, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3352
- description: "Enable PM2.5 Control",
3353
- access: "STATE_SET",
3354
- }),
3355
- m.numeric({
3356
- name: "high_pm25",
3357
- unit: "µg/m³",
3358
- valueMin: 0,
3359
- valueMax: 1000,
3360
- cluster: "pm25Measurement",
3361
- attribute: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
3362
- description: "Setting High PM2.5 Border",
3363
- access: "STATE_SET",
3364
- }),
3365
- m.numeric({
3366
- name: "low_pm25",
3367
- unit: "µg/m³",
3368
- valueMin: 0,
3369
- valueMax: 1000,
3370
- cluster: "pm25Measurement",
3371
- attribute: { ID: 0x0222, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
3372
- description: "Setting Low PM2.5 Border",
4753
+ description: "Enable CO2 Gas Control",
3373
4754
  access: "STATE_SET",
3374
4755
  }),
3375
4756
  m.binary({
3376
- name: "enable_co2_gas",
4757
+ name: "invert_logic_gas",
3377
4758
  valueOn: ["ON", 1],
3378
4759
  valueOff: ["OFF", 0],
3379
4760
  cluster: "msCO2",
3380
- attribute: { ID: 0x0220, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3381
- description: "Enable CO2 Gas Control",
4761
+ attribute: { ID: 0x0225, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4762
+ description: "Enable invert logic CO2 Gas Control",
3382
4763
  access: "STATE_SET",
3383
4764
  }),
3384
4765
  m.numeric({
3385
- name: "high_co2_gas",
4766
+ name: "high_gas",
3386
4767
  unit: "ppm",
3387
4768
  valueMin: 400,
3388
4769
  valueMax: 5000,
3389
4770
  cluster: "msCO2",
3390
- attribute: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
4771
+ attribute: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
3391
4772
  description: "Setting High CO2 Gas Border",
3392
4773
  access: "STATE_SET",
3393
4774
  }),
3394
4775
  m.numeric({
3395
- name: "low_co2_gas",
4776
+ name: "low_gas",
3396
4777
  unit: "ppm",
3397
4778
  valueMin: 400,
3398
4779
  valueMax: 5000,
@@ -3401,35 +4782,6 @@ exports.definitions = [
3401
4782
  description: "Setting Low CO2 Gas Border",
3402
4783
  access: "STATE_SET",
3403
4784
  }),
3404
- m.binary({
3405
- name: "enable_voc",
3406
- valueOn: ["ON", 1],
3407
- valueOff: ["OFF", 0],
3408
- cluster: "genAnalogInput",
3409
- attribute: { ID: 0x0220, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
3410
- description: "Enable VOC Control",
3411
- access: "STATE_SET",
3412
- }),
3413
- m.numeric({
3414
- name: "high_voc",
3415
- unit: "VOC Index points",
3416
- valueMin: 0,
3417
- valueMax: 500,
3418
- cluster: "genAnalogInput",
3419
- attribute: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
3420
- description: "Setting High VOC Border",
3421
- access: "STATE_SET",
3422
- }),
3423
- m.numeric({
3424
- name: "low_voc",
3425
- unit: "VOC Index points",
3426
- valueMin: 0,
3427
- valueMax: 500,
3428
- cluster: "genAnalogInput",
3429
- attribute: { ID: 0x0222, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
3430
- description: "Setting Low VOC Border",
3431
- access: "STATE_SET",
3432
- }),
3433
4785
  ],
3434
4786
  },
3435
4787
  ];