homebridge-sonos-scenes 0.1.44 → 0.1.46

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.
@@ -224,9 +224,7 @@ class SceneRunner {
224
224
  await sleep(delayMs, rampSignal);
225
225
  }
226
226
  }
227
- if (currentVolume > targetVolume) {
228
- await this.transport.setPlayerMuted(scene.householdId, playerId, false);
229
- }
227
+ await this.transport.setPlayerMuted(scene.householdId, playerId, false);
230
228
  return cancelled ? "cancelled" : "completed";
231
229
  }
232
230
  volumeRampSteps(currentVolume, targetVolume, rampMs) {
@@ -1 +1 @@
1
- {"version":3,"file":"sceneRunner.js","sourceRoot":"","sources":["../../src/sceneRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sceneRunner.js","sourceRoot":"","sources":["../../src/sceneRunner.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,7 @@ export declare class LocalSonosTransport implements SonosTransport {
44
44
  stopPlayback(householdId: string, coordinatorPlayerId: string): Promise<void>;
45
45
  ungroup(householdId: string, coordinatorPlayerId: string, memberPlayerIds?: string[]): Promise<void>;
46
46
  private tryLiveDiscovery;
47
+ private fetchParsedDeviceDescription;
47
48
  private getLiveGroupRuntimeState;
48
49
  private readLiveRuntimeValue;
49
50
  private loadFixtureSnapshot;
@@ -51,6 +52,7 @@ export declare class LocalSonosTransport implements SonosTransport {
51
52
  private requirePlayer;
52
53
  private requireLiveRecord;
53
54
  private requireLiveRecordInHousehold;
55
+ private setCoordinatorTransportUri;
54
56
  private getLivePlayerVolume;
55
57
  private setLivePlayerVolume;
56
58
  private getLivePlayerChannelVolume;
@@ -59,6 +61,10 @@ export declare class LocalSonosTransport implements SonosTransport {
59
61
  private setLivePlayerMuted;
60
62
  private getLivePlayerChannelMuted;
61
63
  private setLivePlayerChannelMuted;
64
+ private getLiveChannelVolume;
65
+ private setLiveChannelVolume;
66
+ private getLiveChannelMuted;
67
+ private setLiveChannelMuted;
62
68
  private findFavorite;
63
69
  private fetchFavorites;
64
70
  private setFixtureGroupRuntime;
@@ -66,7 +72,5 @@ export declare class LocalSonosTransport implements SonosTransport {
66
72
  private touchFixture;
67
73
  private fixtureAudioState;
68
74
  private fixtureChannelAudioState;
69
- private audioDevice;
70
- private channelAwareDevice;
71
75
  private playerLogLabel;
72
76
  }
@@ -8,7 +8,7 @@ exports.buildFavoriteTransportUri = buildFavoriteTransportUri;
8
8
  exports.parseFavoriteBrowseXml = parseFavoriteBrowseXml;
9
9
  const promises_1 = require("node:fs/promises");
10
10
  const node_path_1 = __importDefault(require("node:path"));
11
- const sonos_1 = require("sonos");
11
+ const sonos_1 = require("@svrooij/sonos");
12
12
  const sampleTopology_1 = require("../sampleTopology");
13
13
  function clone(value) {
14
14
  return JSON.parse(JSON.stringify(value));
@@ -66,6 +66,11 @@ function buildFavoriteTransportUri(favorite) {
66
66
  }
67
67
  return buildFavoriteContainerUri(favorite.metadata);
68
68
  }
69
+ function lineInDeviceIdFromTransportUri(transportUri) {
70
+ const normalizedUri = transportUri.trim();
71
+ const match = /^x-rincon-stream:(RINCON_[^?\s]+)/i.exec(normalizedUri);
72
+ return match?.[1];
73
+ }
69
74
  function favoriteUnsupportedReason(favorite) {
70
75
  const metadataClass = favoriteMetadataClass(favorite.metadata);
71
76
  if (metadataClass?.includes("playlistcontainer")) {
@@ -106,13 +111,6 @@ function normalizeFavorite(favorite) {
106
111
  }
107
112
  return normalized;
108
113
  }
109
- function fallbackFavoritesFromBrowseResult(result) {
110
- return (result.items ?? []).map((favorite) => normalizeFavorite({
111
- id: favorite.id ?? favorite.title ?? favorite.uri ?? randomString(),
112
- name: favorite.title ?? favorite.id ?? "Favorite",
113
- uri: favorite.uri,
114
- }));
115
- }
116
114
  function parseFavoriteBrowseXml(xml) {
117
115
  const items = xml.match(/<item\b[\s\S]*?<\/item>/gi) ?? [];
118
116
  return items.map((itemXml) => normalizeFavorite({
@@ -130,20 +128,6 @@ function formatHouseholdDisplayName(householdIndex, householdCount) {
130
128
  }
131
129
  return `Sonos Household ${householdIndex + 1}`;
132
130
  }
133
- function extractFirstString(input) {
134
- if (typeof input === "string" && input.trim()) {
135
- return input.trim();
136
- }
137
- if (!input || typeof input !== "object") {
138
- return undefined;
139
- }
140
- for (const value of Object.values(input)) {
141
- if (typeof value === "string" && value.trim()) {
142
- return value.trim();
143
- }
144
- }
145
- return undefined;
146
- }
147
131
  function normalizeFixtureSnapshot(input) {
148
132
  return {
149
133
  ...clone(input),
@@ -167,18 +151,13 @@ function unique(values) {
167
151
  function channelToken(channel) {
168
152
  return channel === "right" ? "RF" : "LF";
169
153
  }
170
- function hasService(description, fragment) {
171
- const services = description?.serviceList?.service;
172
- const list = Array.isArray(services) ? services : services ? [services] : [];
173
- return list.some((service) => `${service.serviceType ?? ""} ${service.serviceId ?? ""}`.toLowerCase().includes(fragment.toLowerCase()));
174
- }
175
154
  function modelLooksTvCapable(description) {
176
155
  const model = `${description?.modelName ?? ""} ${description?.displayName ?? ""}`.toLowerCase();
177
156
  return /(arc|beam|playbar|playbase|ray|amp)/.test(model);
178
157
  }
179
158
  function detectSourceOptions(description, allowTvSource) {
180
159
  const sourceOptions = ["favorite"];
181
- if (hasService(description, "AudioIn")) {
160
+ if (description?.hasAudioIn) {
182
161
  sourceOptions.push("line_in");
183
162
  }
184
163
  if (allowTvSource && modelLooksTvCapable(description)) {
@@ -188,18 +167,13 @@ function detectSourceOptions(description, allowTvSource) {
188
167
  }
189
168
  function detectCapabilities(description, allowTvSource) {
190
169
  const capabilities = ["PLAYBACK"];
191
- if (hasService(description, "AudioIn")) {
170
+ if (description?.hasAudioIn) {
192
171
  capabilities.push("LINE_IN");
193
172
  }
194
173
  if (allowTvSource && modelLooksTvCapable(description)) {
195
174
  capabilities.push("TV");
196
175
  }
197
- if (!hasService(description, "ZoneGroupTopology")) {
198
- capabilities.push("AIRPLAY");
199
- }
200
- else {
201
- capabilities.push("AIRPLAY");
202
- }
176
+ capabilities.push("AIRPLAY");
203
177
  return capabilities;
204
178
  }
205
179
  function resolveFixturePath(fixturePath) {
@@ -211,21 +185,6 @@ function resolveFixturePath(fixturePath) {
211
185
  }
212
186
  return node_path_1.default.resolve(process.cwd(), fixturePath);
213
187
  }
214
- function maybeHostFromLocation(location) {
215
- if (!location) {
216
- return undefined;
217
- }
218
- try {
219
- const url = new URL(location);
220
- return {
221
- host: url.hostname,
222
- port: Number(url.port || 1400),
223
- };
224
- }
225
- catch {
226
- return undefined;
227
- }
228
- }
229
188
  function emptyChannelState() {
230
189
  return {
231
190
  volume: 0,
@@ -364,7 +323,12 @@ class LocalSonosTransport {
364
323
  }
365
324
  this.requirePlayer(household, playerId);
366
325
  const playerRecord = this.requireLiveRecord(playerId);
367
- await playerRecord.device.joinGroup(coordinator.name);
326
+ // Joining a group is setting the member's transport to the coordinator's RINCON URI.
327
+ await playerRecord.device.AVTransportService.SetAVTransportURI({
328
+ InstanceID: 0,
329
+ CurrentURI: `x-rincon:${coordinatorPlayerId}`,
330
+ CurrentURIMetaData: "",
331
+ });
368
332
  }
369
333
  for (const playerId of membersToRemove) {
370
334
  if (playerId === coordinatorPlayerId) {
@@ -372,7 +336,7 @@ class LocalSonosTransport {
372
336
  }
373
337
  this.requirePlayer(household, playerId);
374
338
  const playerRecord = this.requireLiveRecord(playerId);
375
- await playerRecord.device.leaveGroup();
339
+ await playerRecord.device.AVTransportService.BecomeCoordinatorOfStandaloneGroup();
376
340
  }
377
341
  this.householdRoots.set(householdId, coordinatorRecord.device);
378
342
  this.invalidateTopologyCache();
@@ -390,11 +354,7 @@ class LocalSonosTransport {
390
354
  this.requireHousehold(await this.discoverTopology(), householdId);
391
355
  const coordinator = this.requireLiveRecord(coordinatorPlayerId);
392
356
  this.logger?.info(`Sending Sonos line-in load request: household=${householdId}, coordinator=${this.playerLogLabel(coordinatorPlayerId)}, sourceDevice=${deviceId}, playOnCompletion=${playOnCompletion}.`);
393
- await coordinator.device.setAVTransportURI({
394
- uri: `x-rincon-stream:${deviceId}`,
395
- metadata: "",
396
- onlySetUri: !playOnCompletion,
397
- });
357
+ await this.setCoordinatorTransportUri(coordinator, `x-rincon-stream:${deviceId}`, "", playOnCompletion);
398
358
  this.invalidateTopologyCache();
399
359
  this.logger?.info(`Sonos line-in load completed: household=${householdId}, coordinator=${this.playerLogLabel(coordinatorPlayerId)}, sourceDevice=${deviceId}.`);
400
360
  }
@@ -419,11 +379,14 @@ class LocalSonosTransport {
419
379
  if (!transportUri) {
420
380
  throw new Error(`Favorite "${favorite.name}" does not expose enough metadata to build a playable local URI.`);
421
381
  }
382
+ const lineInDeviceId = lineInDeviceIdFromTransportUri(transportUri);
383
+ if (lineInDeviceId) {
384
+ this.logger?.info(`Routing Sonos line-in favorite through direct line-in load: household=${householdId}, coordinator=${this.playerLogLabel(coordinatorPlayerId)}, favorite="${favorite.name}" (${favoriteId}), sourceDevice=${lineInDeviceId}.`);
385
+ await this.loadLineIn(householdId, coordinatorPlayerId, lineInDeviceId, true);
386
+ return;
387
+ }
422
388
  this.logger?.info(`Sending Sonos favorite load request: household=${householdId}, coordinator=${this.playerLogLabel(coordinatorPlayerId)}, favorite="${favorite.name}" (${favoriteId}), transportUri=${transportUri}.`);
423
- await coordinator.device.setAVTransportURI({
424
- uri: transportUri,
425
- metadata: favorite.metadata ?? "",
426
- });
389
+ await this.setCoordinatorTransportUri(coordinator, transportUri, favorite.metadata ?? "", true);
427
390
  this.invalidateTopologyCache();
428
391
  this.logger?.info(`Sonos favorite load completed: household=${householdId}, coordinator=${this.playerLogLabel(coordinatorPlayerId)}, favorite="${favorite.name}" (${favoriteId}).`);
429
392
  }
@@ -442,11 +405,7 @@ class LocalSonosTransport {
442
405
  }
443
406
  const coordinator = this.requireLiveRecord(coordinatorPlayerId);
444
407
  this.logger?.info(`Sending Sonos TV load request: household=${householdId}, coordinator=${this.playerLogLabel(coordinatorPlayerId)}, sourceDevice=${deviceId}, playOnCompletion=${playOnCompletion}.`);
445
- await coordinator.device.setAVTransportURI({
446
- uri: `x-sonos-htastream:${deviceId}:spdif`,
447
- metadata: "",
448
- onlySetUri: !playOnCompletion,
449
- });
408
+ await this.setCoordinatorTransportUri(coordinator, `x-sonos-htastream:${deviceId}:spdif`, "", playOnCompletion);
450
409
  this.invalidateTopologyCache();
451
410
  this.logger?.info(`Sonos TV load completed: household=${householdId}, coordinator=${this.playerLogLabel(coordinatorPlayerId)}, sourceDevice=${deviceId}.`);
452
411
  }
@@ -603,7 +562,7 @@ class LocalSonosTransport {
603
562
  const snapshot = await this.discoverTopology();
604
563
  this.requireHousehold(snapshot, householdId);
605
564
  const coordinator = this.requireLiveRecord(coordinatorPlayerId);
606
- await this.audioDevice(coordinator.device).pause();
565
+ await coordinator.device.AVTransportService.Pause();
607
566
  this.invalidateTopologyCache();
608
567
  }
609
568
  async stopPlayback(householdId, coordinatorPlayerId) {
@@ -621,7 +580,7 @@ class LocalSonosTransport {
621
580
  const snapshot = await this.discoverTopology();
622
581
  this.requireHousehold(snapshot, householdId);
623
582
  const coordinator = this.requireLiveRecord(coordinatorPlayerId);
624
- await coordinator.device.stop();
583
+ await coordinator.device.AVTransportService.Stop();
625
584
  this.invalidateTopologyCache();
626
585
  }
627
586
  async ungroup(householdId, coordinatorPlayerId, memberPlayerIds) {
@@ -647,121 +606,136 @@ class LocalSonosTransport {
647
606
  continue;
648
607
  }
649
608
  const player = this.requireLiveRecord(playerId);
650
- await player.device.leaveGroup();
609
+ await player.device.AVTransportService.BecomeCoordinatorOfStandaloneGroup();
651
610
  }
652
611
  this.invalidateTopologyCache();
653
612
  }
654
613
  async tryLiveDiscovery() {
655
614
  try {
656
- const discovery = new sonos_1.AsyncDeviceDiscovery();
657
- const devices = await discovery.discoverMultiple({ timeout: this.config.discoveryTimeoutMs });
658
- if (!devices.length) {
615
+ const discovery = new sonos_1.SonosDeviceDiscovery();
616
+ const timeoutSeconds = Math.max(1, Math.ceil(this.config.discoveryTimeoutMs / 1000));
617
+ const foundDevices = await discovery.Search(timeoutSeconds);
618
+ if (!foundDevices.length) {
659
619
  return undefined;
660
620
  }
661
- const uniqueDevices = Array.from(new Map(devices.map((device) => [`${device.host}:${device.port}`, device])).values());
662
- const records = await Promise.all(uniqueDevices.map(async (device) => {
663
- const [zoneAttrs, zoneInfo, description, householdResponse] = await Promise.allSettled([
664
- device.getZoneAttrs(),
665
- device.getZoneInfo(),
666
- device.deviceDescription(),
667
- device.devicePropertiesService().GetHouseholdID({}),
668
- ]);
621
+ const uniqueHosts = Array.from(new Map(foundDevices.map((found) => [found.host, found])).values());
622
+ const hostRecords = await Promise.all(uniqueHosts.map(async (found) => {
623
+ const device = new sonos_1.SonosDevice(found.host, found.port);
624
+ const householdId = await device.DevicePropertiesService.GetHouseholdID()
625
+ .then((response) => normalizedString(response.CurrentHouseholdID))
626
+ .catch(() => undefined);
669
627
  return {
628
+ host: found.host,
629
+ port: found.port,
670
630
  device,
671
- host: device.host,
672
- port: device.port,
673
- householdId: extractFirstString(householdResponse.status === "fulfilled" ? householdResponse.value : undefined)
674
- ?? "local-household",
675
- zoneAttrs: zoneAttrs.status === "fulfilled" ? zoneAttrs.value : undefined,
676
- zoneInfo: zoneInfo.status === "fulfilled" ? zoneInfo.value : undefined,
677
- description: description.status === "fulfilled" ? description.value : undefined,
631
+ householdId: householdId ?? "local-household",
678
632
  };
679
633
  }));
680
634
  const rootsByHousehold = new Map();
681
- for (const record of records) {
682
- if (!rootsByHousehold.has(record.householdId)) {
683
- rootsByHousehold.set(record.householdId, record.device);
635
+ for (const hostRecord of hostRecords) {
636
+ if (!rootsByHousehold.has(hostRecord.householdId)) {
637
+ rootsByHousehold.set(hostRecord.householdId, hostRecord);
684
638
  }
685
639
  }
686
640
  const households = [];
687
641
  const livePlayers = new Map();
688
- for (const [householdId, root] of rootsByHousehold) {
689
- const rawGroups = await root.getAllGroups().catch(() => []);
690
- const householdRecords = records.filter((record) => record.householdId === householdId);
691
- const householdByHost = new Map(householdRecords.map((record) => [record.host, record]));
642
+ for (const [householdId, rootRecord] of rootsByHousehold) {
643
+ const root = rootRecord.device;
644
+ const zoneGroups = await root.ZoneGroupTopologyService.GetParsedZoneGroupState().catch(() => []);
692
645
  const players = [];
693
646
  const groups = [];
694
- for (const rawGroup of rawGroups) {
695
- const groupId = rawGroup.ID ?? `group-${rawGroup.Coordinator ?? Math.random().toString(16).slice(2)}`;
647
+ const memberHosts = new Map();
648
+ for (const zoneGroup of zoneGroups) {
649
+ for (const member of zoneGroup.members) {
650
+ memberHosts.set(member.host, member.port);
651
+ }
652
+ }
653
+ const descriptionsByHost = new Map(await Promise.all(Array.from(memberHosts).map(async ([host, port]) => [host, await this.fetchParsedDeviceDescription(host, port)])));
654
+ for (const zoneGroup of zoneGroups) {
655
+ const groupId = zoneGroup.groupId || `group-${zoneGroup.coordinator.uuid}`;
696
656
  const playerIds = [];
697
- const groupMembers = Array.isArray(rawGroup.ZoneGroupMember) ? rawGroup.ZoneGroupMember : [rawGroup.ZoneGroupMember];
698
- for (const member of groupMembers) {
699
- const location = maybeHostFromLocation(member.Location);
700
- const record = location ? householdByHost.get(location.host) : undefined;
701
- const playerId = member.UUID ?? record?.zoneInfo?.SerialNumber ?? record?.host ?? `player-${players.length}`;
657
+ for (const member of zoneGroup.members) {
658
+ const playerId = member.uuid;
702
659
  playerIds.push(playerId);
660
+ const description = descriptionsByHost.get(member.host);
703
661
  if (!players.some((player) => player.id === playerId)) {
704
- const sourceOptions = detectSourceOptions(record?.description, this.config.allowTvSource);
705
- const player = {
662
+ players.push({
706
663
  id: playerId,
707
- name: member.ZoneName ?? record?.zoneAttrs?.CurrentZoneName ?? record?.host ?? playerId,
708
- model: record?.description?.modelName ?? record?.description?.displayName,
709
- capabilities: detectCapabilities(record?.description, this.config.allowTvSource),
664
+ name: member.name,
665
+ model: description?.modelName ?? description?.displayName,
666
+ capabilities: detectCapabilities(description, this.config.allowTvSource),
710
667
  deviceIds: unique([playerId]),
711
668
  groupId,
712
- isCoordinator: rawGroup.Coordinator === playerId,
669
+ isCoordinator: zoneGroup.coordinator.uuid === playerId,
713
670
  fixedVolume: false,
714
- sourceOptions,
715
- };
716
- players.push(player);
717
- }
718
- else {
719
- const existing = players.find((player) => player.id === playerId);
720
- if (existing) {
721
- existing.groupId = groupId;
722
- existing.isCoordinator = rawGroup.Coordinator === playerId;
723
- }
671
+ sourceOptions: detectSourceOptions(description, this.config.allowTvSource),
672
+ });
724
673
  }
725
- if (record) {
726
- livePlayers.set(playerId, record);
674
+ if (!livePlayers.has(playerId)) {
675
+ livePlayers.set(playerId, {
676
+ device: new sonos_1.SonosDevice(member.host, member.port, member.uuid),
677
+ host: member.host,
678
+ port: member.port,
679
+ householdId,
680
+ zoneName: member.name,
681
+ description,
682
+ });
727
683
  }
728
684
  }
729
- const runtimeState = await this.getLiveGroupRuntimeState(rawGroup.Coordinator ? livePlayers.get(rawGroup.Coordinator) : undefined);
685
+ const runtimeState = await this.getLiveGroupRuntimeState(livePlayers.get(zoneGroup.coordinator.uuid));
730
686
  groups.push({
731
687
  id: groupId,
732
- name: rawGroup.Name ?? players.find((player) => player.id === rawGroup.Coordinator)?.name ?? groupId,
733
- coordinatorId: rawGroup.Coordinator ?? playerIds[0],
688
+ name: zoneGroup.name || zoneGroup.coordinator.name || groupId,
689
+ coordinatorId: zoneGroup.coordinator.uuid,
734
690
  playerIds,
735
691
  ...runtimeState,
736
692
  });
737
693
  }
738
- for (const record of householdRecords) {
739
- const existingPlayer = players.find((player) => player.name === record.zoneAttrs?.CurrentZoneName || player.id === record.zoneInfo?.SerialNumber);
740
- if (existingPlayer) {
694
+ // Devices found over SSDP for this household but missing from its zone
695
+ // group state still get a standalone entry, like the previous transport.
696
+ for (const hostRecord of hostRecords) {
697
+ if (hostRecord.householdId !== householdId || memberHosts.has(hostRecord.host)) {
741
698
  continue;
742
699
  }
743
- const fallbackId = record.zoneInfo?.SerialNumber ?? `${record.host}:${record.port}`;
744
- const sourceOptions = detectSourceOptions(record.description, this.config.allowTvSource);
700
+ const [zoneAttrs, zoneInfo] = await Promise.allSettled([
701
+ hostRecord.device.DevicePropertiesService.GetZoneAttributes(),
702
+ hostRecord.device.DevicePropertiesService.GetZoneInfo(),
703
+ ]);
704
+ const zoneName = zoneAttrs.status === "fulfilled" ? normalizedString(zoneAttrs.value.CurrentZoneName) : undefined;
705
+ const serialNumber = zoneInfo.status === "fulfilled" ? normalizedString(zoneInfo.value.SerialNumber) : undefined;
706
+ const fallbackId = serialNumber ?? `${hostRecord.host}:${hostRecord.port}`;
707
+ if (players.some((player) => player.id === fallbackId || (zoneName !== undefined && player.name === zoneName))) {
708
+ continue;
709
+ }
710
+ const description = await this.fetchParsedDeviceDescription(hostRecord.host, hostRecord.port);
745
711
  players.push({
746
712
  id: fallbackId,
747
- name: record.zoneAttrs?.CurrentZoneName ?? record.host,
748
- model: record.description?.modelName ?? record.description?.displayName,
749
- capabilities: detectCapabilities(record.description, this.config.allowTvSource),
713
+ name: zoneName ?? hostRecord.host,
714
+ model: description?.modelName ?? description?.displayName,
715
+ capabilities: detectCapabilities(description, this.config.allowTvSource),
750
716
  deviceIds: [fallbackId],
751
717
  groupId: `standalone-${fallbackId}`,
752
718
  isCoordinator: true,
753
719
  fixedVolume: false,
754
- sourceOptions,
720
+ sourceOptions: detectSourceOptions(description, this.config.allowTvSource),
755
721
  });
756
- const runtimeState = await this.getLiveGroupRuntimeState(record);
722
+ const standaloneRecord = {
723
+ device: hostRecord.device,
724
+ host: hostRecord.host,
725
+ port: hostRecord.port,
726
+ householdId,
727
+ zoneName,
728
+ description,
729
+ };
730
+ const runtimeState = await this.getLiveGroupRuntimeState(standaloneRecord);
757
731
  groups.push({
758
732
  id: `standalone-${fallbackId}`,
759
- name: record.zoneAttrs?.CurrentZoneName ?? record.host,
733
+ name: zoneName ?? hostRecord.host,
760
734
  coordinatorId: fallbackId,
761
735
  playerIds: [fallbackId],
762
736
  ...runtimeState,
763
737
  });
764
- livePlayers.set(fallbackId, record);
738
+ livePlayers.set(fallbackId, standaloneRecord);
765
739
  }
766
740
  const favorites = await this.fetchFavorites(root);
767
741
  households.push({
@@ -787,20 +761,38 @@ class LocalSonosTransport {
787
761
  return undefined;
788
762
  }
789
763
  }
764
+ async fetchParsedDeviceDescription(host, port) {
765
+ try {
766
+ const response = await fetch(`http://${host}:${port}/xml/device_description.xml`, {
767
+ signal: AbortSignal.timeout(Math.max(1_000, this.config.requestTimeoutMs)),
768
+ });
769
+ if (!response.ok) {
770
+ return undefined;
771
+ }
772
+ const xml = await response.text();
773
+ return {
774
+ modelName: extractTagValue(xml, "modelName"),
775
+ displayName: extractTagValue(xml, "displayName"),
776
+ hasAudioIn: /service(?:Id)?:AudioIn/i.test(xml),
777
+ };
778
+ }
779
+ catch {
780
+ return undefined;
781
+ }
782
+ }
790
783
  async getLiveGroupRuntimeState(coordinatorRecord) {
791
784
  if (!coordinatorRecord) {
792
785
  return {
793
786
  playbackState: "PLAYBACK_STATE_UNKNOWN",
794
787
  };
795
788
  }
796
- const device = coordinatorRecord.device;
797
- const playerLabel = coordinatorRecord.zoneAttrs?.CurrentZoneName ?? coordinatorRecord.host;
798
- const [playbackState, mediaInfo] = await Promise.all([
799
- this.readLiveRuntimeValue(`${playerLabel} playback state`, () => device.getCurrentState?.()),
800
- this.readLiveRuntimeValue(`${playerLabel} media info`, () => device.avTransportService?.().GetMediaInfo?.()),
789
+ const playerLabel = coordinatorRecord.zoneName ?? coordinatorRecord.host;
790
+ const [transportInfo, mediaInfo] = await Promise.all([
791
+ this.readLiveRuntimeValue(`${playerLabel} playback state`, () => coordinatorRecord.device.AVTransportService.GetTransportInfo()),
792
+ this.readLiveRuntimeValue(`${playerLabel} media info`, () => coordinatorRecord.device.AVTransportService.GetMediaInfo()),
801
793
  ]);
802
794
  return {
803
- playbackState: normalizeSonosPlaybackState(playbackState),
795
+ playbackState: normalizeSonosPlaybackState(transportInfo?.CurrentTransportState),
804
796
  currentSourceUri: normalizedString(mediaInfo?.CurrentURI),
805
797
  };
806
798
  }
@@ -882,55 +874,74 @@ class LocalSonosTransport {
882
874
  }
883
875
  return record;
884
876
  }
877
+ async setCoordinatorTransportUri(coordinator, uri, metadata, playOnCompletion) {
878
+ await coordinator.device.AVTransportService.SetAVTransportURI({
879
+ InstanceID: 0,
880
+ CurrentURI: uri,
881
+ CurrentURIMetaData: metadata,
882
+ });
883
+ if (playOnCompletion) {
884
+ await coordinator.device.AVTransportService.Play({ InstanceID: 0, Speed: "1" });
885
+ }
886
+ }
885
887
  async getLivePlayerVolume(playerId) {
886
- const player = this.requireLiveRecord(playerId);
887
- const volume = Math.max(0, Math.min(100, Math.round(await this.audioDevice(player.device).getVolume())));
888
- this.logger?.debug(`Sonos get volume returned: player=${this.playerLogLabel(playerId)}, volume=${volume}.`);
889
- return volume;
888
+ return this.getLiveChannelVolume(playerId, "Master");
890
889
  }
891
890
  async setLivePlayerVolume(playerId, volume) {
892
- const player = this.requireLiveRecord(playerId);
893
- const normalizedVolume = Math.max(0, Math.min(100, Math.round(volume)));
894
- this.logger?.info(`Sending Sonos set volume request: player=${this.playerLogLabel(playerId)}, volume=${normalizedVolume}.`);
895
- await player.device.setVolume(normalizedVolume);
896
- this.logger?.info(`Sonos set volume completed: player=${this.playerLogLabel(playerId)}, volume=${normalizedVolume}.`);
891
+ await this.setLiveChannelVolume(playerId, "Master", volume);
897
892
  }
898
893
  async getLivePlayerChannelVolume(playerId, channel) {
899
- const player = this.requireLiveRecord(playerId);
900
- const volume = Math.max(0, Math.min(100, Math.round(await this.channelAwareDevice(player.device).renderingControlService().GetVolume(channelToken(channel)))));
901
- this.logger?.debug(`Sonos get channel volume returned: player=${this.playerLogLabel(playerId)}, channel=${channel}, volume=${volume}.`);
902
- return volume;
894
+ return this.getLiveChannelVolume(playerId, channelToken(channel));
903
895
  }
904
896
  async setLivePlayerChannelVolume(playerId, channel, volume) {
905
- const player = this.requireLiveRecord(playerId);
906
- const normalizedVolume = Math.max(0, Math.min(100, Math.round(volume)));
907
- this.logger?.info(`Sending Sonos set channel volume request: player=${this.playerLogLabel(playerId)}, channel=${channel}, volume=${normalizedVolume}.`);
908
- await this.audioDevice(player.device).setVolume(normalizedVolume, channelToken(channel));
909
- this.logger?.info(`Sonos set channel volume completed: player=${this.playerLogLabel(playerId)}, channel=${channel}, volume=${normalizedVolume}.`);
897
+ await this.setLiveChannelVolume(playerId, channelToken(channel), volume);
910
898
  }
911
899
  async getLivePlayerMuted(playerId) {
912
- const player = this.requireLiveRecord(playerId);
913
- const muted = await this.audioDevice(player.device).getMuted();
914
- this.logger?.debug(`Sonos get mute returned: player=${this.playerLogLabel(playerId)}, muted=${muted}.`);
915
- return muted;
900
+ return this.getLiveChannelMuted(playerId, "Master");
916
901
  }
917
902
  async setLivePlayerMuted(playerId, muted) {
918
- const player = this.requireLiveRecord(playerId);
919
- this.logger?.info(`Sending Sonos set mute request: player=${this.playerLogLabel(playerId)}, muted=${muted}.`);
920
- await this.audioDevice(player.device).setMuted(muted);
921
- this.logger?.info(`Sonos set mute completed: player=${this.playerLogLabel(playerId)}, muted=${muted}.`);
903
+ await this.setLiveChannelMuted(playerId, "Master", muted);
922
904
  }
923
905
  async getLivePlayerChannelMuted(playerId, channel) {
906
+ return this.getLiveChannelMuted(playerId, channelToken(channel));
907
+ }
908
+ async setLivePlayerChannelMuted(playerId, channel, muted) {
909
+ await this.setLiveChannelMuted(playerId, channelToken(channel), muted);
910
+ }
911
+ async getLiveChannelVolume(playerId, channel) {
912
+ const player = this.requireLiveRecord(playerId);
913
+ const response = await player.device.RenderingControlService.GetVolume({ InstanceID: 0, Channel: channel });
914
+ const volume = Math.max(0, Math.min(100, Math.round(response.CurrentVolume)));
915
+ this.logger?.debug(`Sonos get volume returned: player=${this.playerLogLabel(playerId)}, channel=${channel}, volume=${volume}.`);
916
+ return volume;
917
+ }
918
+ async setLiveChannelVolume(playerId, channel, volume) {
919
+ const player = this.requireLiveRecord(playerId);
920
+ const normalizedVolume = Math.max(0, Math.min(100, Math.round(volume)));
921
+ this.logger?.info(`Sending Sonos set volume request: player=${this.playerLogLabel(playerId)}, channel=${channel}, volume=${normalizedVolume}.`);
922
+ await player.device.RenderingControlService.SetVolume({
923
+ InstanceID: 0,
924
+ Channel: channel,
925
+ DesiredVolume: normalizedVolume,
926
+ });
927
+ this.logger?.info(`Sonos set volume completed: player=${this.playerLogLabel(playerId)}, channel=${channel}, volume=${normalizedVolume}.`);
928
+ }
929
+ async getLiveChannelMuted(playerId, channel) {
924
930
  const player = this.requireLiveRecord(playerId);
925
- const muted = await this.channelAwareDevice(player.device).renderingControlService().GetMute(channelToken(channel));
926
- this.logger?.debug(`Sonos get channel mute returned: player=${this.playerLogLabel(playerId)}, channel=${channel}, muted=${muted}.`);
931
+ const response = await player.device.RenderingControlService.GetMute({ InstanceID: 0, Channel: channel });
932
+ const muted = response.CurrentMute === true;
933
+ this.logger?.debug(`Sonos get mute returned: player=${this.playerLogLabel(playerId)}, channel=${channel}, muted=${muted}.`);
927
934
  return muted;
928
935
  }
929
- async setLivePlayerChannelMuted(playerId, channel, muted) {
936
+ async setLiveChannelMuted(playerId, channel, muted) {
930
937
  const player = this.requireLiveRecord(playerId);
931
- this.logger?.info(`Sending Sonos set channel mute request: player=${this.playerLogLabel(playerId)}, channel=${channel}, muted=${muted}.`);
932
- await this.audioDevice(player.device).setMuted(muted, channelToken(channel));
933
- this.logger?.info(`Sonos set channel mute completed: player=${this.playerLogLabel(playerId)}, channel=${channel}, muted=${muted}.`);
938
+ this.logger?.info(`Sending Sonos set mute request: player=${this.playerLogLabel(playerId)}, channel=${channel}, muted=${muted}.`);
939
+ await player.device.RenderingControlService.SetMute({
940
+ InstanceID: 0,
941
+ Channel: channel,
942
+ DesiredMute: muted,
943
+ });
944
+ this.logger?.info(`Sonos set mute completed: player=${this.playerLogLabel(playerId)}, channel=${channel}, muted=${muted}.`);
934
945
  }
935
946
  async findFavorite(householdId, favoriteId) {
936
947
  const root = this.householdRoots.get(householdId);
@@ -945,25 +956,28 @@ class LocalSonosTransport {
945
956
  return favorite;
946
957
  }
947
958
  async fetchFavorites(root) {
948
- const browseResponse = await root.contentDirectoryService().Browse({
959
+ // The raw Browse call (not BrowseParsed) returns the favorite DIDL-Lite XML
960
+ // untouched, which is required to keep r:resMD/r:description/r:type metadata
961
+ // for container favorites; sonos-ts's parsed Track model drops those fields.
962
+ const browseResponse = await root.ContentDirectoryService.Browse({
963
+ ObjectID: "FV:2",
949
964
  BrowseFlag: "BrowseDirectChildren",
950
965
  Filter: "*",
951
- StartingIndex: "0",
952
- RequestedCount: "100",
966
+ StartingIndex: 0,
967
+ RequestedCount: 100,
953
968
  SortCriteria: "",
954
- ObjectID: "FV:2",
955
969
  }).catch(() => undefined);
956
970
  const browseFavorites = typeof browseResponse?.Result === "string" ? parseFavoriteBrowseXml(browseResponse.Result) : [];
957
971
  if (browseFavorites.length > 0) {
958
972
  return browseFavorites;
959
973
  }
960
- const fallbackResult = await root.getFavorites().catch(() => ({
961
- items: [],
962
- returned: "0",
963
- total: "0",
964
- updateID: "0",
974
+ const fallbackResponse = await root.GetFavorites().catch(() => undefined);
975
+ const fallbackTracks = Array.isArray(fallbackResponse?.Result) ? fallbackResponse.Result : [];
976
+ return fallbackTracks.map((track) => normalizeFavorite({
977
+ id: track.ItemId ?? track.Title ?? track.TrackUri ?? randomString(),
978
+ name: track.Title ?? track.ItemId ?? "Favorite",
979
+ uri: track.TrackUri,
965
980
  }));
966
- return fallbackFavoritesFromBrowseResult(fallbackResult);
967
981
  }
968
982
  setFixtureGroupRuntime(householdId, coordinatorPlayerId, runtime) {
969
983
  const household = this.requireHousehold(this.fixtureState, householdId);
@@ -1044,15 +1058,9 @@ class LocalSonosTransport {
1044
1058
  const state = this.fixtureAudioState(playerId);
1045
1059
  return channel === "right" ? state.right : state.left;
1046
1060
  }
1047
- audioDevice(device) {
1048
- return device;
1049
- }
1050
- channelAwareDevice(device) {
1051
- return device;
1052
- }
1053
1061
  playerLogLabel(playerId) {
1054
1062
  const record = this.livePlayers.get(playerId);
1055
- const playerName = record?.zoneAttrs?.CurrentZoneName?.trim();
1063
+ const playerName = record?.zoneName?.trim();
1056
1064
  return playerName ? `${playerName} (${playerId})` : playerId;
1057
1065
  }
1058
1066
  }
@@ -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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"}
@@ -7,7 +7,7 @@ This page keeps the more technical project details out of the main README.
7
7
  - Homebridge dynamic platform plugin
8
8
  - One switch accessory per scene
9
9
  - One companion volume control accessory per scene
10
- - Local-first transport built on the community `sonos` package
10
+ - Local-first transport built on `@svrooij/sonos` (sonos-ts), pinned to an exact version because fixes for that library currently ship on its beta dist-tag
11
11
  - Custom Homebridge UI for discovery, validation, testing, and scene editing
12
12
 
13
13
  ## Scene Model
@@ -83,8 +83,7 @@ This repo uses GitHub Actions trusted publishing to publish to npm from a GitHub
83
83
  - Some complex favorites are still unreliable over the local-only path
84
84
  - `TV` support is still transport-gated and conservative
85
85
  - `local_plus_cloud` is not yet wired into runtime playback
86
- - subscription-driven live refresh is not fully implemented yet
87
- - `npm audit` reports a high-severity advisory ([GHSA-2p57-rm9w-gvfp](https://github.com/advisories/GHSA-2p57-rm9w-gvfp)) in the transitive `ip` dependency pulled in by `sonos`. No patched `ip` release exists. The flagged code is only reachable through the `sonos` package's UPnP event listener, which this plugin does not start, so the advisory is not exploitable through this plugin today. The longer-term fix under evaluation is moving the local transport to a maintained Sonos library that does not depend on `ip`.
86
+ - subscription-driven live refresh (UPnP eventing via sonos-ts) is planned but intentionally not enabled yet; the event listener requires a configurable port and a polling fallback before it is safe inside a shared Homebridge process
88
87
 
89
88
  ## References
90
89
 
package/package.json CHANGED
@@ -1,8 +1,12 @@
1
1
  {
2
2
  "name": "homebridge-sonos-scenes",
3
- "version": "0.1.44",
3
+ "version": "0.1.46",
4
4
  "description": "Homebridge plugin for Sonos workflow scenes and orchestration.",
5
- "author": "applemanj",
5
+ "author": {
6
+ "name": "Joshua Appleman",
7
+ "email": "joshua@appleman.us",
8
+ "url": "https://github.com/applemanj"
9
+ },
6
10
  "homepage": "https://github.com/applemanj/homebridge-sonos-scenes#readme",
7
11
  "bugs": {
8
12
  "url": "https://github.com/applemanj/homebridge-sonos-scenes/issues"
@@ -43,7 +47,7 @@
43
47
  },
44
48
  "dependencies": {
45
49
  "@homebridge/plugin-ui-utils": "^2.2.3",
46
- "sonos": "^1.14.3"
50
+ "@svrooij/sonos": "2.6.0-beta.13"
47
51
  },
48
52
  "peerDependencies": {
49
53
  "homebridge": "^1.8.0 || ^2.0.0-beta.0 || ^2.1.1-beta.1"