Skip to content

Releases: ebaauw/homebridge-lib

v4.4.9

20 Dec 09:39
70a60a4
Compare
Choose a tag to compare

Enhancements:

  • MyHomeKitTypes: add BrightnessChange characteristic for homebridge-hue.

Bump dependencies:

  • NodeJS v12.14.0 LTS;
  • semver v7.1.1.

v4.4.8

22 Nov 10:16
b2df202
Compare
Choose a tag to compare

Bump dependencies:

  • NodeJS v12.13.1 LTS;
  • chalk v3.0.0.

v4.4.7

27 Oct 12:29
e4de3fc
Compare
Choose a tag to compare

Enhancements:

  • AccessoryDelegate: Emit initialised event for each service delegate when accessory delegate has been initialised (so service delegate can remove stale characteristics).
  • ServiceDelegate: Don't emit initialised from service delegate constructor (now handled by accessory delegate);
  • AccessoryInformation delegate: Add characteristic delegate for Identify (so it won't be removed as stale characteristic). There's still an issue with two didSet listeners...

Bump dependencies:

  • NodeJS v12.13.0 LTS.

Note: after upgrading the major version of NodeJS, make sure to re-compile any plugin that has (dependencies with) C extensions, by removing and re-installing the plugin:

$ sudo npm -g un homebridge-...
$ sudo npm -g i homebridge-... --unsafe-perm

v4.4.6

07 Sep 14:47
c98bd59
Compare
Choose a tag to compare
v4.4.6 Pre-release
Pre-release

Enhancements:

  • MyHomeKitTypes: Add Sunrise and Sunset characteristics for homebridge-hue.

v4.4.5

01 Sep 12:39
34751f6
Compare
Choose a tag to compare
v4.4.5 Pre-release
Pre-release

Enhancements:

  • MyHomeKitTypes: Add custom characteristics for homebridge-rpi.
  • ServiceDelegate: Add history service for homebridge-rpi, with history for Current Temperature and On.
  • ServiceDelegate: Add optional temperatureDelegate to History.Motion.

Internal:

  • ServiceDelegate: Rationalise history fingerprints and return values, see simont77/fakegato-history#75;
  • EveHomeKitTypes: Change Current Relative Humidity and Air Pressure to optional characteristics in Weather service.

v4.4.4

23 Aug 09:51
7603a30
Compare
Choose a tag to compare
v4.4.4 Pre-release
Pre-release

Bug fix:

  • Heartbeat wouldn't start unless "Lib" was specified as platform in config.json.

Bump dependencies:

  • NodeJS v10.16.3 LTS.

v4.4.3

11 Aug 13:07
9f4620d
Compare
Choose a tag to compare
v4.4.3 Pre-release
Pre-release

Enhancements:

  • Platform:
    • Don't delete accessories from HomeKit when cachedAccessories was cleared. This is realised by delaying the start of Homebridge's HAP server until plugin has initialised, when no accessories were restored.
    • Remove stale accessories;
    • Handle primary service.
  • ServiceDelegate: support setting primary service and link services.
  • CharacteristicDelegate:
    • Improved logging;
    • Initialise characteristic value with persisted value from accessory context, to handle changed characteristic type.

Bug fixes:

  • OptionParser: save enum value.

Bump dependencies:

  • NodeJS v10.16.2 LTS.

v4.4.2

11 Aug 15:45
v4.4.2
2000a3e
Compare
Choose a tag to compare
v4.4.2 Pre-release
Pre-release

Enhancements:

  • CharactertisticDelegate: Add addValue() method to set HomeKit characteristic value, as if input by user.
  • OptionParser: Add tests;
  • OptionParser: Add key parameter to to...() static methods;
  • OptionParser: Add more functionality:
    • toIntString()
    • toNumber()
    • toNumberString()
    • toAsyncFunction()
    • toClass()
    • toInstance();
  • Update developer documentation (work in progress)

Bug fixes:

  • JsonFormatter: Handle obejct keys and array elements with value undefined (by not showing the key or element).

Technical:

  • Platform: Don't put homebridge-lib version in key for global namespace. Need separate version for heartbeat, UPnP listener compatibility.
  • JsonFormatter: Store options in options object instead of in this (which fails to OptionParser.toObject()` test).
  • Remove TypeParser; basic functionality now included in OptionParser.
  • Implement hap, json, and upnp commands as exported modules, so plugins might install them.
  • Update Javascript layout to standard v13.1.0.

Bump dependencies:

  • NodeJS v10.16.1 LTS

4.3.3

23 Jul 22:14
980b584
Compare
Choose a tag to compare
4.3.3 Pre-release
Pre-release

Major enhancements to support [email protected]:

  • Support for external accessories, not being bridged by the Homebridge accessory, but exposing their own HAP server;
  • Support asynchronous initialisation of delegates.
    • Accessories are only exposed once initialisation has completed.
    • Automatic cleanup of services and characteristics restored from cache, for which no delegate has been created during initialisation.
    • (Final subclass of) the delegate needs to emit and initialised event to indicate initialisation has been completed.
  • Enhanced CharacteristicDelegate:
    • Support getter and setter functions for synchronous reads and writes by HomeKit;
    • Support for monitoring through didSet events, emitted after HomeKit has been updated;
    • Support persisted values without a corresponding HomeKit characteristic;
  • Loose the peer dependency setup:
    • homebridge-lib can no longer be loaded by Homebridge; you might want to uninstall it using sudo npm -g un homebridge-lib;
    • Each plugin specifies homebridge-lib, once again, as a regular dependency, so npm will install it automatically with the plugin. This results, once again, in multiple installations of homebridge-lib;
    • The first plugin (based on homebridge-lib) loaded by Homebridge also registers homebridge-lib with Homebridge, and provides the hearbeat and UPnP listener to the other plugins.
  • Major code cleanup in an attempt to provide more consistency (causing some breaking changes):
    • Better distinction between characteristic vs characteristicDelegate. E.g. addCharacteristicDelegate() instead of addCharacteristic().
    • Better distinction between Characteristic (class), Characteristics (collection of classes), characteristic (instance) characteristics (collection of instances). Note: Characteristics.hap.*, Characteristics.eve.* vs Characteristic.Format vs Characteristic.Formats.*
  • Added developer documentation (work in progress).

4.3.0

15 Jul 09:02
6b5fbfd
Compare
Choose a tag to compare
4.3.0 Pre-release
Pre-release

This release has been deprecated, please re-install homebridge-lib to revert to the latest version.

Changes:

  • Lose characteristics property in favour of addCharacteristic(). Problem was that charactertistic was accessed from the ServiceDelegete supertype constructor, before the subtype was fully initialised (causing this to be undefined). addCharacteristic() takes a single parameter, params, which has the same structure as an element of the charactertistics array.
  • Also added params.didSet, a function to be called as handler for the didSet event.
  • Fix wrong service key for context in cachedAccessories.