Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    Node-Red Mobile Sized Status Dashboard for Duet

    Third-party software
    5
    9
    894
    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.
    • MintyTrebor
      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-Sphere 1 Reply Last reply Reply Quote 8
      • PCR
        PCR last edited by

        Great Work!

        @dc42 Something for the community page?

        Phaedrux 1 Reply Last reply Reply Quote 0
        • Phaedrux
          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
          • ErwinH78
            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
            • MintyTrebor
              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-Sphere
                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-Sphere
                  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-Sphere 1 Reply Last reply Reply Quote 0
                  • DIY-O-Sphere
                    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
                    • MintyTrebor
                      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