OctoPI und Ereignisse

Hat man an seinem 3D Drucker einen PI mit OctoPI Betriebssystem angeschlossen, kann man über diverse Ereignisse ganz einfacht informiert werden. Das geht zwar (teilweise) auch via Android-Apps am Händy, aber dafür muss die entsprechende App das können. (Und das klappt z.Zt. nur recht unzuverlässig…)

Ausserdem lassen sich so auch noch ganz andere Dinge veranlassen. (z.B. Drucker automatisch abschalten, wenn fertig…)

Datei : /home/pi/.octoprint/config.yaml

Nach den Zeilen mit „appearance : color: blak“ z.B. folgendes einfügen :

events:
  enabled: true
  subscriptions:
  - command: /home/pi/nachricht.sh NichtMehrVerbunden
    event: Disconnected
    type: system
  - command: /home/pi/nachricht.sh DruckFehlgeschlagen
    event: PrintFailed
    type: system
  - command: /home/pi/nachricht.sh Fertig
    event: PrintDone
    type: system

Damit das funktioniert, muss es natürlich die /home/pi/nachricht.sh geben. (Und sie muss ausführbar sein)
Relativ einfach geht das z.B. mit Telegram (hat eine API !) :

#!/bin/bash
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

TEXT="$HOSTNAME
$1"
TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
CHATID=yyyyyyyyy
TIMEOUT=10


URL=https://api.telegram.org/bot$TOKEN/sendMessage
CMDARGS="chat_id=$CHATID&disable_web_page_preview=1&text=$TEXT"
curl -s --max-time $TIMEOUT -d "$CMDARGS" $URL >/dev/null