NEWS
Test Adapter OctoPrint
-
@stenmic sagte in Test Adapter OctoPrint:
@esp8266 unter welchen Datenpunkten finde ich die feedrate und Lüfterdrehzahl? Hab ich was verpasst…
Dort:
-
@esp8266 das Plugin hab ich und die Layer werden auch angezeigt, aber der Rest nicht
-
@stenmic , ich kann dir nicht ganz folgen. Was für ein Rest?
Hast du auch alles im Plugin freigeschaltet? -
Das Plugin Display Layer Progress hat über die API noch weitere Datenpunkte
Mich würde zum Beispiel der Wert „estimatedEndTime“ interessieren also die Uhrzeit wann der Druck fertig ist… könnte man das mit einbauen?Grüßle
Pascal{"currentFilename":"-","fanSpeed":"-","feedrate":"-","feedrateG0":"-","feedrateG1":"-","height":{"current":"-","currentFormatted":"-","total":"-","totalFormatted":"-"},"layer":{"averageLayerDuration":"-","averageLayerDurationInSeconds":"-","current":"-","lastLayerDuration":"-","lastLayerDurationInSeconds":"-","total":"-"},"print":{"changeFilamentCount":0,"changeFilamentTimeLeft":"-","changeFilamentTimeLeftInSeconds":0,"estimatedChangedFilamentTime":"-","estimatedEndTime":"-","m73progress":"","printerState":"offline","progress":"0","timeLeft":"-","timeLeftInSeconds":"-"}}
-
@pascal-kugele sagte in Test Adapter OctoPrint:
Uhrzeit wann der Druck fertig ist
Dafür hatte ich mir ein kleines Script geschrieben:
// Druck Zeit wurde geändert var idTest = ["octoprint.0.printjob.progress.printtime", "octoprint.0.printjob.progress.printtime_left"]; on({id: idTest, change: "any"}, function(){ var Druck_Zeit = getState("octoprint.0.printjob.progress.printtime").val; var Druck_Zeit_noch = getState("octoprint.0.printjob.progress.printtime_left").val; var noch_Zeit; var ist_Zeit; var ist_Tage = Math.floor(Druck_Zeit / 86400); var ist_Stunden = Math.floor(Druck_Zeit / 3600 - ist_Tage * 24); var ist_Minuten = Math.round(Druck_Zeit / 60 - (ist_Tage * 1440 + ist_Stunden * 60)); var noch_Tage = Math.floor(Druck_Zeit_noch / 86400); var noch_Stunden = Math.floor(Druck_Zeit_noch / 3600 - noch_Tage * 24); var noch_Minuten = Math.round(Druck_Zeit_noch / 60 - (noch_Tage * 1440 + noch_Stunden * 60)); if (ist_Tage > 0) { ist_Zeit = ist_Tage + " Tage und " + ist_Stunden + " Stunden und " + ist_Minuten + " Minuten"; } else if (ist_Stunden > 0) { ist_Zeit = ist_Stunden + " Stunden und " + ist_Minuten + " Minuten"; } else if (ist_Minuten > 0) { ist_Zeit = ist_Minuten + " Minuten"; } else { ist_Zeit = "" } setState("javascript.0.Geräte.Drucker.Zeit_ist", ist_Zeit); if (noch_Tage > 0) { noch_Zeit = noch_Tage + " Tage und " + noch_Stunden + " Stunden und " + noch_Minuten + " Minuten"; } else if (noch_Stunden > 0) { noch_Zeit = noch_Stunden + " Stunden und " + noch_Minuten + " Minuten"; } else if (noch_Minuten > 0) { noch_Zeit = noch_Minuten + " Minuten"; } else { noch_Zeit = "" } setState("javascript.0.Geräte.Drucker.Zeit_noch", noch_Zeit); if (getState("octoprint.0.printer_status").val != "Printing") { setState("javascript.0.Geräte.Drucker.Zeit_Endzeit", ""); } else { var VariableEndzeit = formatDate(getDateObject((getDateObject((new Date().getTime())).getTime() + parseFloat((String(Druck_Zeit_noch) + '000')))), "TT.MM.YYYY SS:mm"); setState("javascript.0.Geräte.Drucker.Zeit_Endzeit", VariableEndzeit); } });
Schau es dir mal an.
-
@pascal-kugele sagte in Test Adapter OctoPrint:
die Uhrzeit wann der Druck fertig ist
das ist doch schon alles drinnen...
-
@da_woody das ist ja aber nur die Dauer und nicht die Enduhrzeit.
Ich berechne die Enduhrzeit auch per Block.
Jetzt + Druckdauer = Enduhrzeit
-
@kuddel sagte in Test Adapter OctoPrint:
das ist ja aber nur die Dauer und nicht die Enduhrzeit.
steht alles in meinem Script.
-
@bahnuhr
Ich hatte mir dafür auch ein Script geschrieben (siehe irgendwo weiter oben in diesem Thread)
In der aktuellen Version des Adapters ist die Endzeit aber enthaltenoctoprint.0.printjob.progress.finishedAt
-
-
-
@bahnuhr
Octoprint- Adapter V 3.2.0 ( OK, ist wohl nur im Beta-Repository verfügbar )
Hier noch der Link zu meinem Script: Zeitberechnungen -
@kuddel sagte in Test Adapter OctoPrint:
nicht die Enduhrzeit.
wenn du dir die DP angesehn hättest und nicht nur die zufällig markierte zeile...
Sun Mar 20 2022 20:17:33 GMT+0100 (Mitteleuropäische Normalzeit)
-
@da_woody hab noch eine veraltet Version installiert. Bei der neuen ist die Enduhrzeit schon drin.
Muss dann morgen mal ein Update machen -
@kuddel alles ok! @haus-automatisierung hat da halt wieder schnell reagiert.
gerade nachgelinst, die stable ist schon mehr als veraltert...
-
@da_woody sagte in Test Adapter OctoPrint:
gerade nachgelinst, die stable ist schon mehr als veraltert...
Was ist deine Definition dafür? Habe extrem viel umgebaut im Adapter (schau gern das Diff an). Daher bin ich vorsichtig mit der stable Version. Aber wird bald Zeit für ein Update, ja.
-
Ich habe jetzt die aktuelle Version installiert und konnte damit schon einmal direkt zwei Skripte ablösen.
Vielen Dank an @haus-automatisierung
Sehe ich es richtig, dass es noch keinen Datenpunkt gibt, der mit die Gesamtdruckzeit angibt ?
Aktuell berechne ich die Zeit (Laufzeit + Restzeit) per Blockly.
-
@haus-automatisierung sagte in Test Adapter OctoPrint:
Was ist deine Definition dafür?
nuja, von 2 auf 3 ist IMHO ein versionssprung. mir ist auch klar, daß du bei stables sehr vorsichtig bist! allerdings, je länger du wartest, um so mehr postings werden kommen.
um über definition zu reden... für mich z.b. issues auf github? -
@kuddel hmm, das ist dir zu wenig?
-
@da_woody octoprint.0.printjob.progress.printtimeFormat ist ja fortlauend.
Die berechnete Dauer wäre ja aber auch interessant.
Octoprint zeigt sie ja auch an :