zigbee-herdsman-converters 19.36.1 → 19.37.1

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## [19.37.1](https://github.com/Koenkk/zigbee-herdsman-converters/compare/v19.37.0...v19.37.1) (2024-05-08)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Fix Backlight for TuYa TS0013 ([#7497](https://github.com/Koenkk/zigbee-herdsman-converters/issues/7497)) ([085aebc](https://github.com/Koenkk/zigbee-herdsman-converters/commit/085aebc008c0bfa76b4e3bb3d3c8a1e31cbcbe01))
9
+
10
+ ## [19.37.0](https://github.com/Koenkk/zigbee-herdsman-converters/compare/v19.36.1...v19.37.0) (2024-05-07)
11
+
12
+
13
+ ### Features
14
+
15
+ * Improve support for Bosch BTH-RM230Z & BTH-RM ([#7490](https://github.com/Koenkk/zigbee-herdsman-converters/issues/7490)) ([5aa38e9](https://github.com/Koenkk/zigbee-herdsman-converters/commit/5aa38e9c87f0bd30a8c60bc354bac80770122e01))
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * Fix configure failing and no lock/unlock action for Yale YAYRD256HA2619 https://github.com/Koenkk/zigbee-herdsman-converters/pull/7330 ([597b7d3](https://github.com/Koenkk/zigbee-herdsman-converters/commit/597b7d3e716e3bec81b77b3f3115b88da84502cf))
21
+ * Fix IKEA E2001/E2002 configure https://github.com/Koenkk/zigbee2mqtt/issues/22458 ([ec20f70](https://github.com/Koenkk/zigbee-herdsman-converters/commit/ec20f700bd3b372cc9c249d44db5e2767992df88))
22
+ * Fix Iluminize 511.10 not detected as supported https://github.com/Koenkk/zigbee2mqtt/issues/22468 ([4a02de0](https://github.com/Koenkk/zigbee-herdsman-converters/commit/4a02de087d2a5271ad63d8def0cf1da38fb52f45))
23
+ * Rename `TONGOU` -> `Tongou` https://github.com/Koenkk/zigbee2mqtt.io/pull/2742 ([9668d36](https://github.com/Koenkk/zigbee-herdsman-converters/commit/9668d36dff60a721c66110dc85236e0d4184b211))
24
+
3
25
  ## [19.36.1](https://github.com/Koenkk/zigbee-herdsman-converters/compare/v19.36.0...v19.36.1) (2024-05-06)
4
26
 
5
27
 
@@ -1 +1 @@
1
- {"version":3,"file":"bosch.d.ts","sourceRoot":"","sources":["../src/devices/bosch.ts"],"names":[],"mappings":"AAaA,OAAO,EAAS,UAAU,EAAW,MAAM,cAAc,CAAC;AAs8B1D,QAAA,MAAM,WAAW,EAAE,UAAU,EA6uB5B,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"bosch.d.ts","sourceRoot":"","sources":["../src/devices/bosch.ts"],"names":[],"mappings":"AAaA,OAAO,EAAS,UAAU,EAAW,MAAM,cAAc,CAAC;AAs8B1D,QAAA,MAAM,WAAW,EAAE,UAAU,EAs4B5B,CAAC;AAEF,eAAe,WAAW,CAAC"}
package/devices/bosch.js CHANGED
@@ -1237,57 +1237,168 @@ const definitions = [
1237
1237
  model: 'BTH-RM',
1238
1238
  vendor: 'Bosch',
1239
1239
  description: 'Room thermostat II (Battery model)',
1240
- fromZigbee: [fromZigbee_1.default.humidity, fromZigbee_1.default.thermostat, fromZigbee_1.default.battery, fzLocal.bosch_thermostat, fzLocal.bosch_userInterface],
1241
- toZigbee: [toZigbee_1.default.thermostat_occupied_heating_setpoint, toZigbee_1.default.thermostat_local_temperature_calibration,
1242
- toZigbee_1.default.thermostat_local_temperature, toZigbee_1.default.thermostat_keypad_lockout, toZigbee_1.default.thermostat_running_state,
1243
- tzLocal.bosch_thermostat, tzLocal.bosch_userInterface],
1240
+ meta: { battery: { voltageToPercentage: { min: 4400, max: 6400 } } },
1244
1241
  exposes: [
1245
1242
  e.climate()
1246
1243
  .withLocalTemperature()
1247
1244
  .withSetpoint('occupied_heating_setpoint', 5, 30, 0.5)
1245
+ .withSetpoint('occupied_cooling_setpoint', 5, 30, 0.5)
1248
1246
  .withLocalTemperatureCalibration(-12, 12, 0.5)
1249
- .withSystemMode(['off', 'heat', 'auto'])
1250
- .withRunningState(['idle', 'heat'], ea.STATE_GET),
1247
+ .withSystemMode(['off', 'heat', 'cool'])
1248
+ .withRunningState(['idle', 'heat', 'cool']),
1251
1249
  e.humidity(),
1252
- e.binary('boost', ea.ALL, 'ON', 'OFF').withDescription('Activate Boost heating'),
1253
- e.binary('window_detection', ea.ALL, 'ON', 'OFF').withDescription('Window open'),
1254
- e.child_lock().setAccess('state', ea.ALL),
1255
- e.numeric('display_ontime', ea.ALL).withValueMin(5).withValueMax(30).withDescription('Specifies the display On-time'),
1256
- e.numeric('display_brightness', ea.ALL).withValueMin(0).withValueMax(10).withDescription('Specifies the brightness value of the display'),
1257
- e.battery_low(), e.battery_voltage(),
1250
+ e.battery(),
1251
+ e.battery_low(),
1252
+ e.battery_voltage(),
1253
+ ],
1254
+ fromZigbee: [
1255
+ fromZigbee_1.default.battery,
1256
+ fromZigbee_1.default.humidity,
1257
+ fromZigbee_1.default.thermostat,
1258
+ fromZigbee_1.default.hvac_user_interface,
1259
+ ],
1260
+ toZigbee: [
1261
+ toZigbee_1.default.thermostat_system_mode,
1262
+ toZigbee_1.default.thermostat_running_state,
1263
+ toZigbee_1.default.thermostat_occupied_heating_setpoint,
1264
+ toZigbee_1.default.thermostat_occupied_cooling_setpoint,
1265
+ toZigbee_1.default.thermostat_programming_operation_mode, // NOTE: Only 0x0 & 0x1 supported
1266
+ toZigbee_1.default.thermostat_local_temperature_calibration,
1267
+ toZigbee_1.default.thermostat_local_temperature,
1268
+ toZigbee_1.default.thermostat_temperature_setpoint_hold,
1269
+ toZigbee_1.default.thermostat_temperature_display_mode,
1270
+ ],
1271
+ extend: [
1272
+ (0, modernExtend_1.deviceAddCustomCluster)('hvacThermostat', {
1273
+ ID: 0x201,
1274
+ attributes: {
1275
+ operatingMode: {
1276
+ ID: 0x4007,
1277
+ type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
1278
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
1279
+ },
1280
+ windowDetection: {
1281
+ ID: 0x4042,
1282
+ type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
1283
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
1284
+ },
1285
+ boostHeating: {
1286
+ ID: 0x4043,
1287
+ type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
1288
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
1289
+ },
1290
+ },
1291
+ commands: {},
1292
+ commandsResponse: {},
1293
+ }),
1294
+ (0, modernExtend_1.deviceAddCustomCluster)('hvacUserInterfaceCfg', {
1295
+ ID: 0x204,
1296
+ attributes: {
1297
+ displayOntime: {
1298
+ ID: 0x403a,
1299
+ type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
1300
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
1301
+ },
1302
+ displayBrightness: {
1303
+ ID: 0x403b,
1304
+ type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
1305
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
1306
+ },
1307
+ },
1308
+ commands: {},
1309
+ commandsResponse: {},
1310
+ }),
1311
+ (0, modernExtend_1.enumLookup)({
1312
+ name: 'operating_mode',
1313
+ cluster: 'hvacThermostat',
1314
+ attribute: 'operatingMode',
1315
+ description: 'Sets Bosch-specific operating mode (overrides system mode)',
1316
+ lookup: { 'schedule': 0, 'manual': 1, 'pause': 5 },
1317
+ zigbeeCommandOptions: { manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH },
1318
+ }),
1319
+ (0, modernExtend_1.binary)({
1320
+ name: 'window_detection',
1321
+ cluster: 'hvacThermostat',
1322
+ attribute: 'windowDetection',
1323
+ description: 'Enable/disable window open (Lo.) mode',
1324
+ valueOn: ['ON', 0x01],
1325
+ valueOff: ['OFF', 0x00],
1326
+ zigbeeCommandOptions: { manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH },
1327
+ }),
1328
+ (0, modernExtend_1.binary)({
1329
+ name: 'boost_heating',
1330
+ cluster: 'hvacThermostat',
1331
+ attribute: 'boostHeating',
1332
+ description: 'Activate boost heating (5 min.)',
1333
+ valueOn: ['ON', 0x01],
1334
+ valueOff: ['OFF', 0x00],
1335
+ zigbeeCommandOptions: { manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH },
1336
+ }),
1337
+ (0, modernExtend_1.binary)({
1338
+ name: 'child_lock',
1339
+ cluster: 'hvacUserInterfaceCfg',
1340
+ attribute: 'keypadLockout',
1341
+ description: 'Enables/disables physical input on the device',
1342
+ valueOn: ['LOCK', 0x01],
1343
+ valueOff: ['UNLOCK', 0x00],
1344
+ }),
1345
+ (0, modernExtend_1.numeric)({
1346
+ name: 'display_ontime',
1347
+ cluster: 'hvacUserInterfaceCfg',
1348
+ attribute: 'displayOntime',
1349
+ description: 'Sets the display on-time',
1350
+ valueMin: 5,
1351
+ valueMax: 30,
1352
+ unit: 's',
1353
+ zigbeeCommandOptions: { manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH },
1354
+ }),
1355
+ (0, modernExtend_1.numeric)({
1356
+ name: 'display_brightness',
1357
+ cluster: 'hvacUserInterfaceCfg',
1358
+ attribute: 'displayBrightness',
1359
+ description: 'Sets brightness of the display',
1360
+ valueMin: 0,
1361
+ valueMax: 10,
1362
+ zigbeeCommandOptions: { manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH },
1363
+ }),
1258
1364
  ],
1259
1365
  configure: async (device, coordinatorEndpoint) => {
1260
1366
  const endpoint = device.getEndpoint(1);
1261
- await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg', 'hvacThermostat', 'hvacUserInterfaceCfg', 'msRelativeHumidity']);
1262
- await reporting.thermostatOccupiedHeatingSetpoint(endpoint);
1263
- await reporting.thermostatKeypadLockMode(endpoint);
1264
- await reporting.thermostatTemperature(endpoint);
1367
+ await reporting.bind(endpoint, coordinatorEndpoint, [
1368
+ 'genPollCtrl', 'genPowerCfg', 'msRelativeHumidity', 'hvacThermostat', 'hvacUserInterfaceCfg',
1369
+ ]);
1265
1370
  await reporting.humidity(endpoint);
1266
- // report operating_mode (system_mode)
1267
- await endpoint.configureReporting('hvacThermostat', [{
1268
- attribute: { ID: 0x4007, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1269
- minimumReportInterval: 0,
1270
- maximumReportInterval: constants.repInterval.HOUR,
1271
- reportableChange: 1,
1272
- }], manufacturerOptions);
1273
- // report window_detection
1371
+ await reporting.batteryVoltage(endpoint);
1372
+ await reporting.thermostatSystemMode(endpoint);
1373
+ await reporting.thermostatRunningState(endpoint);
1374
+ await reporting.thermostatTemperature(endpoint);
1375
+ await reporting.thermostatOccupiedHeatingSetpoint(endpoint, {
1376
+ min: constants.repInterval.SECONDS_10,
1377
+ max: constants.repInterval.HOUR,
1378
+ change: 50,
1379
+ });
1380
+ await reporting.thermostatOccupiedCoolingSetpoint(endpoint, {
1381
+ min: constants.repInterval.SECONDS_10,
1382
+ max: constants.repInterval.HOUR,
1383
+ change: 50,
1384
+ });
1385
+ await reporting.thermostatKeypadLockMode(endpoint);
1274
1386
  await endpoint.configureReporting('hvacThermostat', [{
1275
- attribute: { ID: 0x4042, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1276
- minimumReportInterval: 0,
1387
+ attribute: 'operatingMode',
1388
+ minimumReportInterval: constants.repInterval.SECONDS_10,
1277
1389
  maximumReportInterval: constants.repInterval.HOUR,
1278
- reportableChange: 1,
1390
+ reportableChange: null,
1279
1391
  }], manufacturerOptions);
1280
- // report boost as it's disabled by thermostat after 5 minutes
1281
1392
  await endpoint.configureReporting('hvacThermostat', [{
1282
- attribute: { ID: 0x4043, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1283
- minimumReportInterval: 0,
1393
+ attribute: 'boostHeating',
1394
+ minimumReportInterval: constants.repInterval.SECONDS_10,
1284
1395
  maximumReportInterval: constants.repInterval.HOUR,
1285
- reportableChange: 1,
1396
+ reportableChange: null,
1286
1397
  }], manufacturerOptions);
1287
1398
  await endpoint.read('hvacThermostat', ['localTemperatureCalibration']);
1288
- await endpoint.read('hvacThermostat', [0x4007, 0x4042, 0x4043], manufacturerOptions);
1399
+ await endpoint.read('hvacThermostat', ['operatingMode', 'windowDetection', 'boostHeating'], manufacturerOptions);
1289
1400
  await endpoint.read('hvacUserInterfaceCfg', ['keypadLockout']);
1290
- await endpoint.read('hvacUserInterfaceCfg', [0x403a, 0x403b], manufacturerOptions);
1401
+ await endpoint.read('hvacUserInterfaceCfg', ['displayOntime', 'displayBrightness'], manufacturerOptions);
1291
1402
  },
1292
1403
  },
1293
1404
  {
@@ -1325,9 +1436,21 @@ const definitions = [
1325
1436
  (0, modernExtend_1.deviceAddCustomCluster)('hvacThermostat', {
1326
1437
  ID: 0x201,
1327
1438
  attributes: {
1328
- operatingMode: { ID: 0x4007, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1329
- windowDetection: { ID: 0x4042, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1330
- boostMode: { ID: 0x4043, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1439
+ operatingMode: {
1440
+ ID: 0x4007,
1441
+ type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
1442
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
1443
+ },
1444
+ windowDetection: {
1445
+ ID: 0x4042,
1446
+ type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
1447
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
1448
+ },
1449
+ boostHeating: {
1450
+ ID: 0x4043,
1451
+ type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
1452
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
1453
+ },
1331
1454
  },
1332
1455
  commands: {},
1333
1456
  commandsResponse: {},
@@ -1335,9 +1458,16 @@ const definitions = [
1335
1458
  (0, modernExtend_1.deviceAddCustomCluster)('hvacUserInterfaceCfg', {
1336
1459
  ID: 0x204,
1337
1460
  attributes: {
1338
- childLock: { ID: 0x1, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1339
- displayOntime: { ID: 0x403a, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1340
- displayBrightness: { ID: 0x403b, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1461
+ displayOntime: {
1462
+ ID: 0x403a,
1463
+ type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
1464
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
1465
+ },
1466
+ displayBrightness: {
1467
+ ID: 0x403b,
1468
+ type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
1469
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
1470
+ },
1341
1471
  },
1342
1472
  commands: {},
1343
1473
  commandsResponse: {},
@@ -1346,7 +1476,7 @@ const definitions = [
1346
1476
  name: 'operating_mode',
1347
1477
  cluster: 'hvacThermostat',
1348
1478
  attribute: 'operatingMode',
1349
- description: 'Sets Bosch-specific operating mode',
1479
+ description: 'Sets Bosch-specific operating mode (overrides system mode)',
1350
1480
  lookup: { 'schedule': 0, 'manual': 1, 'pause': 5 },
1351
1481
  zigbeeCommandOptions: { manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH },
1352
1482
  }),
@@ -1359,10 +1489,19 @@ const definitions = [
1359
1489
  valueOff: ['OFF', 0x00],
1360
1490
  zigbeeCommandOptions: { manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH },
1361
1491
  }),
1492
+ (0, modernExtend_1.binary)({
1493
+ name: 'boost_heating',
1494
+ cluster: 'hvacThermostat',
1495
+ attribute: 'boostHeating',
1496
+ description: 'Activate boost heating (5 min.)',
1497
+ valueOn: ['ON', 0x01],
1498
+ valueOff: ['OFF', 0x00],
1499
+ zigbeeCommandOptions: { manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH },
1500
+ }),
1362
1501
  (0, modernExtend_1.binary)({
1363
1502
  name: 'child_lock',
1364
1503
  cluster: 'hvacUserInterfaceCfg',
1365
- attribute: 'childLock',
1504
+ attribute: 'keypadLockout',
1366
1505
  description: 'Enables/disables physical input on the device',
1367
1506
  valueOn: ['LOCK', 0x01],
1368
1507
  valueOff: ['UNLOCK', 0x00],
@@ -1392,27 +1531,36 @@ const definitions = [
1392
1531
  await reporting.bind(endpoint, coordinatorEndpoint, [
1393
1532
  'genPowerCfg', 'msRelativeHumidity', 'hvacThermostat', 'hvacUserInterfaceCfg',
1394
1533
  ]);
1395
- await reporting.thermostatSystemMode(endpoint, { min: 0, max: constants.repInterval.HOUR, change: 0 });
1396
- await reporting.thermostatRunningState(endpoint, { min: 0, max: constants.repInterval.HOUR, change: 0 });
1397
- await reporting.thermostatTemperature(endpoint);
1398
- await reporting.thermostatOccupiedHeatingSetpoint(endpoint);
1399
- await reporting.thermostatOccupiedCoolingSetpoint(endpoint);
1400
1534
  await reporting.humidity(endpoint);
1535
+ await reporting.thermostatSystemMode(endpoint);
1536
+ await reporting.thermostatRunningState(endpoint);
1537
+ await reporting.thermostatTemperature(endpoint);
1538
+ await reporting.thermostatOccupiedHeatingSetpoint(endpoint, {
1539
+ min: constants.repInterval.SECONDS_10,
1540
+ max: constants.repInterval.HOUR,
1541
+ change: 50,
1542
+ });
1543
+ await reporting.thermostatOccupiedCoolingSetpoint(endpoint, {
1544
+ min: constants.repInterval.SECONDS_10,
1545
+ max: constants.repInterval.HOUR,
1546
+ change: 50,
1547
+ });
1548
+ await reporting.thermostatKeypadLockMode(endpoint);
1401
1549
  await endpoint.configureReporting('hvacThermostat', [{
1402
1550
  attribute: 'operatingMode',
1403
- minimumReportInterval: 0,
1551
+ minimumReportInterval: constants.repInterval.SECONDS_10,
1404
1552
  maximumReportInterval: constants.repInterval.HOUR,
1405
- reportableChange: 0,
1553
+ reportableChange: null,
1406
1554
  }], manufacturerOptions);
1407
- await endpoint.configureReporting('hvacUserInterfaceCfg', [{
1408
- attribute: 'childLock',
1409
- minimumReportInterval: 0,
1555
+ await endpoint.configureReporting('hvacThermostat', [{
1556
+ attribute: 'boostHeating',
1557
+ minimumReportInterval: constants.repInterval.SECONDS_10,
1410
1558
  maximumReportInterval: constants.repInterval.HOUR,
1411
- reportableChange: 0,
1412
- }]);
1559
+ reportableChange: null,
1560
+ }], manufacturerOptions);
1413
1561
  await endpoint.read('hvacThermostat', ['localTemperatureCalibration']);
1414
- await endpoint.read('hvacThermostat', ['operatingMode', 'windowDetection'], manufacturerOptions);
1415
- await endpoint.read('hvacUserInterfaceCfg', ['childLock']);
1562
+ await endpoint.read('hvacThermostat', ['operatingMode', 'windowDetection', 'boostHeating'], manufacturerOptions);
1563
+ await endpoint.read('hvacUserInterfaceCfg', ['keypadLockout']);
1416
1564
  await endpoint.read('hvacUserInterfaceCfg', ['displayOntime', 'displayBrightness'], manufacturerOptions);
1417
1565
  },
1418
1566
  },