Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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
    14
    1
    205

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.8k

Status Snapmaker Artisan auslesen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
14 Beiträge 4 Kommentatoren 1.8k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M Offline
    M Offline
    MP_Trixi
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
      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
        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von 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 Update ---> iob nodejs-update
          ° Fixer ---> iob fix

          M 1 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #5

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

            NegaleinN 1 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #6

              @mp_trixi sagte in Status Snapmaker Artisan auslesen:

              Hast auch nen Snapmaker? Welches Model?

              Jep, den Artisan :smile:

              ° Node.js Update ---> iob nodejs-update
              ° Fixer ---> iob fix

              M 1 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #7

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

                1 Antwort Letzte Antwort
                0
                • skvarelS Online
                  skvarelS Online
                  skvarel
                  Developer
                  schrieb am zuletzt editiert von 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
                  • vis-inventwo & vis-2-widgets-inventwo
                  • vis-icontwo & vis-2-widgets-icontwo

                  NegaleinN M 3 Antworten Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Update ---> iob nodejs-update
                    ° Fixer ---> iob fix

                    1 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      1
                      • NegaleinN Offline
                        NegaleinN Offline
                        Negalein
                        Global Moderator
                        schrieb am zuletzt editiert von
                        #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 Update ---> iob nodejs-update
                        ° Fixer ---> iob fix

                        1 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Update ---> iob nodejs-update
                          ° Fixer ---> iob fix

                          M 1 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #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 Update ---> iob nodejs-update
                              ° Fixer ---> iob fix

                              1 Antwort Letzte Antwort
                              0
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

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

                              951

                              Online

                              32.5k

                              Benutzer

                              81.8k

                              Themen

                              1.3m

                              Beiträge
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                              ioBroker Community 2014-2025
                              logo
                              • Anmelden

                              • Du hast noch kein Konto? Registrieren

                              • Anmelden oder registrieren, um zu suchen
                              • Erster Beitrag
                                Letzter Beitrag
                              0
                              • Home
                              • Aktuell
                              • Tags
                              • Ungelesen 0
                              • Kategorien
                              • Unreplied
                              • Beliebt
                              • GitHub
                              • Docu
                              • Hilfe