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

    Home Assistant Integration

    Scheduled Pinned Locked Moved
    Third-party software
    14
    47
    5.0k
    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.
    • nikschaundefined
      nikscha
      last edited by

      I just set up my Home Assistant Dashboard. Cool stuff!
      But I noticed that while there is support for Octoprint, there is no Integration for the Duet framework.

      I only found a plugin for the DSF which exposes the Object Model on MQTT, but that also doesn't provide the same functionality as the Octoprint integration. I'd like to pause and abort the print from the Home Assistant Dashboard for example.

      Anyone else interested in this functionality?

      Stay in school

      jens55undefined deckingmanundefined MintyTreborundefined 3 Replies Last reply Reply Quote 2
      • jens55undefined
        jens55 @nikscha
        last edited by

        @nikscha, I also run home assistant but I can not envision a use for a home assistant Duet integration/connection. I go to a web page to interact with home assistant and I go to another web page to interact with the 3D printer. We are talking about clicking on a different tab and then cancelling the print on the DWC. Maybe if I somehow wanted to automate DWC - ie I come home and home assistant starts a print .... that seems a bit 'optimistic' in the best case and more like trying to find an excuse to link DWC to home assistant.
        I am really curious about 'why' you want to combine the two.

        1 Reply Last reply Reply Quote 0
        • deckingmanundefined
          deckingman @nikscha
          last edited by

          @nikscha This is somthing that I've thought about from time to time, but I can't see a usage case for home assistant integration. For sure, it might be possible to incorporate some commands into a home assistant dashboard but what's the point in simply substituting one dashboard for another? For me, home assistant is about automating tasks whereby there is a trigger which will initiate actions if certain optional conditions are met. So the action might be to start, stop or pause a print, but what would the trigger(s) and optional conditions be which wouldn't otherwise be taken care of by firmware? One could possibly expose certain printer sensors to HA and make use of the long term statistics features but again, I can't really think of a use case for those statistics.

          Ian
          https://somei3deas.wordpress.com/
          https://www.youtube.com/@deckingman

          jens55undefined 1 Reply Last reply Reply Quote 0
          • jens55undefined
            jens55 @deckingman
            last edited by

            @deckingman, good point about exposing printer sensors. The following could make sense: the printer pauses because of a temperature issue or a filament issue and home assistant could be tasked to email this fact to the user. If I am home and run the printer then I check on the DWC and on a video feed fairly regularly so for me that wouldn't be much of an advantage. If I am not home and an error occurs I can't do anything about it anyway.

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

              @nikscha
              NodeDSF works with node-red (which also integrates with Home Assistant) and works with both stand alone and sbc/dsf configurations. It exposes Object model, monitors status, send commands, plus a few other things.

              if you look here you can see an example using the node-red dashboard - an equivalent would be achievable in the home assistant dashboarding system.

              Here is my current HA Printer dashboard..
              a3f0de34-a7c1-4091-84b6-bd5a52f9ee97-image.png

              This one is currently using MQTT with Klipper, (I tend to switch between RRF & Klipper for development reasons), but I have used it with NodeDSF previously.

              I also seem to remember someone mentioning MQTT functionality on the roadmap for RRF, but that needs confirmation from the team.

              As to why - my chamber heater is controlled through a smart power socket and I needed a way to incorporate a temp sensor on the Duet Board to trigger the chamber heater on/off - I can do this in HA with NodeDSF. I also use it to control the lighting/led strips using zigbee...

              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

              nikschaundefined 1 Reply Last reply Reply Quote 1
              • nikschaundefined
                nikscha @MintyTrebor
                last edited by

                @MintyTrebor Thanks, I'll check it out!

                I just found out that there is also a Home Assistant Integration for Prusa:
                https://www.home-assistant.io/integrations/prusalink/

                ca99f286-ee3c-4822-8b29-27c26b793383-image.png

                .

                The octoprint integration looks great too:

                d94bd3fc-b536-4d65-a67f-90e6fd026daa-image.png
                f5e02e1c-4e81-44f7-a7cd-458b1aee2c29-image.png
                dd4ee61f-56fe-4ed4-ac28-a3c52a401070-image.png

                Stay in school

                1 Reply Last reply Reply Quote 0
                • oliofundefined
                  oliof
                  last edited by oliof

                  spelunking the commits for the upcoming v3.5 release it looks like RRF will grow native MQTT support soon. EDIT: Probably not on all boards, I haven't had time to read this PR completely.

                  <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                  Baenwortundefined nikschaundefined 2 Replies Last reply Reply Quote 3
                  • Baenwortundefined
                    Baenwort @oliof
                    last edited by

                    I'm hoping to use Home Assistant to turn on a HEPA filter that is powered off a HA plug strip. This way depending on the filament configuration it either turns on automatically at the start of a print and off once a certain time after completion or turns on after print completion and runs for a timer.

                    HA can control the fan and timer and just needs duet to tell it the print reached a milestone (set on the duet side when start or end of print macro is triggered per filament.

                    I've also got MotionEye cameras that feed into HA and if I could start or stop a print from HA I would have those buttons on the page with the camera views.

                    Last reason I'd like HA integration is I have touchscreena around the house that control things in HA and if duet had integration I could just walk up to one of those and change tabs with the existing build instead of having to larch something else or modify the build.

                    1 Reply Last reply Reply Quote 0
                    • nikschaundefined
                      nikscha @oliof
                      last edited by

                      @oliof Uhh that would be a nice start!
                      I'm hoping that prusas release of their "PrusaLink" integration for Home Assistant will cause RRF to get one too

                      Stay in school

                      1 Reply Last reply Reply Quote 0
                      • pkosundefined
                        pkos
                        last edited by pkos

                        While waiting, you can easily use this:
                        https://github.com/iz3man/duet3d/blob/main/duet3d.yaml

                        Just add the lines to your configuration.yaml, modify for your printer and restart HA.

                        Voron 2.4 (Duet 3 6HC + 3HC standalone), Voron SW (Duet 3 mini 5+ standalone), Voron Trident (Duet 3 mini 5+ standalone), Voron 0.1

                        Proschi3Dundefined izemanundefined 2 Replies Last reply Reply Quote 2
                        • Proschi3Dundefined
                          Proschi3D @pkos
                          last edited by

                          @pkos Nice 👍

                          Love my Duet 3 Mini.
                          https://www.instagram.com/proschi3d
                          https://youtube.com/@proschi3d
                          https://www.proschi3d.de

                          1 Reply Last reply Reply Quote 0
                          • nikschaundefined
                            nikscha
                            last edited by nikscha

                            @pkos Thanks! But I don't think this is compatible with RRF 3 anymore 😕
                            @izeman (hoping this is the right user ^^)

                            Stay in school

                            pkosundefined 1 Reply Last reply Reply Quote 0
                            • pkosundefined
                              pkos @nikscha
                              last edited by

                              @nikscha It works 🙂 I've been using it for ages now, although I don't have a very elaborate layout. I mostly have HA watch hotend temp and once it's been at 45C for 2 minutes after a print - it switches the printer off.

                              My code is as follows:

                                - platform: rest
                                  name: Voron_24 Status
                                  resource: http://<ip_here>/rr_status?type=3
                                  value_template: "{{ value_json.status }}"
                                  json_attributes:
                                    - temps
                                    - fractionPrinted
                                  force_update: true
                              
                                - platform: template
                                  sensors:
                                    voron_24_head_temp_current:
                                      value_template: "{{ states.sensor.voron_24_status.attributes.temps.current[1] }}"
                                      friendly_name: Hotend Temp
                                    voron_24_bed_temp_current:
                                      value_template: "{{ states.sensor.voron_24_status.attributes.temps.current[0] }}"
                                      friendly_name: Hotbed Temp
                                    voron_24_print_percentage:
                                      value_template: "{{ states.sensor.voron_24_status.attributes.fractionPrinted }}%"
                                      friendly_name: Print progress 
                              

                              And this is how I put display it in Lovelace.

                              964cc527-896b-446d-bb7d-ba148869390b-image.png

                              The important bits here (if you know this, forgive me, if not - maybe it will help) - is to keep the naming consistent. HA will convert the name from the first sensor into an entity_id.
                              So in my case, here it reads Voron_24 Status. HA will take it, convert it internally to voron_24_status and this is what you use below in the actual sensors.

                              And since I am waaaaaay too lazy ( 😉 ) I am going to wait for MQTT to come along before solving issues like not zeroing out of entries when the printer is off 🙂

                              See if that will work and if you get stuck, ping me and I'll be happy to help.

                              Voron 2.4 (Duet 3 6HC + 3HC standalone), Voron SW (Duet 3 mini 5+ standalone), Voron Trident (Duet 3 mini 5+ standalone), Voron 0.1

                              1 Reply Last reply Reply Quote 0
                              • repier37undefined
                                repier37
                                last edited by

                                @nikscha I could not make it work either using RRF3.
                                I ended up modifying another integration to make it work with RRF 3.
                                You can find it on my repo :
                                https://github.com/repier37/hass-Duet3D
                                Basically I just added authentication to the integration I forked to be able to retrieve data.
                                It is still using the rr_status command that is planned to be removed in RRF3.5 if I recall correctly, but it should work with earlier version. It should not be too hard to move to rr_model as it should only be changing json parsing.

                                paulg4hundefined Reineundefined 2 Replies Last reply Reply Quote 1
                                • paulg4hundefined
                                  paulg4h @repier37
                                  last edited by

                                  @repier37

                                  Many thank's for your work!

                                  Hopefully we can expect a update do see the RRF 3.5 working too.

                                  1 Reply Last reply Reply Quote 0
                                  • Reineundefined
                                    Reine @repier37
                                    last edited by

                                    @repier37 just installed your plugin but it doesn't seam to connect to my printer (6HC/v3.4.5 with SBC).

                                    If I send a manual http request it seams like I get access without a password.
                                    http://10.0.0.68/machine/connect?password=

                                    Any ideas what I might have done wrong? All sensors are setup, but values do not change.

                                      duet3d_printer:
                                        host: !secret duet3d_host
                                        name: !secret duet3d_name
                                        password: !secret duet3d_password
                                        number_of_tools: 1
                                        bed: true
                                        sensors:
                                          monitored_conditions:
                                            - 'Current State'
                                            - 'Temperatures'
                                            - 'Job Percentage'
                                            - 'Time Elapsed'
                                            - 'Time Remaining'
                                            - 'Position'
                                    
                                    Reineundefined 1 Reply Last reply Reply Quote 0
                                    • Reineundefined
                                      Reine @Reine
                                      last edited by Reine

                                      02581343-2f00-4986-ad1b-0e73c218f094-image.png

                                      Seams like rr_status has been deprecated in v3.4.5, http://10.0.0.68/machine/Status works though so for this to work with the current version of RRF some work needs to be done on this integration. unfortunately I'm not a Python dev.

                                      Btw, is there a websocket or webhooks that can be used or can we only rely on polling updates?

                                      Lyr3xundefined 1 Reply Last reply Reply Quote 0
                                      • Lyr3xundefined
                                        Lyr3x @Reine
                                        last edited by Lyr3x

                                        Hey folks,
                                        i picked this topic up yesterday and refactored the integration to make it work again with the new /machine/status endpoint.
                                        https://github.com/Lyr3x/hass-Duet3D

                                        Not happy yet with the position entity and the fact that there is no proper config flow and entities are not attached to a device. I will work on that in the next days. Might take some time as I need to dig into that to understand how custom components are built and what the spaghetti code in the integration is doing 😄
                                        I removed the job percentage yesterday temporarily to get this out of my way, because there is not such attribute, but I already spotted that it can be easily calculated with the file size. Contributions are welcomed!

                                        I also removed the password property, as this is not needed for the endpoint. Furthermore, I might need to set up a proper session when the integration has maybe a service to send G/M codes as well. We'll see.

                                        Hope that it is of some help for you as well 🙂

                                        nikschaundefined 1 Reply Last reply Reply Quote 2
                                        • izemanundefined
                                          izeman @pkos
                                          last edited by

                                          @pkos said in Home Assistant Integration:

                                          While waiting, you can easily use this:
                                          https://github.com/iz3man/duet3d/blob/main/duet3d.yaml

                                          Just add the lines to your configuration.yaml, modify for your printer and restart HA.

                                          LOL. Looking for a way to get MQTT running on Duet-Wifi board, find this thread, and then a link to MY github 😉

                                          Btw: This is still using perfectly fine with the latest betafirmware

                                          f1141c7f-8cff-4f36-a8dd-d4c1d8f7f48b-image.png

                                          And I found this github for MQTT integration which gives basically the same info - but haven't tested yet, as I'm waiting for native MQTT support before I start ripping everything apart again.

                                          https://github.com/keyz182/DuetMQTT

                                          Marshalldogundefined Lyr3xundefined 2 Replies Last reply Reply Quote 2
                                          • nikschaundefined
                                            nikscha @Lyr3x
                                            last edited by

                                            @Lyr3x good work, wow! I'll check it out in the next few days!

                                            Stay in school

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