• Tags
  • Documentation
  • Order
  • Register
  • Login
Duet3D Logo Duet3D
  • Tags
  • Documentation
  • Order
  • Register
  • Login

NodeDSF : Interface nodes for Node-Red (V1.1.11 - 06-10-23).

Scheduled Pinned Locked Moved
Third-party software
7
48
4.9k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • undefined
    MintyTrebor @tekstyle
    last edited by 16 Dec 2021, 08:41

    @tekstyle I don't think that is an error msg just a warning - probably because you have put a user name and password into the send email node. Node-Red stores these types of variables (credentials, api keys, etc) in a separate secured file. The warning is telling you the default encryption of this file is tied to your machine, and not a "key" you have provided.

    From the Node-red Forum:

    "Open your Node-RED settings file (typically settings.js - but Node-RED logs the full path to the file it is using so you can check).

    Find the credentialSecret entry. Remove the // from the start of the line to uncomment it and then change the value (a-secret-key) to be whatever string you want to use to encrypt your credentials file. You will need to remember that value if you every want to move your flows to another machine (for example).

    Restart Node-RED. Done."

    NodeDSF - Native Node-Red integration with Duet boards.
    BtnCmd - Customise DWC with user defined buttons/layouts/panels (DWC Plugin)
    ReleaseMgr - Duet update info inside DWC.
    Repo

    undefined 1 Reply Last reply 16 Dec 2021, 10:16 Reply Quote 0
    • undefined
      tekstyle @MintyTrebor
      last edited by tekstyle 16 Dec 2021, 10:16

      @mintytrebor

      i found the settings.js. uncommented the // as shown below then restarted by closing command prompt. restarted and starting up the service again by typing "node-red" [enter]. went to http://127.0.0.1:1880/ on my web browser. I am stuck here where I don't know where to enter the credential "12345"

        // By default, credentials are encrypted in storage using a generated key. To
          // specify your own secret, set the following property.
          // If you want to disable encryption of credentials, set this property to false.
          // Note: once you set this property, do not change it - doing so will prevent
          // node-red from being able to decrypt your existing credentials and they will be
          // lost.
          credentialSecret: "12345",
      

      this is my start up log:

      16 Dec 02:22:22 - [info] Node-RED version: v1.3.5
      16 Dec 02:22:22 - [info] Node.js  version: v14.17.1
      16 Dec 02:22:22 - [info] Windows_NT 10.0.19041 x64 LE
      16 Dec 02:22:23 - [info] Loading palette nodes
      16 Dec 02:22:25 - [info] +-----------------------------------------------------
      16 Dec 02:22:25 - [info] | uibuilder initialised:
      16 Dec 02:22:25 - [info] |   Using Node-RED's webserver
      16 Dec 02:22:25 - [info] |   root folder: \Users\dell\.node-red\uibuilder
      16 Dec 02:22:25 - [info] |   version . .: 3.3.1
      16 Dec 02:22:25 - [info] |   packages . : socket.io
      16 Dec 02:22:25 - [info] +-----------------------------------------------------
      16 Dec 02:22:25 - [info] Settings file  : C:\Users\dell\.node-red\settings.js
      16 Dec 02:22:25 - [info] Context store  : 'default' [module=memory]
      16 Dec 02:22:25 - [info] User directory : \Users\dell\.node-red
      16 Dec 02:22:25 - [warn] Projects disabled : editorTheme.projects.enabled=false
      16 Dec 02:22:25 - [info] Flows file     : \Users\dell\.node-red\flows_DESKTOP-PI7LP0S.json
      16 Dec 02:22:25 - [info] Server now running at http://127.0.0.1:1880/
      16 Dec 02:22:25 - [info] Waiting for missing types to be registered:
      16 Dec 02:22:25 - [info]  - ui_group
      16 Dec 02:22:25 - [info]  - ui_tab
      16 Dec 02:22:25 - [info]  - ui_template
      16 Dec 02:22:25 - [info]  - ui_button
      16 Dec 02:22:25 - [info]  - ui_toast
      16 Dec 02:22:25 - [info]  - ui_gauge
      16 Dec 02:22:25 - [info]  - ui_text
      
      undefined 1 Reply Last reply 16 Dec 2021, 11:44 Reply Quote 0
      • undefined
        MintyTrebor @tekstyle
        last edited by 16 Dec 2021, 11:44

        @tekstyle Sorry not following you.

        You have already specified your credentialSecret as "12345" in settings.js. You should not need to enter it anywhere else.

        If you want to change it, then change "12345" in settings.js.

        NodeDSF - Native Node-Red integration with Duet boards.
        BtnCmd - Customise DWC with user defined buttons/layouts/panels (DWC Plugin)
        ReleaseMgr - Duet update info inside DWC.
        Repo

        undefined 1 Reply Last reply 18 Dec 2021, 10:14 Reply Quote 0
        • undefined
          tekstyle @MintyTrebor
          last edited by 18 Dec 2021, 10:14

          @mintytrebor

          i don't think node-red is communicating with DUET when following the email tutorial (https://www.youtube.com/watch?v=cn_XXR3FJ00). link text
          here is what my debug looks like. I am now doing this on a rasp pi4 as it wasn't working on my windows 10 machine. I also followed the instructions at link text to install node-red and NODE DSF on it.

          dsfModel : msg : Object
          object
          topic: "dsfModel"
          payload: null
          dsf: object
          monitorMode: "DSF"
          monitorError: "No server defined or cannot connect to DSF. Checking again in 10 seconds"
          _msgid: "adf0ddc76a5d1eae"
          
          undefined 1 Reply Last reply 18 Dec 2021, 10:19 Reply Quote 0
          • undefined
            MintyTrebor @tekstyle
            last edited by 18 Dec 2021, 10:19

            @tekstyle Are you using a standalone duet control board, or do you have it connected to an SBC using a ribbon/spi cable?

            If you are using a standalone control board you need to set the type to Duet in the connection properties of the monitor node

            8b943b05-d5b5-437f-ad7d-15793b470658-image.png

            Then

            55ef833e-cd6a-4165-90e8-9a32ca1d6dab-image.png

            NodeDSF - Native Node-Red integration with Duet boards.
            BtnCmd - Customise DWC with user defined buttons/layouts/panels (DWC Plugin)
            ReleaseMgr - Duet update info inside DWC.
            Repo

            undefined 2 Replies Last reply 20 Dec 2021, 01:03 Reply Quote 0
            • undefined
              tekstyle @MintyTrebor
              last edited by 20 Dec 2021, 01:03

              @mintytrebor

              i am using a duet2wifi with a rasp pi4 for node-red.

              1 Reply Last reply Reply Quote 0
              • undefined
                tekstyle @MintyTrebor
                last edited by tekstyle 20 Dec 2021, 17:35

                @mintytrebor

                i changed the type to DUET. i also changed my credentialSecret code to false. it seems to be getting something under debug window on the right now. but following your example, i can not see the OM for the command M117 "xxx". if you go to line 141, that is were STATE starts and I do not see the field for displaymessage = "xxx"

                12/20/2021, 9:32:20 AM
                msg : string[57]
                "Error loading flows: Error: Failed to decrypt credentials"
                12/20/2021, 9:32:20 AMnode: b881bf70e5d5eca0
                dsfModel : msg : Object
                object
                topic: "dsfModel"
                payload: object
                fullModel: object
                boards: array[1]
                0: object
                directories: object
                empty
                fans: array[3]
                0: object
                actualValue: 0
                requestedValue: 0
                rpm: -1
                1: object
                actualValue: 0
                requestedValue: 1
                rpm: -1
                2: object
                actualValue: 0
                requestedValue: 0
                rpm: -1
                global: object
                ext1: 1
                SensorTriggered: 2
                heat: object
                heaters: array[3]
                0: object
                active: -273
                current: 15.1
                standby: 0
                state: "active"
                1: object
                active: 0
                current: 14.2
                standby: 160
                state: "active"
                2: object
                active: 0
                current: -273.1
                standby: 0
                state: "off"
                inputs: array[12]
                [0 … 9]
                0: object
                feedRate: 50
                lineNumber: 69
                state: "idle"
                1: object
                feedRate: 50
                lineNumber: 0
                state: "idle"
                2: object
                3: object
                4: object
                5: object
                6: object
                7: object
                8: null
                9: object
                [10 … 11]
                job: object
                build: null
                duration: null
                filePosition: 0
                layer: null
                layerTime: null
                pauseDuration: null
                rawExtrusion: null
                timesLeft: object
                warmUpDuration: null
                limits: object
                empty
                move: object
                axes: array[3]
                0: object
                machinePosition: 0
                userPosition: 0
                1: object
                2: object
                currentMove: object
                extruders: array[1]
                0: object
                virtualEPos: -3
                network: object
                empty
                scanner: object
                empty
                sensors: object
                analog: array[3]
                0: object
                lastReading: 15.1
                1: object
                2: object
                endstops: array[3]
                0: object
                triggered: false
                1: object
                2: object
                filamentMonitors: array[1]
                0: object
                status: "ok"
                gpIn: array[2]
                0: null
                1: object
                value: 0
                probes: array[1]
                0: object
                value: array[1]
                seqs: object
                boards: 0
                directories: 0
                fans: 6
                global: 2
                heat: 14
                inputs: 29753
                job: 39
                move: 82
                network: 7
                reply: 168
                scanner: 1
                sensors: 36
                spindles: 0
                state: 45
                tools: 13
                volChanges: array[2]
                0: 77
                1: 0
                volumes: 64929
                spindles: array[4]
                0: object
                current: 0
                state: "unconfigured"
                1: object
                2: object
                3: object
                state: object
                messageBox: object
                title: null
                message: null
                atxPower: true
                currentTool: 0
                gpOut: array[0]
                laserPwm: null
                msUpTime: 634
                nextTool: 0
                previousTool: -1
                status: "idle"
                time: "2021-12-20T09:32:32"
                upTime: 476541
                tools: array[2]
                0: object
                active: array[1]
                0: 0
                standby: array[1]
                state: "active"
                1: object
                volumes: array[2]
                0: object
                empty
                1: object
                patchModel: null
                prevModel: null
                dsf: object
                monitorMode: "Duet"
                _msgid: "7916fbc1145cf6f1"
                
                undefined 1 Reply Last reply 20 Dec 2021, 18:54 Reply Quote 0
                • undefined
                  MintyTrebor @tekstyle
                  last edited by 20 Dec 2021, 18:54

                  @tekstyle ""Error loading flows: Error: Failed to decrypt credentials" is a node-red error (not from NodeDSF) because you have changed your credentialSecret code configuration in your setting.js.

                  The help text for credentialSecret states changing it will prevent node-red from decrypting existing credentials:

                  // By default, credentials are encrypted in storage using a generated key. To
                   // specify your own secret, set the following property.
                   // If you want to disable encryption of credentials, set this property to false.
                   // Note: once you set this property, do not change it - doing so will prevent
                   // node-red from being able to decrypt your existing credentials and they will be
                   // lost.
                   //credentialSecret: "a-secret-key",
                  

                  Which means any ip addresses, usernames, passwords (etc) you configured in your nodes before you changed credentailSecret are no longer accessible to node-red.

                  I suggest you Reset the settings.js beck to what it was before you changed it.
                  The default setting is just commented out eg:

                  //credentialSecret: "a-secret-key",
                  

                  NodeDSF - Native Node-Red integration with Duet boards.
                  BtnCmd - Customise DWC with user defined buttons/layouts/panels (DWC Plugin)
                  ReleaseMgr - Duet update info inside DWC.
                  Repo

                  undefined 1 Reply Last reply 20 Dec 2021, 20:54 Reply Quote 0
                  • undefined
                    tekstyle @MintyTrebor
                    last edited by tekstyle 20 Dec 2021, 20:54

                    @mintytrebor
                    i changed it back to credentialsecret: "a-secret-key" with it commented out. restarted. this is my start log

                    Starting as a systemd service.
                    20 Dec 20:55:41 - [info]
                    Welcome to Node-RED
                    ===================
                    20 Dec 20:55:41 - [info] Node-RED version: v2.1.4
                    20 Dec 20:55:41 - [info] Node.js  version: v14.18.2
                    20 Dec 20:55:41 - [info] Linux 5.10.63-v7l+ arm LE
                    20 Dec 20:55:42 - [info] Loading palette nodes
                    20 Dec 20:55:44 - [info] Dashboard version 3.1.2 started at /ui
                    20 Dec 20:55:44 - [info] Settings file  : /home/pi/.node-red/settings.js
                    20 Dec 20:55:44 - [info] Context store  : 'storeInFile' [module=localfilesystem]
                    20 Dec 20:55:44 - [info] Context store  : 'default' [module=memory]
                    20 Dec 20:55:44 - [info] User directory : /home/pi/.node-red
                    20 Dec 20:55:44 - [warn] Projects disabled : editorTheme.projects.enabled=false
                    20 Dec 20:55:44 - [info] Flows file     : /home/pi/.node-red/flows.json
                    20 Dec 20:55:44 - [info] Server now running at http://127.0.0.1:1880/
                    20 Dec 20:55:44 - [warn]
                    ---------------------------------------------------------------------
                    Your flow credentials file is encrypted using a system-generated key.
                    If the system-generated key is lost for any reason, your credentials
                    file will not be recoverable, you will have to delete it and re-enter
                    your credentials.
                    You should set your own key using the 'credentialSecret' option in
                    your settings file. Node-RED will then re-encrypt your credentials
                    file using your chosen key the next time you deploy a change.
                    ---------------------------------------------------------------------
                    20 Dec 20:55:44 - [warn] Error loading credentials: SyntaxError: Unexpected token � in JSON at position 1
                    20 Dec 20:55:44 - [warn] Error loading flows: Error: Failed to decrypt credentials
                    20 Dec 20:55:44 - [info] +-----------------------------------------------------
                    20 Dec 20:55:44 - [info] | uibuilder v4.1.4 initialised
                    20 Dec 20:55:44 - [info] | root folder: /home/pi/.node-red/uibuilder
                    20 Dec 20:55:44 - [info] | Using Node-RED's webserver at:
                    20 Dec 20:55:44 - [info] |   http://127.0.1.1:1880/ or http://localhost:1880/
                    20 Dec 20:55:44 - [info] | Installed packages:
                    20 Dec 20:55:44 - [info] |   jquery, socket.io
                    20 Dec 20:55:44 - [info] +-----------------------------------------------------
                    20 Dec 20:55:44 - [info] Starting flows
                    20 Dec 20:55:44 - [info] Started flows
                    
                    

                    settings.js below

                        flowFile: 'flows.json',
                    
                        /** By default, credentials are encrypted in storage using a generated key.$
                         * specify your own secret, set the following property.
                         * If you want to disable encryption of credentials, set this property to f$
                         * Note: once you set this property, do not change it - doing so will preve$
                         * node-red from being able to decrypt your existing credentials and they w$
                         * lost.
                         */
                    //    credentialSecret: false,
                    //    credentialSecret: "a-secret-key",
                    

                    for every change made, how do I apply those changes so node-red knows to reset itself or something to decrypt exisiting credentials properly? right now , I just do node-red-stop followed by node-red-start in terminal.

                    undefined 1 Reply Last reply 20 Dec 2021, 21:09 Reply Quote 0
                    • undefined
                      MintyTrebor @tekstyle
                      last edited by MintyTrebor 20 Dec 2021, 21:09

                      @tekstyle Node-red has probably generated a new key automatically now..

                      Look for a file called something like "flows_#####cred.json" in .node-red folder (the same folder as settings.js) and rename it to "flows#####_cred.old". Then restart node red.

                      It will probably clear all of the node settings you have already entered, but it should clear the error.

                      You will have to re-enter the IP and set the mode to Duet in the monitor node of your flow.

                      NodeDSF - Native Node-Red integration with Duet boards.
                      BtnCmd - Customise DWC with user defined buttons/layouts/panels (DWC Plugin)
                      ReleaseMgr - Duet update info inside DWC.
                      Repo

                      undefined 1 Reply Last reply 20 Dec 2021, 21:38 Reply Quote 0
                      • undefined
                        tekstyle @MintyTrebor
                        last edited by tekstyle 20 Dec 2021, 21:38

                        @mintytrebor

                        renamed the flow_cred.json to flow_cred.old.

                        stop service and start up again. then deleted all old flow and made new ones. it's weird, i can see the objective models in the debug (eg, it knows I have 2 tools configured) but it just doesn't do anything. it never updates (eg, T0 is set to "off" but it always shows "standby"). Also, the debug would just keep displaying new information even before I press the red deploy button

                        start log below:

                        pi@raspberrypi:~/.node-red $ node-red
                        20 Dec 21:33:24 - [info] 
                        
                        Welcome to Node-RED
                        ===================
                        
                        20 Dec 21:33:24 - [info] Node-RED version: v2.1.4
                        20 Dec 21:33:24 - [info] Node.js  version: v14.18.2
                        20 Dec 21:33:24 - [info] Linux 5.10.63-v7l+ arm LE
                        20 Dec 21:33:25 - [info] Loading palette nodes
                        20 Dec 21:33:27 - [info] Dashboard version 3.1.2 started at /ui
                        20 Dec 21:33:27 - [info] Settings file  : /home/pi/.node-red/settings.js
                        20 Dec 21:33:27 - [info] Context store  : 'storeInFile' [module=localfilesystem]
                        20 Dec 21:33:27 - [info] Context store  : 'default' [module=memory]
                        20 Dec 21:33:27 - [info] User directory : /home/pi/.node-red
                        20 Dec 21:33:27 - [warn] Projects disabled : editorTheme.projects.enabled=false
                        20 Dec 21:33:27 - [info] Flows file     : /home/pi/.node-red/flows.json
                        20 Dec 21:33:27 - [info] Creating new flow file
                        20 Dec 21:33:27 - [info] +-----------------------------------------------------
                        20 Dec 21:33:27 - [info] | uibuilder v4.1.4 initialised
                        20 Dec 21:33:27 - [info] | root folder: /home/pi/.node-red/uibuilder
                        20 Dec 21:33:27 - [info] | Using Node-RED's webserver at:
                        20 Dec 21:33:27 - [info] |   http://127.0.1.1:1880/ or http://localhost:1880/
                        20 Dec 21:33:27 - [info] | Installed packages:
                        20 Dec 21:33:27 - [info] |   jquery, socket.io
                        20 Dec 21:33:27 - [info] +-----------------------------------------------------
                        20 Dec 21:33:27 - [info] Server now running at http://127.0.0.1:1880/
                        20 Dec 21:33:27 - [info] Starting flows
                        20 Dec 21:33:27 - [info] Started flows
                        20 Dec 21:34:43 - [info] Stopping flows
                        20 Dec 21:34:43 - [info] Stopped flows
                        20 Dec 21:34:43 - [info] Starting flows
                        20 Dec 21:34:43 - [info] Started flows
                        
                        
                        
                        undefined 1 Reply Last reply 21 Dec 2021, 07:49 Reply Quote 0
                        • undefined
                          MintyTrebor @tekstyle
                          last edited by 21 Dec 2021, 07:49

                          @tekstyle The log shows node-red is working without any credential issues now.

                          I suggest you go into the monitor node and click the pencil edit button next to the ip address
                          62717456-6b8f-4819-a0c4-d59fb74c1d25-image.png
                          then delete the config
                          02fb4e73-4d88-464e-89b0-c40c80d6f7f6-image.png
                          repeat deletion for every item in the list
                          0ebca1aa-a6e9-4254-b6d6-31a023323cdb-image.png
                          Then delete the flow and do a full deploy
                          0a51568f-2109-46b6-890a-0c8cd7c810b8-image.png

                          Go to the connection test example flow from my repo here, then click copy raw contents
                          15732e62-24fb-40e7-9e95-9ca4c27729d1-image.png
                          In a new flow click the menu and select import
                          ceb20c72-31df-4850-b57b-a27399b316b7-image.png
                          paste the copied raw data into the box, select new flow, and click import
                          52713a58-4c81-42a8-8a0b-8bacbf922f46-image.png
                          this will create a new "Connection Example" flow
                          2ce269c6-a97a-461e-ae6b-99fb5ca3c120-image.png
                          Double click the monitor node (named Duet2 Board), and click the pencil button and set your duet board IP and mode to Duet
                          a27e79e4-3918-4515-ba86-00b59cf96077-image.png
                          Click update, then done, and then do a full deploy.
                          Open the debug side window
                          633d0286-01e4-44e4-9329-eeb5231519a0-image.png
                          The use the Start & Stop nodes to control the monitor, the output can be seen in the side debug window. It should look something like this:
                          cdf2b3ef-10a7-4fc8-ab87-ddfafcaaea0a-image.png

                          NodeDSF - Native Node-Red integration with Duet boards.
                          BtnCmd - Customise DWC with user defined buttons/layouts/panels (DWC Plugin)
                          ReleaseMgr - Duet update info inside DWC.
                          Repo

                          undefined 1 Reply Last reply 28 Dec 2021, 03:12 Reply Quote 0
                          • undefined
                            tekstyle @MintyTrebor
                            last edited by 28 Dec 2021, 03:12

                            @mintytrebor

                            i got that far. it seems like it is working. I was able to see target active temp change and updated .

                            when i do a M117 "hello" on my console in DWC. where do I see that in the debug window in node-red.

                            undefined 1 Reply Last reply 28 Dec 2021, 08:04 Reply Quote 0
                            • undefined
                              MintyTrebor @tekstyle
                              last edited by MintyTrebor 28 Dec 2021, 08:04

                              @tekstyle Great!

                              First check you are on the latest release (v1.1.4) through the palette manager, I found a bug whilst answering your query, so please make sure you are updated before going any further. (It can sometimes take a while before updates show in palette manager)
                              ef224228-bde4-409a-b8c4-0e70aef16c8f-image.png

                              Then add an DSF Event node plus a debug node and configure it like this:
                              7052ba96-d9b7-4da8-a3e7-eb39137efc26-image.png
                              Deploy, start the monitor and send a M117 message in DWC and it should appear in the debug window (like the picture above).

                              NodeDSF - Native Node-Red integration with Duet boards.
                              BtnCmd - Customise DWC with user defined buttons/layouts/panels (DWC Plugin)
                              ReleaseMgr - Duet update info inside DWC.
                              Repo

                              undefined 1 Reply Last reply 8 Jan 2022, 10:59 Reply Quote 0
                              • undefined
                                tekstyle @MintyTrebor
                                last edited by 8 Jan 2022, 10:59

                                @mintytrebor

                                i finally got this to work. that last post was a great help! thank you! now on to setting up email notification.

                                undefined 1 Reply Last reply 8 Jan 2022, 17:44 Reply Quote 0
                                • undefined
                                  MintyTrebor @tekstyle
                                  last edited by 8 Jan 2022, 17:44

                                  @tekstyle Great! I'm glad you got it working. It's worthwhile spending some time learning node-red, it's really powerful and easy to use, and there are loads of nodes available for interfacing with other IOT stuff etc. I run all my lights, home automation, & printers with it.

                                  NodeDSF - Native Node-Red integration with Duet boards.
                                  BtnCmd - Customise DWC with user defined buttons/layouts/panels (DWC Plugin)
                                  ReleaseMgr - Duet update info inside DWC.
                                  Repo

                                  undefined 1 Reply Last reply 9 Jan 2022, 00:14 Reply Quote 0
                                  • undefined
                                    tekstyle @MintyTrebor
                                    last edited by tekstyle 1 Sept 2022, 01:32 9 Jan 2022, 00:14

                                    @mintytrebor so i used an email node with app password to get it to work. i just want it to display a message with m117 right now. however, it sends me the whole payload of dsf model.

                                    i copied the path "payload.fullModel.state.displayMessage" . i just copied and paste. but it still keeps sending me the whole thing. anyway to zero it down to just what i request of it on the debug node?

                                    undefined 1 Reply Last reply 9 Jan 2022, 09:28 Reply Quote 0
                                    • undefined
                                      MintyTrebor @tekstyle
                                      last edited by MintyTrebor 1 Sept 2022, 09:28 9 Jan 2022, 09:28

                                      @tekstyle Using the same example as before:

                                      The DSF Event node sends the value of the event to msg.dsf.eventValue

                                      8e258c54-675f-40c9-88b5-814ba2f4760c-image.png

                                      Look at the help for the DSF Event node and its fully described:
                                      b0dd80f2-b3c1-4463-a50e-dbfaef645e52-image.png

                                      NodeDSF - Native Node-Red integration with Duet boards.
                                      BtnCmd - Customise DWC with user defined buttons/layouts/panels (DWC Plugin)
                                      ReleaseMgr - Duet update info inside DWC.
                                      Repo

                                      undefined 1 Reply Last reply 10 Jan 2022, 05:08 Reply Quote 0
                                      • undefined
                                        tekstyle @MintyTrebor
                                        last edited by 10 Jan 2022, 05:08

                                        @mintytrebor

                                        My DSF event node/model path = state.displayMessage

                                        debug node/output = msg.dsf.eventValue

                                        the debug window above looks like this:

                                        1/9/2022, 9:07:14 PMnode: aebd8e98337002b3
                                        dsfModel : msg.dsf.eventValue : string[4]
                                        "dfsf"
                                        

                                        my email looks like this:

                                        {"fullModel":{"boards":[{"axisMins":[-198.7,-244,0,0],"axisMaxes":[214,196,365,141],"accelerations":[900,900,100,800,500,500,500,500,1250,1250,600,1250],"currents":[1000,1000,1700,0,0,0,0,0,680,680,500,680],"firmwareElectronics":"Duet WiFi 1.02 or later + DueX5","firmwareName":"RepRapFirmware for Duet 2 WiFi/Ethernet","firmwareVersion":"3.3","dwsVersion":"1.26","firmwareDate":"2021-06-15","sysdir":"0:/sys/","idleCurrentFactor":30,"idleTimeout":30,"minFeedrates":[33.33,33.33,8.33,0.83,15,15,15,15,50,50,5,50],"maxFeedrates":[333.33,333.33,8.33,133.33,100,100,100,100,133.33,133.33,60,133.33],"mcuTemp":{"current":29.7},"vIn":{"current":24.1}}],"directories":{},"fans":[{"actualValue":0,"requestedValue":0,"rpm":-1},null,null,{"actualValue":0,"requestedValue":1,"rpm":-1},{"actualValue":1,"requestedValue":1,"rpm":-1},{"actualValue":1,"requestedValue":1,"rpm":-1},{"actualValue":0,"requestedValue":1,"rpm":-1},null,{"actualValue":0,"requestedValue":0,"rpm":-1},{"actualValue":0,"requestedValue":0,"rpm":-1}],"global":{"PTOOL":-1,"BH3":0,"BH2":0,"BH1":0,"BH0":0,"BED":0,"PCCFHOTENDR":160,"PCCFHOTENDS":265},"heat":{"heaters":[{"active":0,"current":18,"standby":0,"state":"off"},{"active":0,"current":18,"standby":0,"state":"off"},{"active":0,"current":-273.1,"standby":0,"state":"off"},{"active":0,"current":-273.1,"standby":0,"state":"off"},{"active":0,"current":18,"standby":0,"state":"off"},{"active":0,"current":18,"standby":0,"state":"off"},{"active":0,"current":18.3,"standby":0,"state":"off"},{"active":0,"current":20.3,"standby":0,"state":"off"}]},"inputs":[{"feedRate":50,"lineNumber":2,"state":"idle"},{"feedRate":50,"lineNumber":0,"state":"idle"},{"feedRate":50,"lineNumber":0,"state":"idle"},{"feedRate":50,"lineNumber":0,"state":"idle"},{"feedRate":50,"lineNumber":67965,"state":"idle"},{"feedRate":50,"lineNumber":0,"state":"idle"},{"feedRate":50,"lineNumber":0,"state":"idle"},{"feedRate":50,"lineNumber":0,"state":"idle"},null,{"feedRate":50,"lineNumber":0,"state":"idle"},null,{"feedRate":50,"lineNumber":0,"state":"idle"}],"job":{"build":null,"duration":null,"filePosition":0,"layer":null,"layerTime":null,"pauseDuration":null,"rawExtrusion":null,"timesLeft":{"filament":null,"file":null,"slicer":null},"warmUpDuration":null},"limits":{},"move":{"axes":[{"machinePosition":0,"userPosition":0},{"machinePosition":0,"userPosition":0},{"machinePosition":0,"userPosition":0},{"machinePosition":0,"userPosition":0}],"currentMove":{"acceleration":0,"deceleration":0,"laserPwm":null,"requestedSpeed":0,"topSpeed":0},"extruders":[{"position":0,"rawPosition":0},{"position":0,"rawPosition":0},{"position":0,"rawPosition":0},{"position":0,"rawPosition":0},{"position":0,"rawPosition":0}],"virtualEPos":0},"network":{},"scanner":{},"sensors":{"analog":[{"lastReading":18},{"lastReading":18},{"lastReading":18.3},{"lastReading":20.3},{"lastReading":18},{"lastReading":-273.1},{"lastReading":-273.1},{"lastReading":18}],"endstops":[{"triggered":false},{"triggered":false},null,{"triggered":true}],"filamentMonitors":[null,null,null,{"status":"ok"}],"gpIn":[],"probes":[{"value":[0]}]},"seqs":{"boards":0,"directories":0,"fans":14,"global":8,"heat":42,"inputs":11,"job":1,"move":48,"network":4467,"reply":2,"scanner":1,"sensors":12,"spindles":0,"state":3,"tools":22,"volChanges":[1,0],"volumes":120},"spindles":[{"current":0,"state":"unconfigured"},{"current":0,"state":"unconfigured"},{"current":0,"state":"unconfigured"},{"current":0,"state":"unconfigured"}],"state":{"messageBox":{"title":null,"message":null},"atxPower":null,"currentTool":-1,"gpOut":[],"laserPwm":null,"msUpTime":71,"nextTool":-1,"previousTool":-1,"status":"idle","time":"2022-01-09T20:57:15","upTime":11396,"displayMessage":"he"},"tools":[{"active":[],"standby":[],"state":"off"},{"active":[0],"standby":[0],"state":"off"},{"active":[0],"standby":[0],"state":"off"},{"active":[0],"standby":[0],"state":"off"},{"active":[0],"standby":[0],"state":"off"}],"volumes":[{},{}]},"patchModel":{"boards":{"0":{"vIn":{"current":24.1}}},"heat":{"heaters":{"0":{"current":18},"1":{"current":18},"4":{"current":18},"5":{"current":18},"6":{"current":18.3}}},"inputs":{"0":{"lineNumber":2}},"sensors":{"analog":{"0":{"lastReading":18},"1":{"lastReading":18},"2":{"lastReading":18.3},"4":{"lastReading":18},"7":{"lastReading":18}}},"seqs":{"reply":2,"state":3},"state":{"msUpTime":71,"time":"2022-01-09T20:57:15","upTime":11396,"displayMessage":"he"}},"prevModel":{"boards":[{"axisMins":[-198.7,-244,0,0],"axisMaxes":[214,196,365,141],"accelerations":[900,900,100,800,500,500,500,500,1250,1250,600,1250],"currents":[1000,1000,1700,0,0,0,0,0,680,680,500,680],"firmwareElectronics":"Duet WiFi 1.02 or later + DueX5","firmwareName":"RepRapFirmware for Duet 2 WiFi/Ethernet","firmwareVersion":"3.3","dwsVersion":"1.26","firmwareDate":"2021-06-15","sysdir":"0:/sys/","idleCurrentFactor":30,"idleTimeout":30,"minFeedrates":[33.33,33.33,8.33,0.83,15,15,15,15,50,50,5,50],"maxFeedrates":[333.33,333.33,8.33,133.33,100,100,100,100,133.33,133.33,60,133.33],"mcuTemp":{"current":29.7},"vIn":{"current":24.2}}],"directories":{},"fans":[{"actualValue":0,"requestedValue":0,"rpm":-1},null,null,{"actualValue":0,"requestedValue":1,"rpm":-1},{"actualValue":1,"requestedValue":1,"rpm":-1},{"actualValue":1,"requestedValue":1,"rpm":-1},{"actualValue":0,"requestedValue":1,"rpm":-1},null,{"actualValue":0,"requestedValue":0,"rpm":-1},{"actualValue":0,"requestedValue":0,"rpm":-1}],"global":{"PTOOL":-1,"BH3":0,"BH2":0,"BH1":0,"BH0":0,"BED":0,"PCCFHOTENDR":160,"PCCFHOTENDS":265},"heat":{"heaters":[{"active":0,"current":18.1,"standby":0,"state":"off"},{"active":0,"current":18.1,"standby":0,"state":"off"},{"active":0,"current":-273.1,"standby":0,"state":"off"},{"active":0,"current":-273.1,"standby":0,"state":"off"},{"active":0,"current":17.9,"standby":0,"state":"off"},{"active":0,"current":17.9,"standby":0,"state":"off"},{"active":0,"current":18.1,"standby":0,"state":"off"},{"active":0,"current":20.3,"standby":0,"state":"off"}]},"inputs":[{"feedRate":50,"lineNumber":1,"state":"idle"},{"feedRate":50,"lineNumber":0,"state":"idle"},{"feedRate":50,"lineNumber":0,"state":"idle"},{"feedRate":50,"lineNumber":0,"state":"idle"},{"feedRate":50,"lineNumber":67965,"state":"idle"},{"feedRate":50,"lineNumber":0,"state":"idle"},{"feedRate":50,"lineNumber":0,"state":"idle"},{"feedRate":50,"lineNumber":0,"state":"idle"},null,{"feedRate":50,"lineNumber":0,"state":"idle"},null,{"feedRate":50,"lineNumber":0,"state":"idle"}],"job":{"build":null,"duration":null,"filePosition":0,"layer":null,"layerTime":null,"pauseDuration":null,"rawExtrusion":null,"timesLeft":{"filament":null,"file":null,"slicer":null},"warmUpDuration":null},"limits":{},"move":{"axes":[{"machinePosition":0,"userPosition":0},{"machinePosition":0,"userPosition":0},{"machinePosition":0,"userPosition":0},{"machinePosition":0,"userPosition":0}],"currentMove":{"acceleration":0,"deceleration":0,"laserPwm":null,"requestedSpeed":0,"topSpeed":0},"extruders":[{"position":0,"rawPosition":0},{"position":0,"rawPosition":0},{"position":0,"rawPosition":0},{"position":0,"rawPosition":0},{"position":0,"rawPosition":0}],"virtualEPos":0},"network":{},"scanner":{},"sensors":{"analog":[{"lastReading":18.1},{"lastReading":17.9},{"lastReading":18.1},{"lastReading":20.3},{"lastReading":18.1},{"lastReading":-273.1},{"lastReading":-273.1},{"lastReading":17.9}],"endstops":[{"triggered":false},{"triggered":false},null,{"triggered":true}],"filamentMonitors":[null,null,null,{"status":"ok"}],"gpIn":[],"probes":[{"value":[0]}]},"seqs":{"boards":0,"directories":0,"fans":14,"global":8,"heat":42,"inputs":11,"job":1,"move":48,"network":4467,"reply":1,"scanner":1,"sensors":12,"spindles":0,"state":2,"tools":22,"volChanges":[1,0],"volumes":120},"spindles":[{"current":0,"state":"unconfigured"},{"current":0,"state":"unconfigured"},{"current":0,"state":"unconfigured"},{"current":0,"state":"unconfigured"}],"state":{"messageBox":{"title":null,"message":null},"atxPower":null,"currentTool":-1,"gpOut":[],"laserPwm":null,"msUpTime":838,"nextTool":-1,"previousTool":-1,"status":"idle","time":"2022-01-09T20:57:14","upTime":11395},"tools":[{"active":[],"standby":[],"state":"off"},{"active":[0],"standby":[0],"state":"off"},{"active":[0],"standby":[0],"state":"off"},{"active":[0],"standby":[0],"state":"off"},{"active":[0],"standby":[0],"state":"off"}],"volumes":[{},{}]}}

                                        undefined 1 Reply Last reply 10 Jan 2022, 07:21 Reply Quote 0
                                        • undefined
                                          MintyTrebor @tekstyle
                                          last edited by 10 Jan 2022, 07:21

                                          @tekstyle The help from the email node states:
                                          8eec5444-73bb-4df5-934b-b26e56cccbb6-image.png

                                          So if you want the email to just be the M117 msg text you have to set msg.payload = msg.dsf.eventValue

                                          you need to add a change node to make this change

                                          9780ae87-61ea-4889-a5aa-1b475997391d-image.png

                                          NodeDSF - Native Node-Red integration with Duet boards.
                                          BtnCmd - Customise DWC with user defined buttons/layouts/panels (DWC Plugin)
                                          ReleaseMgr - Duet update info inside DWC.
                                          Repo

                                          undefined 1 Reply Last reply 10 Jan 2022, 23:32 Reply Quote 0
                                          • First post
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA