Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/flowfuse/nr-project-nodes
A set of Node-RED nodes for inter-project communication within the FlowFuse platform
https://github.com/flowfuse/nr-project-nodes
Last synced: about 2 months ago
JSON representation
A set of Node-RED nodes for inter-project communication within the FlowFuse platform
- Host: GitHub
- URL: https://github.com/flowfuse/nr-project-nodes
- Owner: FlowFuse
- License: apache-2.0
- Created: 2022-06-13T15:05:26.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-24T08:58:37.000Z (3 months ago)
- Last Synced: 2024-10-25T05:36:19.796Z (3 months ago)
- Language: JavaScript
- Homepage:
- Size: 1 MB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# FlowFuse Project Nodes
A collection of Node-RED nodes for easy communication between Node-RED instances
running in the [FlowFuse platform](https://flowfuse.com).These nodes act in a similar way to the core Node-RED Link nodes - but can be
used to send and receive messages between different Node-RED instances and devices.Whilst these nodes are published under the Apache-2.0 license, they can only be
used with an instance of the FlowFuse platform with an active EE license applied.
If you try to install these nodes in an Non FlowFuse EE platform you will see the following error in your Node-RED log:
`Error: Project Link nodes cannot be loaded outside of FlowFuse EE environment`
This can be safely ignored.### Prerequisites
- FlowFuse 0.8+ running with an active EE license and its integrated MQTT Broker
- FlowFuse 1.14+ for communicating with application assigned devicesAlternatively, you can [sign up to FlowFuse Cloud](https://flowfuse.com/product/)
now to try these nodes out.### Nodes
There are three nodes in this collection:
- `Project In` - listens for messages being broadcast by other Node-RED instances, or for
messages being sent just to this instance
- `Project Out` - sends messages to other Node-RED instances
- `Project Call` - sends messages to other Node-RED instances and waits for a responseThe nodes send the whole `msg` object. Due to the way the nodes encode messages,
there are some data types that do not get sent. For example, the `msg.req`/`msg.res`
properties used by the core HTTP nodes will not be sent. Instead, they are temporarily
removed from the message and re-attached when the message is received back.Each node is configured with a topic on which it either sends or receives messages
on. This is similar in concept to MQTT topics - although the nodes do not currently
support using MQTT wildcards in their topics.The Project Out nodes can either broadcast messages on a topic to anyone listening,
or they can send messages on a topic to a specific other project.The Project In nodes do the opposite - they can either listen for messages being
broadcast, or for messages sent directly to them.The Project Call node can be used to send a message to another Project In node
and then wait for a response, with a built-in timeout if it doesn't arrive.
The response is sent back using a Project Out node configured to respond to the call
node.