question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Testers Wanted: Homebridge v1.3.0 Beta!

See original GitHub issue

Over 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:
  • 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:closed
  • Created 3 years ago
  • Reactions:9
  • Comments:68 (21 by maintainers)

github_iconTop GitHub Comments

9reactions
oznucommented, Feb 14, 2021

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:

{
  "bridge": {
     // ...
    "advertiser": "ciao"
  }
}

To use Bonjour-HAP:

{
  "bridge": {
     // ...
    "advertiser": "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.

8reactions
oznucommented, Feb 1, 2021

@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.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Testers Wanted: Homebridge v1.3.0 Beta! - Reddit
We are now happy to announce the public beta testing phase of the upcoming v1.3.0 release. The update includes Adaptive Lighting support, some ......
Read more >
homebridge - npm
Start using homebridge in your project by running `npm i homebridge`. There are 42 other projects in the npm registry using homebridge.
Read more >
[RELEASE] Homebridge Hubitat v2.0 - ⚙️ Custom Apps and ...
Homebridge v1.3.0 ships with two mDNS Advertisers users can choose from. Bonjour HAP. Bonjour HAP is the default and legacy advertiser, it is ......
Read more >
[RELEASE] Homebridge SmartThings v2.0
I used to have v1.0 on a raspberry pi zero, but I messed something up and used v2.0–much easier to setup (prebuilt pi...
Read more >
Homebridge-adb NPM - npm.io
A HomeBridge plugin to control remote ADB enabled Android device. ... After you accept the request, you might want to do kill the...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found