Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Status Snapmaker Artisan auslesen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Status Snapmaker Artisan auslesen

Scheduled Pinned Locked Moved ioBroker Allgemein
14 Posts 4 Posters 1.9k Views 4 Watching
  • 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.
  • M Offline
    M Offline
    MP_Trixi
    wrote on last edited by MP_Trixi
    #1

    Hallo,

    ich habe einen Snapmaker Artisan (das ist ein 3in1 Gerät für 3D-Druck, Lasergravur/-scheiden, CNC).
    Da würde ich gerne zumindest mal den aktuellen Status abfragen (was macht das Gerät? Zumindest ist es im idle oder führt es einen Job aus). Es hängt an einer Zigbee Steckdose, die den Strom misst, damit habe ich es rudimentär aber mehr schlecht als recht erstmal umgesetzt.

    Das Gerät ist im lokalen Netzwerk. Die dazugehörige Software ist Luban:
    https://snapmaker.com/snapmaker-luban
    https://github.com/Snapmaker/Luban

    Diese kann sich mit dem Gerät verbinden, sieht die verschiedene Werte (Status, Temperaturen,...) und kann es auch steuern. Dies geht auch mit anderer Software wie Cura über ein Plugin:
    https://github.com/Snapmaker/SnapmakerCuraPlugin/tree/main

    Ich habe da mal bei Letzterem in ein Script im Verzeichnis network_plugin reingeschaut. Hier wird wohl eine Verbindung via Port 8080 auf eine API (api_prefix = ":8080/api/v1") aufgemacht (zur API habe ich leider nichts gefunden). Ein Versuch das einfach mal im Browser mit ip-adresse:8080/api/v1 aufzurufen ging nicht (ERR_CONNECTION_REFUSED). Ich bin im Scripting leider nicht so firm, als dass ich da sonst was Brauchbares rauslesen könnte. Aber da draußen gibts ja Euch - denke mal dass es evtl. für Euch ganz easy ist und ihr mir einen Tipp habt, wie ich damit evtl. den Status regelmäßig in einen Datenpunkt laden kann. Denke mal, dass die Magie in diesem Python Script irgendwo verborgen ist:
    https://github.com/Snapmaker/SnapmakerCuraPlugin/blob/main/network_plugin/HTTPNetworkedPrinterOutputDevice.py
    oder wie es Luban macht:
    https://github.com/Snapmaker/Luban/blob/767fdd048eb1c141ce539dd2f12aeb076ab9582d/src/app/flux/machine/Server.js

    Ich bin auch mal noch den offiziellen weg gegangen und habe dazu einen Adapter Request aufgemacht:
    https://github.com/ioBroker/AdapterRequests/issues/869
    Wenn es mehrere brauchen könnten wäre das evtl. was. Sonst reicht mir aktuell auch erstmal eben nur den Status in einen Datenpunkt zu bekommen.

    Danke im Voraus :)

    P.S: Hier sind die Zustände zu finden die ich gerne hätte: https://github.com/Snapmaker/Luban/blob/main/packages/luban-platform/src/machine-state/common/WorkflowStatus.ts

    Was ich auch schon versucht habe: Das Gerät an einen Raspi mit Octoprint anzuschließen (dafür gibt es ja einen Adapter). Allerdings bringt Octoprint nur den Status, wenn der Job auch über Octoprint gestartet wurde (was ja dann nur für 3D Drucke geht).

    M 1 Reply Last reply
    2
    • M MP_Trixi

      Hallo,

      ich habe einen Snapmaker Artisan (das ist ein 3in1 Gerät für 3D-Druck, Lasergravur/-scheiden, CNC).
      Da würde ich gerne zumindest mal den aktuellen Status abfragen (was macht das Gerät? Zumindest ist es im idle oder führt es einen Job aus). Es hängt an einer Zigbee Steckdose, die den Strom misst, damit habe ich es rudimentär aber mehr schlecht als recht erstmal umgesetzt.

      Das Gerät ist im lokalen Netzwerk. Die dazugehörige Software ist Luban:
      https://snapmaker.com/snapmaker-luban
      https://github.com/Snapmaker/Luban

      Diese kann sich mit dem Gerät verbinden, sieht die verschiedene Werte (Status, Temperaturen,...) und kann es auch steuern. Dies geht auch mit anderer Software wie Cura über ein Plugin:
      https://github.com/Snapmaker/SnapmakerCuraPlugin/tree/main

      Ich habe da mal bei Letzterem in ein Script im Verzeichnis network_plugin reingeschaut. Hier wird wohl eine Verbindung via Port 8080 auf eine API (api_prefix = ":8080/api/v1") aufgemacht (zur API habe ich leider nichts gefunden). Ein Versuch das einfach mal im Browser mit ip-adresse:8080/api/v1 aufzurufen ging nicht (ERR_CONNECTION_REFUSED). Ich bin im Scripting leider nicht so firm, als dass ich da sonst was Brauchbares rauslesen könnte. Aber da draußen gibts ja Euch - denke mal dass es evtl. für Euch ganz easy ist und ihr mir einen Tipp habt, wie ich damit evtl. den Status regelmäßig in einen Datenpunkt laden kann. Denke mal, dass die Magie in diesem Python Script irgendwo verborgen ist:
      https://github.com/Snapmaker/SnapmakerCuraPlugin/blob/main/network_plugin/HTTPNetworkedPrinterOutputDevice.py
      oder wie es Luban macht:
      https://github.com/Snapmaker/Luban/blob/767fdd048eb1c141ce539dd2f12aeb076ab9582d/src/app/flux/machine/Server.js

      Ich bin auch mal noch den offiziellen weg gegangen und habe dazu einen Adapter Request aufgemacht:
      https://github.com/ioBroker/AdapterRequests/issues/869
      Wenn es mehrere brauchen könnten wäre das evtl. was. Sonst reicht mir aktuell auch erstmal eben nur den Status in einen Datenpunkt zu bekommen.

      Danke im Voraus :)

      P.S: Hier sind die Zustände zu finden die ich gerne hätte: https://github.com/Snapmaker/Luban/blob/main/packages/luban-platform/src/machine-state/common/WorkflowStatus.ts

      Was ich auch schon versucht habe: Das Gerät an einen Raspi mit Octoprint anzuschließen (dafür gibt es ja einen Adapter). Allerdings bringt Octoprint nur den Status, wenn der Job auch über Octoprint gestartet wurde (was ja dann nur für 3D Drucke geht).

      M Offline
      M Offline
      MP_Trixi
      wrote on last edited by Homoran
      #2

      Niemand? Ich habe das Gefühl, dass hier (https://github.com/Snapmaker/Luban/blob/767fdd048eb1c141ce539dd2f12aeb076ab9582d/src/app/flux/machine/Server.js) drin fast alles fertig vorliegt, bekomme es aber mit meinen arg beschränkten Programmierfähigkeiten nicht hin.
      So wie es aussieht muss man:

      1. Per Post (denke mal das geht so mit dem Browser nicht) sich mit der API verbinden. Das sollte der Aufruf dazu sein:
        http://<ip-Adresse des Snapmaker>:8080/api/v1/connect
        Da sollte ein JSON u.a. mit einem Token zurückkommen (beim ersten mal muss eine Verbindung am Bildschirm des Gerätes freigegeben werden)
      2. Mit dem Token sollte man den Status auslesen können
        http://<ip-Adresse des Snapmaker>:8080/api/v1/status?token=<token>

      Verbindet man sich mit Luban, wird im C:\Users\User\AppData\Roaming\snapmaker-luban\machine.json ein Token aktualisiert. Da ich schon an 1. scheitere habe ich mal versucht mich mit Luban zu verbinden und den dort abgelegten Token für 2. zu verwenden. Leider auch ohne Erfolg.

      M NegaleinN 2 Replies Last reply
      0
      • M MP_Trixi

        Niemand? Ich habe das Gefühl, dass hier (https://github.com/Snapmaker/Luban/blob/767fdd048eb1c141ce539dd2f12aeb076ab9582d/src/app/flux/machine/Server.js) drin fast alles fertig vorliegt, bekomme es aber mit meinen arg beschränkten Programmierfähigkeiten nicht hin.
        So wie es aussieht muss man:

        1. Per Post (denke mal das geht so mit dem Browser nicht) sich mit der API verbinden. Das sollte der Aufruf dazu sein:
          http://<ip-Adresse des Snapmaker>:8080/api/v1/connect
          Da sollte ein JSON u.a. mit einem Token zurückkommen (beim ersten mal muss eine Verbindung am Bildschirm des Gerätes freigegeben werden)
        2. Mit dem Token sollte man den Status auslesen können
          http://<ip-Adresse des Snapmaker>:8080/api/v1/status?token=<token>

        Verbindet man sich mit Luban, wird im C:\Users\User\AppData\Roaming\snapmaker-luban\machine.json ein Token aktualisiert. Da ich schon an 1. scheitere habe ich mal versucht mich mit Luban zu verbinden und den dort abgelegten Token für 2. zu verwenden. Leider auch ohne Erfolg.

        M Offline
        M Offline
        MP_Trixi
        wrote on last edited by MP_Trixi
        #3

        @mp_trixi
        so wie es aussieht hat mein Modell gar keine API mehr und kommuniziert direkt via TCP. Da war die Rede von einem “SACP connector". Keine Ahnung was das ist. Hat das damit überhaupt Aussicht auf Erfolg mit iobroker, sprich kann sowas damit gesteuert/angesprochen werden?

        Das wäre wohl sowas:
        https://github.com/macdylan/sm2uploader/blob/master/sacp.go
        Zeile 151

        https://github.com/macdylan/sm2uploader/blob/master/connector_sacp.go

        1 Reply Last reply
        0
        • M MP_Trixi

          Niemand? Ich habe das Gefühl, dass hier (https://github.com/Snapmaker/Luban/blob/767fdd048eb1c141ce539dd2f12aeb076ab9582d/src/app/flux/machine/Server.js) drin fast alles fertig vorliegt, bekomme es aber mit meinen arg beschränkten Programmierfähigkeiten nicht hin.
          So wie es aussieht muss man:

          1. Per Post (denke mal das geht so mit dem Browser nicht) sich mit der API verbinden. Das sollte der Aufruf dazu sein:
            http://<ip-Adresse des Snapmaker>:8080/api/v1/connect
            Da sollte ein JSON u.a. mit einem Token zurückkommen (beim ersten mal muss eine Verbindung am Bildschirm des Gerätes freigegeben werden)
          2. Mit dem Token sollte man den Status auslesen können
            http://<ip-Adresse des Snapmaker>:8080/api/v1/status?token=<token>

          Verbindet man sich mit Luban, wird im C:\Users\User\AppData\Roaming\snapmaker-luban\machine.json ein Token aktualisiert. Da ich schon an 1. scheitere habe ich mal versucht mich mit Luban zu verbinden und den dort abgelegten Token für 2. zu verwenden. Leider auch ohne Erfolg.

          NegaleinN Offline
          NegaleinN Offline
          Negalein
          Global Moderator
          wrote on last edited by Negalein
          #4

          @mp_trixi sagte in Status Snapmaker Artisan auslesen:

          Niemand?

          wäre sehr begeistert, wenn sich jemand dem annehmen könnte.

          PS: habs mal nach "Allgemein" verschoben. Passt hier mMn besser als in "Scripte".

          ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
          ° Node.js Fixer ---> iob nodejs-update
          ° Fixer ---> iob fix

          M 1 Reply Last reply
          0
          • NegaleinN Negalein

            @mp_trixi sagte in Status Snapmaker Artisan auslesen:

            Niemand?

            wäre sehr begeistert, wenn sich jemand dem annehmen könnte.

            PS: habs mal nach "Allgemein" verschoben. Passt hier mMn besser als in "Scripte".

            M Offline
            M Offline
            MP_Trixi
            wrote on last edited by
            #5

            @negalein
            Mal schauen ob es hier besser läuft :blush:
            Hast auch nen Snapmaker? Welches Model?

            NegaleinN 1 Reply Last reply
            0
            • M MP_Trixi

              @negalein
              Mal schauen ob es hier besser läuft :blush:
              Hast auch nen Snapmaker? Welches Model?

              NegaleinN Offline
              NegaleinN Offline
              Negalein
              Global Moderator
              wrote on last edited by
              #6

              @mp_trixi sagte in Status Snapmaker Artisan auslesen:

              Hast auch nen Snapmaker? Welches Model?

              Jep, den Artisan :smile:

              ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
              ° Node.js Fixer ---> iob nodejs-update
              ° Fixer ---> iob fix

              M 1 Reply Last reply
              0
              • NegaleinN Negalein

                @mp_trixi sagte in Status Snapmaker Artisan auslesen:

                Hast auch nen Snapmaker? Welches Model?

                Jep, den Artisan :smile:

                M Offline
                M Offline
                MP_Trixi
                wrote on last edited by
                #7

                @negalein
                Na. Dann hoffen wir mal dass jemand was mit dem SACP anfangen kann und wir damit zum Ziel kommen.

                1 Reply Last reply
                0
                • skvarelS Online
                  skvarelS Online
                  skvarel
                  Developer
                  wrote on last edited by skvarel
                  #8

                  Vielleicht kann ich @jkvarel überreden, sich das mal anzugucken. Einen snap-inventwo Adapter :)

                  Wir haben den A350. Zur Zeit läuft er noch über den Repetier-Server und dem Adapter dazu. Da wir uns jetzt von den Creality Druckern trennen und auf Bambu wechseln, brauchen wir den Server nicht mehr. Den Bambu bekomme ich in den ioBroker, mir fehlt dann aber der Snapmaker.

                  #TeamInventwo
                  • Autodarts by inventwo
                  • FoxESS Cloud by inventwo
                  • vis-inventwo & vis-2-widgets-inventwo
                  • vis-icontwo & vis-2-widgets-icontwo

                  NegaleinN M 3 Replies Last reply
                  0
                  • skvarelS skvarel

                    Vielleicht kann ich @jkvarel überreden, sich das mal anzugucken. Einen snap-inventwo Adapter :)

                    Wir haben den A350. Zur Zeit läuft er noch über den Repetier-Server und dem Adapter dazu. Da wir uns jetzt von den Creality Druckern trennen und auf Bambu wechseln, brauchen wir den Server nicht mehr. Den Bambu bekomme ich in den ioBroker, mir fehlt dann aber der Snapmaker.

                    NegaleinN Offline
                    NegaleinN Offline
                    Negalein
                    Global Moderator
                    wrote on last edited by
                    #9

                    @skvarel sagte in Status Snapmaker Artisan auslesen:

                    Vielleicht kann ich @jkvarel überreden, sich das mal anzugucken. Einen snap-inventwo Adapter

                    Ja, das wäre Mega!!!

                    HHab schon versucht den Artisan in Octoprint einzubinden.
                    Funktioniert nur so lala, da nicht der komplette Status übermittelt wird.

                    ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                    ° Node.js Fixer ---> iob nodejs-update
                    ° Fixer ---> iob fix

                    1 Reply Last reply
                    0
                    • skvarelS skvarel

                      Vielleicht kann ich @jkvarel überreden, sich das mal anzugucken. Einen snap-inventwo Adapter :)

                      Wir haben den A350. Zur Zeit läuft er noch über den Repetier-Server und dem Adapter dazu. Da wir uns jetzt von den Creality Druckern trennen und auf Bambu wechseln, brauchen wir den Server nicht mehr. Den Bambu bekomme ich in den ioBroker, mir fehlt dann aber der Snapmaker.

                      M Offline
                      M Offline
                      MP_Trixi
                      wrote on last edited by
                      #10

                      @skvarel
                      Hi - ja das wäre wirklich super. Ich war dazu auch schon anderweitig unterwegs. Vom Snapmaker Support kam nichts brauchbares ((noch) nicht unterstützt). Im Snapmaker Forum habe ich brauchbarere Antworten dazu erhalten (ich hoffe es ist ok, dies hier zu verlinken):
                      https://forum.snapmaker.com/t/do-snapmaker-2-0-devices-have-a-webpage/5455/53

                      Der Artisan unterscheidet sich zum A350 wohl darin, dass von HTTP over TCP auf SACP over TCP umgestellt wurde. Beim 2.0 gibt es eine Möglichkeit via UDP zumindest den Status zu erhalten. Vlt. wäre das ja auch für den Artisan ein erster Schritt (zum Letzteren gibt es ein HomeAssistant Beispiel und python Script).

                      1 Reply Last reply
                      1
                      • NegaleinN Offline
                        NegaleinN Offline
                        Negalein
                        Global Moderator
                        wrote on last edited by
                        #11

                        @skvarel sagte in Status Snapmaker Artisan auslesen:

                        Vielleicht kann ich @jkvarel überreden, sich das mal anzugucken. Einen snap-inventwo Adapter

                        Hallo

                        Konntest du ihn überreden? ;)

                        ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                        ° Node.js Fixer ---> iob nodejs-update
                        ° Fixer ---> iob fix

                        1 Reply Last reply
                        0
                        • skvarelS skvarel

                          Vielleicht kann ich @jkvarel überreden, sich das mal anzugucken. Einen snap-inventwo Adapter :)

                          Wir haben den A350. Zur Zeit läuft er noch über den Repetier-Server und dem Adapter dazu. Da wir uns jetzt von den Creality Druckern trennen und auf Bambu wechseln, brauchen wir den Server nicht mehr. Den Bambu bekomme ich in den ioBroker, mir fehlt dann aber der Snapmaker.

                          NegaleinN Offline
                          NegaleinN Offline
                          Negalein
                          Global Moderator
                          wrote on last edited by
                          #12

                          @skvarel sagte in Status Snapmaker Artisan auslesen:

                          Vielleicht kann ich @jkvarel überreden, sich das mal anzugucken. Einen snap-inventwo Adapter

                          Hallo

                          Gibt es Neuigkeiten? ;)

                          ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                          ° Node.js Fixer ---> iob nodejs-update
                          ° Fixer ---> iob fix

                          M 1 Reply Last reply
                          0
                          • NegaleinN Negalein

                            @skvarel sagte in Status Snapmaker Artisan auslesen:

                            Vielleicht kann ich @jkvarel überreden, sich das mal anzugucken. Einen snap-inventwo Adapter

                            Hallo

                            Gibt es Neuigkeiten? ;)

                            M Offline
                            M Offline
                            matze19999
                            wrote on last edited by
                            #13

                            @negalein Ich habe ein Python Script geschrieben welches sich über SACP over TCP mit dem Artisan verbindet und ein paar Kommendas ausführen kann: https://github.com/matze19999/SnapmakerSACP-Python

                            NegaleinN 1 Reply Last reply
                            0
                            • M matze19999

                              @negalein Ich habe ein Python Script geschrieben welches sich über SACP over TCP mit dem Artisan verbindet und ein paar Kommendas ausführen kann: https://github.com/matze19999/SnapmakerSACP-Python

                              NegaleinN Offline
                              NegaleinN Offline
                              Negalein
                              Global Moderator
                              wrote on last edited by
                              #14

                              @matze19999 sagte in Status Snapmaker Artisan auslesen:

                              Ich habe ein Python Script geschrieben welches sich über SACP over TCP mit dem Artisan verbindet und ein paar Kommendas ausführen kann

                              kann es auch den Status auslesen?
                              Bed Temp
                              Print Temp
                              Print Time
                              Start
                              End

                              Das wäre sehr cool.

                              Und könnte man das dann in ioB bringen?

                              ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                              ° Node.js Fixer ---> iob nodejs-update
                              ° Fixer ---> iob fix

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              Support us

                              ioBroker
                              Community Adapters
                              Donate
                              FAQ Cloud / IOT
                              HowTo: Node.js-Update
                              HowTo: Backup/Restore
                              Downloads
                              BLOG

                              504

                              Online

                              32.7k

                              Users

                              82.4k

                              Topics

                              1.3m

                              Posts
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                              ioBroker Community 2014-2025
                              logo
                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Home
                              • Recent
                              • Tags
                              • Unread 0
                              • Categories
                              • Unreplied
                              • Popular
                              • GitHub
                              • Docu
                              • Hilfe