Webactions kann ich nun ganz normal anlegen und aus dem Webactions-Bereich auch triggern. Ich kann die Drucker auch ein-/ausschalten über das Dropdown-Menü im jeweiligen Druckermenü.
Was jedoch nicht funktioniert, ist, diese Events über Gcode zu triggern.
Laut der Webactions Maske sollte ich z.b. das ausschalten mit ";@webAction i3plus_off" triggern. Da passiert aber nichts. Nach dem entfernen des Semikolon funktioniert es auch nicht. An funktioniert über Gcode demnach auch nicht.
Ich hab, was das gcode triggern betrifft, jetzt erst einmal wieder die externe @execute Variante am laufen.
Aber web action über menu triggern klappt? Wäre echt merkwürdig weil es ja die gleiche Funktion ist die es auslöst und bei mir klappt es auch mit ;@webAction - werds mir noch mal ansehen aber wie gesagt hat funktioniert sobald es im menü auch klappte. Machmal dauert es allerdings eine weile wen IFTTT etwas hinterher hinkt.
Über das Webactions Menü bzw. den Ausführen Button klappt es, genauso über die im Druckermenü hinterlegten neuen Einträge. Nur eben über die Konsole mit dem ;@webAction Befehl nicht Ich hab es heute noch mal probiert, das Fehlerbild bleibt gleich. @execute zündet direkt.
Das macht mich jetzt verrückt. Hab jetzt noch mal auf einem pi getestet und auch dort hat es geklappt. Hab sogar eine webAktion mit dem Namen ;@webAction i3plus_off erzeugt. Dann hab ich gedacht wenn da aus versehen ein Leerzeichen drin wäre würde es nicht funktionieren. Aber sowohl chrome als auch firefox haben die Leerzeichen schon beim senden entfernt. Welchen Browser nutzt du? Und ist im Namen zufällig ein Leerzeichen?
Ansonsten kannst du mir ein Screenshot der Einstellung schicken? Muss doch rauszubekommen sein warum das bei dir nicht klappt. Ist ja beides die gleiche ausführende Funktion. Du kannst den Befehl ja sogar an einen anderen Drucker senden.
Ok, da sieht alles richtig aus. Hab noch eine neue Version gemacht die explizit die spaces abfängt und zusätzlich in server.log schreibt ob der Aufruf Fehlerhaft war oder nicht und warum er nicht funktioniert hat. Das server.log kannst du mittlerweile in der Druckeransicht unter logs herunterladen. Ich denke nur mit der Ausgabe aus dem Log kommen wir der Ursache bei dir auf die spur.
2020-05-20 15:36:02: error: Reading serial conection failed: End of file. Closing connection.
2020-05-20 15:36:02: Port closed for Wanhao i3 Plus
2020-05-20 15:36:02: Connection closed: Wanhao i3 Plus
2020-05-20 15:36:06: Executed webAction i3plus_on
2020-05-20 15:36:08: Connection started: Wanhao i3 Plus
2020-05-20 15:36:08: Reset printer Wanhao i3 Plus
2020-05-20 15:36:31: unknown escape sequence
2020-05-20 15:36:32: unknown escape sequence
2020-05-20 15:36:40: error: Reading serial conection failed: End of file. Closing connection.
2020-05-20 15:36:40: Port closed for Wanhao i3 Plus
2020-05-20 15:36:40: Connection closed: Wanhao i3 Plus
Dabei ist das Executed Webaction immer über das Dropdownmenü ausgeführt. Wenn ich es über die Konsole machen möchte, kommen diese unknown escape sequence fehler als auch dieser RequestContect error.
Ich hab ihn also mal an gemacht, dann 2-3x versucht über den Webaction Befehl in der Konsole auszuschalten. Dann kamen diese unknown escape sequence Fehler. Anschließend über das Dropdown wieder ausgeschaltet, danach über das Dropdown wieder an und noch 2x über die Konsole probiert.
Server log runterladen ging ja auch vorher. Es ging mir um die erweiterten Fehlerausgaben ins server.log die ich hinzugefügt habe. Ich hab sie jetzt noch weiter erweitert.
Das merkwürdige ist das im ganzen Quellcode der Text "unknown escape sequence" nicht vorkommt. Muss also aus eine Fehlermeldung stammen die vom Betriebssystem oder einer externen Bibliothek kommt. Die einzige escape sequence die ich bei dir sehe ist aber %20. Hab sogar mal deinen Link versucht, hat ihn nicht gestört aber bekomme natürlich status 400 - host existiert nicht:-) %20 in einem anderen Link stört aber auch nicht.
Kannst du es bitte noch mal mit neuer version testen. Du solltest jetzt immer eine Meldung bekommen - entweder
"Executed webAction.." oder "Execution of webAction..." oder "No valid webAction with name..." oder "error: running webaction ...."
Damit wissen wir dann auch der die Aktion ausgeführt wurde.
Okay. Ja wie erwähnt, lies sich das letzte Update nicht installieren daher dachte ich, ich hab diese bereits drauf. Es kam immer die Meldung ich hätte schon die neueste Version, nicht mal mit dem -f Parameter ging es. Das ganz frische jetzt konnte ich wieder installieren.
Als Basis hab ich übrigens das PI-Image von der Seite genommen. Dies hab ich ja erst vor 2 Wochen installiert, keine weiteren Updates oder Tools installiert. Das ist also ziemlich jungfräulich.
Nach dem neuen Update sieht es im server.log aber nicht anders aus:
2020-05-21 13:32:31: Websocket opened
2020-05-21 13:32:36: Executed webAction i3plus_on
2020-05-21 13:32:38: Connection started: Wanhao i3 Plus
2020-05-21 13:32:55: error: Reading serial conection failed: End of file. Closing connection.
2020-05-21 13:32:55: Port closed for Wanhao i3 Plus
2020-05-21 13:32:55: Connection closed: Wanhao i3 Plus
2020-05-21 13:32:57: Executed webAction i3plus_on
2020-05-21 13:32:59: Connection started: Wanhao i3 Plus
2020-05-21 13:32:59: Reset printer Wanhao i3 Plus
2020-05-21 13:33:08: unknown escape sequence
Szenario: An über Dropdown Aus über Dropdown AN über Dropdown ;@webAction i3plus_off über Druckerkonsole
Vielleicht doch irgendwas externes, eine veraltete Komponente? Ich werde mal das Image updaten und berichte erneut. Wenn ich den Fehler "error:~RequestContext:Assertion violation" google, der auch immer wieder vorkommt, scheint das irgendwie mit Apache/Chromium/Java etc. zusammenzuhängen.
Nachtrag: auch ein Update mit apt-get update und apt-get upgrade ändert nichts.
... Ich kann die Drucker auch ein-/ausschalten über das Dropdown-Menü im jeweiligen Druckermenü.
..
ich habe es bisher geschafft, den/die drucker per knopf aus dem hauptmenü ein bzw auszuschalten, nur wie bekomme ich ein dropdown menü im jeweiligen druckermenü hin?
Commands are normally visible in the global menu. If you want one to appear only in
in the printer menu, add the attribute "slug" with the slugname as value to command tag
where it should show up. You see the slugname when you select a printer as part of the path.
-->
<command icon="">
<name>Shutdown Server</name>
also einfach <command slug="druckerslug" .... slug ist der Name in der Url den due siehst wenn du zu dem Drucker wechselt. Wird überall im server als Referenz verwendet.
Comments
Webactions kann ich nun ganz normal anlegen und aus dem Webactions-Bereich auch triggern. Ich kann die Drucker auch ein-/ausschalten über das Dropdown-Menü im jeweiligen Druckermenü.
Was jedoch nicht funktioniert, ist, diese Events über Gcode zu triggern.
Laut der Webactions Maske sollte ich z.b. das ausschalten mit ";@webAction i3plus_off" triggern. Da passiert aber nichts. Nach dem entfernen des Semikolon funktioniert es auch nicht. An funktioniert über Gcode demnach auch nicht.
Ich hab, was das gcode triggern betrifft, jetzt erst einmal wieder die externe @execute Variante am laufen.
Ansonsten kannst du mir ein Screenshot der Einstellung schicken? Muss doch rauszubekommen sein warum das bei dir nicht klappt. Ist ja beides die gleiche ausführende Funktion. Du kannst den Befehl ja sogar an einen anderen Drucker senden.
Als Browser benutze ich Chrome und mit der @execute Lösung funktioniert es. Alternativ mit FireFox probiert, gleiches Problem.
Leerzeichen sind keine drin und beide Drucker mit insgesamt 4 Zuständen (je 1x on/off pro drucker) reagieren nicht auf die Webactions.
Folgendes steht in der Log:
Dabei ist das Executed Webaction immer über das Dropdownmenü ausgeführt. Wenn ich es über die Konsole machen möchte, kommen diese unknown escape sequence fehler als auch dieser RequestContect error.
Ich hab ihn also mal an gemacht, dann 2-3x versucht über den Webaction Befehl in der Konsole auszuschalten. Dann kamen diese unknown escape sequence Fehler. Anschließend über das Dropdown wieder ausgeschaltet, danach über das Dropdown wieder an und noch 2x über die Konsole probiert.
Das merkwürdige ist das im ganzen Quellcode der Text "unknown escape sequence" nicht vorkommt. Muss also aus eine Fehlermeldung stammen die vom Betriebssystem oder einer externen Bibliothek kommt. Die einzige escape sequence die ich bei dir sehe ist aber %20. Hab sogar mal deinen Link versucht, hat ihn nicht gestört aber bekomme natürlich status 400 - host existiert nicht:-) %20 in einem anderen Link stört aber auch nicht.
Kannst du es bitte noch mal mit neuer version testen. Du solltest jetzt immer eine Meldung bekommen - entweder
"Executed webAction.." oder "Execution of webAction..." oder "No valid webAction with name..." oder "error: running webaction ...."
Damit wissen wir dann auch der die Aktion ausgeführt wurde.
Ich führe sie immer manuell in der Konsole aus.
Als Basis hab ich übrigens das PI-Image von der Seite genommen. Dies hab ich ja erst vor 2 Wochen installiert, keine weiteren Updates oder Tools installiert. Das ist also ziemlich jungfräulich.
Nach dem neuen Update sieht es im server.log aber nicht anders aus:
Szenario:
An über Dropdown
Aus über Dropdown
AN über Dropdown
;@webAction i3plus_off über Druckerkonsole
Vielleicht doch irgendwas externes, eine veraltete Komponente? Ich werde mal das Image updaten und berichte erneut. Wenn ich den Fehler "error:~RequestContext:Assertion violation" google, der auch immer wieder vorkommt, scheint das irgendwie mit Apache/Chromium/Java etc. zusammenzuhängen.
Nachtrag:
auch ein Update mit apt-get update und apt-get upgrade ändert nichts.
also einfach <command slug="druckerslug" ....
slug ist der Name in der Url den due siehst wenn du zu dem Drucker wechselt. Wird überall im server als Referenz verwendet.