github ebaauw/homebridge-zp v0.4.0

latest releases: v1.4.45, v1.4.44, v1.4.43...
4 years ago

Enhancements:

  • Added zpinfo command line tool for retrieving ZonePlayer information. Issue zpinfo -h for help;
  • Added excludeAirPlay key to config.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 produces standard Javascript also fixes some idiosyncrasies in the Sonos API. For now, only used by zpinfo;
  • Added ZonePlayer API client library (ZpClient) to replace dependency on sonos. Ultimate goal is to generate Javascript API calls from the service control point definitions published by the ZonePlayer. For now, only used by zpinfo.

I don't think there's any breaking changes, but as these enhancements involve quite some refactoring, better make it a minor release.

Don't miss a new homebridge-zp release

NewReleases is sending notifications on new releases.