homebridge-sonos-scenes 0.1.26 → 0.1.28

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.
@@ -11,13 +11,17 @@ function writeJson(response, statusCode, payload) {
11
11
  "content-type": "application/json; charset=utf-8",
12
12
  "cache-control": "no-store",
13
13
  });
14
- response.end(JSON.stringify(payload, null, 2));
14
+ response.end(JSON.stringify(payload));
15
15
  }
16
16
 
17
17
  function bearerToken(request) {
18
18
  const header = request.headers.authorization || "";
19
- const match = /^Bearer\s+(.+)$/i.exec(header);
20
- return match?.[1]?.trim() || "";
19
+ const [scheme = "", ...tokenParts] = header.trim().split(/\s+/);
20
+ if (scheme.toLowerCase() !== "bearer") {
21
+ return "";
22
+ }
23
+
24
+ return tokenParts.join(" ").trim();
21
25
  }
22
26
 
23
27
  function isAuthorized(request) {
@@ -52,9 +56,20 @@ function notImplemented(response, route, extra = {}) {
52
56
  });
53
57
  }
54
58
 
59
+ function pathSegments(pathname) {
60
+ return pathname.split("/").filter(Boolean);
61
+ }
62
+
63
+ function matchesRoute(segments, expected) {
64
+ return segments.length === expected.length && expected.every((part, index) =>
65
+ part === "*" ? segments[index].length > 0 : segments[index] === part
66
+ );
67
+ }
68
+
55
69
  const server = createServer(async (request, response) => {
56
70
  const url = new URL(request.url || "/", `http://${request.headers.host || `${host}:${port}`}`);
57
71
  const pathname = url.pathname;
72
+ const segments = pathSegments(pathname);
58
73
  const method = request.method || "GET";
59
74
 
60
75
  if (method === "GET" && pathname === "/healthz") {
@@ -96,7 +111,7 @@ const server = createServer(async (request, response) => {
96
111
  return;
97
112
  }
98
113
 
99
- if (method === "GET" && /^\/v1\/households\/[^/]+\/groups$/.test(pathname)) {
114
+ if (method === "GET" && matchesRoute(segments, ["v1", "households", "*", "groups"])) {
100
115
  notImplemented(response, pathname, {
101
116
  groups: [],
102
117
  players: [],
@@ -104,21 +119,21 @@ const server = createServer(async (request, response) => {
104
119
  return;
105
120
  }
106
121
 
107
- if (method === "GET" && /^\/v1\/households\/[^/]+\/favorites$/.test(pathname)) {
122
+ if (method === "GET" && matchesRoute(segments, ["v1", "households", "*", "favorites"])) {
108
123
  notImplemented(response, pathname, {
109
124
  favorites: [],
110
125
  });
111
126
  return;
112
127
  }
113
128
 
114
- if (method === "GET" && /^\/v1\/households\/[^/]+\/playlists$/.test(pathname)) {
129
+ if (method === "GET" && matchesRoute(segments, ["v1", "households", "*", "playlists"])) {
115
130
  notImplemented(response, pathname, {
116
131
  playlists: [],
117
132
  });
118
133
  return;
119
134
  }
120
135
 
121
- if (method === "POST" && /^\/v1\/groups\/[^/]+\/favorites\/load$/.test(pathname)) {
136
+ if (method === "POST" && matchesRoute(segments, ["v1", "groups", "*", "favorites", "load"])) {
122
137
  const body = await readJsonBody(request);
123
138
  notImplemented(response, pathname, {
124
139
  received: body,
@@ -126,7 +141,7 @@ const server = createServer(async (request, response) => {
126
141
  return;
127
142
  }
128
143
 
129
- if (method === "POST" && /^\/v1\/groups\/[^/]+\/playlists\/load$/.test(pathname)) {
144
+ if (method === "POST" && matchesRoute(segments, ["v1", "groups", "*", "playlists", "load"])) {
130
145
  const body = await readJsonBody(request);
131
146
  notImplemented(response, pathname, {
132
147
  received: body,
@@ -139,9 +154,10 @@ const server = createServer(async (request, response) => {
139
154
  message: `No route matched ${method} ${pathname}.`,
140
155
  });
141
156
  } catch (error) {
157
+ console.error(`[${brokerName}] request failed for ${method} ${pathname}:`, error);
142
158
  writeJson(response, 500, {
143
159
  ok: false,
144
- message: error instanceof Error ? error.message : String(error),
160
+ message: "Internal broker error.",
145
161
  });
146
162
  }
147
163
  });
@@ -13,6 +13,7 @@ export declare class SceneSpeakerAccessory {
13
13
  private activeMutations;
14
14
  private latestMutationId;
15
15
  private refreshInFlight?;
16
+ private reconciliationTimer?;
16
17
  constructor(platform: SonosScenesPlatform, accessory: PlatformAccessory, scene: SceneDefinition);
17
18
  updateScene(scene: SceneDefinition): void;
18
19
  private displayNameFor;
@@ -23,6 +24,7 @@ export declare class SceneSpeakerAccessory {
23
24
  private handleOnSet;
24
25
  private isOn;
25
26
  private queueRefresh;
27
+ private scheduleReconciliation;
26
28
  private refreshFromPlatform;
27
29
  private beginMutation;
28
30
  private endMutation;
@@ -13,6 +13,7 @@ class SceneSpeakerAccessory {
13
13
  activeMutations = 0;
14
14
  latestMutationId = 0;
15
15
  refreshInFlight;
16
+ reconciliationTimer;
16
17
  constructor(platform, accessory, scene) {
17
18
  this.platform = platform;
18
19
  this.accessory = accessory;
@@ -98,6 +99,7 @@ class SceneSpeakerAccessory {
98
99
  }
99
100
  }
100
101
  this.logger.info(`Applied brightness change for "${this.scene.name}" volume accessory: on=${this.isOn()}, volume=${this.lastKnownVolume}, muted=${this.lastKnownMuted}.`);
102
+ this.scheduleReconciliation();
101
103
  return;
102
104
  }
103
105
  await this.platform.setSceneMuted(this.scene.id, true);
@@ -105,9 +107,11 @@ class SceneSpeakerAccessory {
105
107
  return;
106
108
  }
107
109
  this.logger.info(`Applied brightness change for "${this.scene.name}" volume accessory: on=${this.isOn()}, volume=${this.lastKnownVolume}, muted=${this.lastKnownMuted}.`);
110
+ this.scheduleReconciliation();
108
111
  }
109
112
  catch (error) {
110
113
  this.logger.error(`Failed to set brightness for "${this.scene.name}" volume accessory: ${error instanceof Error ? error.message : String(error)}`);
114
+ this.scheduleReconciliation(0);
111
115
  throw error;
112
116
  }
113
117
  finally {
@@ -136,6 +140,7 @@ class SceneSpeakerAccessory {
136
140
  return;
137
141
  }
138
142
  this.logger.info(`Applied on-state change for "${this.scene.name}" volume accessory: on=${this.isOn()}, volume=${this.lastKnownVolume}, muted=${this.lastKnownMuted}.`);
143
+ this.scheduleReconciliation();
139
144
  return;
140
145
  }
141
146
  if (this.lastKnownVolume > 0) {
@@ -146,9 +151,11 @@ class SceneSpeakerAccessory {
146
151
  return;
147
152
  }
148
153
  this.logger.info(`Applied on-state change for "${this.scene.name}" volume accessory: on=${this.isOn()}, volume=${this.lastKnownVolume}, muted=${this.lastKnownMuted}.`);
154
+ this.scheduleReconciliation();
149
155
  }
150
156
  catch (error) {
151
157
  this.logger.error(`Failed to set on=${nextOn} for "${this.scene.name}" volume accessory: ${error instanceof Error ? error.message : String(error)}`);
158
+ this.scheduleReconciliation(0);
152
159
  throw error;
153
160
  }
154
161
  finally {
@@ -171,6 +178,15 @@ class SceneSpeakerAccessory {
171
178
  this.refreshInFlight = undefined;
172
179
  });
173
180
  }
181
+ scheduleReconciliation(delayMs = 600) {
182
+ if (this.reconciliationTimer) {
183
+ clearTimeout(this.reconciliationTimer);
184
+ }
185
+ this.reconciliationTimer = setTimeout(() => {
186
+ this.reconciliationTimer = undefined;
187
+ this.queueRefresh();
188
+ }, delayMs);
189
+ }
174
190
  async refreshFromPlatform() {
175
191
  try {
176
192
  const [muted, volume] = await Promise.all([
@@ -1 +1 @@
1
- {"version":3,"file":"sceneSpeaker.js","sourceRoot":"","sources":["../../../src/accessories/sceneSpeaker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sceneSpeaker.js","sourceRoot":"","sources":["../../../src/accessories/sceneSpeaker.ts"],"names":[],"mappings":";;;AAIA,MAAa,qBAAqB;IAab;IACA;IAbX,OAAO,CAAU;IACjB,KAAK,CAAkB;IACd,MAAM,CAAC;IAChB,eAAe,CAAS;IACxB,qBAAqB,CAAS;IAC9B,cAAc,GAAG,KAAK,CAAC;IACvB,eAAe,GAAG,CAAC,CAAC;IACpB,gBAAgB,GAAG,CAAC,CAAC;IACrB,eAAe,CAAiB;IAChC,mBAAmB,CAAiC;IAE5D,YACmB,QAA6B,EAC7B,SAA4B,EAC7C,KAAsB;QAFL,aAAQ,GAAR,QAAQ,CAAqB;QAC7B,cAAS,GAAT,SAAS,CAAmB;QAG7C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,gBAAgB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,CAAC,QAAQ,qDAA6C,CAAC;QAErE,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtF,IAAI,oBAAoB,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,OAAO;YACV,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;mBACvD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9E,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9F,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;aAC5D,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;aACpE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1C,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9C,MAAM,oBAAoB,GACxB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC;eAClE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAE3E,oBAAoB;aACjB,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,yBAAyB,CAAC;aACvF,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,2BAA2B,CAAC;aAClF,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;IACxF,CAAC;IAED,WAAW,CAAC,KAAsB;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,MAAM,gBAAgB,GAAG,KAAK,CAAC,iBAAiB,CAAC;QACjD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC;YACxC,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,qBAAqB,GAAG,gBAAgB,CAAC;YAChD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACjG,IAAI,YAAY,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,YAAY,SAAS,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,KAAsB;QAC3C,OAAO,GAAG,KAAK,CAAC,IAAI,SAAS,CAAC;IAChC,CAAC;IAEO,eAAe,CAAC,IAAY;QAClC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACpF,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,KAA0B;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,UAAU,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,qBAAqB,CAAC,CAAC;QAC1G,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAC9D,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,UAAU,EAAE,CAAC,EAAE,CAAC;gBAClF,OAAO;YACT,CAAC;YAED,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACxB,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;oBACxD,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,UAAU,EAAE,CAAC,EAAE,CAAC;wBAC3E,OAAO;oBACT,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,kCAAkC,IAAI,CAAC,KAAK,CAAC,IAAI,0BAA0B,IAAI,CAAC,IAAI,EAAE,YAAY,IAAI,CAAC,eAAe,WAAW,IAAI,CAAC,cAAc,GAAG,CACxJ,CAAC;gBACF,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,UAAU,EAAE,CAAC,EAAE,CAAC;gBAC1E,OAAO;YACT,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,kCAAkC,IAAI,CAAC,KAAK,CAAC,IAAI,0BAA0B,IAAI,CAAC,IAAI,EAAE,YAAY,IAAI,CAAC,eAAe,WAAW,IAAI,CAAC,cAAc,GAAG,CACxJ,CAAC;YACF,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,iCAAiC,IAAI,CAAC,KAAK,CAAC,IAAI,uBAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAChI,CAAC;YACF,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,KAA0B;QAClD,MAAM,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,MAAM,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,qBAAqB,CAAC,CAAC;QAC9F,IAAI,CAAC;YACH,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;gBACpG,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;oBACpD,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;oBAClE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC;wBAC1E,OAAO;oBACT,CAAC;gBACH,CAAC;gBACD,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACxD,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC;oBAC/D,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,gCAAgC,IAAI,CAAC,KAAK,CAAC,IAAI,0BAA0B,IAAI,CAAC,IAAI,EAAE,YAAY,IAAI,CAAC,eAAe,WAAW,IAAI,CAAC,cAAc,GAAG,CACtJ,CAAC;gBACF,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC;YACpD,CAAC;YACD,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC;gBAC9D,OAAO;YACT,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,gCAAgC,IAAI,CAAC,KAAK,CAAC,IAAI,0BAA0B,IAAI,CAAC,IAAI,EAAE,YAAY,IAAI,CAAC,eAAe,WAAW,IAAI,CAAC,cAAc,GAAG,CACtJ,CAAC;YACF,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,oBAAoB,MAAM,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,uBAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClI,CAAC;YACF,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,IAAI;QACV,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;IAC1D,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,EAAE,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YACpG,OAAO;QACT,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE;aAC9C,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,6BAA6B,IAAI,CAAC,KAAK,CAAC,IAAI,uBAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC5H,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,sBAAsB,CAAC,OAAO,GAAG,GAAG;QAC1C,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,mBAAmB,GAAG,UAAU,CAAC,GAAG,EAAE;YACzC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACrC,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACxC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;aAC5C,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;YAC9B,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC;YACpD,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAChF,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YACjG,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,cAAc,IAAI,CAAC,KAAK,CAAC,IAAI,gCAAgC,IAAI,CAAC,IAAI,EAAE,YAAY,IAAI,CAAC,eAAe,WAAW,IAAI,CAAC,cAAc,GAAG,CAC1I,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,6BAA6B,IAAI,CAAC,KAAK,CAAC,IAAI,uBAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC5H,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;IAEO,mBAAmB,CAAC,MAAc,EAAE,UAAkB,EAAE,KAAa;QAC3E,IAAI,UAAU,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,KAAK,iBAAiB,IAAI,CAAC,KAAK,CAAC,IAAI,qBAAqB,CAAC,CAAC;YACjG,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;QAC9B,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACnF,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,iBAAiB,CAAC,KAAc,EAAE,UAAkB,EAAE,KAAa;QACzE,IAAI,UAAU,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,KAAK,iBAAiB,IAAI,CAAC,KAAK,CAAC,IAAI,qBAAqB,CAAC,CAAC;YACjG,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAvRD,sDAuRC"}
@@ -14,13 +14,22 @@ export declare class VirtualRoomSpeakerAccessory {
14
14
  private activeMutations;
15
15
  private latestMutationId;
16
16
  private refreshInFlight?;
17
+ private pendingBrightnessValue?;
18
+ private brightnessInflight?;
19
+ private reconciliationTimer?;
17
20
  constructor(platform: SonosScenesPlatform, accessory: PlatformAccessory, room: VirtualRoomDefinition);
18
21
  updateVirtualRoom(room: VirtualRoomDefinition): void;
19
22
  private handleBrightnessGet;
20
23
  private handleBrightnessSet;
24
+ private applyOptimisticBrightness;
25
+ private scheduleBrightness;
26
+ private drainBrightness;
27
+ private applyBrightness;
21
28
  private handleOnGet;
22
29
  private handleOnSet;
30
+ private applyOptimisticOn;
23
31
  private queueRefresh;
32
+ private scheduleReconciliation;
24
33
  private refreshFromPlatform;
25
34
  private beginMutation;
26
35
  private endMutation;
@@ -14,6 +14,9 @@ class VirtualRoomSpeakerAccessory {
14
14
  activeMutations = 0;
15
15
  latestMutationId = 0;
16
16
  refreshInFlight;
17
+ pendingBrightnessValue;
18
+ brightnessInflight;
19
+ reconciliationTimer;
17
20
  constructor(platform, accessory, room) {
18
21
  this.platform = platform;
19
22
  this.accessory = accessory;
@@ -70,25 +73,66 @@ class VirtualRoomSpeakerAccessory {
70
73
  }
71
74
  async handleBrightnessSet(value) {
72
75
  const nextVolume = Math.max(0, Math.min(this.room.maxVolume, Math.round(Number(value))));
73
- const mutationId = this.beginMutation();
74
- this.logger.info(`HomeKit requested brightness=${nextVolume} for "${this.room.name}".`);
75
- try {
76
- if (nextVolume > 0) {
77
- this.lastKnownActiveVolume = nextVolume;
78
- if (this.applyMutationState(await this.platform.setVirtualRoomVolume(this.room.id, nextVolume), mutationId, `brightness=${nextVolume}`)) {
79
- this.logger.info(`Applied brightness change for "${this.room.name}": on=${this.lastKnownOn}, volume=${this.lastKnownVolume}, muted=${this.lastKnownMuted}.`);
80
- }
81
- return;
76
+ this.applyOptimisticBrightness(nextVolume);
77
+ return this.scheduleBrightness(nextVolume);
78
+ }
79
+ applyOptimisticBrightness(nextVolume) {
80
+ if (nextVolume > 0) {
81
+ this.lastKnownActiveVolume = nextVolume;
82
+ this.lastKnownMuted = false;
83
+ this.lastKnownOn = true;
84
+ }
85
+ else if (this.lastKnownVolume > 0) {
86
+ this.lastKnownActiveVolume = this.lastKnownVolume;
87
+ this.lastKnownOn = false;
88
+ }
89
+ this.lastKnownVolume = nextVolume;
90
+ this.service.updateCharacteristic(this.platform.Characteristic.On, this.lastKnownOn);
91
+ this.service.updateCharacteristic(this.platform.Characteristic.Brightness, this.lastKnownVolume);
92
+ }
93
+ scheduleBrightness(target) {
94
+ this.pendingBrightnessValue = target;
95
+ if (this.brightnessInflight) {
96
+ return this.brightnessInflight;
97
+ }
98
+ this.brightnessInflight = this.drainBrightness().finally(() => {
99
+ this.brightnessInflight = undefined;
100
+ });
101
+ return this.brightnessInflight;
102
+ }
103
+ async drainBrightness() {
104
+ let pendingError;
105
+ while (this.pendingBrightnessValue !== undefined) {
106
+ const target = this.pendingBrightnessValue;
107
+ this.pendingBrightnessValue = undefined;
108
+ try {
109
+ await this.applyBrightness(target);
110
+ pendingError = undefined;
82
111
  }
83
- if (this.lastKnownVolume > 0) {
84
- this.lastKnownActiveVolume = this.lastKnownVolume;
112
+ catch (error) {
113
+ pendingError = error;
114
+ if (this.pendingBrightnessValue === undefined) {
115
+ throw error;
116
+ }
85
117
  }
86
- if (this.applyMutationState(await this.platform.setVirtualRoomVolume(this.room.id, 0), mutationId, `brightness=${nextVolume}`)) {
118
+ }
119
+ if (pendingError) {
120
+ throw pendingError;
121
+ }
122
+ }
123
+ async applyBrightness(target) {
124
+ const mutationId = this.beginMutation();
125
+ this.logger.info(`HomeKit requested brightness=${target} for "${this.room.name}".`);
126
+ try {
127
+ const state = await this.platform.setVirtualRoomVolume(this.room.id, target);
128
+ if (this.applyMutationState(state, mutationId, `brightness=${target}`)) {
87
129
  this.logger.info(`Applied brightness change for "${this.room.name}": on=${this.lastKnownOn}, volume=${this.lastKnownVolume}, muted=${this.lastKnownMuted}.`);
130
+ this.scheduleReconciliation();
88
131
  }
89
132
  }
90
133
  catch (error) {
91
134
  this.logger.error(`Failed to set brightness for "${this.room.name}": ${error instanceof Error ? error.message : String(error)}`);
135
+ this.scheduleReconciliation(0);
92
136
  throw error;
93
137
  }
94
138
  finally {
@@ -103,28 +147,46 @@ class VirtualRoomSpeakerAccessory {
103
147
  const nextOn = value === true;
104
148
  const mutationId = this.beginMutation();
105
149
  this.logger.info(`HomeKit requested on=${nextOn} for "${this.room.name}".`);
150
+ this.applyOptimisticOn(nextOn);
106
151
  try {
107
152
  if (nextOn) {
108
153
  if (this.applyMutationState(await this.platform.activateVirtualRoom(this.room.id, this.lastKnownActiveVolume), mutationId, `on=${nextOn}`)) {
109
154
  this.logger.info(`Applied on-state change for "${this.room.name}": on=${this.lastKnownOn}, volume=${this.lastKnownVolume}, muted=${this.lastKnownMuted}.`);
155
+ this.scheduleReconciliation();
110
156
  }
111
157
  return;
112
158
  }
113
- if (this.lastKnownVolume > 0) {
114
- this.lastKnownActiveVolume = this.lastKnownVolume;
115
- }
116
159
  if (this.applyMutationState(await this.platform.deactivateVirtualRoom(this.room.id), mutationId, `on=${nextOn}`)) {
117
160
  this.logger.info(`Applied on-state change for "${this.room.name}": on=${this.lastKnownOn}, volume=${this.lastKnownVolume}, muted=${this.lastKnownMuted}.`);
161
+ this.scheduleReconciliation();
118
162
  }
119
163
  }
120
164
  catch (error) {
121
165
  this.logger.error(`Failed to set on=${nextOn} for "${this.room.name}": ${error instanceof Error ? error.message : String(error)}`);
166
+ this.scheduleReconciliation(0);
122
167
  throw error;
123
168
  }
124
169
  finally {
125
170
  this.endMutation();
126
171
  }
127
172
  }
173
+ applyOptimisticOn(nextOn) {
174
+ if (nextOn) {
175
+ this.lastKnownOn = true;
176
+ this.lastKnownMuted = false;
177
+ if (this.lastKnownVolume === 0 && this.lastKnownActiveVolume > 0) {
178
+ this.lastKnownVolume = this.lastKnownActiveVolume;
179
+ }
180
+ }
181
+ else {
182
+ if (this.lastKnownVolume > 0) {
183
+ this.lastKnownActiveVolume = this.lastKnownVolume;
184
+ }
185
+ this.lastKnownOn = false;
186
+ }
187
+ this.service.updateCharacteristic(this.platform.Characteristic.On, this.lastKnownOn);
188
+ this.service.updateCharacteristic(this.platform.Characteristic.Brightness, this.lastKnownVolume);
189
+ }
128
190
  queueRefresh() {
129
191
  if (!this.platform.isInitialDiscoveryComplete() || this.refreshInFlight || this.activeMutations > 0) {
130
192
  return;
@@ -138,6 +200,15 @@ class VirtualRoomSpeakerAccessory {
138
200
  this.refreshInFlight = undefined;
139
201
  });
140
202
  }
203
+ scheduleReconciliation(delayMs = 600) {
204
+ if (this.reconciliationTimer) {
205
+ clearTimeout(this.reconciliationTimer);
206
+ }
207
+ this.reconciliationTimer = setTimeout(() => {
208
+ this.reconciliationTimer = undefined;
209
+ this.queueRefresh();
210
+ }, delayMs);
211
+ }
141
212
  async refreshFromPlatform() {
142
213
  this.applyState(await this.platform.getVirtualRoomState(this.room.id));
143
214
  this.logger.debug(`Refreshed "${this.room.name}" state: on=${this.lastKnownOn}, volume=${this.lastKnownVolume}, muted=${this.lastKnownMuted}.`);
@@ -1 +1 @@
1
- {"version":3,"file":"virtualRoomSpeaker.js","sourceRoot":"","sources":["../../../src/accessories/virtualRoomSpeaker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"virtualRoomSpeaker.js","sourceRoot":"","sources":["../../../src/accessories/virtualRoomSpeaker.ts"],"names":[],"mappings":"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"}
@@ -113,26 +113,29 @@ class SonosScenesPlatform {
113
113
  }
114
114
  async activateVirtualRoom(roomId, fallbackVolume) {
115
115
  const room = this.getRequiredVirtualRoom(roomId);
116
- const [currentVolume, currentMasterVolume] = await Promise.all([
116
+ const [currentVolume, currentMasterVolume, channelMuted] = await Promise.all([
117
117
  this.transport.getPlayerChannelVolume(room.householdId, room.ampPlayerId, room.channel),
118
118
  this.transport.getPlayerVolume(room.householdId, room.ampPlayerId),
119
+ this.transport.getPlayerChannelMuted(room.householdId, room.ampPlayerId, room.channel),
119
120
  ]);
120
121
  const targetVolume = Math.max(0, Math.min(room.maxVolume, Math.round(room.onBehavior.kind === "default_volume"
121
122
  ? room.defaultVolume
122
- : currentVolume > 0
123
+ : !channelMuted && currentVolume > 0
123
124
  ? currentVolume
124
125
  : fallbackVolume && fallbackVolume > 0
125
126
  ? fallbackVolume
126
- : room.defaultVolume)));
127
+ : currentVolume > 0
128
+ ? currentVolume
129
+ : room.defaultVolume)));
127
130
  if (targetVolume > 0) {
128
131
  await this.prepareVirtualRoomPlayback(room, targetVolume, currentMasterVolume);
129
- return this.readVirtualRoomState(room);
132
+ return { volume: targetVolume, muted: false, on: true };
130
133
  }
131
134
  await Promise.all([
132
135
  this.transport.setPlayerMuted(room.householdId, room.ampPlayerId, false),
133
136
  this.transport.setPlayerChannelMuted(room.householdId, room.ampPlayerId, room.channel, false),
134
137
  ]);
135
- return this.readVirtualRoomState(room);
138
+ return { volume: 0, muted: false, on: false };
136
139
  }
137
140
  async setVirtualRoomVolume(roomId, volume) {
138
141
  const room = this.getRequiredVirtualRoom(roomId);
@@ -140,26 +143,35 @@ class SonosScenesPlatform {
140
143
  if (targetVolume > 0) {
141
144
  const currentMasterVolume = await this.transport.getPlayerVolume(room.householdId, room.ampPlayerId);
142
145
  await this.prepareVirtualRoomPlayback(room, targetVolume, currentMasterVolume);
143
- return this.readVirtualRoomState(room);
146
+ return { volume: targetVolume, muted: false, on: true };
144
147
  }
145
148
  await Promise.all([
146
149
  this.transport.setPlayerChannelVolume(room.householdId, room.ampPlayerId, room.channel, 0),
147
150
  this.transport.setPlayerChannelMuted(room.householdId, room.ampPlayerId, room.channel, false),
148
151
  ]);
149
152
  await this.applyLastActiveBehavior(room);
150
- return this.readVirtualRoomState(room);
153
+ return { volume: 0, muted: false, on: false };
151
154
  }
152
155
  async deactivateVirtualRoom(roomId, forceVolumeZero = false) {
153
156
  const room = this.getRequiredVirtualRoom(roomId);
157
+ let resultState;
154
158
  if (forceVolumeZero || room.offBehavior.kind === "volume_zero") {
155
- await this.transport.setPlayerChannelVolume(room.householdId, room.ampPlayerId, room.channel, 0);
156
- await this.transport.setPlayerChannelMuted(room.householdId, room.ampPlayerId, room.channel, false);
159
+ await Promise.all([
160
+ this.transport.setPlayerChannelVolume(room.householdId, room.ampPlayerId, room.channel, 0),
161
+ this.transport.setPlayerChannelMuted(room.householdId, room.ampPlayerId, room.channel, false),
162
+ ]);
163
+ resultState = { volume: 0, muted: false, on: false };
157
164
  }
158
165
  else {
159
- await this.transport.setPlayerChannelMuted(room.householdId, room.ampPlayerId, room.channel, true);
166
+ const resetVolume = Math.max(0, Math.min(room.maxVolume, room.defaultVolume));
167
+ await Promise.all([
168
+ this.transport.setPlayerChannelMuted(room.householdId, room.ampPlayerId, room.channel, true),
169
+ this.transport.setPlayerChannelVolume(room.householdId, room.ampPlayerId, room.channel, resetVolume),
170
+ ]);
171
+ resultState = { volume: resetVolume, muted: true, on: false };
160
172
  }
161
173
  await this.applyLastActiveBehavior(room);
162
- return this.readVirtualRoomState(room);
174
+ return resultState;
163
175
  }
164
176
  async syncAccessories() {
165
177
  this.logger.info(`Syncing ${this.config.scenes.length} scene(s) and ${this.config.virtualRooms.length} virtual room(s).`);
@@ -299,17 +311,15 @@ class SonosScenesPlatform {
299
311
  };
300
312
  }
301
313
  async prepareVirtualRoomPlayback(room, targetVolume, currentMasterVolume) {
302
- const volumeOperations = [
314
+ const operations = [
303
315
  this.transport.setPlayerChannelVolume(room.householdId, room.ampPlayerId, room.channel, targetVolume),
316
+ this.transport.setPlayerMuted(room.householdId, room.ampPlayerId, false),
317
+ this.transport.setPlayerChannelMuted(room.householdId, room.ampPlayerId, room.channel, false),
304
318
  ];
305
319
  if (currentMasterVolume < targetVolume) {
306
- volumeOperations.push(this.transport.setPlayerVolume(room.householdId, room.ampPlayerId, targetVolume));
320
+ operations.push(this.transport.setPlayerVolume(room.householdId, room.ampPlayerId, targetVolume));
307
321
  }
308
- await Promise.all(volumeOperations);
309
- await Promise.all([
310
- this.transport.setPlayerMuted(room.householdId, room.ampPlayerId, false),
311
- this.transport.setPlayerChannelMuted(room.householdId, room.ampPlayerId, room.channel, false),
312
- ]);
322
+ await Promise.all(operations);
313
323
  }
314
324
  async applyLastActiveBehavior(room) {
315
325
  const states = await Promise.all(this.getSiblingVirtualRooms(room).map((item) => this.readVirtualRoomState(item)));
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"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"}
@@ -12,13 +12,17 @@ export declare class LocalSonosTransport implements SonosTransport {
12
12
  private fixtureLoaded;
13
13
  private householdRoots;
14
14
  private lastSnapshot;
15
+ private liveSnapshotCache?;
16
+ private liveDiscoveryInFlight?;
15
17
  constructor(config: LocalTransportConfig, logger?: StructuredLogger | undefined);
18
+ private invalidateTopologyCache;
16
19
  supportsSource(kind: SceneSourceKind): boolean;
17
20
  discoverHouseholds(): Promise<{
18
21
  id: string;
19
22
  displayName: string;
20
23
  }[]>;
21
24
  discoverTopology(): Promise<TopologySnapshot>;
25
+ private getLiveTopology;
22
26
  setGroupMembers(householdId: string, coordinatorPlayerId: string, memberPlayerIds: string[]): Promise<void>;
23
27
  modifyGroupMembers(householdId: string, coordinatorPlayerId: string, membersToAdd: string[], membersToRemove: string[]): Promise<void>;
24
28
  loadLineIn(householdId: string, coordinatorPlayerId: string, deviceId: string, playOnCompletion?: boolean): Promise<void>;
@@ -44,6 +48,7 @@ export declare class LocalSonosTransport implements SonosTransport {
44
48
  private requireHousehold;
45
49
  private requirePlayer;
46
50
  private requireLiveRecord;
51
+ private requireLiveRecordInHousehold;
47
52
  private getLivePlayerVolume;
48
53
  private setLivePlayerVolume;
49
54
  private getLivePlayerChannelVolume;
@@ -229,6 +229,7 @@ function emptyChannelState() {
229
229
  muted: false,
230
230
  };
231
231
  }
232
+ const LIVE_DISCOVERY_TTL_MS = 5_000;
232
233
  class LocalSonosTransport {
233
234
  config;
234
235
  logger;
@@ -239,10 +240,15 @@ class LocalSonosTransport {
239
240
  fixtureLoaded = false;
240
241
  householdRoots = new Map();
241
242
  lastSnapshot = normalizeFixtureSnapshot(sampleTopology_1.sampleTopology);
243
+ liveSnapshotCache;
244
+ liveDiscoveryInFlight;
242
245
  constructor(config, logger) {
243
246
  this.config = config;
244
247
  this.logger = logger;
245
248
  }
249
+ invalidateTopologyCache() {
250
+ this.liveSnapshotCache = undefined;
251
+ }
246
252
  supportsSource(kind) {
247
253
  if (kind === "tv") {
248
254
  return this.config.allowTvSource;
@@ -257,7 +263,7 @@ class LocalSonosTransport {
257
263
  }));
258
264
  }
259
265
  async discoverTopology() {
260
- const liveSnapshot = this.config.enableLiveDiscovery ? await this.tryLiveDiscovery() : undefined;
266
+ const liveSnapshot = this.config.enableLiveDiscovery ? await this.getLiveTopology() : undefined;
261
267
  if (liveSnapshot) {
262
268
  this.lastSnapshot = liveSnapshot;
263
269
  return clone(liveSnapshot);
@@ -266,6 +272,29 @@ class LocalSonosTransport {
266
272
  this.lastSnapshot = fixtureSnapshot;
267
273
  return clone(fixtureSnapshot);
268
274
  }
275
+ async getLiveTopology() {
276
+ const now = Date.now();
277
+ if (this.liveSnapshotCache && this.liveSnapshotCache.expiresAt > now) {
278
+ return this.liveSnapshotCache.snapshot;
279
+ }
280
+ if (this.liveDiscoveryInFlight) {
281
+ return this.liveDiscoveryInFlight;
282
+ }
283
+ this.liveDiscoveryInFlight = this.tryLiveDiscovery()
284
+ .then((snapshot) => {
285
+ if (snapshot) {
286
+ this.liveSnapshotCache = {
287
+ snapshot,
288
+ expiresAt: Date.now() + LIVE_DISCOVERY_TTL_MS,
289
+ };
290
+ }
291
+ return snapshot;
292
+ })
293
+ .finally(() => {
294
+ this.liveDiscoveryInFlight = undefined;
295
+ });
296
+ return this.liveDiscoveryInFlight;
297
+ }
269
298
  async setGroupMembers(householdId, coordinatorPlayerId, memberPlayerIds) {
270
299
  const desired = unique([coordinatorPlayerId, ...memberPlayerIds.filter((playerId) => playerId !== coordinatorPlayerId)]);
271
300
  if (this.livePlayers.size === 0) {
@@ -323,6 +352,7 @@ class LocalSonosTransport {
323
352
  await playerRecord.device.leaveGroup();
324
353
  }
325
354
  this.householdRoots.set(householdId, coordinatorRecord.device);
355
+ this.invalidateTopologyCache();
326
356
  }
327
357
  async loadLineIn(householdId, coordinatorPlayerId, deviceId, playOnCompletion = true) {
328
358
  if (this.livePlayers.size === 0) {
@@ -415,7 +445,7 @@ class LocalSonosTransport {
415
445
  this.requireHousehold(await this.loadFixtureSnapshot(), householdId);
416
446
  return this.fixtureAudioState(playerId).master.volume;
417
447
  }
418
- this.requireHousehold(await this.discoverTopology(), householdId);
448
+ this.requireLiveRecordInHousehold(playerId, householdId);
419
449
  return this.getLivePlayerVolume(playerId);
420
450
  }
421
451
  async setPlayerVolume(householdId, playerId, volume) {
@@ -425,7 +455,7 @@ class LocalSonosTransport {
425
455
  this.touchFixture(householdId);
426
456
  return;
427
457
  }
428
- this.requireHousehold(await this.discoverTopology(), householdId);
458
+ this.requireLiveRecordInHousehold(playerId, householdId);
429
459
  await this.setLivePlayerVolume(playerId, volume);
430
460
  }
431
461
  async getPlayerChannelVolume(householdId, playerId, channel) {
@@ -433,7 +463,7 @@ class LocalSonosTransport {
433
463
  this.requireHousehold(await this.loadFixtureSnapshot(), householdId);
434
464
  return this.fixtureChannelAudioState(playerId, channel).volume;
435
465
  }
436
- this.requireHousehold(await this.discoverTopology(), householdId);
466
+ this.requireLiveRecordInHousehold(playerId, householdId);
437
467
  return this.getLivePlayerChannelVolume(playerId, channel);
438
468
  }
439
469
  async setPlayerChannelVolume(householdId, playerId, channel, volume) {
@@ -443,7 +473,7 @@ class LocalSonosTransport {
443
473
  this.touchFixture(householdId);
444
474
  return;
445
475
  }
446
- this.requireHousehold(await this.discoverTopology(), householdId);
476
+ this.requireLiveRecordInHousehold(playerId, householdId);
447
477
  await this.setLivePlayerChannelVolume(playerId, channel, volume);
448
478
  }
449
479
  async getGroupMuted(householdId, coordinatorPlayerId) {
@@ -482,7 +512,7 @@ class LocalSonosTransport {
482
512
  this.requireHousehold(await this.loadFixtureSnapshot(), householdId);
483
513
  return this.fixtureAudioState(playerId).master.muted;
484
514
  }
485
- this.requireHousehold(await this.discoverTopology(), householdId);
515
+ this.requireLiveRecordInHousehold(playerId, householdId);
486
516
  return this.getLivePlayerMuted(playerId);
487
517
  }
488
518
  async setPlayerMuted(householdId, playerId, muted) {
@@ -492,7 +522,7 @@ class LocalSonosTransport {
492
522
  this.touchFixture(householdId);
493
523
  return;
494
524
  }
495
- this.requireHousehold(await this.discoverTopology(), householdId);
525
+ this.requireLiveRecordInHousehold(playerId, householdId);
496
526
  await this.setLivePlayerMuted(playerId, muted);
497
527
  }
498
528
  async getPlayerChannelMuted(householdId, playerId, channel) {
@@ -500,7 +530,7 @@ class LocalSonosTransport {
500
530
  this.requireHousehold(await this.loadFixtureSnapshot(), householdId);
501
531
  return this.fixtureChannelAudioState(playerId, channel).muted;
502
532
  }
503
- this.requireHousehold(await this.discoverTopology(), householdId);
533
+ this.requireLiveRecordInHousehold(playerId, householdId);
504
534
  return this.getLivePlayerChannelMuted(playerId, channel);
505
535
  }
506
536
  async setPlayerChannelMuted(householdId, playerId, channel, muted) {
@@ -510,7 +540,7 @@ class LocalSonosTransport {
510
540
  this.touchFixture(householdId);
511
541
  return;
512
542
  }
513
- this.requireHousehold(await this.discoverTopology(), householdId);
543
+ this.requireLiveRecordInHousehold(playerId, householdId);
514
544
  await this.setLivePlayerChannelMuted(playerId, channel, muted);
515
545
  }
516
546
  async pausePlayback(householdId, coordinatorPlayerId) {
@@ -572,6 +602,7 @@ class LocalSonosTransport {
572
602
  const player = this.requireLiveRecord(playerId);
573
603
  await player.device.leaveGroup();
574
604
  }
605
+ this.invalidateTopologyCache();
575
606
  }
576
607
  async tryLiveDiscovery() {
577
608
  try {
@@ -751,10 +782,19 @@ class LocalSonosTransport {
751
782
  requireLiveRecord(playerId) {
752
783
  const record = this.livePlayers.get(playerId);
753
784
  if (!record) {
785
+ this.invalidateTopologyCache();
754
786
  throw new Error(`Live Sonos record for "${playerId}" is unavailable. Refresh discovery and try again.`);
755
787
  }
756
788
  return record;
757
789
  }
790
+ requireLiveRecordInHousehold(playerId, householdId) {
791
+ const record = this.requireLiveRecord(playerId);
792
+ if (record.householdId !== householdId) {
793
+ this.invalidateTopologyCache();
794
+ throw new Error(`Player "${playerId}" is not part of household "${householdId}".`);
795
+ }
796
+ return record;
797
+ }
758
798
  async getLivePlayerVolume(playerId) {
759
799
  const player = this.requireLiveRecord(playerId);
760
800
  const volume = Math.max(0, Math.min(100, Math.round(await this.audioDevice(player.device).getVolume())));
@@ -1 +1 @@
1
- {"version":3,"file":"localTransport.js","sourceRoot":"","sources":["../../../src/transports/localTransport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localTransport.js","sourceRoot":"","sources":["../../../src/transports/localTransport.ts"],"names":[],"mappings":"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"}
@@ -1501,8 +1501,38 @@
1501
1501
  return state.config.virtualRooms.some((room) => roomIds.includes(room.id));
1502
1502
  }
1503
1503
 
1504
- function getAccordionChevronMarkup(isActive) {
1505
- return isActive ? "&#9662;" : "&#9656;";
1504
+ function getAccordionChevronText(isActive) {
1505
+ return isActive ? "\u25be" : "\u25b8";
1506
+ }
1507
+
1508
+ function buildAccordionTriggerContent({ title, helpLines = [], isDraft = false, isActive = false }) {
1509
+ const copy = document.createElement("div");
1510
+ copy.className = "scene-accordion-copy";
1511
+
1512
+ if (isDraft) {
1513
+ const kicker = document.createElement("span");
1514
+ kicker.className = "scene-accordion-kicker";
1515
+ kicker.textContent = "Unsaved Draft";
1516
+ copy.appendChild(kicker);
1517
+ }
1518
+
1519
+ const heading = document.createElement("strong");
1520
+ heading.textContent = title;
1521
+ copy.appendChild(heading);
1522
+
1523
+ helpLines.filter(Boolean).forEach((line) => {
1524
+ const help = document.createElement("div");
1525
+ help.className = "scene-help";
1526
+ help.textContent = line;
1527
+ copy.appendChild(help);
1528
+ });
1529
+
1530
+ const chevron = document.createElement("span");
1531
+ chevron.className = "scene-accordion-chevron";
1532
+ chevron.setAttribute("aria-hidden", "true");
1533
+ chevron.textContent = getAccordionChevronText(isActive);
1534
+
1535
+ return { copy, chevron };
1506
1536
  }
1507
1537
 
1508
1538
  function getActiveHousehold() {
@@ -1687,15 +1717,14 @@
1687
1717
  const coordinatorLabel = scene.coordinatorPlayerId
1688
1718
  ? ` - ${getPlayerNameForHousehold(scene.householdId, scene.coordinatorPlayerId)}`
1689
1719
  : "";
1690
- const kicker = options.isDraft ? `<span class="scene-accordion-kicker">Unsaved Draft</span>` : "";
1691
- trigger.innerHTML = `
1692
- <div class="scene-accordion-copy">
1693
- ${kicker}
1694
- <strong>${scene.name}</strong>
1695
- <div class="scene-help">${getHouseholdDisplayName(scene.householdId)}${coordinatorLabel}</div>
1696
- </div>
1697
- <span class="scene-accordion-chevron" aria-hidden="true">${getAccordionChevronMarkup(isActive)}</span>
1698
- `;
1720
+ const triggerContent = buildAccordionTriggerContent({
1721
+ title: scene.name,
1722
+ helpLines: [`${getHouseholdDisplayName(scene.householdId)}${coordinatorLabel}`],
1723
+ isDraft: Boolean(options.isDraft),
1724
+ isActive,
1725
+ });
1726
+ trigger.appendChild(triggerContent.copy);
1727
+ trigger.appendChild(triggerContent.chevron);
1699
1728
  trigger.addEventListener("click", () => {
1700
1729
  if (state.activeSceneId === scene.id) {
1701
1730
  state.activeSceneId = null;
@@ -1767,16 +1796,17 @@
1767
1796
  const ampName = room.ampPlayerId
1768
1797
  ? getPlayerNameForHousehold(room.householdId, room.ampPlayerId)
1769
1798
  : "No Amp selected";
1770
- const kicker = options.isDraft ? `<span class="scene-accordion-kicker">Unsaved Draft</span>` : "";
1771
- trigger.innerHTML = `
1772
- <div class="scene-accordion-copy">
1773
- ${kicker}
1774
- <strong>${getVirtualRoomPairHeading(room)}</strong>
1775
- <div class="scene-help">${getHouseholdDisplayName(room.householdId)} - ${ampName}</div>
1776
- <div class="scene-help">${getVirtualRoomPairSummary(room)}</div>
1777
- </div>
1778
- <span class="scene-accordion-chevron" aria-hidden="true">${getAccordionChevronMarkup(isActive)}</span>
1779
- `;
1799
+ const triggerContent = buildAccordionTriggerContent({
1800
+ title: getVirtualRoomPairHeading(room),
1801
+ helpLines: [
1802
+ `${getHouseholdDisplayName(room.householdId)} - ${ampName}`,
1803
+ getVirtualRoomPairSummary(room),
1804
+ ],
1805
+ isDraft: Boolean(options.isDraft),
1806
+ isActive,
1807
+ });
1808
+ trigger.appendChild(triggerContent.copy);
1809
+ trigger.appendChild(triggerContent.chevron);
1780
1810
  trigger.addEventListener("click", () => {
1781
1811
  if (state.activeVirtualRoomId === room.pairId) {
1782
1812
  state.activeVirtualRoomId = null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "homebridge-sonos-scenes",
3
- "version": "0.1.26",
3
+ "version": "0.1.28",
4
4
  "description": "Homebridge plugin for Sonos workflow scenes and orchestration.",
5
5
  "author": "applemanj",
6
6
  "homepage": "https://github.com/applemanj/homebridge-sonos-scenes#readme",