NodeDSF : Interface nodes for Node-Red (V1.1.11 - 06-10-23).
-
@tekstyle The monitor node gets the machine object model from the sbc/control board about every 200ms (much like DWC does), and pushes it to the next node as a msg, with 3 main categories: The new Full Model, the Delta Model (just what's changed since the last msg), and the Previous Model.
Essentially the monitor node is emulating the same method the DWC uses to get data from the board, what happens with that information is up to your flow design.
The event node is designed to watch for user defined object model keys that change from the monitor node so you can trigger specific flows/actions only when the value changes, eg when the printer state changes from printing to paused.
The other nodes are specific functions to send gcode commands back to the sbc/control board, and to look for specially formatted M291 messages (see the NodeDSF wiki).
-
@tekstyle I would not recommend running node-red & NodeDSF on the same PC where DWC is also open in a browser, its the same as running 2 DWC sessions at the same time, which will generate a lot of network traffic. Your dual wifi may have mitigated this restriction.
My original use case for NodeDSF was to integrate the printer with my existing home automation solution running on Node-Red, which is running on a standalone SBC, so the design kind of reflects that original use case (and probably why I never experienced any crashes/issues)
-
thanks for the recommendation. i am in the process of converting my duet2wifi to SBC. just waiting on the adapter for the wifi module pinout.
-
Have to say, this project is excellent. Having never used NodeRed, it was relatively trivial to setup on my Raspberry pi 3b+ SBC board (following the instructions) and get going. I then wired up a pushover node, and voila, I now have notifications on my phone.
Essentially, I wanted to recreate the pushover notifications that you get with octoprint, and this worked a treat. It's actually more powerful, as the DSF-Event nodes let you look for specific changes with the Duet object model.
I used the DSF-Intercept node (with custom g-code added in the slicer) to check for layer changes and report when the first layer was started and finished.
-
This post is deleted! -
V1.1.11 Update - Nodes updated to RRF 3.5 comptability. Update through Node-Red Palette manager.
-
@MintyTrebor
I would like to share my experience with installing NodeDSF.
I am running Node-Red in a Docker container on a PI4.
It is important not to load the latest Node-Red image when setting up the container.
If you do, NodeDSF will not install. (Incompatible node.js version).
With nodered/node-red:3.1.0-18 as image it worked.
Info about specific images are here https://github.com/node-red/node-red-docker
It took me hours to figure this out.... -
@DIY-O-Sphere NodeDSF is built against the recommended NodeJS version (18) as stated by node-red here https://nodered.org/docs/faq/node-versions
Unfortunately if the docker image maintainers have not updated thier "latest" image to NodeJS18 there is not much I can do about it. -
@MintyTrebor
This should not be a criticism rather meant as a help for others.
And it's a bit strange that the latest image contains such old versions of node.js.... -
@DIY-O-Sphere said in NodeDSF : Interface nodes for Node-Red (V1.1.11 - 06-10-23).:
And it's a bit strange that the latest image contains such old versions of node.js....
Yep - a user of my nodes for klipper (moonnode) hit the same problem (v18 nodes on v16 docker image), he raised the issue with the docker image maintainers and there response was something like "we wont update the node version until the next major release" - which is not ideal