homekit: fix accessory mode pairing code bug where it was using the bridge pairing code

This commit is contained in:
Koushik Dutta
2022-07-22 10:39:40 -07:00
parent b56f8009a7
commit a0bcc0bbb3
4 changed files with 11 additions and 6 deletions

View File

@@ -1,12 +1,12 @@
{
"name": "@scrypted/homekit",
"version": "1.1.29",
"version": "1.1.30",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@scrypted/homekit",
"version": "1.1.29",
"version": "1.1.30",
"dependencies": {
"@koush/werift-src": "file:../../external/werift",
"check-disk-space": "^3.3.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@scrypted/homekit",
"version": "1.1.29",
"version": "1.1.30",
"description": "HomeKit Plugin for Scrypted",
"scripts": {
"scrypted-setup-project": "scrypted-setup-project",

View File

@@ -209,6 +209,7 @@ export class HomeKitPlugin extends ScryptedDeviceBase implements MixinProvider,
onDeviceEvent: async () => {
}
}, createHAPUsernameStorageSettingsDict())
storageSettings.settings.pincode.persistedDefaultValue = randomPinCode();
const mixinConsole = deviceManager.getMixinConsole(device.id, this.nativeId);
@@ -217,7 +218,7 @@ export class HomeKitPlugin extends ScryptedDeviceBase implements MixinProvider,
const publish = () => {
published = true;
mixinConsole.log('Device is in accessory mode and is online. HomeKit services are being published.');
this.publishAccessory(accessory, storageSettings.values.mac, this.storageSettings.values.pincode, standaloneCategory);
this.publishAccessory(accessory, storageSettings.values.mac, storageSettings.values.pincode, standaloneCategory);
if (!hasPublished) {
hasPublished = true;
logConnections(mixinConsole, accessory, this.seenConnections);

View File

@@ -4,7 +4,11 @@ export function sequenceNumberDistance(s1: number, s2: number): number {
if (s2 === s1)
return 0;
const distance = s2 - s1;
const rolloverDistance = s1 + 0x10000 - s2;
let rolloverDistance: number;
if (s2 > s1)
rolloverDistance = s1 + 0x10000 - s2;
else
rolloverDistance = s2 + 0x10000 - s2;
if (Math.abs(distance) < Math.abs(rolloverDistance))
return distance;
@@ -23,7 +27,7 @@ export class JitterBuffer {
lastSequenceNumber: number;
pending: RtpPacket[] = [];
constructor(public console: Console, public jitterSize: number, ) {
constructor(public console: Console, public jitterSize: number,) {
}
flushPending(afterSequenceNumber: number, ret: RtpPacket[]): RtpPacket[] {