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

    Node-Red Mobile Sized Status Dashboard for Duet

    Scheduled Pinned Locked Moved
    Third-party software
    5
    9
    1.5k
    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.
    • MintyTreborundefined
      MintyTrebor
      last edited by

      I've been running a simple node-red mobile/small screen sized 3d printer status dashboard form some time, which I recently updated to work with the Duet API after upgrading my printers.

      Its not very sophisticated - I am posting here in case it is of use to anyone else.

      https://github.com/MintyTrebor/Duet-Node-Red-Dashboard

      printerdash2.jpg

      The repo has two flows :

      The "universal" flow just requires the duet IP and webcam IP, it will ping the network, and when the printer is turned on check the Duet API version, and start updating the dashboard. Once the printer stops responding to ping it will stop updating the dashboard. The flow has been designed to be easy to follow. It could be significantly more optimised, should it be required. I would recommend reducing the polling frequency once you have it working (currently set for every 5 seconds), it does not need to be real time!

      The "example" flow is abstracted from my home automation dashboard, which includes MQTT calls and other automation stuff. It is provided as a reference example. This flow only updates the dashboard when the 3d printer is turned on via MQTT wifi socket.

      Background:
      I wanted to be able to view both my 3d printers at a glance, control my enclosure temperature, and integrate the power control of my printers through my existing node-red home automation dashboard . Both of my printers are in my garage with external access only, hence I came up with this. It does not replace DWC. But I found status monitoring in DWC is not ideal for mobile/small screen and multiple printers.

      How I use the dashboard:
      printerdash.jpg

      Hope someone finds this useful!

      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

      DIY-O-Sphereundefined 1 Reply Last reply Reply Quote 8
      • PCRundefined
        PCR
        last edited by

        Great Work!

        @dc42 Something for the community page?

        Phaedruxundefined 1 Reply Last reply Reply Quote 0
        • Phaedruxundefined
          Phaedrux Moderator @PCR
          last edited by

          @PCR said in Node-Red Mobile Sized Status Dashboard for Duet:

          Great Work!

          @dc42 Something for the community page?

          I'm on it!

          Z-Bot CoreXY Build | Thingiverse Profile

          1 Reply Last reply Reply Quote 0
          • ErwinH78undefined
            ErwinH78
            last edited by

            great work. is it possible to include how long it takes to finish print and output via telegram maybe?

            1 Reply Last reply Reply Quote 0
            • MintyTreborundefined
              MintyTrebor
              last edited by MintyTrebor

              @ErwinH78 The Whole object model is available for you to get values from. It should be here: [job][timesLeft][file] (value is in seconds remaining).

              It would require adding a new node after "GET DUET STATUS" to get the value from the object model and route it to a telegram node. There are pre-built telegram nodes available in the Palette Manage of node-red.

              I'm currently working on something a little more advanced for users running v3.1+ with SBC's : https://github.com/MintyTrebor/MQTT4DSF

              Its a python script which runs on the SBC and can monitor the Object Model for value changes and send mqtt msgs directly to a broker. It's completely configurable so that you can select which values to monitor, and what msgs to send, plus it can react to specially formatted M117 commands.

              If your running 3.1+ with an SBC it might be worth a look (its very alpha though)...

              (edit: updated link)

              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

              1 Reply Last reply Reply Quote 0
              • DIY-O-Sphereundefined
                DIY-O-Sphere @MintyTrebor
                last edited by

                @MintyTrebor
                Perfect...
                I'am currently working on a flow to remote switch the printer.
                Realised over a Shelly 2.5.
                The Shelly only starts the boot sequence. Shutdown only is possible by sending G-Code . So it's self locking after a print is started.
                That also gives the possibility to auto switch off at the end of printing.
                As a beginner in node red it was a challenge to realise the logic of the buttons....They are getting active in relation to the state of the relay and the flow itself.
                But I have learned a lot, even to control the duet over html....

                49003bb1-90e2-4530-958d-1744fe5b15f0-grafik.png

                (UTC+1)

                1 Reply Last reply Reply Quote 0
                • DIY-O-Sphereundefined
                  DIY-O-Sphere
                  last edited by

                  @MintyTrebor
                  Just checked the flow chart.....amazing clean👍
                  I wish I could do it rudimentarily that way...

                  (UTC+1)

                  DIY-O-Sphereundefined 1 Reply Last reply Reply Quote 0
                  • DIY-O-Sphereundefined
                    DIY-O-Sphere @DIY-O-Sphere
                    last edited by DIY-O-Sphere

                    @MintyTrebor
                    node-red-contrib-looptimer2 ---> node-red-contrib-looptimer

                    Edit:
                    "node-red-contrib-stoptimer" is missing in the description

                    (UTC+1)

                    1 Reply Last reply Reply Quote 0
                    • MintyTreborundefined
                      MintyTrebor
                      last edited by MintyTrebor

                      Thanks for the info. I did not include in the readme all the nodes used in the "example" dashboard, just the nodes in the "Universal" dashboard. I have made it clearer in the readme.

                      Node-red-contrib-looptimer2 is a node available in palette manager and was used in the "universal" dashboard.

                      I have also updated the notes to reflect the changes required to use the updated API object model used in the recent beta firmware(s). Its just a simple path change, nothing major.

                      Edit: I have updated the Duet Dashboard Universal Flow:
                      Updated to show how to get all three types of status updates from API V1.
                      Included example of how to process Remaining Job Time
                      Added alternative Object Model API Paths for Firmwares V3.1+

                      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

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post
                      Unless otherwise noted, all forum content is licensed under CC-BY-SA