matterbridge 3.4.7 → 3.5.0-dev-20260113-29ad318
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 +10 -0
- package/dist/broadcastServer.d.ts +0 -115
- package/dist/broadcastServer.js +0 -117
- package/dist/broadcastServerTypes.d.ts +0 -43
- package/dist/broadcastServerTypes.js +0 -24
- package/dist/cli.d.ts +0 -24
- package/dist/cli.js +1 -97
- package/dist/cliEmitter.d.ts +0 -36
- package/dist/cliEmitter.js +0 -37
- package/dist/cliHistory.d.ts +0 -42
- package/dist/cliHistory.js +0 -38
- package/dist/clusters/export.d.ts +0 -1
- package/dist/clusters/export.js +0 -2
- package/dist/deviceManager.d.ts +0 -108
- package/dist/deviceManager.js +1 -113
- package/dist/devices/airConditioner.d.ts +0 -75
- package/dist/devices/airConditioner.js +0 -57
- package/dist/devices/batteryStorage.d.ts +0 -43
- package/dist/devices/batteryStorage.js +1 -48
- package/dist/devices/cooktop.d.ts +0 -55
- package/dist/devices/cooktop.js +0 -56
- package/dist/devices/dishwasher.d.ts +0 -55
- package/dist/devices/dishwasher.js +0 -57
- package/dist/devices/evse.d.ts +0 -57
- package/dist/devices/evse.js +10 -74
- package/dist/devices/export.d.ts +0 -1
- package/dist/devices/export.js +0 -5
- package/dist/devices/extractorHood.d.ts +0 -41
- package/dist/devices/extractorHood.js +0 -43
- package/dist/devices/heatPump.d.ts +0 -43
- package/dist/devices/heatPump.js +2 -50
- package/dist/devices/laundryDryer.d.ts +0 -58
- package/dist/devices/laundryDryer.js +3 -62
- package/dist/devices/laundryWasher.d.ts +0 -64
- package/dist/devices/laundryWasher.js +4 -70
- package/dist/devices/microwaveOven.d.ts +1 -77
- package/dist/devices/microwaveOven.js +5 -88
- package/dist/devices/oven.d.ts +0 -82
- package/dist/devices/oven.js +0 -85
- package/dist/devices/refrigerator.d.ts +0 -100
- package/dist/devices/refrigerator.js +0 -102
- package/dist/devices/roboticVacuumCleaner.d.ts +0 -83
- package/dist/devices/roboticVacuumCleaner.js +9 -100
- package/dist/devices/solarPower.d.ts +0 -36
- package/dist/devices/solarPower.js +0 -38
- package/dist/devices/speaker.d.ts +0 -79
- package/dist/devices/speaker.js +0 -84
- package/dist/devices/temperatureControl.d.ts +0 -21
- package/dist/devices/temperatureControl.js +3 -24
- package/dist/devices/waterHeater.d.ts +0 -74
- package/dist/devices/waterHeater.js +2 -82
- package/dist/dgram/coap.d.ts +0 -171
- package/dist/dgram/coap.js +13 -126
- package/dist/dgram/dgram.d.ts +0 -99
- package/dist/dgram/dgram.js +2 -114
- package/dist/dgram/mb_coap.d.ts +0 -23
- package/dist/dgram/mb_coap.js +3 -41
- package/dist/dgram/mb_mdns.d.ts +0 -23
- package/dist/dgram/mb_mdns.js +24 -80
- package/dist/dgram/mdns.d.ts +4 -187
- package/dist/dgram/mdns.js +139 -371
- package/dist/dgram/multicast.d.ts +0 -49
- package/dist/dgram/multicast.js +1 -62
- package/dist/dgram/unicast.d.ts +0 -53
- package/dist/dgram/unicast.js +0 -60
- package/dist/frontend.d.ts +0 -187
- package/dist/frontend.js +38 -485
- package/dist/frontendTypes.d.ts +0 -57
- package/dist/frontendTypes.js +0 -45
- package/dist/helpers.d.ts +0 -43
- package/dist/helpers.js +0 -53
- package/dist/index.d.ts +0 -23
- package/dist/index.js +0 -25
- package/dist/jestutils/export.d.ts +0 -1
- package/dist/jestutils/export.js +0 -1
- package/dist/jestutils/jestHelpers.d.ts +0 -255
- package/dist/jestutils/jestHelpers.js +14 -371
- package/dist/logger/export.d.ts +0 -1
- package/dist/logger/export.js +0 -1
- package/dist/matter/behaviors.d.ts +0 -1
- package/dist/matter/behaviors.js +0 -2
- package/dist/matter/clusters.d.ts +0 -1
- package/dist/matter/clusters.js +0 -2
- package/dist/matter/devices.d.ts +0 -1
- package/dist/matter/devices.js +0 -2
- package/dist/matter/endpoints.d.ts +0 -1
- package/dist/matter/endpoints.js +0 -2
- package/dist/matter/export.d.ts +0 -1
- package/dist/matter/export.js +0 -3
- package/dist/matter/types.d.ts +0 -1
- package/dist/matter/types.js +0 -3
- package/dist/matterNode.d.ts +0 -258
- package/dist/matterNode.js +8 -369
- package/dist/matterbridge.d.ts +0 -353
- package/dist/matterbridge.js +46 -824
- package/dist/matterbridgeAccessoryPlatform.d.ts +0 -36
- package/dist/matterbridgeAccessoryPlatform.js +0 -38
- package/dist/matterbridgeBehaviors.d.ts +0 -24
- package/dist/matterbridgeBehaviors.js +5 -68
- package/dist/matterbridgeDeviceTypes.d.ts +0 -603
- package/dist/matterbridgeDeviceTypes.js +14 -635
- package/dist/matterbridgeDynamicPlatform.d.ts +0 -36
- package/dist/matterbridgeDynamicPlatform.js +0 -38
- package/dist/matterbridgeEndpoint.d.ts +0 -1332
- package/dist/matterbridgeEndpoint.js +53 -1457
- package/dist/matterbridgeEndpointHelpers.d.ts +0 -425
- package/dist/matterbridgeEndpointHelpers.js +20 -483
- package/dist/matterbridgeEndpointTypes.d.ts +0 -70
- package/dist/matterbridgeEndpointTypes.js +0 -25
- package/dist/matterbridgePlatform.d.ts +0 -425
- package/dist/matterbridgePlatform.js +1 -451
- package/dist/matterbridgeTypes.d.ts +0 -46
- package/dist/matterbridgeTypes.js +0 -26
- package/dist/pluginManager.d.ts +0 -305
- package/dist/pluginManager.js +5 -341
- package/dist/shelly.d.ts +0 -157
- package/dist/shelly.js +7 -178
- package/dist/storage/export.d.ts +0 -1
- package/dist/storage/export.js +0 -1
- package/dist/update.d.ts +0 -75
- package/dist/update.js +1 -93
- package/dist/utils/colorUtils.d.ts +0 -77
- package/dist/utils/colorUtils.js +2 -97
- package/dist/utils/commandLine.d.ts +0 -60
- package/dist/utils/commandLine.js +0 -60
- package/dist/utils/copyDirectory.d.ts +0 -33
- package/dist/utils/copyDirectory.js +0 -37
- package/dist/utils/createDirectory.d.ts +0 -32
- package/dist/utils/createDirectory.js +0 -33
- package/dist/utils/createZip.d.ts +0 -38
- package/dist/utils/createZip.js +2 -47
- package/dist/utils/deepCopy.d.ts +0 -31
- package/dist/utils/deepCopy.js +0 -39
- package/dist/utils/deepEqual.d.ts +0 -53
- package/dist/utils/deepEqual.js +1 -72
- package/dist/utils/error.d.ts +0 -42
- package/dist/utils/error.js +0 -42
- package/dist/utils/export.d.ts +0 -1
- package/dist/utils/export.js +0 -1
- package/dist/utils/format.d.ts +0 -49
- package/dist/utils/format.js +0 -49
- package/dist/utils/hex.d.ts +0 -85
- package/dist/utils/hex.js +0 -124
- package/dist/utils/inspector.d.ts +0 -63
- package/dist/utils/inspector.js +1 -69
- package/dist/utils/isValid.d.ts +0 -93
- package/dist/utils/isValid.js +0 -93
- package/dist/utils/network.d.ts +0 -116
- package/dist/utils/network.js +5 -126
- package/dist/utils/spawn.d.ts +0 -32
- package/dist/utils/spawn.js +1 -71
- package/dist/utils/tracker.d.ts +0 -56
- package/dist/utils/tracker.js +1 -64
- package/dist/utils/wait.d.ts +0 -51
- package/dist/utils/wait.js +8 -60
- package/dist/workerGlobalPrefix.d.ts +0 -24
- package/dist/workerGlobalPrefix.js +5 -37
- package/dist/workerTypes.d.ts +0 -25
- package/dist/workerTypes.js +0 -24
- package/dist/workers.d.ts +0 -61
- package/dist/workers.js +4 -68
- package/npm-shrinkwrap.json +1500 -11420
- package/package.json +10 -7
- package/dist/broadcastServer.d.ts.map +0 -1
- package/dist/broadcastServer.js.map +0 -1
- package/dist/broadcastServerTypes.d.ts.map +0 -1
- package/dist/broadcastServerTypes.js.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/cliEmitter.d.ts.map +0 -1
- package/dist/cliEmitter.js.map +0 -1
- package/dist/cliHistory.d.ts.map +0 -1
- package/dist/cliHistory.js.map +0 -1
- package/dist/clusters/export.d.ts.map +0 -1
- package/dist/clusters/export.js.map +0 -1
- package/dist/deviceManager.d.ts.map +0 -1
- package/dist/deviceManager.js.map +0 -1
- package/dist/devices/airConditioner.d.ts.map +0 -1
- package/dist/devices/airConditioner.js.map +0 -1
- package/dist/devices/batteryStorage.d.ts.map +0 -1
- package/dist/devices/batteryStorage.js.map +0 -1
- package/dist/devices/cooktop.d.ts.map +0 -1
- package/dist/devices/cooktop.js.map +0 -1
- package/dist/devices/dishwasher.d.ts.map +0 -1
- package/dist/devices/dishwasher.js.map +0 -1
- package/dist/devices/evse.d.ts.map +0 -1
- package/dist/devices/evse.js.map +0 -1
- package/dist/devices/export.d.ts.map +0 -1
- package/dist/devices/export.js.map +0 -1
- package/dist/devices/extractorHood.d.ts.map +0 -1
- package/dist/devices/extractorHood.js.map +0 -1
- package/dist/devices/heatPump.d.ts.map +0 -1
- package/dist/devices/heatPump.js.map +0 -1
- package/dist/devices/laundryDryer.d.ts.map +0 -1
- package/dist/devices/laundryDryer.js.map +0 -1
- package/dist/devices/laundryWasher.d.ts.map +0 -1
- package/dist/devices/laundryWasher.js.map +0 -1
- package/dist/devices/microwaveOven.d.ts.map +0 -1
- package/dist/devices/microwaveOven.js.map +0 -1
- package/dist/devices/oven.d.ts.map +0 -1
- package/dist/devices/oven.js.map +0 -1
- package/dist/devices/refrigerator.d.ts.map +0 -1
- package/dist/devices/refrigerator.js.map +0 -1
- package/dist/devices/roboticVacuumCleaner.d.ts.map +0 -1
- package/dist/devices/roboticVacuumCleaner.js.map +0 -1
- package/dist/devices/solarPower.d.ts.map +0 -1
- package/dist/devices/solarPower.js.map +0 -1
- package/dist/devices/speaker.d.ts.map +0 -1
- package/dist/devices/speaker.js.map +0 -1
- package/dist/devices/temperatureControl.d.ts.map +0 -1
- package/dist/devices/temperatureControl.js.map +0 -1
- package/dist/devices/waterHeater.d.ts.map +0 -1
- package/dist/devices/waterHeater.js.map +0 -1
- package/dist/dgram/coap.d.ts.map +0 -1
- package/dist/dgram/coap.js.map +0 -1
- package/dist/dgram/dgram.d.ts.map +0 -1
- package/dist/dgram/dgram.js.map +0 -1
- package/dist/dgram/mb_coap.d.ts.map +0 -1
- package/dist/dgram/mb_coap.js.map +0 -1
- package/dist/dgram/mb_mdns.d.ts.map +0 -1
- package/dist/dgram/mb_mdns.js.map +0 -1
- package/dist/dgram/mdns.d.ts.map +0 -1
- package/dist/dgram/mdns.js.map +0 -1
- package/dist/dgram/multicast.d.ts.map +0 -1
- package/dist/dgram/multicast.js.map +0 -1
- package/dist/dgram/unicast.d.ts.map +0 -1
- package/dist/dgram/unicast.js.map +0 -1
- package/dist/frontend.d.ts.map +0 -1
- package/dist/frontend.js.map +0 -1
- package/dist/frontendTypes.d.ts.map +0 -1
- package/dist/frontendTypes.js.map +0 -1
- package/dist/helpers.d.ts.map +0 -1
- package/dist/helpers.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/jestutils/export.d.ts.map +0 -1
- package/dist/jestutils/export.js.map +0 -1
- package/dist/jestutils/jestHelpers.d.ts.map +0 -1
- package/dist/jestutils/jestHelpers.js.map +0 -1
- package/dist/logger/export.d.ts.map +0 -1
- package/dist/logger/export.js.map +0 -1
- package/dist/matter/behaviors.d.ts.map +0 -1
- package/dist/matter/behaviors.js.map +0 -1
- package/dist/matter/clusters.d.ts.map +0 -1
- package/dist/matter/clusters.js.map +0 -1
- package/dist/matter/devices.d.ts.map +0 -1
- package/dist/matter/devices.js.map +0 -1
- package/dist/matter/endpoints.d.ts.map +0 -1
- package/dist/matter/endpoints.js.map +0 -1
- package/dist/matter/export.d.ts.map +0 -1
- package/dist/matter/export.js.map +0 -1
- package/dist/matter/types.d.ts.map +0 -1
- package/dist/matter/types.js.map +0 -1
- package/dist/matterNode.d.ts.map +0 -1
- package/dist/matterNode.js.map +0 -1
- package/dist/matterbridge.d.ts.map +0 -1
- package/dist/matterbridge.js.map +0 -1
- package/dist/matterbridgeAccessoryPlatform.d.ts.map +0 -1
- package/dist/matterbridgeAccessoryPlatform.js.map +0 -1
- package/dist/matterbridgeBehaviors.d.ts.map +0 -1
- package/dist/matterbridgeBehaviors.js.map +0 -1
- package/dist/matterbridgeDeviceTypes.d.ts.map +0 -1
- package/dist/matterbridgeDeviceTypes.js.map +0 -1
- package/dist/matterbridgeDynamicPlatform.d.ts.map +0 -1
- package/dist/matterbridgeDynamicPlatform.js.map +0 -1
- package/dist/matterbridgeEndpoint.d.ts.map +0 -1
- package/dist/matterbridgeEndpoint.js.map +0 -1
- package/dist/matterbridgeEndpointHelpers.d.ts.map +0 -1
- package/dist/matterbridgeEndpointHelpers.js.map +0 -1
- package/dist/matterbridgeEndpointTypes.d.ts.map +0 -1
- package/dist/matterbridgeEndpointTypes.js.map +0 -1
- package/dist/matterbridgePlatform.d.ts.map +0 -1
- package/dist/matterbridgePlatform.js.map +0 -1
- package/dist/matterbridgeTypes.d.ts.map +0 -1
- package/dist/matterbridgeTypes.js.map +0 -1
- package/dist/pluginManager.d.ts.map +0 -1
- package/dist/pluginManager.js.map +0 -1
- package/dist/shelly.d.ts.map +0 -1
- package/dist/shelly.js.map +0 -1
- package/dist/storage/export.d.ts.map +0 -1
- package/dist/storage/export.js.map +0 -1
- package/dist/update.d.ts.map +0 -1
- package/dist/update.js.map +0 -1
- package/dist/utils/colorUtils.d.ts.map +0 -1
- package/dist/utils/colorUtils.js.map +0 -1
- package/dist/utils/commandLine.d.ts.map +0 -1
- package/dist/utils/commandLine.js.map +0 -1
- package/dist/utils/copyDirectory.d.ts.map +0 -1
- package/dist/utils/copyDirectory.js.map +0 -1
- package/dist/utils/createDirectory.d.ts.map +0 -1
- package/dist/utils/createDirectory.js.map +0 -1
- package/dist/utils/createZip.d.ts.map +0 -1
- package/dist/utils/createZip.js.map +0 -1
- package/dist/utils/deepCopy.d.ts.map +0 -1
- package/dist/utils/deepCopy.js.map +0 -1
- package/dist/utils/deepEqual.d.ts.map +0 -1
- package/dist/utils/deepEqual.js.map +0 -1
- package/dist/utils/error.d.ts.map +0 -1
- package/dist/utils/error.js.map +0 -1
- package/dist/utils/export.d.ts.map +0 -1
- package/dist/utils/export.js.map +0 -1
- package/dist/utils/format.d.ts.map +0 -1
- package/dist/utils/format.js.map +0 -1
- package/dist/utils/hex.d.ts.map +0 -1
- package/dist/utils/hex.js.map +0 -1
- package/dist/utils/inspector.d.ts.map +0 -1
- package/dist/utils/inspector.js.map +0 -1
- package/dist/utils/isValid.d.ts.map +0 -1
- package/dist/utils/isValid.js.map +0 -1
- package/dist/utils/network.d.ts.map +0 -1
- package/dist/utils/network.js.map +0 -1
- package/dist/utils/spawn.d.ts.map +0 -1
- package/dist/utils/spawn.js.map +0 -1
- package/dist/utils/tracker.d.ts.map +0 -1
- package/dist/utils/tracker.js.map +0 -1
- package/dist/utils/wait.d.ts.map +0 -1
- package/dist/utils/wait.js.map +0 -1
- package/dist/workerGlobalPrefix.d.ts.map +0 -1
- package/dist/workerGlobalPrefix.js.map +0 -1
- package/dist/workerTypes.d.ts.map +0 -1
- package/dist/workerTypes.js.map +0 -1
- package/dist/workers.d.ts.map +0 -1
- package/dist/workers.js.map +0 -1
- package/frontend/index.html +0 -15
- package/frontend/package-lock.json +0 -7553
- package/packages/dgram/LICENSE +0 -202
- package/packages/dgram/dist/coap.d.ts +0 -205
- package/packages/dgram/dist/coap.d.ts.map +0 -1
- package/packages/dgram/dist/coap.js +0 -365
- package/packages/dgram/dist/coap.js.map +0 -1
- package/packages/dgram/dist/dgram.d.ts +0 -144
- package/packages/dgram/dist/dgram.d.ts.map +0 -1
- package/packages/dgram/dist/dgram.js +0 -367
- package/packages/dgram/dist/dgram.js.map +0 -1
- package/packages/dgram/dist/export.d.ts +0 -6
- package/packages/dgram/dist/export.d.ts.map +0 -1
- package/packages/dgram/dist/export.js +0 -6
- package/packages/dgram/dist/export.js.map +0 -1
- package/packages/dgram/dist/mdns.d.ts +0 -371
- package/packages/dgram/dist/mdns.d.ts.map +0 -1
- package/packages/dgram/dist/mdns.js +0 -934
- package/packages/dgram/dist/mdns.js.map +0 -1
- package/packages/dgram/dist/multicast.d.ts +0 -67
- package/packages/dgram/dist/multicast.d.ts.map +0 -1
- package/packages/dgram/dist/multicast.js +0 -180
- package/packages/dgram/dist/multicast.js.map +0 -1
- package/packages/dgram/dist/unicast.d.ts +0 -64
- package/packages/dgram/dist/unicast.d.ts.map +0 -1
- package/packages/dgram/dist/unicast.js +0 -100
- package/packages/dgram/dist/unicast.js.map +0 -1
- package/packages/dgram/package.json +0 -110
- package/packages/jest-utils/LICENSE +0 -202
- package/packages/jest-utils/dist/export.d.ts +0 -2
- package/packages/jest-utils/dist/export.d.ts.map +0 -1
- package/packages/jest-utils/dist/export.js +0 -2
- package/packages/jest-utils/dist/export.js.map +0 -1
- package/packages/jest-utils/dist/jestHelpers.d.ts +0 -77
- package/packages/jest-utils/dist/jestHelpers.d.ts.map +0 -1
- package/packages/jest-utils/dist/jestHelpers.js +0 -138
- package/packages/jest-utils/dist/jestHelpers.js.map +0 -1
- package/packages/jest-utils/package.json +0 -109
- package/packages/utils/LICENSE +0 -202
- package/packages/utils/dist/colorUtils.d.ts +0 -101
- package/packages/utils/dist/colorUtils.d.ts.map +0 -1
- package/packages/utils/dist/colorUtils.js +0 -282
- package/packages/utils/dist/colorUtils.js.map +0 -1
- package/packages/utils/dist/commandLine.d.ts +0 -66
- package/packages/utils/dist/commandLine.d.ts.map +0 -1
- package/packages/utils/dist/commandLine.js +0 -123
- package/packages/utils/dist/commandLine.js.map +0 -1
- package/packages/utils/dist/copyDirectory.d.ts +0 -35
- package/packages/utils/dist/copyDirectory.d.ts.map +0 -1
- package/packages/utils/dist/copyDirectory.js +0 -76
- package/packages/utils/dist/copyDirectory.js.map +0 -1
- package/packages/utils/dist/createDirectory.d.ts +0 -34
- package/packages/utils/dist/createDirectory.d.ts.map +0 -1
- package/packages/utils/dist/createDirectory.js +0 -54
- package/packages/utils/dist/createDirectory.js.map +0 -1
- package/packages/utils/dist/createZip.d.ts +0 -39
- package/packages/utils/dist/createZip.d.ts.map +0 -1
- package/packages/utils/dist/createZip.js +0 -114
- package/packages/utils/dist/createZip.js.map +0 -1
- package/packages/utils/dist/deepCopy.d.ts +0 -32
- package/packages/utils/dist/deepCopy.d.ts.map +0 -1
- package/packages/utils/dist/deepCopy.js +0 -79
- package/packages/utils/dist/deepCopy.js.map +0 -1
- package/packages/utils/dist/deepEqual.d.ts +0 -54
- package/packages/utils/dist/deepEqual.d.ts.map +0 -1
- package/packages/utils/dist/deepEqual.js +0 -130
- package/packages/utils/dist/deepEqual.js.map +0 -1
- package/packages/utils/dist/error.d.ts +0 -45
- package/packages/utils/dist/error.d.ts.map +0 -1
- package/packages/utils/dist/error.js +0 -54
- package/packages/utils/dist/error.js.map +0 -1
- package/packages/utils/dist/export.d.ts +0 -16
- package/packages/utils/dist/export.d.ts.map +0 -1
- package/packages/utils/dist/export.js +0 -16
- package/packages/utils/dist/export.js.map +0 -1
- package/packages/utils/dist/format.d.ts +0 -53
- package/packages/utils/dist/format.d.ts.map +0 -1
- package/packages/utils/dist/format.js +0 -78
- package/packages/utils/dist/format.js.map +0 -1
- package/packages/utils/dist/githubVersion.d.ts +0 -43
- package/packages/utils/dist/githubVersion.d.ts.map +0 -1
- package/packages/utils/dist/githubVersion.js +0 -70
- package/packages/utils/dist/githubVersion.js.map +0 -1
- package/packages/utils/dist/hex.d.ts +0 -89
- package/packages/utils/dist/hex.d.ts.map +0 -1
- package/packages/utils/dist/hex.js +0 -242
- package/packages/utils/dist/hex.js.map +0 -1
- package/packages/utils/dist/inspector.d.ts +0 -87
- package/packages/utils/dist/inspector.d.ts.map +0 -1
- package/packages/utils/dist/inspector.js +0 -268
- package/packages/utils/dist/inspector.js.map +0 -1
- package/packages/utils/dist/isValid.d.ts +0 -103
- package/packages/utils/dist/isValid.d.ts.map +0 -1
- package/packages/utils/dist/isValid.js +0 -162
- package/packages/utils/dist/isValid.js.map +0 -1
- package/packages/utils/dist/network.d.ts +0 -105
- package/packages/utils/dist/network.d.ts.map +0 -1
- package/packages/utils/dist/network.js +0 -201
- package/packages/utils/dist/network.js.map +0 -1
- package/packages/utils/dist/npmRoot.d.ts +0 -29
- package/packages/utils/dist/npmRoot.d.ts.map +0 -1
- package/packages/utils/dist/npmRoot.js +0 -41
- package/packages/utils/dist/npmRoot.js.map +0 -1
- package/packages/utils/dist/npmVersion.d.ts +0 -33
- package/packages/utils/dist/npmVersion.d.ts.map +0 -1
- package/packages/utils/dist/npmVersion.js +0 -76
- package/packages/utils/dist/npmVersion.js.map +0 -1
- package/packages/utils/dist/tracker.d.ts +0 -108
- package/packages/utils/dist/tracker.d.ts.map +0 -1
- package/packages/utils/dist/tracker.js +0 -264
- package/packages/utils/dist/tracker.js.map +0 -1
- package/packages/utils/dist/wait.d.ts +0 -54
- package/packages/utils/dist/wait.d.ts.map +0 -1
- package/packages/utils/dist/wait.js +0 -125
- package/packages/utils/dist/wait.js.map +0 -1
- package/packages/utils/package.json +0 -110
- package/packages/vitest-utils/LICENSE +0 -202
- package/packages/vitest-utils/dist/export.d.ts +0 -2
- package/packages/vitest-utils/dist/export.d.ts.map +0 -1
- package/packages/vitest-utils/dist/export.js +0 -2
- package/packages/vitest-utils/dist/export.js.map +0 -1
- package/packages/vitest-utils/dist/vitestHelpers.d.ts +0 -58
- package/packages/vitest-utils/dist/vitestHelpers.d.ts.map +0 -1
- package/packages/vitest-utils/dist/vitestHelpers.js +0 -119
- package/packages/vitest-utils/dist/vitestHelpers.js.map +0 -1
- package/packages/vitest-utils/package.json +0 -109
|
@@ -1,26 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description This file contains the WaterHeater class.
|
|
3
|
-
* @file src/devices/waterHeater.ts
|
|
4
|
-
* @author Luca Liguori
|
|
5
|
-
* @contributor Ludovic BOUÉ
|
|
6
|
-
* @created 2025-05-18
|
|
7
|
-
* @version 1.1.0
|
|
8
|
-
* @license Apache-2.0
|
|
9
|
-
*
|
|
10
|
-
* Copyright 2025, 2026, 2027 Luca Liguori.
|
|
11
|
-
*
|
|
12
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
-
* you may not use this file except in compliance with the License.
|
|
14
|
-
* You may obtain a copy of the License at
|
|
15
|
-
*
|
|
16
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
-
*
|
|
18
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
-
* See the License for the specific language governing permissions and
|
|
22
|
-
* limitations under the License.
|
|
23
|
-
*/
|
|
24
1
|
import { MaybePromise } from '@matter/general';
|
|
25
2
|
import { ModeBase } from '@matter/types/clusters/mode-base';
|
|
26
3
|
import { WaterHeaterManagement } from '@matter/types/clusters/water-heater-management';
|
|
@@ -29,29 +6,6 @@ import { WaterHeaterManagementServer } from '@matter/node/behaviors/water-heater
|
|
|
29
6
|
import { WaterHeaterModeServer } from '@matter/node/behaviors/water-heater-mode';
|
|
30
7
|
import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
|
|
31
8
|
export declare class WaterHeater extends MatterbridgeEndpoint {
|
|
32
|
-
/**
|
|
33
|
-
* Creates an instance of the WaterHeater class.
|
|
34
|
-
*
|
|
35
|
-
* @param {string} name - The name of the water heater.
|
|
36
|
-
* @param {string} serial - The serial number of the water heater.
|
|
37
|
-
* @param {number} [waterTemperature] - The current water temperature. Defaults to 50.
|
|
38
|
-
* @param {number} [targetWaterTemperature] - The target water temperature. Defaults to 55.
|
|
39
|
-
* @param {number} [minHeatSetpointLimit] - The minimum heat setpoint limit. Defaults to 20.
|
|
40
|
-
* @param {number} [maxHeatSetpointLimit] - The maximum heat setpoint limit. Defaults to 80.
|
|
41
|
-
* @param {{ immersionElement1?: boolean; immersionElement2?: boolean; heatPump?: boolean; boiler?: boolean; other?: boolean }} [heaterTypes] - Indicates the heat sources that the water heater can call on for heating. Defaults to { immersionElement1: true }.
|
|
42
|
-
* @param {boolean} heaterTypes.immersionElement1 - Indicates if the water heater has an immersion element 1. Defaults to true.
|
|
43
|
-
* @param {boolean} heaterTypes.immersionElement2 - Indicates if the water heater has an immersion element 2.
|
|
44
|
-
* @param {boolean} heaterTypes.heatPump - Indicates if the water heater has a heat pump.
|
|
45
|
-
* @param {boolean} heaterTypes.boiler - Indicates if the water heater has a boiler.
|
|
46
|
-
* @param {boolean} heaterTypes.other - Indicates if the water heater has other types of heating sources.
|
|
47
|
-
* @param {number} [tankPercentage] - The current tank percentage of the WaterHeaterManagement cluster. Defaults to 90.
|
|
48
|
-
* @param {number} [voltage] - The voltage value in millivolts. Defaults to null if not provided.
|
|
49
|
-
* @param {number} [current] - The current value in milliamperes. Defaults to null if not provided.
|
|
50
|
-
* @param {number} [power] - The power value in milliwatts. Defaults to null if not provided.
|
|
51
|
-
* @param {number} [energy] - The total consumption value in mW/h. Defaults to null if not provided.
|
|
52
|
-
* @param {number} [absMinPower] - Indicate the minimum electrical power in mw that the ESA can consume when switched on. Defaults to `0` if not provided.
|
|
53
|
-
* @param {number} [absMaxPower] - Indicate the maximum electrical power in mw that the ESA can consume when switched on. Defaults to `0` if not provided.
|
|
54
|
-
*/
|
|
55
9
|
constructor(name: string, serial: string, waterTemperature?: number, targetWaterTemperature?: number, minHeatSetpointLimit?: number, maxHeatSetpointLimit?: number, heaterTypes?: {
|
|
56
10
|
immersionElement1?: boolean;
|
|
57
11
|
immersionElement2?: boolean;
|
|
@@ -59,25 +13,6 @@ export declare class WaterHeater extends MatterbridgeEndpoint {
|
|
|
59
13
|
boiler?: boolean;
|
|
60
14
|
other?: boolean;
|
|
61
15
|
}, tankPercentage?: number, voltage?: number | bigint | null, current?: number | bigint | null, power?: number | bigint | null, energy?: number | bigint | null, absMinPower?: number, absMaxPower?: number);
|
|
62
|
-
/**
|
|
63
|
-
* Creates a default WaterHeaterManagement Cluster Server.
|
|
64
|
-
*
|
|
65
|
-
* @param {{ immersionElement1?: boolean; immersionElement2?: boolean; heatPump?: boolean; boiler?: boolean; other?: boolean }} [heaterTypes] - Indicates the heat sources that the water heater can call on for heating. Defaults to { immersionElement1: true }.
|
|
66
|
-
* @param {boolean} heaterTypes.immersionElement1 - Indicates if the water heater has an immersion element 1. Defaults to true.
|
|
67
|
-
* @param {boolean} heaterTypes.immersionElement2 - Indicates if the water heater has an immersion element 2.
|
|
68
|
-
* @param {boolean} heaterTypes.heatPump - Indicates if the water heater has a heat pump.
|
|
69
|
-
* @param {boolean} heaterTypes.boiler - Indicates if the water heater has a boiler.
|
|
70
|
-
* @param {boolean} heaterTypes.other - Indicates if the water heater has other types of heating sources.
|
|
71
|
-
* @param {{ immersionElement1?: boolean; immersionElement2?: boolean; heatPump?: boolean; boiler?: boolean; other?: boolean }} [heatDemand] - Indicates if the water heater is heating water. Defaults to all heat sources unset.
|
|
72
|
-
* @param {boolean} heatDemand.immersionElement1 - Indicates if the water heater is heating water with immersion element 1. Defaults to false.
|
|
73
|
-
* @param {boolean} heatDemand.immersionElement2 - Indicates if the water heater is heating water with immersion element 2.
|
|
74
|
-
* @param {boolean} heatDemand.heatPump - Indicates if the water heater is heating water with a heat pump.
|
|
75
|
-
* @param {boolean} heatDemand.boiler - Indicates if the water heater is heating water with a boiler.
|
|
76
|
-
* @param {boolean} heatDemand.other - Indicates if the water heater is heating water with other types of heating sources.
|
|
77
|
-
* @param {number} [tankPercentage] - The current tank percentage of the WaterHeaterManagement cluster. Defaults to 100.
|
|
78
|
-
* @param {WaterHeaterManagement.BoostState} [boostState] - The current boost state of the WaterHeaterManagement cluster. Defaults to Inactive.
|
|
79
|
-
* @returns {this} The current MatterbridgeEndpoint instance for chaining.
|
|
80
|
-
*/
|
|
81
16
|
createDefaultWaterHeaterManagementClusterServer(heaterTypes?: {
|
|
82
17
|
immersionElement1?: boolean;
|
|
83
18
|
immersionElement2?: boolean;
|
|
@@ -91,14 +26,6 @@ export declare class WaterHeater extends MatterbridgeEndpoint {
|
|
|
91
26
|
boiler?: boolean;
|
|
92
27
|
other?: boolean;
|
|
93
28
|
}, tankPercentage?: number, boostState?: WaterHeaterManagement.BoostState): this;
|
|
94
|
-
/**
|
|
95
|
-
* Creates a default WaterHeaterMode Cluster Server.
|
|
96
|
-
*
|
|
97
|
-
* @param {number} [currentMode] - The current mode of the WaterHeaterMode cluster. Defaults to mode 1 (WaterHeaterMode.ModeTag.Auto).
|
|
98
|
-
* @param {WaterHeaterMode.ModeOption[]} [supportedModes] - The supported modes for the WaterHeaterMode cluster. Defaults all cluster modes.
|
|
99
|
-
*
|
|
100
|
-
* @returns {this} The current MatterbridgeEndpoint instance for chaining.
|
|
101
|
-
*/
|
|
102
29
|
createDefaultWaterHeaterModeClusterServer(currentMode?: number, supportedModes?: WaterHeaterMode.ModeOption[]): this;
|
|
103
30
|
}
|
|
104
31
|
export declare class MatterbridgeWaterHeaterManagementServer extends WaterHeaterManagementServer {
|
|
@@ -108,4 +35,3 @@ export declare class MatterbridgeWaterHeaterManagementServer extends WaterHeater
|
|
|
108
35
|
export declare class MatterbridgeWaterHeaterModeServer extends WaterHeaterModeServer {
|
|
109
36
|
changeToMode(request: ModeBase.ChangeToModeRequest): MaybePromise<ModeBase.ChangeToModeResponse>;
|
|
110
37
|
}
|
|
111
|
-
//# sourceMappingURL=waterHeater.d.ts.map
|
|
@@ -1,26 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description This file contains the WaterHeater class.
|
|
3
|
-
* @file src/devices/waterHeater.ts
|
|
4
|
-
* @author Luca Liguori
|
|
5
|
-
* @contributor Ludovic BOUÉ
|
|
6
|
-
* @created 2025-05-18
|
|
7
|
-
* @version 1.1.0
|
|
8
|
-
* @license Apache-2.0
|
|
9
|
-
*
|
|
10
|
-
* Copyright 2025, 2026, 2027 Luca Liguori.
|
|
11
|
-
*
|
|
12
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
-
* you may not use this file except in compliance with the License.
|
|
14
|
-
* You may obtain a copy of the License at
|
|
15
|
-
*
|
|
16
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
-
*
|
|
18
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
-
* See the License for the specific language governing permissions and
|
|
22
|
-
* limitations under the License.
|
|
23
|
-
*/
|
|
24
1
|
import { ModeBase } from '@matter/types/clusters/mode-base';
|
|
25
2
|
import { WaterHeaterManagement } from '@matter/types/clusters/water-heater-management';
|
|
26
3
|
import { WaterHeaterMode } from '@matter/types/clusters/water-heater-mode';
|
|
@@ -31,29 +8,6 @@ import { MatterbridgeServer } from '../matterbridgeBehaviors.js';
|
|
|
31
8
|
import { electricalSensor, powerSource, waterHeater } from '../matterbridgeDeviceTypes.js';
|
|
32
9
|
import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
|
|
33
10
|
export class WaterHeater extends MatterbridgeEndpoint {
|
|
34
|
-
/**
|
|
35
|
-
* Creates an instance of the WaterHeater class.
|
|
36
|
-
*
|
|
37
|
-
* @param {string} name - The name of the water heater.
|
|
38
|
-
* @param {string} serial - The serial number of the water heater.
|
|
39
|
-
* @param {number} [waterTemperature] - The current water temperature. Defaults to 50.
|
|
40
|
-
* @param {number} [targetWaterTemperature] - The target water temperature. Defaults to 55.
|
|
41
|
-
* @param {number} [minHeatSetpointLimit] - The minimum heat setpoint limit. Defaults to 20.
|
|
42
|
-
* @param {number} [maxHeatSetpointLimit] - The maximum heat setpoint limit. Defaults to 80.
|
|
43
|
-
* @param {{ immersionElement1?: boolean; immersionElement2?: boolean; heatPump?: boolean; boiler?: boolean; other?: boolean }} [heaterTypes] - Indicates the heat sources that the water heater can call on for heating. Defaults to { immersionElement1: true }.
|
|
44
|
-
* @param {boolean} heaterTypes.immersionElement1 - Indicates if the water heater has an immersion element 1. Defaults to true.
|
|
45
|
-
* @param {boolean} heaterTypes.immersionElement2 - Indicates if the water heater has an immersion element 2.
|
|
46
|
-
* @param {boolean} heaterTypes.heatPump - Indicates if the water heater has a heat pump.
|
|
47
|
-
* @param {boolean} heaterTypes.boiler - Indicates if the water heater has a boiler.
|
|
48
|
-
* @param {boolean} heaterTypes.other - Indicates if the water heater has other types of heating sources.
|
|
49
|
-
* @param {number} [tankPercentage] - The current tank percentage of the WaterHeaterManagement cluster. Defaults to 90.
|
|
50
|
-
* @param {number} [voltage] - The voltage value in millivolts. Defaults to null if not provided.
|
|
51
|
-
* @param {number} [current] - The current value in milliamperes. Defaults to null if not provided.
|
|
52
|
-
* @param {number} [power] - The power value in milliwatts. Defaults to null if not provided.
|
|
53
|
-
* @param {number} [energy] - The total consumption value in mW/h. Defaults to null if not provided.
|
|
54
|
-
* @param {number} [absMinPower] - Indicate the minimum electrical power in mw that the ESA can consume when switched on. Defaults to `0` if not provided.
|
|
55
|
-
* @param {number} [absMaxPower] - Indicate the maximum electrical power in mw that the ESA can consume when switched on. Defaults to `0` if not provided.
|
|
56
|
-
*/
|
|
57
11
|
constructor(name, serial, waterTemperature = 50, targetWaterTemperature = 55, minHeatSetpointLimit = 20, maxHeatSetpointLimit = 80, heaterTypes = { immersionElement1: true }, tankPercentage = 90, voltage = null, current = null, power = null, energy = null, absMinPower = 0, absMaxPower = 0) {
|
|
58
12
|
super([waterHeater, powerSource, electricalSensor], { id: `${name.replaceAll(' ', '')}-${serial.replaceAll(' ', '')}` });
|
|
59
13
|
this.createDefaultIdentifyClusterServer()
|
|
@@ -68,42 +22,15 @@ export class WaterHeater extends MatterbridgeEndpoint {
|
|
|
68
22
|
.createDefaultDeviceEnergyManagementClusterServer(DeviceEnergyManagement.EsaType.WaterHeating, true, DeviceEnergyManagement.EsaState.Online, absMinPower, absMaxPower)
|
|
69
23
|
.createDefaultDeviceEnergyManagementModeClusterServer();
|
|
70
24
|
}
|
|
71
|
-
/**
|
|
72
|
-
* Creates a default WaterHeaterManagement Cluster Server.
|
|
73
|
-
*
|
|
74
|
-
* @param {{ immersionElement1?: boolean; immersionElement2?: boolean; heatPump?: boolean; boiler?: boolean; other?: boolean }} [heaterTypes] - Indicates the heat sources that the water heater can call on for heating. Defaults to { immersionElement1: true }.
|
|
75
|
-
* @param {boolean} heaterTypes.immersionElement1 - Indicates if the water heater has an immersion element 1. Defaults to true.
|
|
76
|
-
* @param {boolean} heaterTypes.immersionElement2 - Indicates if the water heater has an immersion element 2.
|
|
77
|
-
* @param {boolean} heaterTypes.heatPump - Indicates if the water heater has a heat pump.
|
|
78
|
-
* @param {boolean} heaterTypes.boiler - Indicates if the water heater has a boiler.
|
|
79
|
-
* @param {boolean} heaterTypes.other - Indicates if the water heater has other types of heating sources.
|
|
80
|
-
* @param {{ immersionElement1?: boolean; immersionElement2?: boolean; heatPump?: boolean; boiler?: boolean; other?: boolean }} [heatDemand] - Indicates if the water heater is heating water. Defaults to all heat sources unset.
|
|
81
|
-
* @param {boolean} heatDemand.immersionElement1 - Indicates if the water heater is heating water with immersion element 1. Defaults to false.
|
|
82
|
-
* @param {boolean} heatDemand.immersionElement2 - Indicates if the water heater is heating water with immersion element 2.
|
|
83
|
-
* @param {boolean} heatDemand.heatPump - Indicates if the water heater is heating water with a heat pump.
|
|
84
|
-
* @param {boolean} heatDemand.boiler - Indicates if the water heater is heating water with a boiler.
|
|
85
|
-
* @param {boolean} heatDemand.other - Indicates if the water heater is heating water with other types of heating sources.
|
|
86
|
-
* @param {number} [tankPercentage] - The current tank percentage of the WaterHeaterManagement cluster. Defaults to 100.
|
|
87
|
-
* @param {WaterHeaterManagement.BoostState} [boostState] - The current boost state of the WaterHeaterManagement cluster. Defaults to Inactive.
|
|
88
|
-
* @returns {this} The current MatterbridgeEndpoint instance for chaining.
|
|
89
|
-
*/
|
|
90
25
|
createDefaultWaterHeaterManagementClusterServer(heaterTypes, heatDemand, tankPercentage, boostState) {
|
|
91
26
|
this.behaviors.require(MatterbridgeWaterHeaterManagementServer.with(WaterHeaterManagement.Feature.TankPercent), {
|
|
92
|
-
heaterTypes: heaterTypes ?? { immersionElement1: true },
|
|
27
|
+
heaterTypes: heaterTypes ?? { immersionElement1: true },
|
|
93
28
|
heatDemand: heatDemand ?? {},
|
|
94
29
|
tankPercentage: tankPercentage ?? 100,
|
|
95
30
|
boostState: boostState ?? WaterHeaterManagement.BoostState.Inactive,
|
|
96
31
|
});
|
|
97
32
|
return this;
|
|
98
33
|
}
|
|
99
|
-
/**
|
|
100
|
-
* Creates a default WaterHeaterMode Cluster Server.
|
|
101
|
-
*
|
|
102
|
-
* @param {number} [currentMode] - The current mode of the WaterHeaterMode cluster. Defaults to mode 1 (WaterHeaterMode.ModeTag.Auto).
|
|
103
|
-
* @param {WaterHeaterMode.ModeOption[]} [supportedModes] - The supported modes for the WaterHeaterMode cluster. Defaults all cluster modes.
|
|
104
|
-
*
|
|
105
|
-
* @returns {this} The current MatterbridgeEndpoint instance for chaining.
|
|
106
|
-
*/
|
|
107
34
|
createDefaultWaterHeaterModeClusterServer(currentMode, supportedModes) {
|
|
108
35
|
this.behaviors.require(MatterbridgeWaterHeaterModeServer, {
|
|
109
36
|
supportedModes: supportedModes ?? [
|
|
@@ -120,7 +47,7 @@ export class WaterHeater extends MatterbridgeEndpoint {
|
|
|
120
47
|
{ label: 'Off', mode: 11, modeTags: [{ value: WaterHeaterMode.ModeTag.Off }] },
|
|
121
48
|
{ label: 'Manual', mode: 12, modeTags: [{ value: WaterHeaterMode.ModeTag.Manual }] },
|
|
122
49
|
{ label: 'Timed', mode: 13, modeTags: [{ value: WaterHeaterMode.ModeTag.Timed }] },
|
|
123
|
-
],
|
|
50
|
+
],
|
|
124
51
|
currentMode: currentMode ?? 1,
|
|
125
52
|
});
|
|
126
53
|
return this;
|
|
@@ -133,9 +60,6 @@ export class MatterbridgeWaterHeaterManagementServer extends WaterHeaterManageme
|
|
|
133
60
|
device.commandHandler.executeHandler('boost', { request, cluster: WaterHeaterManagementServer.id, attributes: this.state, endpoint: this.endpoint });
|
|
134
61
|
device.log.debug(`MatterbridgeWaterHeaterManagementServer boost called with: ${JSON.stringify(request)}`);
|
|
135
62
|
this.state.boostState = WaterHeaterManagement.BoostState.Active;
|
|
136
|
-
// The implementation is responsible for setting the device accordingly with the boostInfo of the boost command
|
|
137
|
-
// super.boost({ boostInfo });
|
|
138
|
-
// boost is not implemented in matter.js
|
|
139
63
|
}
|
|
140
64
|
cancelBoost() {
|
|
141
65
|
const device = this.endpoint.stateOf(MatterbridgeServer);
|
|
@@ -143,9 +67,6 @@ export class MatterbridgeWaterHeaterManagementServer extends WaterHeaterManageme
|
|
|
143
67
|
device.commandHandler.executeHandler('cancelBoost', { request: {}, cluster: WaterHeaterManagementServer.id, attributes: this.state, endpoint: this.endpoint });
|
|
144
68
|
device.log.debug(`MatterbridgeWaterHeaterManagementServer cancelBoost called`);
|
|
145
69
|
this.state.boostState = WaterHeaterManagement.BoostState.Inactive;
|
|
146
|
-
// The implementation is responsible for setting the device accordingly with the cancelBoost command
|
|
147
|
-
// super.cancelBoost();
|
|
148
|
-
// cancelBoost is not implemented in matter.js
|
|
149
70
|
}
|
|
150
71
|
}
|
|
151
72
|
export class MatterbridgeWaterHeaterModeServer extends WaterHeaterModeServer {
|
|
@@ -163,4 +84,3 @@ export class MatterbridgeWaterHeaterModeServer extends WaterHeaterModeServer {
|
|
|
163
84
|
return { status: ModeBase.ModeChangeStatus.Success, statusText: 'Success' };
|
|
164
85
|
}
|
|
165
86
|
}
|
|
166
|
-
//# sourceMappingURL=waterHeater.js.map
|
package/dist/dgram/coap.d.ts
CHANGED
|
@@ -1,141 +1,13 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description This file contains the class Coap.
|
|
3
|
-
* @file src/dgram/coap.ts
|
|
4
|
-
* @author Luca Liguori
|
|
5
|
-
* @created 2025-03-22
|
|
6
|
-
* @version 1.0.0
|
|
7
|
-
* @license Apache-2.0
|
|
8
|
-
*
|
|
9
|
-
* Copyright 2025, 2026, 2027 Luca Liguori.
|
|
10
|
-
*
|
|
11
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
|
-
* you may not use this file except in compliance with the License.
|
|
13
|
-
* You may obtain a copy of the License at
|
|
14
|
-
*
|
|
15
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
-
*
|
|
17
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
18
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
19
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
20
|
-
* See the License for the specific language governing permissions and
|
|
21
|
-
* limitations under the License.
|
|
22
|
-
*/
|
|
23
1
|
import dgram from 'node:dgram';
|
|
24
2
|
import { Multicast } from './multicast.js';
|
|
25
|
-
/**
|
|
26
|
-
* Represents a CoAP message.
|
|
27
|
-
*
|
|
28
|
-
* A CoAP message is structured with a fixed header, an optional token, a series of options,
|
|
29
|
-
* and an optional payload. The header consists of version, type, token length, code, and message ID.
|
|
30
|
-
* The token is used to match responses with requests, options provide additional metadata, and
|
|
31
|
-
* the payload carries the message content.
|
|
32
|
-
*/
|
|
33
3
|
export interface CoapMessage {
|
|
34
|
-
/**
|
|
35
|
-
* The CoAP protocol version.
|
|
36
|
-
* Typically, this is 1.
|
|
37
|
-
* (Stored in the top 2 bits of the first header byte.)
|
|
38
|
-
*/
|
|
39
4
|
version: number;
|
|
40
|
-
/**
|
|
41
|
-
* The message type.
|
|
42
|
-
* It indicates whether the message is Confirmable, Non-confirmable, Acknowledgement, or Reset.
|
|
43
|
-
* (Stored in bits 5-4 of the first header byte.)
|
|
44
|
-
* 0: Confirmable (CON)
|
|
45
|
-
* 1: Non-confirmable (NON)
|
|
46
|
-
* 2: Acknowledgement (ACK)
|
|
47
|
-
* 3: Reset (RST)
|
|
48
|
-
*/
|
|
49
5
|
type: number;
|
|
50
|
-
/**
|
|
51
|
-
* The token length.
|
|
52
|
-
* This value (0-8) specifies the length of the token field.
|
|
53
|
-
* (Stored in the lower 4 bits of the first header byte.)
|
|
54
|
-
*/
|
|
55
6
|
tokenLength: number;
|
|
56
|
-
/**
|
|
57
|
-
* The message code.
|
|
58
|
-
* It indicates the method or response code, e.g., GET, POST, or a success/error response.
|
|
59
|
-
* (Stored in the second header byte.)
|
|
60
|
-
* CoAP uses an 8‑bit Code field divided into a 3‑bit class and a 5‑bit detail. The code can be represented as X.XX (e.g. 0.01) and is defined in RFC 7252. Here are the standard CoAP codes:
|
|
61
|
-
* Request Codes (Class 0)
|
|
62
|
-
* 0.01 – 1-GET
|
|
63
|
-
* Retrieve a resource.
|
|
64
|
-
* 0.02 – 2-POST
|
|
65
|
-
* Create a resource or trigger an action.
|
|
66
|
-
* 0.03 – 3-PUT
|
|
67
|
-
* Update or create a resource.
|
|
68
|
-
* 0.04 – 4-DELETE
|
|
69
|
-
* Remove a resource.
|
|
70
|
-
* Success Response Codes (Class 2)
|
|
71
|
-
* 2.00 – Empty / Success
|
|
72
|
-
* Indicates an empty message or a successful request with no payload.
|
|
73
|
-
* 2.01 – Created
|
|
74
|
-
* The request resulted in a new resource being created.
|
|
75
|
-
* 2.02 – Deleted
|
|
76
|
-
* The resource was successfully deleted.
|
|
77
|
-
* 2.03 – Valid
|
|
78
|
-
* The response indicates that the resource is still valid (used with caching).
|
|
79
|
-
* 2.04 – Changed
|
|
80
|
-
* The resource was successfully modified.
|
|
81
|
-
* 2.05 – Content
|
|
82
|
-
* The response contains the requested content.
|
|
83
|
-
* Client Error Response Codes (Class 4)
|
|
84
|
-
* 4.00 – Bad Request
|
|
85
|
-
* The request was malformed.
|
|
86
|
-
* 4.01 – Unauthorized
|
|
87
|
-
* The request requires authentication.
|
|
88
|
-
* 4.02 – Bad Option
|
|
89
|
-
* An option in the request was not understood or is unacceptable.
|
|
90
|
-
* 4.03 – Forbidden
|
|
91
|
-
* The server refuses to fulfill the request.
|
|
92
|
-
* 4.04 – Not Found
|
|
93
|
-
* The requested resource was not found.
|
|
94
|
-
* 4.05 – Method Not Allowed
|
|
95
|
-
* The request method is not supported for the target resource.
|
|
96
|
-
* 4.06 – Not Acceptable
|
|
97
|
-
* The server cannot generate a response matching the list of acceptable values.
|
|
98
|
-
* 4.12 – Precondition Failed
|
|
99
|
-
* A precondition given in the request evaluated to false.
|
|
100
|
-
* 4.13 – Request Entity Too Large
|
|
101
|
-
* The request payload is too large.
|
|
102
|
-
* 4.15 – Unsupported Content-Format
|
|
103
|
-
* The server does not support the content format of the request payload.
|
|
104
|
-
* Server Error Response Codes (Class 5)
|
|
105
|
-
* 5.00 – Internal Server Error
|
|
106
|
-
* The server encountered an unexpected condition.
|
|
107
|
-
* 5.01 – Not Implemented
|
|
108
|
-
* The server does not support the requested method.
|
|
109
|
-
* 5.02 – Bad Gateway
|
|
110
|
-
* The server, while acting as a gateway or proxy, received an invalid response.
|
|
111
|
-
* 5.03 – Service Unavailable
|
|
112
|
-
* The server is currently unable to handle the request.
|
|
113
|
-
* 5.04 – Gateway Timeout
|
|
114
|
-
* The server did not receive a timely response from an upstream server.
|
|
115
|
-
* 5.05 – Proxying Not Supported
|
|
116
|
-
* The server does not support proxying for the requested resource.
|
|
117
|
-
*/
|
|
118
7
|
code: number;
|
|
119
|
-
/**
|
|
120
|
-
* The message identifier.
|
|
121
|
-
* This 16-bit field is used to match messages of type Acknowledgement/Reset with their corresponding requests.
|
|
122
|
-
* (Stored in bytes 2-3 of the header.)
|
|
123
|
-
*/
|
|
124
8
|
messageId: number;
|
|
125
|
-
/**
|
|
126
|
-
* The token.
|
|
127
|
-
* A variable-length sequence (0-8 bytes) that helps match a request with its response.
|
|
128
|
-
*/
|
|
129
9
|
token: Buffer;
|
|
130
|
-
/**
|
|
131
|
-
* An array of options.
|
|
132
|
-
* Options carry additional information such as URI path, content format, etc., and are encoded using a delta mechanism.
|
|
133
|
-
*/
|
|
134
10
|
options: CoapOption[];
|
|
135
|
-
/**
|
|
136
|
-
* The payload.
|
|
137
|
-
* The actual content of the message, if present. It follows a payload marker (0xFF) if non-empty.
|
|
138
|
-
*/
|
|
139
11
|
payload?: Buffer;
|
|
140
12
|
}
|
|
141
13
|
interface CoapOption {
|
|
@@ -152,54 +24,11 @@ export declare class Coap extends Multicast {
|
|
|
152
24
|
constructor(name: string, multicastAddress: string, multicastPort: number, socketType: 'udp4' | 'udp6', reuseAddr?: boolean | undefined, interfaceName?: string, interfaceAddress?: string);
|
|
153
25
|
onCoapMessage(message: CoapMessage, rinfo: dgram.RemoteInfo): void;
|
|
154
26
|
onMessage(msg: Buffer, rinfo: dgram.RemoteInfo): void;
|
|
155
|
-
/**
|
|
156
|
-
* Decodes a CoAP message from a Buffer.
|
|
157
|
-
*
|
|
158
|
-
* @param {Buffer} msg - The Buffer containing the raw CoAP message.
|
|
159
|
-
* @returns {CoapMessage} A parsed CoAP message object.
|
|
160
|
-
* @throws {Error} if the message is malformed.
|
|
161
|
-
*/
|
|
162
27
|
decodeCoapMessage(msg: Buffer): CoapMessage;
|
|
163
|
-
/**
|
|
164
|
-
* Encodes a CoAP message into a Buffer.
|
|
165
|
-
*
|
|
166
|
-
* @param {CoapMessage} msg - The CoAP message to encode.
|
|
167
|
-
* @returns {Buffer} A Buffer representing the encoded CoAP message.
|
|
168
|
-
* @throws {Error} if the message is malformed.
|
|
169
|
-
*/
|
|
170
28
|
encodeCoapMessage(msg: CoapMessage): Buffer;
|
|
171
|
-
/**
|
|
172
|
-
* Converts a CoAP message type numeric value to its string representation.
|
|
173
|
-
*
|
|
174
|
-
* CoAP message types are:
|
|
175
|
-
* - 0: Confirmable (CON)
|
|
176
|
-
* - 1: Non-confirmable (NON)
|
|
177
|
-
* - 2: Acknowledgement (ACK)
|
|
178
|
-
* - 3: Reset (RST)
|
|
179
|
-
*
|
|
180
|
-
* @param {number} type - The numeric CoAP message type.
|
|
181
|
-
* @returns {string} The string representation of the message type.
|
|
182
|
-
*/
|
|
183
29
|
coapTypeToString(type: number): string;
|
|
184
|
-
/**
|
|
185
|
-
* Converts a CoAP code numeric value to its string representation.
|
|
186
|
-
*
|
|
187
|
-
* The CoAP code is split into a 3-bit class and a 5-bit detail.
|
|
188
|
-
* For example:
|
|
189
|
-
* - 0.01: GET
|
|
190
|
-
* - 0.02: POST
|
|
191
|
-
* - 0.03: PUT
|
|
192
|
-
* - 0.04: DELETE
|
|
193
|
-
* - 2.05: Content (success response)
|
|
194
|
-
* - 4.04: Not Found (client error)
|
|
195
|
-
* - 5.00: Internal Server Error (server error)
|
|
196
|
-
*
|
|
197
|
-
* @param {number} code - The numeric CoAP code.
|
|
198
|
-
* @returns {string} The string representation of the code.
|
|
199
|
-
*/
|
|
200
30
|
coapCodeToString(code: number): string;
|
|
201
31
|
sendRequest(messageId: number, options: CoapOption[], payload: Record<string, any> | undefined, token: string | undefined, address: string | undefined, port: number | undefined): void;
|
|
202
32
|
logCoapMessage(msg: CoapMessage): void;
|
|
203
33
|
}
|
|
204
34
|
export {};
|
|
205
|
-
//# sourceMappingURL=coap.d.ts.map
|