Diese Dokumentation beschreibt immer die neueste Version des Moduls, aktuell 2.0 im Kanal Beta. Im Kanal Stable liegt noch die Version 1.1. Dort können Funktionen fehlen, die hier beschrieben sind.
Anbindung von OctoPrint an IP-Symcon. Die Bibliothek zeigt den Status des 3D-Druckers, den laufenden Druckjob und die Temperaturen und steuert Druck, Temperaturen, Verbindung und System.
Inhaltsverzeichnis
Screenshots

1. Voraussetzungen
- mindestens IP-Symcon Version 9.0. Die Kachel braucht für die maximierte Ansicht IP-Symcon 9.1.
- OctoPrint 1.8 oder neuer. Für den Button “API Key anfordern” muss das Plugin Application Keys aktiv sein.
- Ein API Key für OctoPrint (Application Key, User-Key oder globaler Key)
2. Funktionsumfang
- Anzeige des Druckerstatus und des laufenden Druckjobs
- Anzeige der Temperaturen von zwei Extrudern, Bett und Kammer
- Setzen der Solltemperaturen
- Letztes Ereignis von OctoPrint (zum Beispiel Druck fertig oder fehlgeschlagen)
- Cockpit-Kachel für die Kachel-Visualisierung mit Bedienung von Druck und Solltemperaturen
- Anzeige von Verbindungsproblemen im Instanzstatus
- Druck starten, pausieren, fortsetzen und abbrechen
- Drucker mit OctoPrint verbinden und trennen
- Herunterfahren und Neustart von System und OctoPrint
- Anmeldung am WebSocket von OctoPrint nur mit dem API Key, API Key lässt sich aus IP-Symcon anfordern
Die einzelnen Funktionen stehen bei den Instanzen unter “Enthaltene Module” und in der README des jeweiligen Moduls.
3. Enthaltene Module
- OctoDiscovery
- Sucht OctoPrint-Server im Netzwerk und legt die Verbindungs-Instanzen an.
- OctoConfigurator
- Legt alle Instanzen zu einem OctoPrint-Server an.
- OctoConnect
- Splitter, der Befehle an OctoPrint sendet und die Statusdaten vom WebSocket verteilt.
- OctoConnectionHandling
- Verbindet und trennt den Drucker, Auswahl von Port und Baudrate.
- OctoCurrentState
- Zeigt den Druckerstatus, startet, pausiert und bricht Drucke ab.
- OctoPrintjob
- Zeigt Datei, Fortschritt und Zeiten des aktuellen Druckjobs.
- OctoSystem
- Fährt das System herunter oder startet System und OctoPrint neu.
- OctoTemperatures
- Zeigt die Temperaturen und setzt die Solltemperaturen von Extruder, Bett und Kammer.
- OctoTile
- Cockpit-Kachel: zeigt den Drucker mit Temperaturverlauf und bedient Druck und Solltemperaturen.
4. Installation
Die Installation erfolgt über den IP-Symcon Module Store.
5. Konfiguration in IP-Symcon
Am einfachsten wird zuerst die OctoDiscovery angelegt und der API Key eingetragen. Über die Liste entstehen der OctoConfigurator, OctoConnect und der WebSocket Client, danach werden im OctoConfigurator die gewünschten Instanzen erstellt.
Von Hand werden die Instanzen in dieser Reihenfolge angelegt:
- WebSocket Client mit der Adresse
ws://<IP>:<Port>/sockjs/websocket, aktiv. - OctoConnect mit dem WebSocket Client als übergeordneter Instanz. API URL und API Key eintragen.
- Die übrigen Instanzen mit OctoConnect als übergeordneter Instanz.
6. Spenden
Dieses Modul ist für die nicht kommerzielle Nutzung kostenlos, Schenkungen als Unterstützung für den Autor werden hier akzeptiert:
7. Lizenz
Changelog
Alle Versionen dieses Moduls, die neueste oben.
Version 2.0
- Neu: Mindestversion ist jetzt Symcon 9.0. Achtung: Die Bibliothek nutzt jetzt IPSModuleStrict, ältere Versionen von Symcon werden nicht mehr unterstützt.
- Neu: Variablen nutzen die neuen Darstellungen von Symcon statt der alten Variablenprofile. Achtung: Die alten Profile (OCTO., OctoPrint.MB, OcotoPrint.Temperatures) bleiben im System stehen und können gelöscht werden.
- Neu: Neue Instanz OctoTile: Cockpit-Kachel für die Kachel-Visualisierung mit Status, Fortschritt, Zeiten, Z-Höhe und Temperaturverlauf. Die Kachel startet, pausiert und bricht Drucke ab (mit Rückfrage) und stellt die Solltemperaturen ein. Achtung: Wer die Kachel sehen darf, kann den Druck steuern.
- Neu: OctoConnect: Der API Key lässt sich per Button "API Key anfordern" von OctoPrint holen (Application Keys).
- Neu: OctoConnect: Die Anmeldung am WebSocket erfolgt nur mit dem API Key, Benutzer und Passwort entfallen. Achtung: Bestehende Instanzen brauchen einen eingetragenen API Key, sonst kommen keine Statusdaten mehr an. Das gilt auch für die OctoDiscovery.
- Neu: OctoConnect: Der Instanzstatus zeigt, wenn die API URL oder der API Key fehlt, OctoPrint nicht erreichbar ist oder der Key abgelehnt wird. Fehler bei Befehlen stehen als Warnung im Meldungsfenster.
- Neu: OctoConnect: Einstellbares Aktualisierungsintervall, Terminal-Logs werden nicht mehr übertragen.
- Neu: OctoConnect: Nach einem Neustart von OctoPrint oder dem Ablauf der Session meldet sich das Modul von selbst neu an.
- Neu: OctoConnect: Die Version von OctoPrint steht in der Zusammenfassung der Instanz.
- Neu: OctoCurrentState: Neue Variablen "Letztes Ereignis" und "Zeitpunkt des letzten Ereignisses" (zum Beispiel PrintDone, PrintFailed).
- Neu: OctoPrintjob: Neue Variablen für Z-Höhe, geschätzte Druckzeit, Filamentlänge, Filamentvolumen und Dateidatum.
- Neu: OctoTemperatures: Optional ein zweiter Extruder, die Kammer-Solltemperatur ist jetzt einstellbar.
- Neu: OctoConnectionHandling: Port und Baudrate werden aus OctoPrint geladen und beim Verbinden verwendet.
- Fix: OctoPrintjob: Die Druckzeit wird in Sekunden gespeichert und als Dauer angezeigt, bisher war es eine Uhrzeit, die nach 24 Stunden falsch lief. Achtung: Archivierte Werte der Variable "Druckzeit" aus früheren Versionen sind Zeitstempel und passen nicht zu den neuen Werten.
- Fix: OctoConnect: Die Funktion heißt jetzt OCTOOctoPrintLogin(). Achtung: Der alte Name OCTOOtcoPrintLogin() bleibt als Alias erhalten, sollte aber nicht mehr verwendet werden.
- Fix: OctoConnectionHandling: Die Funktion heißt jetzt OCTODisconnect(). Achtung: Der alte Name OCTODisonnect() bleibt als Alias erhalten.
- Fix: OctoConfigurator und OctoDiscovery werden wieder geladen.
- Fix: OctoCurrentState: Fehlende Statuswerte führen nicht mehr zu Fehlern. Die Variable zum Pausieren heißt bei neuen Instanzen "Pause / Fortsetzen".
- Fix: OctoConnectionHandling: Die Verbindungseinstellungen werden korrekt ausgelesen.
- Fix: OctoConnect: Fehlerhafte Antworten und Verbindungsfehler führen nicht mehr zu Fehlern.
- Fix: OctoPrintjob: Der Anzeigename wird gesetzt, fehlende Werte führen nicht mehr zu Fehlern.
- Fix: OctoDiscovery: Die Suche funktioniert auch bei anderer Reihenfolge der mDNS-Angaben.
- Fix: OctoTemperatures: Leere Temperaturdaten führen nicht mehr zu Fehlern.
- Fix: Alle deutschen Übersetzungen überarbeitet und vervollständigt.
Version 1.1
- Neu: Neue Instanz OctoSystem.
Version 1.0
- Neu: Erste stabile Version.