@runButtonCommand togglePower

Sehr geehrtes Repetier Server Team,

nichts wirklich ernstes, aber doch ein wenig verwirrend.

Wenn der Software Power (Strom An / Aus - @runButtonCommand togglePower) betätigt wird, wird lediglich immer der
Power Off Schaltflächen Befehl ausgeführt.

Mit dem toggleLight funktioniert es tadellos, dass er stets hin und her wechselt - also Light On sowie Light Off abwechselnd ausgeführt.

Im Power Off Schaltflächen Befehl:

M117 Power Off Command
;@gpio printer off

Im Power On Schaltflächen Befehl:

M117 Power On Command
;@gpio printer on

Ein Blick dabei im Terminal verrät dann, das nur der OFF aufgerufen wird, aber leider kein Toggle erfolgt.


Viele Grüße,

Sven

Comments

  • Doch das klappt gut, aber zum Testen nicht M117 nutzen sondern
    @echo On Command

    M117 kann nicht ausgeführt werden, weil es gcode ist und der Drucker ja noch nicht an ist. Da sollten nur Serverbefehle stehen da die auch ohne Verbindung ausgeführt werden!
  • Mhmmm, dann bin ich wohl wieder ein Sonderfall ;-)

    Denn hier wird stets nur der Power Off ausgeführt  :/

    Ausgabe bei dreimaligen betätigen des "Strom An / Aus" Menüeintrag

    Exec:17:23:25.809: @runButtonCommand togglePower
    Send:17:23:25.809: ;@echo Power Off Command
    Mesg:17:23:25.809: Power Off Command
    Send:17:23:25.809: ;@gpio printer off
    Exec:17:23:34.425: @runButtonCommand togglePower
    Send:17:23:34.425: ;@echo Power Off Command
    Mesg:17:23:34.425: Power Off Command
    Send:17:23:34.425: ;@gpio printer off
    Exec:17:24:01.575: @runButtonCommand togglePower
    Send:17:24:01.575: ;@echo Power Off Command
    Mesg:17:24:01.575: Power Off Command
    Send:17:24:01.575: ;@gpio printer off

    Stehe gerade irgendwie auf dem Schlauch  :s
  • Ansonsten keine Idee warum er hier so agieren könnte und ständig nur den Power Off GCode triggert??

    Kurz zum Background:

    Ich hatte lange zeit ein eigenes py programm am laufen, dass die Repetier API verarbeitete und entsprechend die Frontpanel Elemente schaltete (LEDs), sowie Aktionen von Buttons an Repetier weiter reichte, uvm..

    Nun, da Repetier inzwischen vom Werk aus mit GPIO gut klar kommt und die Event Behandlungen immer ausgereifter werden (Monitoring Plugins mittels LUA), bin ich drauf und dran die Funktionen nach und nach in Repetier zu implementieren.



    Das Relay für den Drucker schalte ich mittels Repetier GPIO 26, jedoch soll er auch parallel zwei weitere zum drucken abhängige Relais schalten (SSR für das Heizbett, Kühlung der Elektronik, optional noch die LED Beleuchtung). Nun hab ich es aktuell so, dass Repetier beim "Verbindungsaufbau" Event, das SSR, die Kühlung und die LEDs schaltet, daher das benötigte toggle des "Software Ein / Aus Schalter", so könnte ich unter den Schaltflächen Befehlen (Power Off sowie Power On) die abhängigen Relais parallel schalten.


  • Sehe im Code keine Ausnahmen. Bei mir kommt das raus:

    Exec:8:07:31.481: @runButtonCommand togglePower
    Exec:8:07:31.482: @echo Power off
    Mesg:8:07:31.482: Power off
    Exec:8:07:33.203: @runButtonCommand togglePower
    Exec:8:07:33.203: @echo Power on
    Mesg:8:07:33.203: Power on
    Exec:8:07:35.673: @runButtonCommand togglePower
    Exec:8:07:35.673: @echo Power off
    Mesg:8:07:35.673: Power off
    Exec:8:07:37.509: @runButtonCommand togglePower
    Exec:8:07:37.509: @echo Power on
    Mesg:8:07:37.509: Power on

    Hast du die aktuelle Version (1.4.10) und kannst du noch mal die on und off Skripte ansehen, nicht das die wegen eines Zufalls identisch sind.
  • Um jetzt alle Fehler auszuschließen, hab ich nun das aktuelle Repetier Server Image auf der SD Karte geschmissen, hatte vorher zwar auch Repetier Server 1.4.10 installiert, jedoch auf einem älteren Minimal Debian Image.

    Alles kurzerhand eingerichtet und nach wie vor das gleiche Verhalten.


    Terminal Ausgabe bei betätigen vom "Strom An/Aus" Menüeintrag:

    Exec:10:31:03.309: @runButtonCommand togglePower
    Send:10:31:03.309: ;@echo Power Off Command
    Mesg:10:31:03.309: Power Off Command
    Send:10:31:03.309: ;@gpio printer off
    Send:10:31:03.309: ;@gpio hotbed off
    Send:10:31:03.309: ;@gpio cooling off
    Send:10:31:03.309: ;@gpio led off
    Exec:10:31:13.571: @runButtonCommand togglePower
    Send:10:31:13.571: ;@echo Power Off Command
    Mesg:10:31:13.571: Power Off Command
    Send:10:31:13.571: ;@gpio printer off
    Send:10:31:13.571: ;@gpio hotbed off
    Send:10:31:13.571: ;@gpio cooling off
    Send:10:31:13.571: ;@gpio led off
    Exec:10:32:55.245: @runButtonCommand togglePower
    Send:10:32:55.245: ;@echo Power Off Command
    Mesg:10:32:55.245: Power Off Command
    Send:10:32:55.245: ;@gpio printer off
    Send:10:32:55.245: ;@gpio hotbed off
    Send:10:32:55.245: ;@gpio cooling off
    Send:10:32:55.245: ;@gpio led off

    Druckereinstellungen -> Schaltflächen Befehle -> "Power Off":

    ;@echo Power Off Command
    ;@gpio printer off
    ;@gpio hotbed off
    ;@gpio cooling off
    ;@gpio led off

    Druckereinstellungen -> Schaltflächen Befehle -> "Power On":

    ;@echo Power On Command
    ;@gpio printer on
    ;@gpio hotbed on
    ;@gpio cooling on

  • Merkwürdig. Hab zur Sicherheit noch eine alte Installation mit 1.4.10 getestet und da geht es auch. Dann den Code untersucht und seit 2 Jahren keine Änderung an der Funktion.

    Klappt denn
    @runButtonCommand powerOn

    Was das Skript explizit aufruft.
    Was ist wenn du als Port einen virtuellen Drucker wählst, ist das genau so?

    Kannst du wenn das auch nicht klappt die Druckerkonfiguration (nur die nicht den Rest) exportieren und per Dropbox, googledrive, ... zum testen geben. PM im Forum reicht. Dann teste ich ob da was in deiner Konfiguration einen Einfluß hat, den ich nicht sehe.
  • Mittels @runButtonCommand powerOn funktioniert es, Relay schaltet - Drucker springt an.

    Jetzt wird es interessant: Stelle ich den Port auf virtuell um, funktioniert alles wie es sollte.

    Terminal Ausgabe:

    Exec:14:40:34.426: @runButtonCommand togglePower
    Send:14:40:34.426: ;@echo Power Off Command
    Mesg:14:40:34.426: Power Off Command
    Send:14:40:34.426: ;@gpio printer off
    Send:14:40:34.427: ;@gpio hotbed off
    Send:14:40:34.427: ;@gpio cooling off
    Send:14:40:34.427: ;@gpio led off
    Exec:14:40:47.795: @runButtonCommand togglePower
    Send:14:40:47.795: ;@echo Power On Command
    Mesg:14:40:47.795: Power On Command
    Send:14:40:47.795: ;@gpio printer on
    Send:14:40:47.795: ;@gpio hotbed on
    Send:14:40:47.795: ;@gpio cooling on
    Exec:14:40:59.833: @runButtonCommand togglePower
    Send:14:40:59.833: ;@echo Power Off Command
    Mesg:14:40:59.833: Power Off Command
    Send:14:40:59.833: ;@gpio printer off
    Send:14:40:59.833: ;@gpio hotbed off
    Send:14:40:59.834: ;@gpio cooling off
    Send:14:40:59.834: ;@gpio led off
    Exec:14:41:09.875: @runButtonCommand togglePower
    Send:14:41:09.876: ;@echo Power On Command
    Mesg:14:41:09.876: Power On Command
    Send:14:41:09.876: ;@gpio printer on
    Send:14:41:09.876: ;@gpio hotbed on
    Send:14:41:09.876: ;@gpio cooling on

    Wieder zurück auf den realen Port, wieder gleiches Phänomen.

    Ich lade gleich mal meine Drucker XML config auf meinem Webspace und schicke dir eine PM
  • Ok, ich habe das Problem gefunden. Beim versuchten Verbindungsaufbau wird der Status initialisiert und power status auf an gesetzt. Wenn power off also den Drucker ganz testet und die CPU nicht über usb verbunden bleibt wird der Versuch sich zu verbinden ihn als eingeschaltet markieren, was in dem Fall falsch ist. Aber daher will er immer von an auf aus schalten.

    Ich habs fürs updare aus der Initialisierung genommen damit es bleibt wie es vom letzten toggle war. Dann klappts auch ohne Strom.

    In deinem On Skript steht übrigens led off genau wie im On Skript.
  • Na das klingt doch super <span>:smile:</span>

    Japp, ist ein Typo von vielen gewesen, hatte es halt nur grob auf die schnelle eingerichtet um zu schauen ob der Fehler noch vorliegt, ist alles inzwischen korrigiert ;-)
Sign In or Register to comment.