Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

OctoPrint, FHEM und Abschaltung nach Druckende

geschrieben von ollib 
OctoPrint, FHEM und Abschaltung nach Druckende
17. April 2018 17:37
Hallo!
Seit 3 Monaten bin ich nun "stolzer" 3D-Drucker!
Hab mich durchgebissen, viel lernen müssen und noch mehr gelesen !
Doch im Moment hab ich ne "Hänge" .
Ich versuch es euch zu erklären, ohne viel drumrum.
Ziel war gewesen, den Drucker nach Druckende aus zu machen.
Meine Lösung war die bekannte Funksteckdose, aber erstens nur der Drucker steckt drin,Octoprint läuft durch und gesteuert wird sie durch mein FHEM, das ich eh zur
Haussteuerung laufen habe.
Zusammen mit dem Modul Octoprint.pm. Dort werte ich die Zustände Operational für ein und Paused für aus aus.
Und da liegt der Hase im Kümmel!
Es gibt noch den Zustand Print, den hatte ich vor Paused, mit dem Ergebnis, das der Drucker sofort aus ging, wenn er nicht druckte, selbst vor dem Drucken. smiling smiley
SO musste Paused herhalten. Um dahin zu kommen, baute ich in den Endcode den Befehl M0 ein, was ja eigentlich Halt bedeutet , doch in Marlin ist M1 und M0 das gleiche
und zwar Pause. Ok! Ist er dann in Pause registriert das FHEM , wartet 45 sek und schaltet die Steckdose aus.
War ein weiter Weg für mich, doch noch immer war ja die USB-Speisung vom Raspi da und das Display und die LED vom ABL an. Sah immer aus wie Rudi !smiling smiley
Ergo erstellte ich mir in Octoprint zwei Befehle OCTO 1 und 2 ( USB-Schnittstelle ein und aus) , die im Endcode nach dem Pausebefehl abgearbeitet werden.
So wird nach den 45 Sek das Display dunkel und der Drucker geht aus. Positiv ist dabei, wenn ich einen Druck starten will, Schalte ich nur USB wieder ein, direkt in Octoprint, und schicke
den Druckauftrag hoch. In dieser Zeitspanne merkt FHEM das der Drucker an ist und schaltet den Strom für die Motoren ein.
Was mich aber stört ist, das ich keinen Befehl erstellen konnte , bei dem sich Octoprint Offline schaltet.
Action-Command hab ich in allen Varianten ausprobiert ,als M118 kam nur DIsplaytext, und als OCTO-Befehl gibt es Fehler.
Wie kann man die Action-Command erstellen und anwenden und wo anwenden, im Gcode oder nur als Tasten in Octoprint ??

So, mal sehen, ob jemand ne Idee hat!
Gruß der O.

P.S. Es gibt noch M112 Nothalt ( mit Offline) , doch der bringt soviel Text zu FHEM, das ich den dort nicht auswerten kann.
Re: OctoPrint, FHEM und Abschaltung nach Druckende
18. April 2018 02:59
Ich habe in Octopront das MQTT-Plugin installiert das soweit ich weiß auch das Druckende ausgibt.
Re: OctoPrint, FHEM und Abschaltung nach Druckende
18. April 2018 12:48
Hallo!
Das Problem steckt im Detail!
Druckende bekomme ich auch so mit durch das Modul octoprint. Es erkennt, ob der Drucker druckt oder nicht.
Nur:
1. wenn er druckt bekommt FHEM den Zustand Printing und es lässt die Steckdose an
2. meldet OctoPrint Druck fertig, wechselt FHEM/octoprint nach Operational und geht aus.

Soweit so gut, aber diesen Zustand Operational habe ich auch vor dem Druck,bzw. bis er druckt,doch eh er druckt, ist FHEM schneller
und macht ihn aus. smiling smiley ( da ja Operational=aus bedeutet)
Daher brauchte ich einen 3. Zustand, wenigstens den Druck zu starten!
Also bedeutet jetzt :
Operational = Drucker an und warten
Printing = Drucken
Paused= Druckende und aus!
Nur wollte ich ihn nihct immer aus Paused ausschalten, sondern gern erst offline schalten und dann aus.
Nur bekomme ich es nicht hin,diesen Offline-Befehl zu senden.
Es soll mit den Action-Commands gehen,nur klappt es nicht. ( Syntax ??)
Aber o, wenn es nicht geht, bleibe ich bei Paused.
ER wird es mir sicher nicht übel nehmen. smiling smiley

MfG der O.
Re: OctoPrint, FHEM und Abschaltung nach Druckende
19. April 2018 02:48
Mach doch in FEHM eine Variable die du auf 1 setzt wenn Octoprint Printing meldet und du schaltest nur noch aus wenn diese Variable 1 ist und Octoprint Operational meldet. Gleichzeitig mit dem Ausschalten setzt du diese Variable wieder auf 0.
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen