node-red-node-discover
======================
A Node-RED node that uses Bonjour
/ Avahi to discover local network services such as iTunes libraries, printers, etc.
Now also supports announcing new services.
Prerequisites
-------------
please read the [install instructions](https://www.npmjs.com/package/mdns) for the underlying npm.
For Debian / Ubuntu this requires installing
sudo apt-get install libavahi-compat-libdnssd-dev
Install
-------
Run the following command in the root directory of your Node-RED install, usually `~/.node-red`
npm install node-red-node-discovery
Usage
-----
### Discovery
Uses an implemetation of mdns to provide a Bonjour / Avahi
service discovery capability.
**msg.payload** contains the service object on both arrival and leaving.
**msg.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 0 - 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 compatability layer... this is just a warning so don't worry.