NEWS
Test adapter anycubic-cloud
-
Moin zusammen! 👋
Für meinen Kobra S1 mit ACE 2 Pro gab es bisher keinen ioBroker-Adapter – also habe ich einen gebaut. Er bildet den Drucker über die Anycubic-Cloud ab und ist bewusst rein lesend: Er holt Zustände, schickt aber keine Befehle an den Drucker. Ich suche jetzt Mittester – vor allem mit anderen Modellen, denn getestet habe ich bisher nur den Kobra S1.
Aktueller Stand: Version 0.3.3 auf npm. Die Aufnahme ins Beta-Repository (latest) ist beantragt – bis dahin bitte wie unten beschrieben installieren.
Was der Adapter liefert
- Druck: Zustand (lädt, heizt, druckt, pausiert, fertig …), Fortschritt, Restzeit, Schicht, Filamentmenge
- ACE: alle Slots mit Farbe, Material, SKU, Restmenge + Trockner
- Verbrauch: Filament je Slot nach jedem Druck, die letzten 30 Drucke als Verlauf
- Außerdem: Temperaturen, Lüfter, Klartext-Status, Reconnect mit Backoff, Warnung vor Token-Ablauf, läuft auch im Compact-Modus
Seit der 0.3.0 sind alle Datenpunkte englisch benannt (z. B.
status,job.progress,temperature.nozzle), die Objektnamen gibt es in allen ioBroker-Sprachen.Bitte vorher lesen
⚠️ Inoffiziell & auf eigenes Risiko. Es gibt keine offene Schnittstelle von Anycubic; der Adapter geht denselben Weg wie der Slicer und nutzt dafür zur Laufzeit Kennungen/Zertifikate aus dem Projekt
anycubic-cloud-api(GPL-3). Ändert Anycubic etwas, kann es brechen.- Cloud-Modus nötig – im reinen LAN-/Offline-Modus geht es nicht.
- Kein Kamerabild – die Cloud liefert keine Einzelbilder.
- Keine Steuerung (Pause/Fortsetzen …) – wäre machbar, ist bewusst noch nicht drin; dafür ist Slicer/App derzeit eh sinnvoller.
Installation
Voraussetzungen: Node.js 22.18 oder neuer, js-controller 6.0.11 oder neuer, Admin 7.6.20 oder neuer.
Im Admin im Expertenmodus bei Adapter auf die Katze, Reiter „Benutzerdefiniert“ und dort
iobroker.anycubic-cloudeintragen. Oder per Kommandozeile:iobroker url iobroker.anycubic-cloudBitte nicht über den GitHub-Link installieren: Der Adapter ist in TypeScript geschrieben, im Repo liegt nur der Quellcode. Die Installation läuft zwar durch, aber die Instanz startet danach nicht.
Update: dasselbe mit Versionsnummer, z. B.
iobroker url iobroker.anycubic-cloud@0.3.3– Instanz und Token bleiben erhalten.Token
Einmalig braucht es den Zugangs-Token aus Anycubic Slicer Next (~90 Tage gültig). Dafür gibt es ein kleines Windows-Hilfsskript (
tools/get-token.ps1, liegt nur auf GitHub, nicht im npm-Paket), das den Token aus der Slicer-Konfiguration bzw. einer selbst erzeugten Abbilddatei herausfischt und in die Zwischenablage legt – es liest nur Dateien. Schritt für Schritt steht's in der deutschen Anleitung.Links
- 📦 GitHub: https://github.com/hwiedermann/ioBroker.anycubic-cloud
- 📖 Deutsche Anleitung: https://github.com/hwiedermann/ioBroker.anycubic-cloud/blob/main/docs/de/README.md
- 🏷️ Releases: https://github.com/hwiedermann/ioBroker.anycubic-cloud/releases
- 📥 npm: https://www.npmjs.com/package/iobroker.anycubic-cloud
Über Rückmeldungen, Logs und Issues freue ich mich – hier im Thread oder auf GitHub. Danke fürs Mittesten! 🙌
-
Und bitte geh die vom Repochecker gemeldeten Fehler und Warnings mal durch. Falls du Unterstützung brauchst oder Fragen hast, bitte melde dich in unseren Entwicklerkanälen auf Discord / Telegramm. Invite Links findest du auf www.iobroker.dev.
ERRORS:
❗ [E0036] @iobroker/testing 5.0.4 specified. 6.2.1 is required as minimum, 6.3.0 (or newer) is current. Please update devDependencies at package.json
❗ [E0040] "keywords" within package.json should contain "ioBroker"
❗ [E0094] "prepare" script is not allowed at ioBroker adapters and needs to be removed.
❗ [E1027] Missing suggested translation into ru,pt,nl,fr,it,es,pl,uk,zh-cn of "common.titleLang" in io-package.json.
❗ [E1034] Missing suggested translation into ru,pt,nl,fr,it,es,pl,uk,zh-cn of "common.desc" in io-package.json.
❗ [E1054] Missing suggested translation into ru,pt,nl,fr,it,es,pl,uk,zh-cn of some "common.news" in io-package.json.
❗ [E1057] admin 7.0.0 listed as dependency but 7.6.17 is required as minimum, 7.6.20 is recommended. Please update globalDependency at io-package.json.
❗ [E1084] "common.title" is deprecated and replaced by "common.titleLang". Please remove from io-package.json.
❗ [E2001] Bluefox was not found as collaborator on npm. Please execute in adapter directory: npm owner add bluefox iobroker.anycubic-cloud or invite him at npmjs.com
❗ [E2004] Version "0.1.2" listed at common.news at io-package.json does not exist at NPM. Please remove from news section.
❗ [E2008] Version 0.2.0 tagged as "latest" at npm is not signed with provenance. Trusted publishing is recommended.
❗ [E3009] "test-and-release.yml" is missing recommended concurrency configuration. See "https://github.com/ioBroker/ioBroker.example/blob/e7db900495bb3c2b89dc35d863dda4ccf33f5def/JavaScript/.github/workflows/test-and-release.yml#L17" for details.
❗ [E3010] "test-and-release.yml": job "check-and-lint" is missing. Please add it.
❗ [E3011] "test-and-release.yml": job "adapter-tests" is missing. Please add it.
❗ [E3012] "test-and-release.yml": job "deploy" is not defined. Consider adding it for automated releases.
❗ [E3040] "test-and-release.yml": "push" trigger "tags" is missing required pattern(s): v[0-9]+.[0-9]+.[0-9]+, v[0-9]+.[0-9]+.[0-9]+-**
❗ [E4048] No valid email address found for author/maintainer (package.json author "Hendrik", io-package.json author "Hendrik")
❗ [E4050] No valid email address found for copyright line in README.md
❗ [E4051] No valid email address found for copyright line in LICENSE (Copyright (C) 2007 Free Software Foundation, Inc. https://fsf.org/)
❗ [E5005] Plain setTimeout() found in source files (src/lib/rest.ts, werkzeuge/probe-mqtt.ts). Please use this.setTimeout() or adapter.setTimeout() instead.
❗ [E5019] "build/main.js" found in package.json, but not found as file. Please commit "build/*" tree to github or set "common.nogit" attribute to true at io-package.json.
❗ [E5611] "admin/jsonConfig.json/items/restMinuten" attribute "label" is missing language(s) "ru", "pt", "nl", "fr", "it", "es", "pl", "uk", "zh-cn" in i18n object.
❗ [E5611] "admin/jsonConfig.json/items/token" attribute "label" is missing language(s) "ru", "pt", "nl", "fr", "it", "es", "pl", "uk", "zh-cn" in i18n object.
❗ [E5611] "admin/jsonConfig.json/items/tokenWarnTage" attribute "help" is missing language(s) "ru", "pt", "nl", "fr", "it", "es", "pl", "uk", "zh-cn" in i18n object.
❗ [E5611] "admin/jsonConfig.json/items/tokenWarnTage" attribute "label" is missing language(s) "ru", "pt", "nl", "fr", "it", "es", "pl", "uk", "zh-cn" in i18n object.
❗ [E6005] No actual year found in copyright at README.md. Please add "Copyright (c) 2026 Hendrik" at start of LICENSE section.
❗ [E6015] README.md must use English language only but appears to contain German text (detected: "bei Bedarf baubar)"). Please remove or translate.
❗ [E6025] README.md must contain exactly one H1 heading, but found 6.
❗ [E6033] ## License section in README.md must contain a copyright line like "Copyright (c) 2026 iobroker-community-adapters".
❗ [E6034] ## License section in README.md must contain either the complete license text or a link to the LICENSE file.
❗ [E8002] No topics found in the repository. Please go to "https://github.com/hwiedermann/ioBroker.anycubic-cloud", press the settings button beside the about title and add some topics.
❗ [E9006] .commitinfo file should be excluded by .gitignore, please add a line with text ".commitinfo" to .gitignoreWARNINGS:
👀 [W0062] Consider adding and using package "@alcalzone/release-script".
👀 [W0062] Consider adding and using package "@iobroker/adapter-dev".
👀 [W0062] Consider adding and using package "@iobroker/eslint-config".
👀 [W0074] No "lint" script found in package.json. Please add one.
👀 [W3050] "test-and-release.yml": no "check-and-lint" job found in run #1 on branch "main". Cannot verify "npm run test:package" output.
👀 [W3050] "test-and-release.yml": no "check-and-lint" job found in run #2 for current release 0.2.0. Cannot verify "npm run test:package" output.
👀 [W3052] "test-and-release.yml": no "adapter-tests" job found in run #1 on branch "main". Cannot verify "npm run test:integration" output.
👀 [W4001] Cannot find "anycubic-cloud" in latest repository. Please ignore if PR to add adapter to repositories already exists.
👀 [W5005] setTimeout() found in source files (src/lib/rest.ts, werkzeuge/probe-mqtt.ts) but no clearTimeout() detected.
👀 [W5015] Why did you decide to disable i18n support at jsonConfig.json(5)?
👀 [W6020] Consider adding a CHANGELOG_OLD.md file to store older changelog entries. This is supported by @alcalzone/releasescript. -
Kurzes Update von mir:
Seit heute gibt es die 0.2.2 auf npm und GitHub. Für euch ändert sich da inhaltlich nichts, das war hauptsächlich Aufräumarbeit. Der ioBroker-Bot hatte nach dem ersten Release ordentlich was zu meckern, das ist jetzt bis auf einen Punkt alles erledigt. Offen ist nur noch, dass bluefox auf npm als Co-Owner eingetragen wird. Die Einladung ist raus, jetzt muss er sie nur noch annehmen. Danach melde ich den Adapter fürs Beta-Repo an und dann findet ihr ihn ganz normal in der Adapterliste.
Bis dahin noch ein Hinweis, weil ich selbst fast drüber gestolpert wäre: Bitte nicht über die GitHub-Katze mit dem Repo-Link installieren. Der Adapter ist in TypeScript geschrieben und im Repo liegt nur der Quellcode. Die Installation läuft zwar durch, aber die Instanz startet danach nicht. Besser im Expertenmodus bei Adapter auf die Katze, Reiter "Benutzerdefiniert" und da einfach iobroker.anycubic-cloud eintragen. Dann zieht er sich die aktuelle Version von npm.
Kleine Sache noch fürs nächste Release: Chrome wollte mir im Token-Feld der Instanz ständig ein sicheres Passwort vorschlagen, das hat mich genervt. Ist jetzt ein normales Textfeld, gespeichert wird der Token aber weiterhin verschlüsselt.
Wer einen anderen Anycubic-Drucker als den Kobra S1 hat und mal testen mag, gerne melden. Hier oder als Issue auf GitHub, wie es euch lieber ist.
-
Kurzes Update: Die 0.3.0 ist auf npm. Wichtig für alle, die schon testen: Das ist ein Breaking Change. Alle Datenpunkte und Werte sind jetzt englisch, also zum Beispiel status statt zustand, printing statt druckt und temperature.nozzle statt temp.duese. Beim ersten Start nach dem Update räumt der Adapter die alten Objekte selbst weg und übernimmt dabei den Filamentverbrauch der letzten Drucke.
Was ihr per History, SQL oder InfluxDB aufgezeichnet habt, hängt allerdings an den alten IDs und wandert nicht mit.Skripte und Visualisierungen müsst ihr entsprechend anpassen, die komplette Liste steht in der README. Update geht per Konsole mit iobroker url iobroker.anycubic-cloud@0.3.0, die Instanz und der Token bleiben dabei erhalten. Außerdem läuft der Adapter jetzt auch im Compact-Modus. Und noch ein Hinweis zum Token-Skript: Es heißt jetzt tools/get-token.ps1, der alte Link auf token-holen.ps1 führt ins Leere. Rückmeldungen, gerade mit anderen Modellen als dem Kobra S1, sind weiterhin sehr willkommen.
-
Kurzes Update: Inzwischen ist die 0.3.3 auf npm, dazwischen gab es die 0.3.1 und 0.3.2. Für eure Skripte ändert sich diesmal nichts, alle Datenpunkte heißen weiter wie seit der 0.3.0.
In der 0.3.1 haben Restzeit, Laufzeit und Trocknungsdauer die Einheit m bekommen, wie es für die Rolle value.interval vorgesehen ist. Die Werte sind weiterhin Minuten. Außerdem passen sich die Instanz-Einstellungen jetzt besser an kleine Bildschirme an. Mit der 0.3.2 hat die Farbe der ACE-Slots die Rolle text statt level.color.rgb bekommen, der Wert bleibt #RRGGBB. Und alle Objektnamen gibt es jetzt in allen ioBroker-Sprachen. Die 0.3.3 sorgt dafür, dass Name und Rolle der vorhandenen Objekte direkt beim Start aktualisiert werden. Vorher passierte das erst, wenn für einen Datenpunkt ein neuer Wert kam, sodass nach einem Update manche Objekte noch eine Weile ihren alten Namen hatten.
Das waren alles Punkte aus der Prüfung für die Aufnahme ins Beta-Repo, der Antrag dafür läuft gerade. Update geht wie gehabt per Konsole mit iobroker url iobroker.anycubic-cloud@0.3.3 oder im Expertenmodus über die Katze, Reiter "Benutzerdefiniert". Instanz und Token bleiben dabei erhalten. Rückmeldungen, gerade mit anderen Modellen als dem Kobra S1, sind weiterhin sehr willkommen.
-
@hwiedermann ich hab hier einen lokalen geschrieben
https://github.com/arteck/ioBroker.anycubic
es wird rinkhals benötigt..
dann ist das ganze geraffel mit der cloud aussen vor..naur mal so... ich hab den aber nicht published.
-
@arteck danke dir für den Hinweis, Rinkhals kenne ich und dein Adapter ist sicher die bessere Wahl für alle, die die Firmware schon drauf haben oder sowieso basteln wollen. Ich bleibe bewusst bei der Original-Firmware, der Drucker ist erst ein paar Tage alt, läuft super und ich will da im Moment nichts dran machen. Genau für Leute in der Lage ist der Cloud-Weg gedacht, die Anycubic-App und der Slicer funktionieren ganz normal weiter. Insofern ergänzt sich das eigentlich ganz gut.
Und dann noch ein kurzes Update: Die 0.3.5 ist auf npm, dazwischen gab es die 0.3.4. Beides sind reine Fehlerbehebungen, an euren Datenpunkten ändert sich nichts.
Beim Aufzeichnen der ACE-Trocknung ist mir aufgefallen, dass Temperatur und Feuchte alle 10 Minuten kurz auf feste Werte gesprungen sind, bei mir 30 °C und 22 %, obwohl der ACE mit 65 °C getrocknet hat. Die kamen aus der Cloud-Abfrage, die der Adapter regelmäßig zur Sicherheit macht. Dort stehen für den ACE offenbar feste Werte drin, die echten kommen nur über MQTT. Seit der 0.3.5 nimmt der Adapter Temperatur und Feuchte des ACE deshalb nur noch aus MQTT.
Außerdem wurde der Drucker nach dem Aufwachen aus dem Ruhemodus bis zur nächsten Abfrage weiter als offline angezeigt, teilweise ein paar Minuten lang. Das ist mit der 0.3.4 behoben.
Update wie gehabt per Konsole mit iobroker url iobroker.anycubic-cloud@0.3.5 oder im Expertenmodus über die Katze, Reiter "Benutzerdefiniert". Instanz und Token bleiben dabei erhalten.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden