2.0 KiB
node-red-node-discovery
A Node-RED node that uses Bonjour / Avahi to discover local network services such as iTunes libraries, printers, etc.
It also supports announcing new services.
Prerequisites
please read the install instructions for the underlying npm.
For Debian / Ubuntu this requires installing
sudo apt-get install libavahi-compat-libdnssd-dev libudev-dev
Install
Run the following command in your Node-RED user directory - typically ~/.node-red
npm i node-red-node-discovery
Usage
Discovery
Uses an implementation of mdns to provide a Bonjour / Avahi service discovery capability.
msg.payload
contains the service object on both arrival and leaving.
msg.payload.state
contains boolean true or false depending if the service has arrived (true) or gone away (false)..
Within the msg.payload
object the most interesting things are:
- msg.payload.name
- msg.payload.interface
- msg.payload.port
- msg.payload.addresses
- msg.payload.txtRecord
For a full list of official service types see [this list](http://www.dns-sd.org/ServiceTypes.html" target="_new).
Announce
Provides a Bonjour / Avahi / Zeroconf announcement node.
If msg.payload
is false
- the announcement is stopped. Any other value starts the announcement process.
The announcement can be customised by the msg if not configured in the edit panel.
msg.service
- For a full list of official service types see this list.msg.port
- the tcp or udp port to use.msg.name
- the short description name of the service. If you use %h in the name, it will be replaced by the machine hostname.msg.txtRecord
- a set of comma separated name:value pairs
Note:
When Node-RED starts you will get a big WARNING message about the Bonjour Compatibility layer... this is just a warning so don't worry.