OctoPrint-Telegram für Benachrichtigungen

OctoPrint bietet eine Reihe von verschiedenen Plugins zur Installation an, mit denen wir unsere Arbeit mit dem 3D Drucker besser kontrollieren können. Eines dieser Plugins ist OctoPrint-Telegram. Hier handelt es sich um einen Telegram Bot, der uns über den Telegram-Messenger informieren kann, was der 3D Drucker so alles tut. Welche Benachrichtigungen versendet werden sollen, kann in den Einstellungen des Plugins festgelegt werden. Mit dem Plugin kann der 3D Drucker auch gesteuert werden, z.B. Starten, Pausieren und Stoppen. Dateien hochladen und einiges mehr. Doch zuerst muss der Plugin installiert werden!



Als erstes muss man sich bei Telegram anmelden, falls noch nicht geschehen. Rufen wir die Weboberfläche von OctoPrint auf. Dort gehen wir in die „Einstellungen„, und anschließend auf „Pluginmanager„. Ganz unten klicken wir auf „Mehr“ und geben dann im Suchfeld „Telegram“ ein. Wurde der Plugin gefunden, so kann es über den Button „Installieren“ installiert werden:

Nach der Installation werden wir aufgefordert, den OctoPrint neu zu starten. Nach dem Neustart öffnet sich direkt der Wizzard von OctoPrint-Telegram, wo wir den Telegram Bot Token hinterlegen müssen:

chrome_2018-08-09_10-42-10

Den Token können wir folgendermaßen anfordern: In der Telegram-App muss man den Text „/start“ an den Empfänger „BotFather“ senden. Den Empfänger @botfather kann man über die Suche finden. Danach muss der Text „/newbot“ gesendet werden.  Nun werden wir aufgefordert, einen Namen für unseren Bot zu vergeben, z.B. „Mein OctoPrint Bot“. Als nächstes muss ein Benutzername angegeben werden. Hier kann man den Namen verwenden, den wir uns ausgesucht haben, allerdings dürfen hier keine Leerzeichen enthalten sein. Deshalb machen wir aus „Mein OctoPrint Bot“ einen „Mein_OctoPrint_Bot„-Benutzernamen. Das war’s! Unser neuer Token wird uns in der Nachricht unter HTTP API angezeigt. Den geben wir in unseren Setup-Wizzard bei „Telegram Bot Token“ ein, und klicken auf „Test this token„:

Sketch013

Wenn der Token richtig übernommen wurde, bekommen wir den Hinweis angezeigt, dass der Token valide ist. Jetzt kann der Setup-Wizzard beendet werden.

[adinserter block=“2″]

Gehen wir jetzt noch ein Mal in unseren „Pluginmanager„, und wählen dort „Telegram“ aus. Nun können wir hier Einstellungen vornehmen, wann und was gesendet werden soll:

Zum Schluss müssen wir noch unserem Bot die Erlaubnis erteilen, dass wir in OctoPrint  benachrichtigt werden dürfen, und dass er von uns gesendete Befehle ausführen darf. Dafür klicken wir in der Nachricht, die wir von @botfather bekommen haben, auf „t.me/deinbotname„. Daraufhin öffnet sich ein neuer Chat, wo wir eine Meldung bekommen: „Now I know you. Before you can do anythin….„. Wir starten den OctoPrint neu. Wir gehen nun noch ein Mal in die Einstellungen des OctoPrints, und anschließend in den Telegram-Plugin. Unter „Known Chats“ erscheint nun unser Kontakt, falls nicht, klickt bitte auf den Button „Neu Laden„:

Telegram010

Hier müssen wir bei „Aktion“ auf den Bleistift klicken, um die Berechtigungen zu aktivieren. Wir aktivieren beides und klicken anschließend auf „Schließen„:

Telegram011

Jetzt müssen wir nur noch sagen, welche Befehle unser Bot ausführen darf. Dafür klicken wir bei „Command“ auf das Icon „Power“:

Telegram012

Nun können wir hier verschiedene Commandos aktivieren, die unser Bot ausführen darf. Aus Sicherheitsgründen würde ich hier nur das aktivieren, auf was man nicht verzichten kann. Das Commando „/status“ kann man ohne Bedenken aktivieren:

Telegram013

Fertig 🙂 Testen wir doch Mal kurz, ob es funktioniert: sende den Text „/status“ an unseren Bot (nicht @botfather), dann solltest du eine Rückmeldung bekommen. Hier ist die Rückmeldung von meinem Bot:

Telegram_2018-08-10_20-48-35

So können wir also jederzeit den Status abfragen, von jedem Ort der Welt! 🙂 Selbstverständlich können wir viel mehr tun, als nur den Status abfragen:

Commands

  • /abort: Damit kann der Druckjob gestoppt werden
  • /con: Die Verbindung zwischen OctoPrint und dem 3D Drucker kann hiermit hergestellt oder aufgehoben werden
  • /ctrl: keine Ahnung 🙂
  • /dontshutup: Hebt den „shutup“ wieder auf. D.h. unser Bot wird uns wieder benachrichtigen
  • /files: Zeigt alle Dateien an, die auf der micro SD-Karte des 3D Druckers gespeichert sind
  • /print: Startet einen Druckjob (hier kann eine Gcode-Datei ausgewählt werden)
  • /settings: Zeiteinstellungen
  • /shutup: Damit sagen wir dem Bot, dass er uns keine Benachrichtigungen senden soll, bis der Druckjob abgeschlossen wurde
  • /status: Aktueller Status des 3D Druckers
  • /sys: Hiermit kann man OctoPrint neustarten oder herunterfahren
  • /togglepause: 3D Drucker pausieren. Sendet man erneut diesen Befehl, so druckt der 3D Drucker weiter
  • /tune: Hier kannst du einige Werte anpassen, z.B. Temperatur für das Bed usw.
  • /upload: Damit kann man eine Gcode-Datei über Telegram an unseren 3D Drucker senden
  • /user: Zeigt alle Berechtigungen für den Bot an

Die Benachrichtigungen, die unser Bot selbständig senden kann, können bei Notify aktiviert werden:

Telegram014

Hier kann man ruhig alles aktivieren.

Weiteres

Über folgende Befehle, die wir an den @botfather senden, können wir unseren Bot editieren bzw. ändern:

Edit Bots

  • /setname den Bot-Namen ändern
  • /setdescriptionBot-Beschreibung ändern
  • /setabouttext: Bots „über“ ändern
  • /setuserpic: das Profilbild von unseren Bot kann hier gesetzt oder geändert werden
  • /setcommandsdie Liste „Commandos“ kann hier geändert werden
  • /deletebot: hiermit kann man unseren Bot löschen

Bot Settings

  • /token: generate authorization token
  • /revoke: revoke bot access token
  • /setinline: toggle inline mode (https://core.telegram.org/bots/inline)
  • /setinlinegeo: toggle inline location requests (https://core.telegram.org/bots/inline#location-based-results)
  • /setinlinefeedback: change inline feedback (https://core.telegram.org/bots/inline#collecting-feedback) settings
  • /setjoingroups: can your bot be added to groups?
  • /setprivacy: toggle privacy mode (https://core.telegram.org/bots#privacy-mode) in groups

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.