Damit ich meinen 3D Drucker nach dem Druckvorgang automatisch ausschalten kann, habe ich ein Sonoff Relais so verbaut, dass es die Stromversorgung zum kompletten 3D Drucker unterbrechen kann. Das Relais wird dann über MQTT angesteuert und schaltet den Drucker nach Abschluss des 3D Drucks automatisch ab.
Auf dem gleichen Weg lässt sich der Drucker auch wieder einschalten. Anfangs habe ich dazu einen entsprechend konfigurierten Taster genutzt. Irgendwann kam ich aber auf die Idee, dass dieser Einschaltbefehl doch auch per Mausklick machbar sein sollte.
Daraus entstand mit der Zeit der unten stehende Flow welcher sich auch für andere Aktionen nutzen lassen sollte. Dazu reicht es die gezeigte batch-Datei auszuführen und schon wird das konfigurierte Signal an Eure NodeRed-Instanz gesendet, wo dann darauf reagiert werden kann.
Weiter Infos erfahrt Ihr im folgenden Artikel.
Sicherheitshinweise
Ich weiß die folgenden Hinweise sind immer irgendwie lästig und wirken unnötig. Aber leider haben schon viele Menschen die es "besser" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese können echt ärgerlich sein. Deswegen nehmt Euch bitte fünf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen Ärger wert.
https://www.nerdiy.de/sicherheitshinweise/
Affiliatelinks/Werbelinks
Die hier in aufgeführten Links zu Online-Shops sind sogenannte Affiliate-Links. Wenn Du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekommt Nerdiy.de von dem betreffenden Online-Shop oder Anbieter eine Provision. Für Dich verändert sich der Preis nicht. Falls Du Deine Einkäufe über diese Links tätigst unterstützt Du Nerdiy.de dabei auch in Zukunft weitere nützliche Projekte anbieten zu können. 🙂
Voraussetzungen
Hilfreiche Artikel:
Damit Ihr neue Nodes installieren könnt sollte NodeRed natürlich schon installiert sein.
Wie ihr einen RaspberryPi dazu vorbereitet und dann NodeRed darauf installiert ist in den folgenden Artikeln beschrieben.
- RaspberryPi – Einrichten für Nerdiys!
- RaspberryPi – Die Erste Konfiguration!
- RaspberryPi – Den RaspberryPi über SSH steuern
- NodeRed – Installation von NodeRed auf dem RaspberryPi
- NodeRed – Neue Nodes installieren
- NodeRed – Node-Code importieren und exportieren
Benötigtes Werkzeug:
-keins-
Benötigtes Material:
In der folgenden Liste findet Ihr alle Teile die Ihr zur Umsetzung dieses Artikels benötigt.
In die NodeRed Konfigurationsoberfläche einloggen
Bevor Ihr eure NodeRed Konfiguration bearbeiten könnt müsst Ihr Euch - falls aktiviert - zunächst in die NodeRed Konfigurationsoberfläche einloggen.

Aktion über Batch-Datei auslösen
Diese Umsetzung besteht aus mehreren Komponenten. Damit Ihr per Mausklick eine Aktion auslösen könnt müsst Ihr zunächst eine Batch-Datei erstellen. Dies ist ein Skript mit dem sich Kommandozeilenbefehle unter Windows zusammenfassen und auslösen lassen.
Zum Ein- und Ausschalten meines 3D Druckers habe ich dazu zwei Batch-Dateien erstellt. Die Datei zum Einschalten des 3D Druckers schaltet den 3D Drucker direkt nach dem Ausführen ohne weitere Nachfrage ein.
Die Datei zum Ausschalten wartet nach dem Ausführen zunächst auf eine weitere Bestätigung. Erst wenn diese mit einem „Y“ bestätigt wurde, wird der Befehl zum Ausschalten des 3D Druckers auch abgesendet. So kann man den 3D Drucker nicht aus Versehen unabsichtlich (zum Beispiel während eines laufenden Druckvorgangs) abschalten.

Links seht Ihr den Inhalt der Batch Datei zum Absenden eines Befehls ohne weitere Nachfrage.
Dazu wird beim Ausführen der Batch-Datei der Link
https:// server.fritz.box:1880/http2mqttBridge.json?action=3dPrinterOn
aufgerufen. Dabei wird der Wert „3dPrinterOn“ für den Parameter „action“ übergeben. Dieser Wert wird in NodeRed ausglesen und abhängig davon darauf reagiert.
So wird beim Aufruf des Links und dem Wert „3dPrinterOn“ der 3D Drucker eingeschaltet.
Den Inhalt der Batch-Datei findet Ihr nachfolgend auch als Text.
curl --insecure https:// server.fritz.box:1880/http2mqttBridge.json?action=3dPrinterOn

In diesem Beispiel seht Ihr den Inhalt einer Batch-Datei zum Absenden eines Befehls inkl. Nachfrage. Das heißt bevor der Link
https:// server.fritz.box:1880/http2mqttBridge.json?action=3dPrinterOff
aufgerufen wird, wird zunächst nachgefragt ob man dies wirklich tun möchte. Erst danach wird der Link aufgerufen.
Dabei wird für den Parameter „action“ der Wert „3dPrinterOff“ übergeben. Eure NodeRed Instanz kann diesen Wert wieder auslesen und entsprechend handeln. In diesem Fall wird der 3D Drucker ausgeschaltet.
Den Inhalt der Batch-Datei findet Ihr nachfolgend auch als Text.
@echo off :repeat set /p answer=3D Pinter poweroff: Proceed (Y/N)? if /i "%answer:~,1%" EQU "Y" curl --insecure https:// server.fritz.box:1880/http2mqttBridge.json?action=3dPrinterOff && exit /b if /i "%answer:~,1%" EQU "N" exit /b echo Please type Y for Yes or N for No goto repeat
Batch-Dateien könnt Ihr ganz leicht selber erstellen. Erstellt dazu einfach eine simple Textdatei, speichert den oben gezeigten Inhalt darin ab und ändert dann die Dateiendung der Textdatei von „.txt“ in „.bat“. Danach könnt Ihr die Batch-Datei durch einen Doppelklick darauf ausführen. 🙂
Der NodeRed-Code zur Weiterverarbeitung
Damit Eure NodeRed Instanz die entgegen genommenen Aufrufe entsprechen ausführt, müsst Ihr natürlich noch etwas NodeRed Code in Eure NodeRed Instanz einfügen. Informationen dazu findet Ihr im folgenden Artikel.


Der NodeRed implementiert einen Link der aufgerufen werden kann. In diesem Fall setzt sich dieser aus der Adresse zu Euer NodeRed Instanz und dem im NodeRed Code konfigurierten Zusatz zusammen. So kann der beim aufrufen des Links
https:// server.fritz.box:1880/http2mqttBridge.json?action=3dPrinterOff
der mitgelieferte Parameter „action“ ausgelesen werden.
In der Links dargestellten switch-node kann dann für die verschiedenen Werte eine Separate Handlung hinterlegt werden.

Den NodeCode findet Ihr im Nerdiy-Git-Repository unter:
Weitere Artikel zum Thema NodeRed
Weitere Artikel zum Thema NodeRed inkl. Beispiele findet Ihr unter folgendem Link.
Viel Spaß mit dem Projekt
Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂
P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂