Autor Thema: [70_OctoPrint.pm] zum Steuern von OctoPrint 3D Drucker  (Gelesen 46725 mal)

Offline Christoph Morrison

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1821
Antw:[70_OctoPrint.pm] zum Steuern von OctoPrint 3D Drucker
« Antwort #165 am: 13 Juni 2020, 15:15:06 »
Und was genau is nun das Problem das noch über das Modul wählbar zu machen wie das ganze formatiert wird? Für mich wäre das ganze dann nur noch ein einzelner Befehl den ich im Modul über eine liste auswählen könnte. Funktioniert bei attribute doch auch prima.

Mach doch einfach einen Patch und schick ihn an Michael. Er freut sich sicher über deinen Input.
Zustimmung Zustimmung x 2 Liste anzeigen

Offline masterpete23

  • Sr. Member
  • ****
  • Beiträge: 568
Antw:[70_OctoPrint.pm] zum Steuern von OctoPrint 3D Drucker
« Antwort #166 am: 09 Dezember 2020, 11:16:09 »
Guten Morgen,

nach einem Update auf die neueste Octoprint Version werden meine Drucker nur noch als offline angezeigt.
Hat jemand ähnliche Probleme und ggf. eine Lösung?

Offline Icinger

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1420
Antw:[70_OctoPrint.pm] zum Steuern von OctoPrint 3D Drucker
« Antwort #167 am: 09 Dezember 2020, 17:42:44 »
Lösung: Statt dem Octoprint-Modul einfach MQTT nehmen :)
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Offline masterpete23

  • Sr. Member
  • ****
  • Beiträge: 568
Antw:[70_OctoPrint.pm] zum Steuern von OctoPrint 3D Drucker
« Antwort #168 am: 09 Dezember 2020, 18:17:12 »
Lösung: Statt dem Octoprint-Modul einfach MQTT nehmen :)
Klingt interessant - wo kann ich mich einlesen?

Offline Icinger

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1420
Antw:[70_OctoPrint.pm] zum Steuern von OctoPrint 3D Drucker
« Antwort #169 am: 09 Dezember 2020, 18:30:53 »
Für Octoprint gibts ein MQTT-Plugin.
Da bekommst du dann tonnenweise Daten, die du dir dann mit dem MQTT2-Device rausfiltern kannst.
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Offline michael.winkler

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1802
Antw:[70_OctoPrint.pm] zum Steuern von OctoPrint 3D Drucker
« Antwort #170 am: 10 Dezember 2020, 09:56:40 »
Guten Morgen,

nach einem Update auf die neueste Octoprint Version werden meine Drucker nur noch als offline angezeigt.
Hat jemand ähnliche Probleme und ggf. eine Lösung?
Was sagt denn das LOG dazu?

Offline hanswerner1

  • Full Member
  • ***
  • Beiträge: 358
Antw:[70_OctoPrint.pm] zum Steuern von OctoPrint 3D Drucker
« Antwort #171 am: 10 Dezember 2020, 10:38:56 »
nach einem Update auf die neueste Octoprint Version werden meine Drucker nur noch als offline angezeigt.
Hat jemand ähnliche Probleme und ggf. eine Lösung?

Ich habe auch das Problem, denke es liegt daran, das man sich auf Octoprint jetzt nur noch über Nutzerkonto einloggen kann.


Offline michael.winkler

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1802
Antw:[70_OctoPrint.pm] zum Steuern von OctoPrint 3D Drucker
« Antwort #172 am: 10 Dezember 2020, 10:44:47 »
Ich habe auch das Problem, denke es liegt daran, das man sich auf Octoprint jetzt nur noch über Nutzerkonto einloggen kann.
ok, dann muss ich mir das mal anschauen

Offline masterpete23

  • Sr. Member
  • ****
  • Beiträge: 568
Antw:[70_OctoPrint.pm] zum Steuern von OctoPrint 3D Drucker
« Antwort #173 am: 10 Dezember 2020, 11:13:15 »
Nach einiger Zeit hat er sich wieder berappelt. Es "meldet" sich wieder. Irgendwie etwas verzögert - aber es geht.

@Icinger: Gibt es dazu schon irgendwas mqtt2 fhem fertiges? Ich bin da noch nicht so fit und würde es mir gerne mal anschauen.

Offline michael.winkler

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1802
Antw:[70_OctoPrint.pm] zum Steuern von OctoPrint 3D Drucker
« Antwort #174 am: 10 Dezember 2020, 12:06:53 »
Guten Morgen,

nach einem Update auf die neueste Octoprint Version werden meine Drucker nur noch als offline angezeigt.
Hat jemand ähnliche Probleme und ggf. eine Lösung?
Habe jetzt mein Octoprint auf die Version 1.5.1 aktualisiert. Habe immer noch eine Verbindung über das Modul.

Kann es sein, dass sich Dein API Key geändert hat? Wie hast du das Update durchgeführt?

Offline rcmcronny

  • Full Member
  • ***
  • Beiträge: 292
Antw:[70_OctoPrint.pm] zum Steuern von OctoPrint 3D Drucker
« Antwort #175 am: 10 Dezember 2020, 13:13:08 »
FYI: Bei mir läuft es mit 1.5.1 auch mit dem alten APIKey weiterhin, keine Probleme
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
Antw:[70_OctoPrint.pm] zum Steuern von OctoPrint 3D Drucker
« Antwort #176 am: 29 März 2021, 22:59:37 »
Hi Michael,
Schönes Modul :-)
ich nutze das Octoprint-Plugin USBControl, um die Stromversorgung (über den USB) zu meinem Ender zu unterbrechen, bzw. wieder zu aktivieren. Das Plugin ist über API steuerbar, daher habe ich mir eine kleine myUtils-Routine dafür gebastelt. Vielleicht nutzt ja der ein oder andere auch das Plugin, daher packe ich die myUtils mal hier rein (und vielleicht magst du es ja - über Attribut einschaltbar) in das Octoprint Modul integrieren...
Schön fände ich auch noch eine "Preheat" Funktion (habe ich über set gcode realisiert, aber könnte man ja vielleicht auch über das Modul bereitstellen).


sub myUtils_usbcontrol {
my $state = shift;

my $header = {
        "Content-Type"     => "application/json",
        "X-Api-Key" => "<APIKEY>"
    };

my $data = qq({"command": "usb2","arg2": "$state"});
my $param = {
        header      => $header,
        method      => "POST",
        url         => "http://octopi.lan/api/plugin/usbcontrol",
        callback => \&myUtils_usbcontrolCb,
        data     => $data
    };
    HttpUtils_NonblockingGet($param);
    return;
}

sub myUtils_usbcontrolCb {
return; ## API doesn't return any values so far
}


Grüße,

Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Lallysoft

  • New Member
  • *
  • Beiträge: 3
Antw:[70_OctoPrint.pm] zum Steuern von OctoPrint 3D Drucker
« Antwort #177 am: 01 Mai 2021, 08:57:18 »
Hallo Michael,

ich möchte gern dein sehr hilfreiches Modul einsetzen. Die reinkommenden JSON Daten werden aber laut verbose=5 Log nicht verstanden.
Ich arbeite mit
  • deinem Modul V 0.0.11
  • OctoPrint V 1.5.3
  • libjson-perl V 2.90-1

Hier das Log:
2021.05.01 08:31:04 5: OctoPrint Ender3 [OctoPrint_GetStatus] called function
2021.05.01 08:31:04 5: OctoPrint Ender3 [OctoPrint_SendCommand] called function CMD = 
2021.05.01 08:31:04 5: OctoPrint Ender3 [OctoPrint_SendCommand] using unencrypted connection via HTTP
2021.05.01 08:31:04 5: OctoPrint Ender3 [OctoPrint_HD_SendCommand] - append to queue http://192.168.100.122:80/api/job?&apikey=XXX
2021.05.01 08:31:04 5: OctoPrint Ender3 [OctoPrint_HD_HandleCmdQueue] - send command url  = http://192.168.100.122:80/api/job?&apikey=XXX
2021.05.01 08:31:04 5: OctoPrint Ender3 [OctoPrint_HD_HandleCmdQueue] - send command data =
2021.05.01 08:31:04 5: OctoPrint Ender3 [OctoPrint_HD_HandleCmdQueue] - send command head = Content-Type: application/json
2021.05.01 08:31:04 5: OctoPrint Ender3 [OctoPrint_SendCommand] called function CMD = 
2021.05.01 08:31:04 5: OctoPrint Ender3 [OctoPrint_SendCommand] using unencrypted connection via HTTP
2021.05.01 08:31:04 5: OctoPrint Ender3 [OctoPrint_HD_SendCommand] - append to queue http://192.168.100.122:80/api/printer?exclude=state,sd&apikey=XXX
2021.05.01 08:31:04 5: OctoPrint Ender3 [OctoPrint_ReceiveCommand] called function
2021.05.01 08:31:04 5: OctoPrint Ender3 [OctoPrint_ReceiveCommand] [readings_job] Data = {"job":{"averagePrintTime":null,"estimatedPrintTime":49750.06166679456,"filament":{"tool0":{"length":51249.402740002086,"volume":0.0}},"file":{"date":1619801450,"display":"halter_blaue_tonne.gcode","name":"halter_blaue_tonne.gcode","origin":"local","path":"halter_blaue_tonne.gcode","size":23113827},"lastPrintTime":null,"user":"admin"},"progress":{"completion":0.5481524111087273,"filepos":126699,"printTime":1285,"printTimeLeft":48784,"printTimeLeftOrigin":"analysis"},"state":"Printing"}

2021.05.01 08:31:04 5: OctoPrint Ender3 [OctoPrint_ReceiveCommand] [readings_job] JSON =
2021.05.01 08:31:04 5: OctoPrint Ender3 [OctoPrint_ReceiveCommand] [readings_job] JSON = NODATA
2021.05.01 08:31:04 5: OctoPrint Ender3 [OctoPrint_HD_HandleCmdQueue] - send command url  = http://192.168.100.122:80/api/printer?exclude=state,sd&apikey=XXX
2021.05.01 08:31:04 5: OctoPrint Ender3 [OctoPrint_HD_HandleCmdQueue] - send command data =
2021.05.01 08:31:04 5: OctoPrint Ender3 [OctoPrint_HD_HandleCmdQueue] - send command head = Content-Type: application/json
2021.05.01 08:31:04 5: OctoPrint Ender3 [OctoPrint_ReceiveCommand] called function
2021.05.01 08:31:04 5: OctoPrint Ender3 [OctoPrint_ReceiveCommand] [readings_printer] Data = {"temperature":{"bed":{"actual":70.0,"offset":0,"target":70.0},"tool0":{"actual":210.0,"offset":0,"target":210.0}}}

2021.05.01 08:31:04 5: OctoPrint Ender3 [OctoPrint_ReceiveCommand] [readings_printer] JSON =
2021.05.01 08:31:04 5: OctoPrint Ender3 [OctoPrint_ReceiveCommand] [readings_printer] JSON = NODATA

Und hier meine Device Internals
Internals:
   DEF        192.168.100.122 80
   FUUID      608ce592-f33f-5864-17d7-ef6d89c822efd5f2
   INTERVAL   45
   NAME       Ender3
   NR         402
   STATE      ???
   TYPE       OctoPrint
   READINGS:
     2021-05-01 08:54:01   online          true
   helper:
     ADDRESS    192.168.100.122
     PORT       80
     RUNNING_REQUEST 0
     CMD_QUEUE:
Attributes:
   apikey     XXX
   icon       it_printer
   room       HAR

Kannst du mit einen Tipp geben, woran es liegen könnte?

Offline michael.winkler

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1802
Antw:[70_OctoPrint.pm] zum Steuern von OctoPrint 3D Drucker
« Antwort #178 am: 03 Mai 2021, 11:28:05 »
kann keinen Fehler erkennen. Könntest Du das Octoprint mal auf die 1.6er Version aktualisieren?

Offline Lallysoft

  • New Member
  • *
  • Beiträge: 3
Antw:[70_OctoPrint.pm] zum Steuern von OctoPrint 3D Drucker
« Antwort #179 am: 03 Mai 2021, 19:26:53 »
Hallo Michael,

danke für deine Hilfe! Die Aktualisierung von Octoprint habe ich gleich ausprobiert, hat jedoch leider nichts geändert.
Ich habe dann mal im Modul-Quelltext nachgeschaut und vermutet, dass der Aufruf

my $dJSON = eval { JSON->new->utf8(0)->decode($data) };

wohl keine Daten zurück liefert, obwohl $data ja Daten enthält, wie das Log zeigt. Das JSON Modul muss allerdings
ja auch da sein, weil das zuvor im Code geprüft wird.

Ich habe ein kleines Perl Testprogramm auf dem FHEM-Rechner geschrieben und das Kommando geprüft. Da funktioniert
es und es kommt bei $dJSON etwas wie "HASH(0x2a4448)" zurück:

#!/usr/bin/perl -w
if  (eval {require JSON;1;} ne 1) {print "No JSON";};
my $indata = '{"temperature":{"bed":{"actual":60.0,"offset":0,"target":60.0},"tool0":{"actual":206.25,"offset":0,"target":205.0}}}';
my $outdata = eval{JSON->new->utf8(0)->decode($indata)};
print "$indata\n";
print "$outdata\n";

Warum das im Modul nicht geht, ist weiterhin rätselhaft...

Viele Grüße,
Ralf