[70_OctoPrint.pm] zum Steuern von OctoPrint 3D Drucker

Begonnen von michael.winkler, 31 Dezember 2017, 16:56:28

Vorheriges Thema - Nächstes Thema

Christian72D

Zitat von: michael.winkler am 18 August 2018, 08:38:19
Octoprint liefert leider keine Werte über die Positionen, daher kann FHEM diese auch nicht anzeigen.

Die vielen Nachkommastellen kommen direkt von Octoprint. Diese habe ich nicht angepasst. Auch der Dateiname wird so von Octoprint geliefert.
Also der GCODE Viewer zeigt mit doch die aktuelle Höhe und die Schicht Nummer an, also die Daten liegen eigentlich schon irgendwie vor.

Ja, aber macht es nicht trotzdem Sinn, diese einzukürzen? Beim Namen denke ich macht es für niemand Sinn das ".gcode" drin zu haben, bei den Prozenten könnte man sich evtl. über die Anzahl Nachkommen Stellen "streiten" die man angezeigt bekommen möchte.

Icinger

ZitatAlso der GCODE Viewer zeigt mit doch die aktuelle Höhe und die Schicht Nummer an
Das heisst aber nicht, dass Octo die Daten auch über die API rausgibt.

ZitatJa, aber macht es nicht trotzdem Sinn, diese einzukürzen? Beim Namen denke ich macht es für niemand Sinn das ".gcode" drin zu haben, bei den Prozenten könnte man sich evtl. über die Anzahl Nachkommen Stellen "streiten" die man angezeigt bekommen möchte.

Was spricht gegen userReadings, die du dann so formatieren und verwenden kannst, wie du möchtest?
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

lenn1

Zitat von: michael.winkler am 18 August 2018, 08:20:26
Ich habe mir das Thema heute angeschaut, konnte es bei mir aber nicht nachstellen. Aus diesem Grund brauche ich mehr Informationen von Euch.

Bitte schickt mir mal folgende Infos:

  • Octoprint Version
  • FHEM Octoprint Modulversion

Gruß
Michael


Octoprint Version 1.3.9 (octopi)

Modulversion v0.0.6










Christian72D

Zitat von: Icinger am 18 August 2018, 10:10:14
Das heisst aber nicht, dass Octo die Daten auch über die API rausgibt.
Wie machen daß dann die Android Programme wie Printoid?

Zitat von: Icinger am 18 August 2018, 10:10:14
Was spricht gegen userReadings, die du dann so formatieren und verwenden kannst, wie du möchtest?
OK, kannst du mir EINEN einzigen Grund nnnen wieso das ".gcode" in FHEM relevant sein könnte?

Ich denk es macht mehr Sinn sowas direkt im Modul abzufangen, statt daß JEDER User der damit arbeitt sich seine UserReadings anlgt...

Icinger

ZitatWie machen daß dann die Android Programme wie Printoid?
Keine Ahnung, war auch nur eine Vermutung.

ZitatOK, kannst du mir EINEN einzigen Grund nnnen wieso das ".gcode" in FHEM relevant sein könnte?
Nein, aber es stört mich auch nicht. Und der Modulautor wird schon seinen Grund haben, warum er das so macht und nicht anders.
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

michael.winkler

Zitat von: Icinger am 19 August 2018, 19:39:42
Nein, aber es stört mich auch nicht. Und der Modulautor wird schon seinen Grund haben, warum er das so macht und nicht anders.
Die Werte werde so von Octoprint geliefert. Keines der Readings wurde von mir abgeändert. Aus meiner Sicht macht es auch keinen Sinn hier etwas zu kürzen. Jeder kann über die userReadings seine eigenen Readings bauen.

Christian72D

Wie kann ich denn ein bedingtes UserReading machen? Also ich habe ja schon mal "gerne" Drucke die xx Stunden gehen.
Da finde ich meine Minuten Anzeige fast sinnfrei.

Als Reading habe ich mir angelegt:

progress_printTimeLeftMinutes {sprintf("%.1f",ReadingsVal("Anycubic","progress_printTimeLeft",0)/60)}

Ich würde es nach diesem Schema machen wollen, aber das klappt nicht.

RestZeit {if(ReadingsVal("Anycubic","progress_printTimeLeft","") gt 86400) {return progress_printTimeLeft / 86400} elsif (ReadingsVal("Anycubic","progress_printTimeLeft","") gt 3600) {return progress_printTimeLeft / 3600} elsif (ReadingsVal("Anycubic","progress_printTimeLeft","") gt 60) {return return progress_printTimeLeft / 60} }

Kann mir einer der Profis das evtl. umstellen? Und gerne auch wieder inkl. Formatierung auf eine Nachkommastelle.


Skjall

Hallo Michael,
schönes Modul. Danke dafür.
Ich hatte vorhin einen Fehler, der das FHEM abstürzen lies:


2018.08.23 17:06:16 0: OctoPrint 21302.OctoPrint.1 [OctoPrint_Define] start device
Can't use an undefined value as an ARRAY reference at ./FHEM/70_OctoPrint.pm line 424.


Zumindest war das die letzte Meldung im Log. Ich habe deine aktuelle Version und OP 1.3.9.

Viele Grüße

Jan

hanswerner1

Hallo Michael,
mir würde noch ein Reading fehlen, dass anzeigt ob Octoprint läuft oder nicht.
state bleibt auch nach dem runterfahren von Octoprint auf "Operational"
Aktuell ist das das einzige was ich noch über MQTT abfrage. 
VG HW1

michael.winkler

Hallo,

auf Seite1 habe ich Euch eine neue Version des Modules.

Bitte beachtet auch die angepasste Dokumentation https://mwinkler.jimdo.com/smarthome/eigene-module/octoprint/


# 2018-08-28, v0.0.8
#
# v0.0.8
# - FEATURE: Reading "online"
#
# v0.0.7
# - BUGFIX:  Logeinträge PERL WARNING: Use of uninitialized value $value in string eq at fhem.pl line 4547


hanswerner1

Zitat von: michael.winkler am 28 August 2018, 13:35:06


# v0.0.8
# - FEATURE: Reading "online"


super, das Du es eingebaut hast.
Mit der 0.0.8 Version habe ich allerdings ein Problem das ich vorher nicht hatte. Es wird keine Verbindung zu Octoprint aufgebaut. Erst wenn ich FHEM neu starte während Octoprint läuft werden die Readings aktualisiert. Nach einen shutdown von Octoprint und Neustart von Octoprint werden wieder keinen Readings aktualisiert. Bis das FHEM wieder neu gestartet wird.


michael.winkler

Zitat von: hanswerner1 am 29 August 2018, 15:40:29
super, das Du es eingebaut hast.
Mit der 0.0.8 Version habe ich allerdings ein Problem das ich vorher nicht hatte. Es wird keine Verbindung zu Octoprint aufgebaut. Erst wenn ich FHEM neu starte während Octoprint läuft werden die Readings aktualisiert. Nach einen shutdown von Octoprint und Neustart von Octoprint werden wieder keinen Readings aktualisiert. Bis das FHEM wieder neu gestartet wird.
Dann muss ich es mir noch mal anschauen. Melde mich wieder.

michael.winkler

Zitat von: hanswerner1 am 29 August 2018, 15:40:29
super, das Du es eingebaut hast.
Mit der 0.0.8 Version habe ich allerdings ein Problem das ich vorher nicht hatte. Es wird keine Verbindung zu Octoprint aufgebaut. Erst wenn ich FHEM neu starte während Octoprint läuft werden die Readings aktualisiert. Nach einen shutdown von Octoprint und Neustart von Octoprint werden wieder keinen Readings aktualisiert. Bis das FHEM wieder neu gestartet wird.
Auf Seite 1 gibt es wieder eine neue Version


# 2018-08-30, v0.0.9
#
# v0.0.9
# - BUGFIX:  Reading "online"
#


Jetzt sollte es wieder gehen.


hanswerner1

Hab noch einen Bug gefunden, temperature_bed_target und temperature_tool0_target gehen nicht mehr auf 0 wenn in Octoprint die Soll Temperaturen auf "Aus" gestellt werden.  Wenn ich auf 1 Grad stelle, wird die Temperatur aktualisiert. Das "Aus" schein nicht als Änderung erkannt zu werden.