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

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

Vorheriges Thema - Nächstes Thema

michael.winkler

Hallo,

ich habe zum Steuern von OctoPrint ein neues Modul erstellt.

Beschreibung Installation & Konfiguration Octoprit https://mwinkler.jimdo.com/anet-a8/software/octoprint/
Beschreibung Integration Octoprint & Webcam https://mwinkler.jimdo.com/smarthome/sonstiges/octoprint/

Beschreibung vom Modul findet Ihr hier https://mwinkler.jimdo.com/smarthome/eigene-module/octoprint/

Diese Modul befindet sich aktuell im BETA Status. Benutzung nur auf eigene Gefahr!

Definition in FHEM
Zum Anlegen eines OctoPrint Devices könnt Ihr folgende Definitionen verwenden:

define <Name> OctoPrint <IP-Adresse> [ <port> [ <poll-interval> ]]


Aktuell werden nur ein paar Readings ausgelesen. Zusätzlich können ein paar Funktionen ausgeführt werden.


############################################################################
# 2018-10-12, v0.0.11
#
# v0.0.11
# - BUGFIX:  https://forum.fhem.de/index.php/topic,81929.msg844975.html#msg844975
#
# v0.0.10
# - BUGFIX:  Readings mit 0 wurden nicht geschrieben
# - CHANGE:  readingsBulkUpdateIfChanged to readingsBulkUpdate
#
# v0.0.9
# - BUGFIX:  Reading "online"
#
# 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
#
# v0.0.6
# - BUGFIX:  https://forum.fhem.de/index.php/topic,81929.msg780110.html#msg780110
#
# v0.0.5
# - BUGFIX:  https://forum.fhem.de/index.php/topic,81929.msg756900.html#msg756900
#
# v0.0.3
# - BUGFIX:  Readings anzeigen von Umlauten
# - CHANGE:  Send Data nonBlocking
# - FEATURE: Add Support psucontrol inkl. set Befehle turnPSUOn, turnPSUOff und togglePSU (Aktivierung über Attribut "plugin_psucontrol")
#            Neue Set Befehle move_axis_x, move_axis_y, move_axis_z und extrude
#
# v0.0.2 BETA
# - FEATURE: Navigieren (gohome)
#            Shutdown / Reboot / Restart (OctoPrint)
#            send_gcode z.B. M500
#
# v0.0.1 BETA
# - FEATURE: Read div. Readings
#            start/stop/connect/disconnect printer


Gruß
Michael

Icinger

Ich hab heute begonnen, Octo über MQTT an FHEM zu binden :)


   IODev      myMQTT
   NAME       CrealityCR10s
   NOTIFYDEV  octoprint
   NR         1055759
   STATE      incoming publish received
   TYPE       MQTT_DEVICE
   READINGS:
     2017-12-31 17:04:22   Print           {"progress": 53, "location": "local", "path": "money_cat.gco"}
     2017-12-31 17:04:22   Print_location  local
     2017-12-31 17:04:22   Print_path      money_cat.gco
     2017-12-31 17:04:22   Print_progress  53
     2017-12-31 15:54:15   TBed            {"actual": 70.0, "target": 70.0}
     2017-12-31 15:54:15   TBed_actual     70
     2017-12-31 15:54:15   TBed_target     70
     2017-12-31 15:54:09   TTool0          {"actual": 210.0, "target": 210.0}
     2017-12-31 15:54:09   TTool0_actual   210
     2017-12-31 15:54:09   TTool0_target   210
     2017-12-31 17:04:22   transmission-state incoming publish received
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho


Icinger

Theoretisch ja, wenn ich die mittels publishSet Topics rüberschicke......
Hab ich allerdings noch nicht probiert, da mein Drucker noch in Hongkong auf seinen Flug wartet :D

lg, Stefan
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho


Fixel2012

Wow, awesome!  :D

Danach habe ich schon länger gesucht  8)

Werde ich gleich mal testen.
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

oli82

Sehr interessantes Modul.
Was halt toll wäre, wenn man die GPIO des Raspberry über das Modul steuern könnte.
Ich schalte meinen Drucker über das PSU Plugin ein (setzt und list GPIOs) oder die Beleuchtung über custom Commands.
Evtl lässt sich das ja abbilden

michael.winkler

Zitat von: oli82 am 10 Januar 2018, 13:05:40
Sehr interessantes Modul.
Was halt toll wäre, wenn man die GPIO des Raspberry über das Modul steuern könnte.
Ich schalte meinen Drucker über das PSU Plugin ein (setzt und list GPIOs) oder die Beleuchtung über custom Commands.
Evtl lässt sich das ja abbilden
Wenn ich das PlugIn richtig gelesen habe, müsste das über einen set send_gcode schon gehen. Hier kannst du gcodes an den Drucker senden. z.B M80

Kannst Du das mal probieren?

oli82

Gerne!

Geht leider nicht, da OctoPrint nur auf GCode reagiert, wenn der Drucker verbunden ist.
Das ist er hier ja leider nicht :(

Esjay

Guten Morgen Michael,
du gehst ja gerade ganz schon vorwärts. Das Modul hier, Echo Dot Modul übernommen, ein haufen Blog einträge usw.
Mein 3D Drucker druckt sich gerade ein, und nebenbei werde ich OctoPrint ebenfalls einrichten, deswegen hier schonmal vielen Dank, dass du ein Modul dafür entwickelst.
Bin gespannt, was noch alles so kommt.

Grüße

Esjay

#10
Guten Abend,
ich habe das Modul bei mir nun auch im Einsatz. Bisher ohne Probleme. Ich hätte allerdings noch eine Frage. Gibt es eigentlich einen state, der signalisiert, dass der Druck fertig ist? Bei mir ist state dauerhaft "Operational", auch nachdem der Druck fertig ist. Vll habe ich auch noch etwas übersehen.

Grüße

Edit: Ich vermute ich nehme alles zurück, und behaupte das Gegenteil. Habe eben noch nicht ganz den Ablauf verstanden, und hatte den Druck manuell über den Drucker gestartet. Nun da ich ihn direkt über den Server gejagd habe habe ich das reading Printing, daher gehe ich davon aus, dass das finish auch angezeigt wird.

Fixel2012

Hi,

was ich mir noch wünschen würde, ist dass die Kosten von dem Kosten Plugin nach dem Druck gespeichert werden.

Ich würde nämlich gerne mit einer Funksteckdose den Drucker abschalten. Allerdings verschwindet, sobald der Drucker keinen Strom mehr hat in Octoprint die Kosten. Es wäre somit also schön diese vorher in einem Reading zu speichern und anschließend die Steckdose zu triggern.

Wäre super, wenn das machbar wäre!

Danke und Gruß,

Fixel
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

michael.winkler

Zitat von: Fixel2012 am 24 Januar 2018, 17:47:08
Hi,

was ich mir noch wünschen würde, ist dass die Kosten von dem Kosten Plugin nach dem Druck gespeichert werden.

Ich würde nämlich gerne mit einer Funksteckdose den Drucker abschalten. Allerdings verschwindet, sobald der Drucker keinen Strom mehr hat in Octoprint die Kosten. Es wäre somit also schön diese vorher in einem Reading zu speichern und anschließend die Steckdose zu triggern.

Wäre super, wenn das machbar wäre!

Danke und Gruß,

Fixel
Welche PlugIn verwendest du hier? Kannsz Du mir die Webadresse des PlugIns zukommen lassen?

Fixel2012

Zitat von: michael.winkler am 24 Januar 2018, 18:50:38
Welche PlugIn verwendest du hier? Kannsz Du mir die Webadresse des PlugIns zukommen lassen?

Gerne doch:

https://plugins.octoprint.org/plugins/costestimation/

Ich nutze dieses, es gibt allerdings auch noch ein weiteres Plugin mit fast gleichem Namen (Vorsicht!).
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

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-01-24, v0.0.3
#
# v0.0.3
# - BUGFIX:  Readings anzeigen von Umlauten
# - CHANGE:  Send Data nonBlocking
# - FEATURE: Add Support psucontrol inkl. set Befehle turnPSUOn, turnPSUOff und togglePSU (Aktivierung über Attribut "plugin_psucontrol")
#            Neue Set Befehle move_axis_x, move_axis_y, move_axis_z und extrude


Zitat von: oli82 am 10 Januar 2018, 13:05:40
Sehr interessantes Modul.
Was halt toll wäre, wenn man die GPIO des Raspberry über das Modul steuern könnte.
Ich schalte meinen Drucker über das PSU Plugin ein (setzt und list GPIOs) oder die Beleuchtung über custom Commands.
Evtl lässt sich das ja abbilden
Ist jetzt eingebaut. Aktivierung siehe Doku.

Zitat von: Fixel2012 am 24 Januar 2018, 18:53:16
Gerne doch:

https://plugins.octoprint.org/plugins/costestimation/

Ich nutze dieses, es gibt allerdings auch noch ein weiteres Plugin mit fast gleichem Namen (Vorsicht!).
PlugIn habe ich mir angeschaut. Leider gibt es keine Möglichkeit diese Information über die OctoPrint API abzurufen. Vielleicht kannst Du mal auf den Entwickler des PlugIns zugehen, der hat dann eventuell die Möglichkeit eine API für sein PlugIn bereitzustellen.