Testers Wanted: Homebridge v1.3.0 Beta!
See original GitHub issueOver the last couple of week/months we were hard at work to prepare the next release of homebridge. After doing many test cycles, internally but also with the help of all our wonderful homebridge developer community, we are now aiming to do a more widespread public test before publishing the release to all homebridge users.
To track individual plugin status, we have created a wiki page here https://github.com/homebridge/homebridge/wiki/Homebridge-1.3.0-Release-Plugin-Testing-Status. We would appreciate each developer to update the readiness of their plugin for the upgrade over the next week.
To give you a rough list of what has changed. Some are user facing, most are targeted at developers to make it easier to create new awesome plugins and some are general under the hood improvements.
Features and Changes
- The new Adaptive Lightning feature introduced with iOS 14 can now be used by plugin developers. Most of the actively maintained plugins already secretly added support for it. 🎉 Have a look at the AdaptiveLightingController if you want to add support to your plugin. As this API is only available with 1.3.0-beta builds and onwards you may want to have a look at the new API call api.versionGreaterOrEqual to check for the homebridge version running.
- Improved stability with malfunctioning plugins or plugins which read/write handlers take too long to respond.
You may have been there, where you whole homebridge instance went down only because one plugin or accessory didn’t behave properly. We invested some time to reduce the possibility of such scenarios or at least give hints were we can reliably detect that something gone wrong. - Child bridges: allow any Homebridge platform or accessory to optionally run as its own independent accessory, separate from the main bridge, and in an isolated process.
- Particularly interesting for devs:
- Interesting for devs: We added promise based read and write handlers. Have a look at characteristic.onGet and characteristic.onSet.
- Added support for Characteristics with Additional Authorization, by using characteristic.setupAdditionalAuthorization. For those of you which may develop a iOS for you accessories and need that feature.
- Additionally there are lots of other minor improvements, highlighting some:
- We added initial typedoc support for HAP-NodeJS API and homebridge API. Its initial and not everything is complete yet, but it’s a start.
- People not running at least node 10 get now a proper error message displayed, clearing stating the problem.
- Improved compatibility with the HomeKit Accessory Protocol specification.
- Lots of general fixes and improvements
Installation
For Homebridge UI users this is pretty much a 1-click action followed by a restart of homebridge:
For anyone else, just run the following command:
sudo npm install -g --unsafe-perm homebridge@beta
Rolling back to latest
To roll back to the v1.1.x line, just select it in Homebridge UI or run
sudo npm install -g --unsafe-perm homebridge@latest
Rolling back to 1.2.x
To roll back to the v1.2.x line, just select it in Homebridge UI or run
sudo npm install -g --unsafe-perm homebridge@release-1.2.x
mDNS Advertiser Library
In our previous, now pulled back, release 1.2.x, we introduced our new mDNS based service discovery library ciao, which should replace the old bonjour-hap. We saw the need for that replacement, as the current library didn’t properly follow the rules set by mDNS and dns based service discovery (dns-sd), resulting in a behavior which could be a real burden on your network. For anyone in need of some reading material: mDNS as of RFC 6762 and dns-sd as of RFC 6763.
As you may have witnessed the 1.2.x release produced mixed results for our users, where some of them really benefited from those improvements, talking about a much speedier homebridge experience, but others were plagued by non responsiveness. We then have pulled back the 1.2.x release, advising anyone encountering problems to rollback to 1.1.x (which is now a 1-click action in the homebridge UI, by just clicking on the version) and those who were happy with 1.2.x could stay with it. We went back to the drawing table and since then were hard at work to fix outstanding issues.
Our main issues with ciao were often more “complicated” setups, like multi subnet home networks, scenarios for which mDNS isn’t specifically built for. As ciao kind of held us back on releasing 1.3.0 to the public, we accumulated quite some changes. We are at a point now, where we finally want to ship those changes, and as we feel like ciao still needs some time, to work in all sorts of environments, the 1.3.0 will ship with bonjour-hap
as the default advertiser.
Nonetheless ciao
is still included and can be turned on using the below displayed config option, as some of you may be in the situation where ciao works better than bonjour-hap.
Currently the default value is bonjour-hap
:
{
"bridge": {
// ...
"advertiser": "bonjour-hap"
}
}
To enable Ciao:
{
"bridge": {
// ...
"advertiser": "ciao"
}
}
Known Issues (Last updated 2020-02-17)
- ~Camera Audio Streaming seems to be broken (Seems to be more complicated and it is not yet 100% confirmed that the issues is with 1.3.0)~ Fixed with beta 61
- ~Around 5 PM the adaptive lighting schedule seems to switch back to a more colder point for a minute.~ Fixed with beta 42
- ~https://github.com/bwp91/homebridge-govee/issues/28~ Fixed with beta 41
Issue Analytics
- State:
- Created 3 years ago
- Reactions:9
- Comments:68 (21 by maintainers)
Top GitHub Comments
Hello beta testers.
For those of you have have enabled the “Ciao” mDNS library, the way to toggle this option has changed:
To enable Ciao:
To use Bonjour-HAP:
The
"mdns"."legacyAdvertiser" = true
option has been removed and no longer does anything. You will see a warning in your logs if this value is set letting you know the option has been removed.The supporting Homebridge UI changes will come through shortly.
@Danjohnsonnj the “experimental” tag was temporary - we were doing some internal testing that was not ready for wider audiences. This testing has now been completed and the tag has been removed.
Homebridge “Child Bridge” support has just been added to the v1.3.0 beta builds - this is an opt-in feature and should not impact existing installations.
This feature allows any Homebridge platform or accessory to optionally run as it’s own independent accessory, seperate from the main bridge, and in an isolated process. Read more here: https://github.com/homebridge/homebridge/wiki/Child-Bridges.