[Gelöst] Lösung um 3D Drucker anzuschalten und RPi mit Octoprint

Begonnen von Gear, 18 April 2018, 12:10:29

Vorheriges Thema - Nächstes Thema

Gear

Guten Tag Zusammen,

ich hoffe ich habs im richtigen Forum gepostet!

Ich hab nen 3D Drucker auf dem Octoprint läuft gerne an FHEM anbinden und die 230V ein- und ausschalten.
Also ich will zum einen den Strom mitmessen, S0 Schnittstelle, ich will wenn der Drucker nicht benutzt wird, dass er aus ist.

Nun die Frage, kann ich den RPi über WOL starten und herunterfahren?
Kann ich die GPIOs so nutzen, dass ich sie als Ausgang und Impuls Coubter definieren kann und das dann an FHEM weitergeben kann? Bze. auch von FHEM einen GPIO setzen kann?
Oder lieber nen ESP mit dran, der den Drucker ein und schaltet?

Habt ihr ein paar Lösungsvorschläge wie ich das am besten umsetzen kann??
Danke schon mal im voraus.

Grüe
Gear
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

gloob

Ich habe eine Homematic Funksteckdose und schalte den Drucker aus wenn die Leistung länger als 5 Minuten unter 5 Watt fällt.  Dann ist der Drucker in "Pause" und fertig mit dem Drucken.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

digiart

Ich habe meinen 3D-Drucker an einer Zwave Steckdose, die ich aber innerhalb von OctoPrint (über FHEM) steuere.
Wenn OctoPrint startet, wird die Steckdose eingeschalten, wenn OctoPrint (und der Pi) runterfährt (ausgelöst von OctoPrint selbst), wird die Steckdose abgeschalten.

Gestartet wird der Pi über einen Taster am "Run"-Anschluss (Wake-On-LAN funktioniert nicht!)
Anfragen ausserhalb der Threads (PN, Mail o.ä.) werden ignoriert!

Gear

Ich habe bisher nur WiFi Geräte, also ESP-Geräte im Einsatz.
Für HM oder Zwave habe ich noch keine Anbindungsmöglichkeit.

Zudem ist Octoprint nicht auf dem RPi, auf dem FHEM läuft.
Ich war am überlegen, ob ich evtl einen SONOFF POW nutzen soll.

Ok, wenn WOL nicht geht, besteht zumindest die Möglichkeit dem RPi zusagen, er soll herunter fahren? SSH oder so etwas? Oder Über FHEM an Octoprint?

WiFi Steckdosen habe ich noch einige rumliegen, aber keine davon kann Strommessen...

Ich hätte jetzt die Idee, evtl eine Relaiskarte an den RPi anzuschließen, mit der ich dann die Deckenlampe über dem Drucker schalten kann und den Drucker selbst.
Zudem ein Sonoff POW davor zum Srommessen.

Aber so ganz Glücklich bin ich damit auch irgendwie nicht. :(
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

digiart

Bei mir ist OctoPrint auch auf einem Pi, FHEM läuft auf einem HP Microserver.
OctoPrint kommuniziert mit FHEM (Steckdose Ein/Aus) über telnet.
Ich glaube, in der aktuellen Version von OctoPi ist der Menüpunkt "System herunterfahren" (= über SSH "shutdown -h now") schon fix drinnen. Ansonsten hilft hier ein kurzer Abstecher zu Google.

Das Sonoff POW kann doch auch schalten. Und abhängig von der dort verwendeten Firmware wird der Schaltbefehl sogar über HTTP-Anfragen erledigt.
Anfragen ausserhalb der Threads (PN, Mail o.ä.) werden ignoriert!

Gear

Kann man denn über FHEM den OctoPI herunterfahren?

Ich fänd es schön, wenn der über Nacht druckt, dass wenn der Druck fertig ist, was FHEm ja soweit ich das verstanden habe mitbekommt, der OctoPi heruntergefahren wird und dann die Steckdose ausgeschaltet wird.

Schöner wäre eine Lösung, wenn ich am OctoPi ne Relaiskarte anbringen könnte, diese dann per FHEM oder OctoPi ansprechen könnte, z.B. zum 3D Drucker anschalten und Licht anschalten.

Ich will natürlich nicht, dass der Lüfter des Mainboards und des Hotends permanent laufen, das ist auf Dauer echt nervig. =O
Und das Licht brauche ich nur am Anfang des drucks, ggf. mal wenn ich nachschaue oder wenn ich irgendwas am Tisch mache.


Wenn das nicht machbar ist, dann würde ich das mit nem POW machen. =)
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Lucky2k12

Ich hab einen Sonoff POW mit Tasmota am 3D Drucker. Es geht aber auch ein normaler sonoff.
Der Octopi läuft bisher unabhängig davon durch. Das kann man aber auch anders lösen.

Octoprint hat ein Sonoff Plugin, mit dem man den Drucker aausschalten lassen kann.
Die LED Beleuchtung lässt sich über Octoprint (RPi GPIO) oder alternativ FHEM -> sonoff via GPIO schalten.

Sollte also alles lösbar sein.
HP T610, HM, Jeelink, LGW, mapleCUL868+434

digiart

Entschuldige bitte, dass ich jetzt etwas direkt werde, aber:
Von deinen Beiträgen gehe ich davon aus, dass Du weder schon einen 3D-Drucker hast bzw. Dir einmal OctoPrint angesehen hast.

- Das Hotend sollte nur laufen, wenn der GCODE das definiert hat.
- Der Lüfter (beim Hotend?) sollte nur laufen, wenn das Hotend betrieben wird.
- OctoPrint hat (eventuell über ein Plugin) die Möglichkeit, den Pi nach Beendigung des Druckvorganges runterzufahren.
- Es gibt ein Modul in FHEM, das mit OctoPrint kommuniziert. Was das Modul kann, weiß ich nicht, ich verwende es nicht.
Anfragen ausserhalb der Threads (PN, Mail o.ä.) werden ignoriert!

Gear

@Lucky2k12 Danke!

@digiart muss ich jetzt extra ein Foto machen um dir zu beweisen, dass ich einen 3D Drucker habe und einen Pi auf dem Octoprint drauf ist?!?
Der Lüfter am Hotend läuft bei mir immer, es ist ein Ender-4.
Ich weiß auch nicht, ob das normal ist oder nicht, habe bis jetzt noch von niemanden beantwortet bekommen, es heißt immer nur, es gibt welche die immer laufen und welche die per Fet geschaltet werden.

Zudem bin ich mich noch am einarbeiten was 3D Drucken angeht und mit dem OctoPi.
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Bapt. Reverend Magersuppe

Sonoff-Tasmota kann in den jüngsten Beta-Versionen Rules. Mal ausprobieren!
Wenn Ampere runtergehen, dann Drucker ausschalten. Mit einem Sonoff POW könnte man es probieren.
Läuft alles im Sonoff. So wird fhem entlastet und ist nicht involviert. Eine Fehlerquelle weniger.
--
If I was born in 1453, Leonardo da Vinci would be jealous of me.
Reverend Paul Egon Magersuppe
Aus versicherungstechnischen Gründen sind sämtliche Beiträge von mir rein spekulativer und theoretischer Natur und sollten nicht in die Tat umgesetzt werden!
Bin hier selten DRIN. AUS GRÜNDEN!

Tedious

Auch wenns gelöst ist, trotzdem meine einfache Lösung:

Raspberry steuert Drucker (Octoprint), Drucker und Raspi hängen an einem SonoffPOW mit angeschlossener Steckerleiste.

- Sonoff per FHEM oder Knopfdruck anschalten, Raspi bootet. Raspi wird durch FHEM angepingt
- Drucker druckt, nach dem Druck fährt Octopi den Raspi runter
- Raspi ist von FHEM nicht mehr pingbar, wartet 3 Minuten (um das Hotend zu weiter zu kühlen) und schaltet denn den POW aus. RAspi und Drucker sind stromlos.

Einfach, funktioniert aber äußerst zuverlässig. POW muss nicht sein, kann auch ein normaler Sonoff sein, denn muss man halt die Masse drumrum führen - der POW zeigt mir aber auch netterweise wieviel Strom der Druck gekostet hat ;)
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

Gear

@Tendious
Das war in etwa auch meine Idee, nur laufen bei meinem 3D Drucker die Lüfter für das HotEnd und das Mainboard.
Ich finde es etwas störend, wenn man nur auf den OctoPi zugreifen will.

Mir ist gestern noch die Idee gekommen den separaten An- und Ausschalter des Druckers über ein Relais mit dem OctoPi zu schalten.

Muss das am WE mal testen ob sich das so umsetzen lässt wie ich mir das gedacht habe. =)
Aber Danke für deinen Vorschlag! ;)
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

gbomacfly

Ich hab folgende Lösung für mich als gut befunden:

Mein Debian-Server läuft 24/7, direkt daneben steht der Drucker.
Auf dem Server läuft Repetierserver (genau wie FHEM), würde aber auch mit Octopi gehen. Der Drucker ist über einen Sonoff POW mit Tasmota angeschlossen.

In Repetier hab ich benutzerdefinierte Kommandos implementiert, zum Ein- und Ausschalten über fhem:

Code (/var/lib/Repetier-Server/database/extcommands.xml) Auswählen
<command>
    <name>Strom anschalten</name>
    <execute>/usr/bin/python /home/macfly/printerpower.py 1 0</execute>
</command>
<command>
    <name>Strom abschalten</name>
    <execute>/usr/bin/python /home/macfly/printerpower.py 0 0</execute>
    <confirm>Strom wirklich abschalten?</confirm>
</command>
<execute name="printerPower" allowParams="true">/usr/bin/python /home/macfly/printerpower.py</execute>


Code (/home/macfly/printerpower.py) Auswählen
#! /usr/bin/env python
# coding: utf8

import sys
import os
import time

powerState = sys.argv[1]    # 0 = Aus, 1 = An
powerDelay = sys.argv[2]    # Zeit in Sekunden                                                                                               
powerOnCmd = "/usr/bin/perl /opt/fhem/fhem.pl 7072 TELNETPASSWORT \"set AZ.Anet_A6 ON\""
powerOffCmd = "/usr/bin/perl /opt/fhem/fhem.pl 7072 TELNETPASSWORT \"set AZ.Anet_A6 OFF\""

powerDelay = float(powerDelay)
time.sleep(powerDelay)

if (powerState == "0"):
    os.system(powerOffCmd)  # Steckdose abschalten
elif (powerState == "1"):
    os.system(powerOnCmd)  # Steckdose anschalten


In Repetierserver geht man in die Druckereinstellungen -> G-Codes -> Ereignisabhängig -> Sende nach einem Druckauftrag
@execute printerPower 0 20   ; Strom aus

Ich gehe also in die Oberfläche von Repetier, gebe dem Drucker über das Menü Strom und warte 2-3 Sekunden, dann hat Repetier den Drucker auch schon gefunden. Dann einfach den Druck starten und er geht 20 Sekunden nach dem Druck von alleine aus.

Als nächstes werd ich mir dann in FHEM Statistiken erstellen lassen :)
FHEM auf Debian Server, LogDB, MAX!-HT, Yeelight, Sonoff-Tasmota, IT, Signalduino434, nanoCUL868
FHEM-Keller auf RPI Zero mit OBIS (FHEM2FHEM)
FHEM-WZ auf RPI Zero - BT auf Alexa
Diverse Eigenbausensoren mit Arduino/MQTT