Releases: ebaauw/homebridge-zp
Releases · ebaauw/homebridge-zp
v1.0.3
Enhancements:
- Report whether zone player has physical controls (Sonos Boost doesn't);
- Only expose Lock Physical Controls in LED service when zone player has them.
- Only use one input source for grouping:
- It shows
Leave
group for zone players that are already a member of a group; - It shows
Join
coordinator for ungrouped zone players, other than the target coordinator; - It is hidden for the target coordinator zone player.
- It shows
- Show correct input source on TV accessory tile in Home app for non-playlist sources.
- Add
tvIdPrefix
setting inconfig.json
, to be able to run multiple instances of homebridge-zp on the same network (for testing). See #62. - Remove
searchTimeout
setting fromconfig.json
. It's no longer relevant, now we're using dynamic platform accessories. - Turn down logging of hidden characteristics.
Bug fixes:
- Fix crash when your setup includes a Sonos Boost, see #88.
- Fix timing error during initial setup (when no accessories have yet been persisted to
cachedAccessories
. The setup of the input list for the TV accessory is still a bit flaky, but stable once the accessories have been persisted.
v1.0.0
Finally: v1.0.0 - the best homebridge-zp release ever
- Dynamic platform accessories (see #1);
- Select input source from HomeKit (see #8);
- Select playlist from HomeKit (see #8);
- Support HomeKit Television service (see #62);
- Command line utility
zp
to control a zone player or log event notifications from a zone player.
Issuezp -h
for more info. - Automatically detect zone player capabilities (see #75);
- Once again,
homebridge-lib
listed as a regular dependency. - Fix bug when playing song through Alexa (#81).
v0.4.3
v0.4.2
v0.4.0
Enhancements:
- Added
zpinfo
command line tool for retrieving ZonePlayer information. Issuezpinfo -h
for help; - Added
excludeAirPlay
key toconfig.json
to exclude zoneplayers that support AirPlay 2 (and already appear in Apple's Home app), see #74. The accessories are still created, but not exposed to HomeKit; - Change Model in Accessory Information to include model name and model id (e.g. "Sonos Playbar (ZPS9)" instead only the model id ("ZPS9"));
- Change debug logging during startup to include the model name as well;
- Re-subscribe to events, after a zoneplayer has rebooted, so you don't have to restart homebridge or wait for the timeout on the old subscriptions before it works.
Code changes:
- Refactored the startup logic of homebridge-zp, so detected capabilities (see #75) can be used to configure which zoneplayers are exposed to HomeKit, and how;
- Start the server for listening to zoneplayer events as soon as first zoneplayer has been discovered, instead of only after homebridge server has started;
- Create the accessory for each zoneplayer as soon as it's discovered, but delay creating the services and characteristics, until after the homebridge server has started;
- Subscribe to
DeviceProperties
events as soon as the accessory has been created, so the discovered capabilities and setup can be used for creating services and characteristics; - Subscribe to
ZoneGroupTopology
events to detect that a zoneplayers has rebooted;
- Removed whitelists for zoneplayers supporting TV Input and supporting Balance (I'm assuming zoneplayers supporting Audio Input support Balance, not sure if this assumption holds);
- Changed how Stereo Pairs (that support Balance) are detected;
- Read zoneplayer's
device_description.xml
for the model name (e.g. "Sonos Playbar"); - Added recursive XML parser (
XmlParser
) that producesstandard
Javascript also fixes some idiosyncrasies in the Sonos API. For now, only used byzpinfo
; - Added ZonePlayer API client library (
ZpClient
) to replace dependency onsonos
. Ultimate goal is to generate Javascript API calls from the service control point definitions published by the ZonePlayer. For now, only used byzpinfo
.
I don't think there's any breaking changes, but as these enhancements involve quite some refactoring, better make it a minor release.
v0.3.20
Enhancements:
- homebridge-zp now subscribes (also) to the
DeviceProperties
events sent by the zoneplayers, in an attempt to detect the zoneplayer capabilities and setup. On startup, two (amber) messages per zoneplayer are logged:As mentioned in the message, please add a comment to issue #75 if homebridge-zp detects the wrong capabilities or setup.[5/31/2019, 8:46:50 AM] [Sonos] Living Room Sonos: detected ZPS9 capabilities (please report if wrong): AirPlay: false, audio input: false, TV input: true [5/31/2019, 8:46:50 AM] [Sonos] Living Room Sonos: detected setup (please report if wrong): Home Theatre: true, Stereo Pair: false
- Support Amazon Music track meta data, see #71.
v0.3.19
v0.3.18
Enhancements:
- Improved detection of TV input;
- Added
config.json.schema
, so homebridge-config-ui-x will render a Settings window for homebridge-zp'sconfig.json
settings.
Bump dependencies:
- homebridge-lib v4.2.3.
v0.3.16
v0.3.15
Changes:
- Add
PowerModeSelection
characteristic to TV service; - Remove handler for uncaught exceptions, as this is now handled by homebridge, see homebridge/homebridge#2190.
Bump dependencies:
- homebridge v0.4.48;
- homebridge-lib v4.0.11;
- semver v6.0.0.