Node-red-contrib-homekit-bridged: [FEATURE] - Independency from Avahi

Created on 27 May 2019  Â·  11Comments  Â·  Source: NRCHKB/node-red-contrib-homekit-bridged

I wondering since HAP-Nodejs switched to a pure js mDNS implementation a while ago for Bonjour support, why it is required to install libavahi-compat-libdnssd-dev as stated on the readme of that project. Don't know whether this is specific for Ubuntu/Debian, but I could imagine it would the implementation made more reliable and probably more lightweight? Just an idea.

enhancement

Most helpful comment

Check 1: my latest pi 3 A+ deployment (been running for weeks)

When I run dpkg -l libavahi-compat-libdnssd-dev, the result is no packages found matching libavahi-compat-libdnssd-dev1.

When I run dpkg -l and look through everything, I see these installed packages which mention avahi or mdns:

libavahi-common-data:armhf
libavahi-common3:armhf
libavahi-core7:armhf
libnss-mdns:armhf

I don't want to delete these packages on a running system, I don't know what installed them (seems to have come with raspbian based on below)

Check 2: fresh install on pi zero

I first loaded up a fresh pi zero with raspbian stretch lite then checked dpkg -l to see:

libavahi-common-data:armhf
libavahi-common3:armhf
libavahi-core7:armhf
libnss-mdns:armhf

Step 2- Installed node-red with the pi install script
Step 3- Installed NRCHKB with pallette manager
Step 4- Check dpkg -l - didn't find any new libavahi related items

At this point, the plugin appears to work fine.

Step 5- stopped node red and ran:

sudo apt-get remove avahi-daemon
sudo apt-get remove libavahi-common-data:armhf
sudo apt-get remove libavahi-common3:armhf
sudo apt-get remove libavahi-core7:armhf
sudo apt-get remove libnss-mdns:armhf

Then tried using NRCHKB. Including using the previous test along with adding a new bridge and pairing with Home app.

Result: Works fine.

Conclusion... seems like you're right, @djiwondee.

All 11 comments

Like stated in README it's only required for Linux, but...

Now I wonder if we really still need this dependency.
We are using HAP-Nodejs so I assume... no?

Can someone check it too?

Data point: In #102 it ended up the fix was installing libavahi. This was on a raspberry pi running raspbian.

(Might not be stated in that issue but the issue was created by a close friend of mine...)

I removed libavahi and it is working for me (HomeKit).
I checked HAP-Nodejs and its dependencies and dependencies of dependencies and I couldn't find a reason to use libavahi.

Can someone else do the same as me?

My config:
raspberry pi zero
Debian/ DietPi

Check 1: my latest pi 3 A+ deployment (been running for weeks)

When I run dpkg -l libavahi-compat-libdnssd-dev, the result is no packages found matching libavahi-compat-libdnssd-dev1.

When I run dpkg -l and look through everything, I see these installed packages which mention avahi or mdns:

libavahi-common-data:armhf
libavahi-common3:armhf
libavahi-core7:armhf
libnss-mdns:armhf

I don't want to delete these packages on a running system, I don't know what installed them (seems to have come with raspbian based on below)

Check 2: fresh install on pi zero

I first loaded up a fresh pi zero with raspbian stretch lite then checked dpkg -l to see:

libavahi-common-data:armhf
libavahi-common3:armhf
libavahi-core7:armhf
libnss-mdns:armhf

Step 2- Installed node-red with the pi install script
Step 3- Installed NRCHKB with pallette manager
Step 4- Check dpkg -l - didn't find any new libavahi related items

At this point, the plugin appears to work fine.

Step 5- stopped node red and ran:

sudo apt-get remove avahi-daemon
sudo apt-get remove libavahi-common-data:armhf
sudo apt-get remove libavahi-common3:armhf
sudo apt-get remove libavahi-core7:armhf
sudo apt-get remove libnss-mdns:armhf

Then tried using NRCHKB. Including using the previous test along with adding a new bridge and pairing with Home app.

Result: Works fine.

Conclusion... seems like you're right, @djiwondee.

Very cool summary @crxporter
It looks like we can clean up installation instructions.

Wiadomość napisana przez crxporter notifications@github.com w dniu 28.05.2019, o godz. 00:55:

Check 1: my latest pi 3 A+ deployment (been running for weeks)

When I run dpkg -l libavahi-compat-libdnssd-dev, the result is no packages found matching libavahi-compat-libdnssd-dev1.

When I run dpkg -l and look through everything, I see these installed packages which mention avahi or mdns:

avahi-daemon
libavahi-common-data:armhf
libavahi-common3:armhf
libavahi-core7:armhf
libnss-mdns:armhf
I don't want to delete these packages on a running system, I don't know what installed them (seems to have come with raspbian based on below)

Check 2: fresh install on pi zero

I first loaded up a fresh pi zero with raspbian stretch lite then checked dpkg -l to see:

avahi-daemon
libavahi-common-data:armhf
libavahi-common3:armhf
libavahi-core7:armhf
libnss-mdns:armhf
Step 2- Installed node-red with the pi install script
Step 3- Installed NRCHKB with pallette manager
Step 4- Check dpkg -l - didn't find any new libavahi related items

At this point, the plugin appears to work fine.

Step 5- stopped node red and ran:

sudo apt-get remove avahi-daemon
sudo apt-get remove libavahi-common-data:armhf
sudo apt-get remove libavahi-common3:armhf
sudo apt-get remove libavahi-core7:armhf
sudo apt-get remove libnss-mdns:armhf
Then tried using NRCHKB. Including using the previous test along with adding a new bridge and pairing with Home app.

Result: Works fine.

Conclusion... seems like you're right, @djiwondee.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Hello @crxporter ,

wow! Questions was answered very fast and comprehensive, thanks! Knowing that my be helpful in the future for troubleshooting.

I will live it open so I will not forget about it.

Thanks again @djiwondee for pointing out the issue and @crxporter for yours very usefull tests!

Change is added on feature/readmeclarify
I will merge it to dev when I review README briefly if there is something more to change.

Hello @Shaquu ,

even this issue has been closed so far, I can confirm independency from the libavahi stuff as well.

I'm just about to move my entire smart home setup including node-red-contrib-homekit-bridged from a native Raspi deployment to Homematic which is a quite common platform in Germany. Its Smart Home Central Control Unit CCU3 is also based on the Raspberry platform but is running an own embedded Linux.

The system provides the ability to install 3rd party applications in a particular supported way. One of this is RedMatic, a kind of plugin providing a _full_ node-red deployment with some preconfigured special Homematic related nodes to connect to the Homematic system.

However, I migrated a couple of flows using node-red-contrib-homekit-bridged to that platform and it runs well. In addition to that in the stepwise migration of a lot of flows with HomeKit nodes _until now_ I've never seen errors like this nor there was a need to restart the node-red-service, while my repeated stepwise copy and paste deployment of changed flows. The only issue I have so far is blocked ports by the CCU3's firewall when I try to add a bridge in the HomeKit app. Do you know what other ports are used by in addition to 51826 and 5353?

@djiwondee thank you very much for confirmation.
About the port. I think if you dont set the port yourself in Bridge (config) node then port will be assigned automatically from free port pool.

Thanks to @crxporter README got improved even more in #122

Was this page helpful?
0 / 5 - 0 ratings

Related issues

djiwondee picture djiwondee  Â·  7Comments

Delphius7 picture Delphius7  Â·  3Comments

Supergiovane picture Supergiovane  Â·  9Comments

Shaquu picture Shaquu  Â·  9Comments

TristanMW picture TristanMW  Â·  11Comments