Timer nutzen um Drucker per WLAN-Steckdose auszuschalten

Hallo liebe Leute,

über "extcommands.xml" lässt sich prima auch eine WLAN-Steckdose (Tasmota) steuern, z.B. mit "curl":

<execute name="rf1000_aus">/usr/bin/curl &quot;http://w-switch/cm?user=user&amp;amp;password=password&amp;amp;cmnd=Power Toggle&amp;quot;&lt;/execute&gt;

Ungünstig ist allerdings, dass der Drucker ein paar Befehle puffert und Repetier-Server 0.94.1 (RS) den Drucker ausschaltet, bevor er fertig ist.

Wie könnte ich RS beibringen, zwei Minuten zu warten und dann erst den Drucker auszuschalten?

Mit "@setTimer [value]" und "@waitForTime value" bin ich noch nicht weitergekommen. So etwas wie:

@setTimer 0
@waitForTime 60000
@execute rf1000_aus

schaltet den Drucker sofort aus.

Jetzt bin ich schon recht alt und habe sicher einen Denkfehler eingebaut. Nur welchen?

Wie habt ihr das umgesetzt?

Bedankt und alles Gute!
printmad

Comments

  • Problem ist vermutlich ein Schreifehler. Der Befehl heist
    @waitForTimer ; also mit r am ende :-) Ist aber mein Fehler weil es in der Anleitung leider falsch stand.

    Es gibt auch noch

    @syncMotion

    damit wird gewartet bis alle vorigen Befehle abgearbeitet sind. Das sollte man noch vor dem warten packen.

    In 0.94.1 kann man web befehle auch direkt in der Oberfläche definieren in globalen Einstellungen. Dazu gibt es dann auch einen Server-Befehle "@webAction name" um ihn auszuführen. Damit steuere ich jetzt meine Steckdosen.

  • Hi,

    Danke für schnelle und sehr hilfreiche Antwort!

    Ich würde sagen "@syncMotion does the trick", der Drucker geht brav aus, sobald das Druckobjekt ausgegeben wurde:

    Send:21:09:23.943: @syncMotion
    Send:21:09:24.006: N349 M400
    Recv:21:09:27.744: Printed filament:2900.49m Printing time:34 days 16 hours 6 min
    Send:21:09:27.746: N350 M117 Layer 2/2
    Send:21:09:27.746: N351 M400
    ...
    Send:21:09:27.952: N354 M400
    Recv:21:09:28.000: outputObject()
    Recv:21:09:28.000: X:162.20 Y:183.06 Z:0.16 E:-6.40
    Recv:21:09:43.478: X:162.20 Y:245.00 Z:200.05 E:-16.40
    Recv:21:09:43.479: M3000: disabling z compensation
    Send:21:09:43.479: N355 M117 ETA 21:19:39 day 22
    Send:21:09:43.480: N356 M400
    ...
    Send:21:09:43.613: N385 M400
    Send:21:09:43.639: @setTimer 0
    Send:21:09:43.639: @waitForTimer 500000
    Send:21:09:44.643: @execute RF1000_Aus
    Send:21:09:44.676: @stopLog
    Send:21:09:46.881: N391 M117 Finished
    Mesg:21:10:28.681: Warning: Communication timeout - resetting communication buffer.

    Der Timer gibt mir allerdings noch Rätzel auf, weil der Drucker nach etwa 45 Sekunden ausgeht, statt nach den erwarteten 500000 Millisekunden? Oder liege ich da falsch?

    End-Code:

    Wie geschrieben, @syncMotion erfüllt den Zweck, das ist schon einmal gut!

    Ciao for now
    printmad
  • Das mit dem Timer ist merkwürdig. Als ob er ihn ignoriert hat. 8 minuten zu 45 sekunden passt ja gar nicht. Muss ich mal selber testen.
  • Hi there,

    auch eine coole ;-) Idee:

    M106 S255
    M109 S45 T0
    @syncMotion
    @execute RF1000_Aus

    Lüfter an und den Drucker erst ausschalten, wenn das Hotend auf 45 Grad heruntergekühl ist.
    Metall-Hotends mögen "zack aus" wohl nicht so. Meinem Standard-RF1000 ist das möglicherweise egal.

    Ciao for now
    printmad
  • Hallo Liebe Community,

    ich bin auf diese Konversation gestoßen und möchte diese nochmal aufleben lassen. Ich bin ganz neu bei Repetier Server und auch in der 3D Druckbranche. Ich habe genau den selben Wunsch, wie Prindmad. Ich habe eine TP Link W-Lansteckdose und möchte diese gerne nach erfolgtem Druck schalten, Entweder mit Wartezeit oder mit Temperatur der Nozzl.

    Nun habe ich leider noch keine Ahnung von Befehlen, oder wo man diese eingibt. Kann mir hier evtl. jemand weiter helfen ? 
    Wie schon erwähnt bin ich ganz neu in diesem Hobby und habe auch keine Programmiererfahrung, also schonmal sorry, wenn das Langwierig werden könnte.

    Grüße Hofi
  • Sieh mal bei den FAQ nach da gibts einen Eintrag zu web actions mit schaltbaren Steckdosen. TP Link hat ja auch IFTTT Unterstützung glaube ich. Aber jeder andere Webaufruf kann natürlich auch eingebaut werden. Problem ist nur wenn du den pi ausschalten willst. Nur den Drucker ist kein Problem aber wenn der pi sich selbst ausschaltet ist er nicht heruntergfahren und dass kann die sd Karte auf Dauer beschädigen. 
  • Hallo und vielen Danke für die schnelle Antwort, 

    ich werde mich in den nächsten Tagen mal mit den FAQ beschäftigen und mich, bei fragen, erneut melden.
  • Nehme das Thema auch mochmals auf. Ich habe erfolgreich 2 Webaktionen erstellt zum Drucker ein- resp. ausschalten. Drucker hängt an einer HUE Smart Plug Dose. Funktionieren einwandfrei.
    Was mir nicht klar ist, was ich jetzt wo machen muss,damit der Drucker automatisch ausschaltet, wenn die Nozzle-Temp unter z.B. 35° abgekühlt ist. Wäre froh, wenn man mir das kurz erklären könnte. Danke
  • Den Aktionen ist ja auch ein Server Befehl zugeordnet. Den muss man einfach senden wenn es einem genehm ist.
    Ein guter Ort ist in der Konfiguration das Ereignis Drucker Herunterfahren. Das kann entweder immer automatisch ausgeführt werden, wenn eine Zeitlang nicht gedruckt wurde oder nur wenn du es im Menü aktivierst - dann wird es nach dem Druckende ausgeführt. Aber nur beim Ausschalten nach Leerlauf kannst du auch eine Maximaltemperatur eingeben. Dann schaltet er nur aus wenn er X Minuten leerlauf hat und extruder kälter als X grad ist.
Sign In or Register to comment.