@matter/protocol 0.16.0-alpha.0-20250809-ee8375bcb → 0.16.0-alpha.0-20250810-5c91a95d2
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/dist/cjs/advertisement/Advertisement.d.ts +119 -0
- package/dist/cjs/advertisement/Advertisement.d.ts.map +1 -0
- package/dist/cjs/advertisement/Advertisement.js +267 -0
- package/dist/cjs/advertisement/Advertisement.js.map +6 -0
- package/dist/cjs/advertisement/Advertiser.d.ts +50 -0
- package/dist/cjs/advertisement/Advertiser.d.ts.map +1 -0
- package/dist/cjs/advertisement/Advertiser.js +81 -0
- package/dist/cjs/advertisement/Advertiser.js.map +6 -0
- package/dist/cjs/advertisement/CommissioningMode.d.ts +11 -0
- package/dist/cjs/advertisement/CommissioningMode.d.ts.map +1 -0
- package/dist/cjs/advertisement/CommissioningMode.js +35 -0
- package/dist/cjs/advertisement/CommissioningMode.js.map +6 -0
- package/dist/cjs/{common/InstanceBroadcaster.d.ts → advertisement/PairingHintBitmap.d.ts} +3 -69
- package/dist/cjs/advertisement/PairingHintBitmap.d.ts.map +1 -0
- package/dist/cjs/{common/InstanceBroadcaster.js → advertisement/PairingHintBitmap.js} +5 -12
- package/dist/cjs/advertisement/PairingHintBitmap.js.map +6 -0
- package/dist/cjs/advertisement/ServiceDescription.d.ts +70 -0
- package/dist/cjs/advertisement/ServiceDescription.d.ts.map +1 -0
- package/dist/cjs/advertisement/ServiceDescription.js +61 -0
- package/dist/cjs/advertisement/ServiceDescription.js.map +6 -0
- package/dist/cjs/advertisement/ble/BleAdvertisement.d.ts +16 -0
- package/dist/cjs/advertisement/ble/BleAdvertisement.d.ts.map +1 -0
- package/dist/cjs/advertisement/ble/BleAdvertisement.js +85 -0
- package/dist/cjs/advertisement/ble/BleAdvertisement.js.map +6 -0
- package/dist/cjs/advertisement/ble/BleAdvertiser.d.ts +66 -0
- package/dist/cjs/advertisement/ble/BleAdvertiser.d.ts.map +1 -0
- package/dist/cjs/advertisement/ble/BleAdvertiser.js +83 -0
- package/dist/cjs/advertisement/ble/BleAdvertiser.js.map +6 -0
- package/dist/cjs/advertisement/ble/index.d.ts +8 -0
- package/dist/cjs/advertisement/ble/index.d.ts.map +1 -0
- package/dist/cjs/advertisement/ble/index.js +25 -0
- package/dist/cjs/advertisement/ble/index.js.map +6 -0
- package/dist/cjs/advertisement/index.d.ts +13 -0
- package/dist/cjs/advertisement/index.d.ts.map +1 -0
- package/dist/cjs/advertisement/index.js +30 -0
- package/dist/cjs/advertisement/index.js.map +6 -0
- package/dist/cjs/advertisement/mdns/CommissionableMdnsAdvertisement.d.ts +21 -0
- package/dist/cjs/advertisement/mdns/CommissionableMdnsAdvertisement.d.ts.map +1 -0
- package/dist/cjs/advertisement/mdns/CommissionableMdnsAdvertisement.js +104 -0
- package/dist/cjs/advertisement/mdns/CommissionableMdnsAdvertisement.js.map +6 -0
- package/dist/cjs/advertisement/mdns/CommissionerMdnsAdvertisement.d.ts +20 -0
- package/dist/cjs/advertisement/mdns/CommissionerMdnsAdvertisement.d.ts.map +1 -0
- package/dist/cjs/advertisement/mdns/CommissionerMdnsAdvertisement.js +70 -0
- package/dist/cjs/advertisement/mdns/CommissionerMdnsAdvertisement.js.map +6 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertisement.d.ts +40 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertisement.d.ts.map +1 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertisement.js +145 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertisement.js.map +6 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertiser.d.ts +99 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertiser.d.ts.map +1 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertiser.js +166 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertiser.js.map +6 -0
- package/dist/cjs/advertisement/mdns/OperationalMdnsAdvertisement.d.ts +18 -0
- package/dist/cjs/advertisement/mdns/OperationalMdnsAdvertisement.d.ts.map +1 -0
- package/dist/cjs/advertisement/mdns/OperationalMdnsAdvertisement.js +55 -0
- package/dist/cjs/advertisement/mdns/OperationalMdnsAdvertisement.js.map +6 -0
- package/dist/cjs/advertisement/mdns/index.d.ts +11 -0
- package/dist/cjs/advertisement/mdns/index.d.ts.map +1 -0
- package/dist/cjs/advertisement/mdns/index.js +28 -0
- package/dist/cjs/advertisement/mdns/index.js.map +6 -0
- package/dist/cjs/ble/Ble.d.ts +7 -5
- package/dist/cjs/ble/Ble.d.ts.map +1 -1
- package/dist/cjs/ble/Ble.js.map +1 -1
- package/dist/cjs/codec/BtpCodec.d.ts +1 -1
- package/dist/cjs/codec/BtpCodec.d.ts.map +1 -1
- package/dist/cjs/codec/BtpCodec.js +4 -4
- package/dist/cjs/codec/BtpCodec.js.map +1 -1
- package/dist/cjs/common/Scanner.d.ts +1 -25
- package/dist/cjs/common/Scanner.d.ts.map +1 -1
- package/dist/cjs/common/Scanner.js +1 -18
- package/dist/cjs/common/Scanner.js.map +1 -1
- package/dist/cjs/common/SupportedTransportsBitmap.d.ts +33 -0
- package/dist/cjs/common/SupportedTransportsBitmap.d.ts.map +1 -0
- package/dist/cjs/common/SupportedTransportsBitmap.js +45 -0
- package/dist/cjs/common/SupportedTransportsBitmap.js.map +6 -0
- package/dist/cjs/common/index.d.ts +1 -1
- package/dist/cjs/common/index.d.ts.map +1 -1
- package/dist/cjs/common/index.js +1 -1
- package/dist/cjs/common/index.js.map +1 -1
- package/dist/cjs/fabric/Fabric.d.ts +1 -0
- package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
- package/dist/cjs/fabric/Fabric.js +7 -0
- package/dist/cjs/fabric/Fabric.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/{esm/mdns/MdnsScanner.d.ts → cjs/mdns/MdnsClient.d.ts} +11 -14
- package/dist/cjs/mdns/MdnsClient.d.ts.map +1 -0
- package/dist/cjs/mdns/{MdnsScanner.js → MdnsClient.js} +35 -90
- package/dist/cjs/mdns/MdnsClient.js.map +6 -0
- package/dist/cjs/mdns/MdnsConsts.d.ts +11 -2
- package/dist/cjs/mdns/MdnsConsts.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsConsts.js +31 -4
- package/dist/cjs/mdns/MdnsConsts.js.map +1 -1
- package/dist/cjs/mdns/MdnsServer.d.ts +13 -22
- package/dist/cjs/mdns/MdnsServer.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsServer.js +55 -140
- package/dist/cjs/mdns/MdnsServer.js.map +2 -2
- package/dist/cjs/mdns/MdnsService.d.ts +4 -5
- package/dist/cjs/mdns/MdnsService.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsService.js +22 -23
- package/dist/cjs/mdns/MdnsService.js.map +1 -1
- package/dist/cjs/mdns/MdnsSocket.d.ts +32 -0
- package/dist/cjs/mdns/MdnsSocket.d.ts.map +1 -0
- package/dist/cjs/mdns/MdnsSocket.js +144 -0
- package/dist/cjs/mdns/MdnsSocket.js.map +6 -0
- package/dist/cjs/mdns/index.d.ts +2 -3
- package/dist/cjs/mdns/index.d.ts.map +1 -1
- package/dist/cjs/mdns/index.js +2 -3
- package/dist/cjs/mdns/index.js.map +1 -1
- package/dist/cjs/peer/ControllerCommissioner.js +2 -2
- package/dist/cjs/peer/ControllerCommissioner.js.map +1 -1
- package/dist/cjs/peer/ControllerDiscovery.d.ts +3 -3
- package/dist/cjs/peer/ControllerDiscovery.d.ts.map +1 -1
- package/dist/cjs/peer/ControllerDiscovery.js.map +1 -1
- package/dist/cjs/peer/PeerSet.d.ts.map +1 -1
- package/dist/cjs/peer/PeerSet.js +10 -5
- package/dist/cjs/peer/PeerSet.js.map +1 -1
- package/dist/cjs/protocol/DeviceAdvertiser.d.ts +23 -18
- package/dist/cjs/protocol/DeviceAdvertiser.d.ts.map +1 -1
- package/dist/cjs/protocol/DeviceAdvertiser.js +130 -129
- package/dist/cjs/protocol/DeviceAdvertiser.js.map +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.d.ts +0 -1
- package/dist/cjs/protocol/DeviceCommissioner.d.ts.map +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.js +44 -44
- package/dist/cjs/protocol/DeviceCommissioner.js.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.js +1 -1
- package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
- package/dist/cjs/protocol/MessageExchange.d.ts +1 -1
- package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageExchange.js +6 -8
- package/dist/cjs/protocol/MessageExchange.js.map +1 -1
- package/dist/cjs/session/NodeSession.d.ts +1 -0
- package/dist/cjs/session/NodeSession.d.ts.map +1 -1
- package/dist/cjs/session/NodeSession.js +3 -0
- package/dist/cjs/session/NodeSession.js.map +1 -1
- package/dist/cjs/session/Session.d.ts +3 -33
- package/dist/cjs/session/Session.d.ts.map +1 -1
- package/dist/cjs/session/Session.js +4 -9
- package/dist/cjs/session/Session.js.map +1 -1
- package/dist/cjs/session/SessionIntervals.d.ts +36 -0
- package/dist/cjs/session/SessionIntervals.d.ts.map +1 -0
- package/dist/cjs/session/SessionIntervals.js +51 -0
- package/dist/cjs/session/SessionIntervals.js.map +6 -0
- package/dist/cjs/session/SessionManager.d.ts +1 -1
- package/dist/cjs/session/SessionManager.d.ts.map +1 -1
- package/dist/cjs/session/SessionManager.js +11 -12
- package/dist/cjs/session/SessionManager.js.map +1 -1
- package/dist/cjs/session/pase/PaseMessages.js +2 -2
- package/dist/cjs/session/pase/PaseMessages.js.map +1 -1
- package/dist/esm/advertisement/Advertisement.d.ts +119 -0
- package/dist/esm/advertisement/Advertisement.d.ts.map +1 -0
- package/dist/esm/advertisement/Advertisement.js +247 -0
- package/dist/esm/advertisement/Advertisement.js.map +6 -0
- package/dist/esm/advertisement/Advertiser.d.ts +50 -0
- package/dist/esm/advertisement/Advertiser.d.ts.map +1 -0
- package/dist/esm/advertisement/Advertiser.js +61 -0
- package/dist/esm/advertisement/Advertiser.js.map +6 -0
- package/dist/esm/advertisement/CommissioningMode.d.ts +11 -0
- package/dist/esm/advertisement/CommissioningMode.d.ts.map +1 -0
- package/dist/esm/advertisement/CommissioningMode.js +15 -0
- package/dist/esm/advertisement/CommissioningMode.js.map +6 -0
- package/dist/esm/{common/InstanceBroadcaster.d.ts → advertisement/PairingHintBitmap.d.ts} +3 -69
- package/dist/esm/advertisement/PairingHintBitmap.d.ts.map +1 -0
- package/dist/esm/{common/InstanceBroadcaster.js → advertisement/PairingHintBitmap.js} +2 -9
- package/dist/esm/{common/InstanceBroadcaster.js.map → advertisement/PairingHintBitmap.js.map} +3 -3
- package/dist/esm/advertisement/ServiceDescription.d.ts +70 -0
- package/dist/esm/advertisement/ServiceDescription.d.ts.map +1 -0
- package/dist/esm/advertisement/ServiceDescription.js +41 -0
- package/dist/esm/advertisement/ServiceDescription.js.map +6 -0
- package/dist/esm/advertisement/ble/BleAdvertisement.d.ts +16 -0
- package/dist/esm/advertisement/ble/BleAdvertisement.d.ts.map +1 -0
- package/dist/esm/advertisement/ble/BleAdvertisement.js +65 -0
- package/dist/esm/advertisement/ble/BleAdvertisement.js.map +6 -0
- package/dist/esm/advertisement/ble/BleAdvertiser.d.ts +66 -0
- package/dist/esm/advertisement/ble/BleAdvertiser.d.ts.map +1 -0
- package/dist/esm/advertisement/ble/BleAdvertiser.js +63 -0
- package/dist/esm/advertisement/ble/BleAdvertiser.js.map +6 -0
- package/dist/esm/advertisement/ble/index.d.ts +8 -0
- package/dist/esm/advertisement/ble/index.d.ts.map +1 -0
- package/dist/esm/advertisement/ble/index.js +8 -0
- package/dist/esm/advertisement/ble/index.js.map +6 -0
- package/dist/esm/advertisement/index.d.ts +13 -0
- package/dist/esm/advertisement/index.d.ts.map +1 -0
- package/dist/esm/advertisement/index.js +13 -0
- package/dist/esm/advertisement/index.js.map +6 -0
- package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.d.ts +21 -0
- package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.d.ts.map +1 -0
- package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.js +95 -0
- package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.js.map +6 -0
- package/dist/esm/advertisement/mdns/CommissionerMdnsAdvertisement.d.ts +20 -0
- package/dist/esm/advertisement/mdns/CommissionerMdnsAdvertisement.d.ts.map +1 -0
- package/dist/esm/advertisement/mdns/CommissionerMdnsAdvertisement.js +54 -0
- package/dist/esm/advertisement/mdns/CommissionerMdnsAdvertisement.js.map +6 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertisement.d.ts +40 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertisement.d.ts.map +1 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertisement.js +125 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertisement.js.map +6 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertiser.d.ts +99 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertiser.d.ts.map +1 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertiser.js +146 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertiser.js.map +6 -0
- package/dist/esm/advertisement/mdns/OperationalMdnsAdvertisement.d.ts +18 -0
- package/dist/esm/advertisement/mdns/OperationalMdnsAdvertisement.d.ts.map +1 -0
- package/dist/esm/advertisement/mdns/OperationalMdnsAdvertisement.js +40 -0
- package/dist/esm/advertisement/mdns/OperationalMdnsAdvertisement.js.map +6 -0
- package/dist/esm/advertisement/mdns/index.d.ts +11 -0
- package/dist/esm/advertisement/mdns/index.d.ts.map +1 -0
- package/dist/esm/advertisement/mdns/index.js +11 -0
- package/dist/esm/advertisement/mdns/index.js.map +6 -0
- package/dist/esm/ble/Ble.d.ts +7 -5
- package/dist/esm/ble/Ble.d.ts.map +1 -1
- package/dist/esm/ble/Ble.js.map +1 -1
- package/dist/esm/codec/BtpCodec.d.ts +1 -1
- package/dist/esm/codec/BtpCodec.d.ts.map +1 -1
- package/dist/esm/codec/BtpCodec.js +4 -4
- package/dist/esm/codec/BtpCodec.js.map +1 -1
- package/dist/esm/common/Scanner.d.ts +1 -25
- package/dist/esm/common/Scanner.d.ts.map +1 -1
- package/dist/esm/common/Scanner.js +1 -18
- package/dist/esm/common/Scanner.js.map +1 -1
- package/dist/esm/common/SupportedTransportsBitmap.d.ts +33 -0
- package/dist/esm/common/SupportedTransportsBitmap.d.ts.map +1 -0
- package/dist/esm/common/SupportedTransportsBitmap.js +25 -0
- package/dist/esm/common/SupportedTransportsBitmap.js.map +6 -0
- package/dist/esm/common/index.d.ts +1 -1
- package/dist/esm/common/index.d.ts.map +1 -1
- package/dist/esm/common/index.js +1 -1
- package/dist/esm/fabric/Fabric.d.ts +1 -0
- package/dist/esm/fabric/Fabric.d.ts.map +1 -1
- package/dist/esm/fabric/Fabric.js +7 -0
- package/dist/esm/fabric/Fabric.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/{cjs/mdns/MdnsScanner.d.ts → esm/mdns/MdnsClient.d.ts} +11 -14
- package/dist/esm/mdns/MdnsClient.d.ts.map +1 -0
- package/dist/esm/mdns/{MdnsScanner.js → MdnsClient.js} +34 -92
- package/dist/esm/mdns/MdnsClient.js.map +6 -0
- package/dist/esm/mdns/MdnsConsts.d.ts +11 -2
- package/dist/esm/mdns/MdnsConsts.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsConsts.js +31 -4
- package/dist/esm/mdns/MdnsConsts.js.map +1 -1
- package/dist/esm/mdns/MdnsServer.d.ts +13 -22
- package/dist/esm/mdns/MdnsServer.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsServer.js +57 -145
- package/dist/esm/mdns/MdnsServer.js.map +2 -2
- package/dist/esm/mdns/MdnsService.d.ts +4 -5
- package/dist/esm/mdns/MdnsService.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsService.js +22 -24
- package/dist/esm/mdns/MdnsService.js.map +1 -1
- package/dist/esm/mdns/MdnsSocket.d.ts +32 -0
- package/dist/esm/mdns/MdnsSocket.d.ts.map +1 -0
- package/dist/esm/mdns/MdnsSocket.js +133 -0
- package/dist/esm/mdns/MdnsSocket.js.map +6 -0
- package/dist/esm/mdns/index.d.ts +2 -3
- package/dist/esm/mdns/index.d.ts.map +1 -1
- package/dist/esm/mdns/index.js +2 -3
- package/dist/esm/mdns/index.js.map +1 -1
- package/dist/esm/peer/ControllerCommissioner.js +2 -2
- package/dist/esm/peer/ControllerCommissioner.js.map +1 -1
- package/dist/esm/peer/ControllerDiscovery.d.ts +3 -3
- package/dist/esm/peer/ControllerDiscovery.d.ts.map +1 -1
- package/dist/esm/peer/ControllerDiscovery.js.map +1 -1
- package/dist/esm/peer/PeerSet.d.ts.map +1 -1
- package/dist/esm/peer/PeerSet.js +10 -5
- package/dist/esm/peer/PeerSet.js.map +1 -1
- package/dist/esm/protocol/DeviceAdvertiser.d.ts +23 -18
- package/dist/esm/protocol/DeviceAdvertiser.d.ts.map +1 -1
- package/dist/esm/protocol/DeviceAdvertiser.js +131 -139
- package/dist/esm/protocol/DeviceAdvertiser.js.map +1 -1
- package/dist/esm/protocol/DeviceCommissioner.d.ts +0 -1
- package/dist/esm/protocol/DeviceCommissioner.d.ts.map +1 -1
- package/dist/esm/protocol/DeviceCommissioner.js +47 -47
- package/dist/esm/protocol/DeviceCommissioner.js.map +1 -1
- package/dist/esm/protocol/ExchangeManager.js +1 -1
- package/dist/esm/protocol/ExchangeManager.js.map +1 -1
- package/dist/esm/protocol/MessageExchange.d.ts +1 -1
- package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/esm/protocol/MessageExchange.js +6 -12
- package/dist/esm/protocol/MessageExchange.js.map +1 -1
- package/dist/esm/session/NodeSession.d.ts +1 -0
- package/dist/esm/session/NodeSession.d.ts.map +1 -1
- package/dist/esm/session/NodeSession.js +3 -0
- package/dist/esm/session/NodeSession.js.map +1 -1
- package/dist/esm/session/Session.d.ts +3 -33
- package/dist/esm/session/Session.d.ts.map +1 -1
- package/dist/esm/session/Session.js +4 -9
- package/dist/esm/session/Session.js.map +1 -1
- package/dist/esm/session/SessionIntervals.d.ts +36 -0
- package/dist/esm/session/SessionIntervals.d.ts.map +1 -0
- package/dist/esm/session/SessionIntervals.js +31 -0
- package/dist/esm/session/SessionIntervals.js.map +6 -0
- package/dist/esm/session/SessionManager.d.ts +1 -1
- package/dist/esm/session/SessionManager.d.ts.map +1 -1
- package/dist/esm/session/SessionManager.js +10 -14
- package/dist/esm/session/SessionManager.js.map +1 -1
- package/dist/esm/session/pase/PaseMessages.js +1 -1
- package/package.json +6 -6
- package/src/advertisement/Advertisement.ts +348 -0
- package/src/advertisement/Advertiser.ts +83 -0
- package/src/advertisement/CommissioningMode.ts +11 -0
- package/src/{common/InstanceBroadcaster.ts → advertisement/PairingHintBitmap.ts} +1 -92
- package/src/advertisement/ServiceDescription.ts +110 -0
- package/src/advertisement/ble/BleAdvertisement.ts +90 -0
- package/src/advertisement/ble/BleAdvertiser.ts +116 -0
- package/src/advertisement/ble/index.ts +8 -0
- package/src/advertisement/index.ts +13 -0
- package/src/advertisement/mdns/CommissionableMdnsAdvertisement.ts +118 -0
- package/src/advertisement/mdns/CommissionerMdnsAdvertisement.ts +73 -0
- package/src/advertisement/mdns/MdnsAdvertisement.ts +167 -0
- package/src/advertisement/mdns/MdnsAdvertiser.ts +248 -0
- package/src/advertisement/mdns/OperationalMdnsAdvertisement.ts +50 -0
- package/src/advertisement/mdns/index.ts +11 -0
- package/src/ble/Ble.ts +8 -5
- package/src/codec/BtpCodec.ts +4 -3
- package/src/common/Scanner.ts +1 -17
- package/src/common/SupportedTransportsBitmap.ts +25 -0
- package/src/common/index.ts +1 -1
- package/src/fabric/Fabric.ts +8 -0
- package/src/index.ts +1 -0
- package/src/mdns/{MdnsScanner.ts → MdnsClient.ts} +34 -103
- package/src/mdns/MdnsConsts.ts +27 -2
- package/src/mdns/MdnsServer.ts +79 -184
- package/src/mdns/MdnsService.ts +24 -27
- package/src/mdns/MdnsSocket.ts +179 -0
- package/src/mdns/index.ts +2 -3
- package/src/peer/ControllerCommissioner.ts +2 -2
- package/src/peer/ControllerDiscovery.ts +3 -3
- package/src/peer/PeerSet.ts +15 -9
- package/src/protocol/DeviceAdvertiser.ts +161 -151
- package/src/protocol/DeviceCommissioner.ts +65 -75
- package/src/protocol/ExchangeManager.ts +1 -1
- package/src/protocol/MessageExchange.ts +8 -14
- package/src/session/NodeSession.ts +4 -0
- package/src/session/Session.ts +6 -42
- package/src/session/SessionIntervals.ts +57 -0
- package/src/session/SessionManager.ts +9 -13
- package/src/session/pase/PaseMessages.ts +1 -1
- package/dist/cjs/common/InstanceBroadcaster.d.ts.map +0 -1
- package/dist/cjs/common/InstanceBroadcaster.js.map +0 -6
- package/dist/cjs/mdns/MdnsBroadcaster.d.ts +0 -34
- package/dist/cjs/mdns/MdnsBroadcaster.d.ts.map +0 -1
- package/dist/cjs/mdns/MdnsBroadcaster.js +0 -365
- package/dist/cjs/mdns/MdnsBroadcaster.js.map +0 -6
- package/dist/cjs/mdns/MdnsInstanceBroadcaster.d.ts +0 -28
- package/dist/cjs/mdns/MdnsInstanceBroadcaster.d.ts.map +0 -1
- package/dist/cjs/mdns/MdnsInstanceBroadcaster.js +0 -87
- package/dist/cjs/mdns/MdnsInstanceBroadcaster.js.map +0 -6
- package/dist/cjs/mdns/MdnsScanner.d.ts.map +0 -1
- package/dist/cjs/mdns/MdnsScanner.js.map +0 -6
- package/dist/esm/common/InstanceBroadcaster.d.ts.map +0 -1
- package/dist/esm/mdns/MdnsBroadcaster.d.ts +0 -34
- package/dist/esm/mdns/MdnsBroadcaster.d.ts.map +0 -1
- package/dist/esm/mdns/MdnsBroadcaster.js +0 -378
- package/dist/esm/mdns/MdnsBroadcaster.js.map +0 -6
- package/dist/esm/mdns/MdnsInstanceBroadcaster.d.ts +0 -28
- package/dist/esm/mdns/MdnsInstanceBroadcaster.d.ts.map +0 -1
- package/dist/esm/mdns/MdnsInstanceBroadcaster.js +0 -67
- package/dist/esm/mdns/MdnsInstanceBroadcaster.js.map +0 -6
- package/dist/esm/mdns/MdnsScanner.d.ts.map +0 -1
- package/dist/esm/mdns/MdnsScanner.js.map +0 -6
- package/src/mdns/MdnsBroadcaster.ts +0 -451
- package/src/mdns/MdnsInstanceBroadcaster.ts +0 -88
|
@@ -9,8 +9,6 @@ import {
|
|
|
9
9
|
Bytes,
|
|
10
10
|
ChannelType,
|
|
11
11
|
Diagnostic,
|
|
12
|
-
DnsCodec,
|
|
13
|
-
DnsMessagePartiallyPreEncoded,
|
|
14
12
|
DnsMessageType,
|
|
15
13
|
DnsQuery,
|
|
16
14
|
DnsRecord,
|
|
@@ -20,14 +18,11 @@ import {
|
|
|
20
18
|
InternalError,
|
|
21
19
|
Lifespan,
|
|
22
20
|
Logger,
|
|
23
|
-
MAX_MDNS_MESSAGE_SIZE,
|
|
24
|
-
Network,
|
|
25
21
|
ObserverGroup,
|
|
26
22
|
ServerAddressIp,
|
|
27
23
|
SrvRecordValue,
|
|
28
24
|
Time,
|
|
29
25
|
Timer,
|
|
30
|
-
UdpMulticastServer,
|
|
31
26
|
createPromise,
|
|
32
27
|
isIPv6,
|
|
33
28
|
} from "#general";
|
|
@@ -43,17 +38,17 @@ import { Fabric } from "../fabric/Fabric.js";
|
|
|
43
38
|
import {
|
|
44
39
|
MATTER_COMMISSION_SERVICE_QNAME,
|
|
45
40
|
MATTER_SERVICE_QNAME,
|
|
41
|
+
getCommissionableDeviceQname,
|
|
46
42
|
getCommissioningModeQname,
|
|
47
|
-
getDeviceInstanceQname,
|
|
48
|
-
getDeviceMatterQname,
|
|
49
43
|
getDeviceTypeQname,
|
|
50
44
|
getLongDiscriminatorQname,
|
|
45
|
+
getOperationalDeviceQname,
|
|
51
46
|
getShortDiscriminatorQname,
|
|
52
47
|
getVendorQname,
|
|
53
48
|
} from "./MdnsConsts.js";
|
|
54
|
-
import {
|
|
49
|
+
import { MdnsSocket } from "./MdnsSocket.js";
|
|
55
50
|
|
|
56
|
-
const logger = Logger.get("
|
|
51
|
+
const logger = Logger.get("MdnsClient");
|
|
57
52
|
|
|
58
53
|
const MDNS_EXPIRY_GRACE_PERIOD_FACTOR = 1.05;
|
|
59
54
|
|
|
@@ -118,23 +113,9 @@ export interface MdnsScannerTargetCriteria {
|
|
|
118
113
|
* This class implements the Scanner interface for a MDNS scanner via UDP messages in a IP based network. It sends out
|
|
119
114
|
* queries to discover various types of Matter device types and listens for announcements.
|
|
120
115
|
*/
|
|
121
|
-
export class
|
|
116
|
+
export class MdnsClient implements Scanner {
|
|
122
117
|
readonly type = ChannelType.UDP;
|
|
123
118
|
|
|
124
|
-
static async create(network: Network, options?: { enableIpv4?: boolean; netInterface?: string }) {
|
|
125
|
-
const { enableIpv4, netInterface } = options ?? {};
|
|
126
|
-
return new MdnsScanner(
|
|
127
|
-
await UdpMulticastServer.create({
|
|
128
|
-
network,
|
|
129
|
-
netInterface: netInterface,
|
|
130
|
-
broadcastAddressIpv4: enableIpv4 ? MDNS_BROADCAST_IPV4 : undefined,
|
|
131
|
-
broadcastAddressIpv6: MDNS_BROADCAST_IPV6,
|
|
132
|
-
listeningPort: MDNS_BROADCAST_PORT,
|
|
133
|
-
}),
|
|
134
|
-
enableIpv4,
|
|
135
|
-
);
|
|
136
|
-
}
|
|
137
|
-
|
|
138
119
|
/** Active announces by queryId with queries and known answers */
|
|
139
120
|
readonly #activeAnnounceQueries = new Map<string, { queries: DnsQuery[]; answers: StructuredDnsAnswers }>();
|
|
140
121
|
|
|
@@ -163,8 +144,7 @@ export class MdnsScanner implements Scanner {
|
|
|
163
144
|
#nextAnnounceIntervalSeconds = START_ANNOUNCE_INTERVAL_SECONDS;
|
|
164
145
|
readonly #periodicTimer: Timer;
|
|
165
146
|
#closing = false;
|
|
166
|
-
readonly #
|
|
167
|
-
readonly #enableIpv4?: boolean;
|
|
147
|
+
readonly #socket: MdnsSocket;
|
|
168
148
|
|
|
169
149
|
readonly #targetCriteriaProviders = new BasicSet<MdnsScannerTargetCriteria>();
|
|
170
150
|
#scanForCommissionableDevices = false;
|
|
@@ -175,12 +155,9 @@ export class MdnsScanner implements Scanner {
|
|
|
175
155
|
/** True, if any node is interested in MDNS traffic, else we ignore all traffic */
|
|
176
156
|
#listening = false;
|
|
177
157
|
|
|
178
|
-
constructor(
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
);
|
|
182
|
-
this.#multicastServer = multicastServer;
|
|
183
|
-
this.#enableIpv4 = enableIpv4;
|
|
158
|
+
constructor(socket: MdnsSocket) {
|
|
159
|
+
this.#socket = socket;
|
|
160
|
+
this.#observers.on(this.#socket.receipt, this.#handleMessage.bind(this));
|
|
184
161
|
this.#periodicTimer = Time.getPeriodicTimer("Discovered node expiration", 60 * 1000 /* 1 mn */, () =>
|
|
185
162
|
this.#expire(),
|
|
186
163
|
).start();
|
|
@@ -284,56 +261,11 @@ export class MdnsScanner implements Scanner {
|
|
|
284
261
|
const nextAnnounceInterval = this.#nextAnnounceIntervalSeconds * 2;
|
|
285
262
|
this.#nextAnnounceIntervalSeconds = Math.min(nextAnnounceInterval, 60 * 60 /* 1 hour */);
|
|
286
263
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
const dnsMessageDataToSend = {
|
|
290
|
-
messageType: DnsMessageType.TruncatedQuery,
|
|
291
|
-
transactionId: 0,
|
|
264
|
+
await this.#socket.send({
|
|
265
|
+
messageType: DnsMessageType.Query,
|
|
292
266
|
queries,
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
additionalRecords: [],
|
|
296
|
-
} as DnsMessagePartiallyPreEncoded;
|
|
297
|
-
|
|
298
|
-
const emptyDnsMessage = DnsCodec.encode(dnsMessageDataToSend);
|
|
299
|
-
let dnsMessageSize = emptyDnsMessage.length;
|
|
300
|
-
|
|
301
|
-
while (true) {
|
|
302
|
-
if (answersToSend.length > 0) {
|
|
303
|
-
const nextAnswer = answersToSend.shift();
|
|
304
|
-
if (nextAnswer === undefined) {
|
|
305
|
-
break;
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
const nextAnswerEncoded = DnsCodec.encodeRecord(nextAnswer);
|
|
309
|
-
dnsMessageSize += nextAnswerEncoded.length; // Add additional record as long as size is ok
|
|
310
|
-
|
|
311
|
-
if (dnsMessageSize > MAX_MDNS_MESSAGE_SIZE) {
|
|
312
|
-
if (dnsMessageDataToSend.answers.length === 0) {
|
|
313
|
-
// The first answer is already too big, log at least a warning
|
|
314
|
-
logger.warn(
|
|
315
|
-
`MDNS Query with ${Diagnostic.json(
|
|
316
|
-
queries,
|
|
317
|
-
)} is too big to fit into a single MDNS message. Send anyway, but please report!`,
|
|
318
|
-
);
|
|
319
|
-
}
|
|
320
|
-
// New answer do not fit anymore, send out the message
|
|
321
|
-
await this.#multicastServer.send(DnsCodec.encode(dnsMessageDataToSend));
|
|
322
|
-
|
|
323
|
-
// Reset the message, length counter and included answers to count for next message
|
|
324
|
-
dnsMessageDataToSend.queries.length = 0;
|
|
325
|
-
dnsMessageDataToSend.answers.length = 0;
|
|
326
|
-
dnsMessageSize = emptyDnsMessage.length + nextAnswerEncoded.length;
|
|
327
|
-
}
|
|
328
|
-
dnsMessageDataToSend.answers.push(nextAnswerEncoded);
|
|
329
|
-
} else {
|
|
330
|
-
break;
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
await this.#multicastServer.send(
|
|
335
|
-
DnsCodec.encode({ ...dnsMessageDataToSend, messageType: DnsMessageType.Query }),
|
|
336
|
-
);
|
|
267
|
+
answers,
|
|
268
|
+
});
|
|
337
269
|
}
|
|
338
270
|
|
|
339
271
|
/**
|
|
@@ -540,7 +472,7 @@ export class MdnsScanner implements Scanner {
|
|
|
540
472
|
|
|
541
473
|
#createOperationalMatterQName(operationalId: Uint8Array, nodeId: NodeId) {
|
|
542
474
|
const operationalIdString = Bytes.toHex(operationalId).toUpperCase();
|
|
543
|
-
return
|
|
475
|
+
return getOperationalDeviceQname(operationalIdString, NodeId.toHexString(nodeId));
|
|
544
476
|
}
|
|
545
477
|
|
|
546
478
|
/**
|
|
@@ -643,7 +575,7 @@ export class MdnsScanner implements Scanner {
|
|
|
643
575
|
*/
|
|
644
576
|
#buildCommissionableQueryIdentifier(identifier: CommissionableDeviceIdentifiers) {
|
|
645
577
|
if ("instanceId" in identifier) {
|
|
646
|
-
return
|
|
578
|
+
return getCommissionableDeviceQname(identifier.instanceId);
|
|
647
579
|
}
|
|
648
580
|
|
|
649
581
|
if ("longDiscriminator" in identifier) {
|
|
@@ -752,7 +684,7 @@ export class MdnsScanner implements Scanner {
|
|
|
752
684
|
names.push(MATTER_COMMISSION_SERVICE_QNAME);
|
|
753
685
|
|
|
754
686
|
if ("instanceId" in identifier) {
|
|
755
|
-
names.push(
|
|
687
|
+
names.push(getCommissionableDeviceQname(identifier.instanceId));
|
|
756
688
|
} else if ("longDiscriminator" in identifier) {
|
|
757
689
|
names.push(getLongDiscriminatorQname(identifier.longDiscriminator));
|
|
758
690
|
} else if ("shortDiscriminator" in identifier) {
|
|
@@ -868,7 +800,6 @@ export class MdnsScanner implements Scanner {
|
|
|
868
800
|
this.#observers.close();
|
|
869
801
|
this.#periodicTimer.stop();
|
|
870
802
|
this.#queryTimer?.stop();
|
|
871
|
-
await this.#multicastServer.close();
|
|
872
803
|
// Resolve all pending promises where logic waits for the response (aka: has a timer)
|
|
873
804
|
[...this.#recordWaiters.keys()].forEach(queryId =>
|
|
874
805
|
this.#finishWaiter(queryId, !!this.#recordWaiters.get(queryId)?.timer),
|
|
@@ -904,7 +835,7 @@ export class MdnsScanner implements Scanner {
|
|
|
904
835
|
discoveredAt,
|
|
905
836
|
...answer,
|
|
906
837
|
});
|
|
907
|
-
} else if (this.#
|
|
838
|
+
} else if (this.#socket.supportsIpv4 && recordType === DnsRecordType.A) {
|
|
908
839
|
structuredAnswers.addressesV4 = structuredAnswers.addressesV4 ?? {};
|
|
909
840
|
structuredAnswers.addressesV4[name] = structuredAnswers.addressesV4[name] ?? new Map();
|
|
910
841
|
structuredAnswers.addressesV4[name].set(answer.value, {
|
|
@@ -986,7 +917,7 @@ export class MdnsScanner implements Scanner {
|
|
|
986
917
|
});
|
|
987
918
|
}
|
|
988
919
|
}
|
|
989
|
-
if (this.#
|
|
920
|
+
if (this.#socket.supportsIpv4 && answers.addressesV4) {
|
|
990
921
|
combinedAnswers.addressesV4 = combinedAnswers.addressesV4 ?? {};
|
|
991
922
|
for (const [name, records] of Object.entries(answers.addressesV4) as unknown as [
|
|
992
923
|
string,
|
|
@@ -1027,7 +958,7 @@ export class MdnsScanner implements Scanner {
|
|
|
1027
958
|
if (combinedAnswers.addressesV6) {
|
|
1028
959
|
result.addressesV6 = combinedAnswers.addressesV6;
|
|
1029
960
|
}
|
|
1030
|
-
if (this.#
|
|
961
|
+
if (this.#socket.supportsIpv4 && combinedAnswers.addressesV4) {
|
|
1031
962
|
result.addressesV4 = combinedAnswers.addressesV4;
|
|
1032
963
|
}
|
|
1033
964
|
|
|
@@ -1038,23 +969,23 @@ export class MdnsScanner implements Scanner {
|
|
|
1038
969
|
* Main method to handle all incoming DNS messages.
|
|
1039
970
|
* It will parse the message and check if it contains relevant discovery records.
|
|
1040
971
|
*/
|
|
1041
|
-
#
|
|
972
|
+
#handleMessage(message: MdnsSocket.Message) {
|
|
1042
973
|
if (this.#closing) return;
|
|
1043
|
-
|
|
974
|
+
|
|
1044
975
|
if (message === undefined) return; // The message cannot be parsed
|
|
1045
976
|
if (message.messageType !== DnsMessageType.Response && message.messageType !== DnsMessageType.TruncatedResponse)
|
|
1046
977
|
return;
|
|
1047
978
|
|
|
1048
979
|
const answers = this.#structureAnswers([...message.answers, ...message.additionalRecords]);
|
|
1049
980
|
|
|
1050
|
-
const formerAnswers = this.#getActiveQueryEarlierAnswers(
|
|
981
|
+
const formerAnswers = this.#getActiveQueryEarlierAnswers(message.sourceIntf);
|
|
1051
982
|
// Check if we got operational discovery records and handle them
|
|
1052
|
-
this.#handleOperationalRecords(answers, formerAnswers,
|
|
983
|
+
this.#handleOperationalRecords(answers, formerAnswers, message.sourceIntf);
|
|
1053
984
|
|
|
1054
985
|
// Else check if we got commissionable discovery records and handle them
|
|
1055
|
-
this.#handleCommissionableRecords(answers, formerAnswers,
|
|
986
|
+
this.#handleCommissionableRecords(answers, formerAnswers, message.sourceIntf);
|
|
1056
987
|
|
|
1057
|
-
this.#updateIpRecords(answers,
|
|
988
|
+
this.#updateIpRecords(answers, message.sourceIntf);
|
|
1058
989
|
}
|
|
1059
990
|
|
|
1060
991
|
/**
|
|
@@ -1080,7 +1011,7 @@ export class MdnsScanner implements Scanner {
|
|
|
1080
1011
|
}
|
|
1081
1012
|
}
|
|
1082
1013
|
}
|
|
1083
|
-
if (this.#
|
|
1014
|
+
if (this.#socket.supportsIpv4 && answers.addressesV4) {
|
|
1084
1015
|
for (const [target, ipAddresses] of Object.entries(answers.addressesV4)) {
|
|
1085
1016
|
if (interfaceRecords.addressesV4?.[target] !== undefined) {
|
|
1086
1017
|
for (const [ip, record] of Object.entries(ipAddresses)) {
|
|
@@ -1111,7 +1042,7 @@ export class MdnsScanner implements Scanner {
|
|
|
1111
1042
|
interfaceRecords.addressesV6 = interfaceRecords.addressesV6 ?? {};
|
|
1112
1043
|
interfaceRecords.addressesV6[name] = interfaceRecords.addressesV6[name] ?? new Map();
|
|
1113
1044
|
interfaceRecords.addressesV6[name].set(ip, record);
|
|
1114
|
-
} else if (this.#
|
|
1045
|
+
} else if (this.#socket.supportsIpv4 && recordType === DnsRecordType.A) {
|
|
1115
1046
|
interfaceRecords.addressesV4 = interfaceRecords.addressesV4 ?? {};
|
|
1116
1047
|
interfaceRecords.addressesV4[name] = interfaceRecords.addressesV4[name] ?? new Map();
|
|
1117
1048
|
interfaceRecords.addressesV4[name].set(ip, record);
|
|
@@ -1130,7 +1061,7 @@ export class MdnsScanner implements Scanner {
|
|
|
1130
1061
|
if (answer.addressesV6?.[target]) {
|
|
1131
1062
|
ipRecords.push(...answer.addressesV6[target].values());
|
|
1132
1063
|
}
|
|
1133
|
-
if (this.#
|
|
1064
|
+
if (this.#socket.supportsIpv4 && answer.addressesV4?.[target]) {
|
|
1134
1065
|
ipRecords.push(...answer.addressesV4[target].values());
|
|
1135
1066
|
}
|
|
1136
1067
|
});
|
|
@@ -1226,7 +1157,7 @@ export class MdnsScanner implements Scanner {
|
|
|
1226
1157
|
} else {
|
|
1227
1158
|
logger.debug(
|
|
1228
1159
|
`Adding operational device ${matterName} in cache (interface ${netInterface}, ttl=${ttl}) with TXT data:`,
|
|
1229
|
-
|
|
1160
|
+
MdnsClient.discoveryDataDiagnostics(txtData),
|
|
1230
1161
|
);
|
|
1231
1162
|
device = {
|
|
1232
1163
|
deviceIdentifier: matterName,
|
|
@@ -1300,7 +1231,7 @@ export class MdnsScanner implements Scanner {
|
|
|
1300
1231
|
if (ipsInitiallyEmpty) {
|
|
1301
1232
|
logger.debug(
|
|
1302
1233
|
`Added ${addresses.size} IPs for operational device ${matterName} to cache (interface ${netInterface}):`,
|
|
1303
|
-
...
|
|
1234
|
+
...MdnsClient.deviceAddressDiagnostics(addresses),
|
|
1304
1235
|
);
|
|
1305
1236
|
}
|
|
1306
1237
|
this.#operationalDeviceRecords.set(matterName, device);
|
|
@@ -1309,7 +1240,7 @@ export class MdnsScanner implements Scanner {
|
|
|
1309
1240
|
if (addresses.size === 0 && this.#hasWaiter(matterName)) {
|
|
1310
1241
|
// We have no or no more (because expired) IPs, and we are interested in this particular service name, request them
|
|
1311
1242
|
const queries = [{ name: target, recordClass: DnsRecordClass.IN, recordType: DnsRecordType.AAAA }];
|
|
1312
|
-
if (this.#
|
|
1243
|
+
if (this.#socket.supportsIpv4) {
|
|
1313
1244
|
queries.push({ name: target, recordClass: DnsRecordClass.IN, recordType: DnsRecordType.A });
|
|
1314
1245
|
}
|
|
1315
1246
|
logger.debug(`Requesting IP addresses for operational device ${matterName} (interface ${netInterface}).`);
|
|
@@ -1376,7 +1307,7 @@ export class MdnsScanner implements Scanner {
|
|
|
1376
1307
|
|
|
1377
1308
|
logger.debug(
|
|
1378
1309
|
`Found commissionable device ${name} with data:`,
|
|
1379
|
-
|
|
1310
|
+
MdnsClient.discoveryDataDiagnostics(parsedRecord),
|
|
1380
1311
|
);
|
|
1381
1312
|
} else {
|
|
1382
1313
|
parsedRecord.addresses = storedRecord.addresses;
|
|
@@ -1427,7 +1358,7 @@ export class MdnsScanner implements Scanner {
|
|
|
1427
1358
|
if (queryId === undefined) continue;
|
|
1428
1359
|
// We have no or no more (because expired) IPs and we are interested in such a service name, request them
|
|
1429
1360
|
const queries = [{ name: target, recordClass: DnsRecordClass.IN, recordType: DnsRecordType.AAAA }];
|
|
1430
|
-
if (this.#
|
|
1361
|
+
if (this.#socket.supportsIpv4) {
|
|
1431
1362
|
queries.push({ name: target, recordClass: DnsRecordClass.IN, recordType: DnsRecordType.A });
|
|
1432
1363
|
}
|
|
1433
1364
|
logger.debug(
|
|
@@ -1437,7 +1368,7 @@ export class MdnsScanner implements Scanner {
|
|
|
1437
1368
|
} else if (!recordAddressesKnown) {
|
|
1438
1369
|
logger.debug(
|
|
1439
1370
|
`Added ${storedRecord.addresses.size} IPs for commissionable device ${record.name} to cache (interface ${netInterface}):`,
|
|
1440
|
-
...
|
|
1371
|
+
...MdnsClient.deviceAddressDiagnostics(storedRecord.addresses),
|
|
1441
1372
|
);
|
|
1442
1373
|
}
|
|
1443
1374
|
if (storedRecord.addresses.size === 0) continue;
|
package/src/mdns/MdnsConsts.ts
CHANGED
|
@@ -4,15 +4,39 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
import { PairingHintBitmap } from "#advertisement/PairingHintBitmap.js";
|
|
7
8
|
import { VendorId } from "#types";
|
|
8
9
|
|
|
10
|
+
export const MDNS_BROADCAST_IPV4 = "224.0.0.251";
|
|
11
|
+
export const MDNS_BROADCAST_IPV6 = "ff02::fb";
|
|
12
|
+
export const MDNS_BROADCAST_PORT = 5353;
|
|
13
|
+
|
|
9
14
|
export const SERVICE_DISCOVERY_QNAME = "_services._dns-sd._udp.local";
|
|
10
15
|
export const MATTER_COMMISSION_SERVICE_QNAME = "_matterc._udp.local";
|
|
11
16
|
export const MATTER_COMMISSIONER_SERVICE_QNAME = "_matterd._udp.local";
|
|
12
17
|
export const MATTER_SERVICE_QNAME = "_matter._tcp.local";
|
|
13
18
|
|
|
19
|
+
export const DEFAULT_PAIRING_HINT = {
|
|
20
|
+
powerCycle: true,
|
|
21
|
+
deviceManual: true,
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export const PAIRING_HINTS_REQUIRING_INSTRUCTION = Array<keyof typeof PairingHintBitmap>(
|
|
25
|
+
"customInstruction",
|
|
26
|
+
"pressRestButtonForNumberOfSeconds",
|
|
27
|
+
"pressResetButtonUntilLightBlinks",
|
|
28
|
+
"pressResetButtonForNumberOfSecondsWithApplicationOfPower",
|
|
29
|
+
"pressResetButtonUntilLightBlinksWithApplicationOfPower",
|
|
30
|
+
"pressResetButtonNumberOfTimes",
|
|
31
|
+
"pressSetupButtonForNumberOfSeconds",
|
|
32
|
+
"pressSetupButtonUntilLightBlinks",
|
|
33
|
+
"pressSetupButtonForNumberOfSecondsWithApplicationOfPower",
|
|
34
|
+
"pressSetupButtonUntilLightBlinksWithApplicationOfPower",
|
|
35
|
+
"pressSetupButtonNumberOfTimes",
|
|
36
|
+
);
|
|
37
|
+
|
|
14
38
|
export const getFabricQname = (operationalIdString: string) => `_I${operationalIdString}._sub.${MATTER_SERVICE_QNAME}`;
|
|
15
|
-
export const
|
|
39
|
+
export const getOperationalDeviceQname = (operationalIdString: string, nodeIdString: string) =>
|
|
16
40
|
`${operationalIdString}-${nodeIdString}.${MATTER_SERVICE_QNAME}`;
|
|
17
41
|
export const getVendorQname = (vendorId: VendorId) => `_V${vendorId}._sub.${MATTER_COMMISSION_SERVICE_QNAME}`;
|
|
18
42
|
export const getDeviceTypeQname = (deviceType: number) => `_T${deviceType}._sub.${MATTER_COMMISSION_SERVICE_QNAME}`;
|
|
@@ -21,4 +45,5 @@ export const getShortDiscriminatorQname = (shortDiscriminator: number) =>
|
|
|
21
45
|
export const getLongDiscriminatorQname = (longDiscriminator: number) =>
|
|
22
46
|
`_L${longDiscriminator}._sub.${MATTER_COMMISSION_SERVICE_QNAME}`;
|
|
23
47
|
export const getCommissioningModeQname = () => `_CM._sub.${MATTER_COMMISSION_SERVICE_QNAME}`;
|
|
24
|
-
export const
|
|
48
|
+
export const getCommissionableDeviceQname = (instanceId: string) => `${instanceId}.${MATTER_COMMISSION_SERVICE_QNAME}`;
|
|
49
|
+
export const getCommissionerDeviceQname = (instanceId: string) => `${instanceId}.${MATTER_COMMISSIONER_SERVICE_QNAME}`;
|