NEWS
Adapter Klipper-Moonraker
-
@1topf Bei mir gibt es
display_status.progress
als DP. Habe da auch einen Alias drauf für*100
wenn das immer eine Konvertierung benötigt, kann man das auch im Adapter einbauen ja. -
@foxriver76 Schöner wäre die geplante Endzeit
-
@merlin123 gibt es nicht über die API
-
@foxriver76 Ah ok. Schade Ich finde aber irgendwie auch sonst keine Möglichkeit, die Restlaufzeit oder so herauszufinden.
Hab mal versucht über den Fortschritt und die verstrichene Zeit was zu machen, aber der Fortschritt scheint sich nicht auf die Zeit zu beziehen.. -
so nach einigen hin und her auch wenn es umständlich ist, wenn ich jetzt meine API abrufe
http://192.168.0.84:7125/printer/objects/query?display_status
bekomm ich folgende ausgabe
result eventtime 21482.066148242 status display_status progress 0 message "00-22"
gelöst durch dieses makro
[gcode_macro M73] rename_existing: M990073 #variable_R: 0 #variable_P: 0 #default_parameter_P: 0 #default_parameter_R: 0 gcode: #SET_GCODE_VARIABLE MACRO=M73 VARIABLE=R TYPE=int VALUE={params.R} #SET_GCODE_VARIABLE MACRO=M73 VARIABLE=P TYPE=int VALUE={params.P} M990073 P{ params.P|int} M117 { "%02d-%02d" % (params.R|int // 60, (params.R|int) % 60) }
-
lässt sich doch jetzt mit blockly etc und der simpleapi einfach umsetzen
-
Also ich hab das alles ohne API, sondern nur über die IP des Druckers. Jetzt drucke ich gerade etwas (... meine Frau guckt schon komisch ... ), und da zeigt es die verbleibende Zeit wieder an. Ich muß nur mal in Ruhe vergleichen, wo der Unterschied liegt: jetzt habe ich die Datei per CURA zum Drucker geschickt, die vorige (ohne Anzeige im DP) aber mit ELEGOO CURA (abgewandelte Form vom Hersteller). Morgen habe ich eventuell Zeit für Vergleiche.
-
Das mit der API liegt daran das ich nich die VIS sondern ein Dashboard benutze
-
@kammi_ Also zum Verständnis:
Ich muss das Marco in Klipper einbauen, dann kann ich mithttp://192.168.0.252:7125/printer/objects/query?display_status
nicht nur
{"result": {"eventtime": 37888.166006499, "status": {"display_status": {"progress": 0.81, "message": null}}}}
Sondern auch die Message in der Art "00-22" was dann ein Ende um 0:20Uhr bedeuten würde?
NACHTRAG:
Wenn ich das Macro ans Ende der gcode_macro.cfg kopiere und den status abrufe, hat sich nichts geändert
Ich hab das auf nem Creality K1 am Laufen -
Moin und Frohe Weihnachten euch allen. Ich habe das am anfang bei mir eingefügt
# QIDI Plus4 V1.6.0 #20241102 #1. 起始代码腔室加热将在调平后开启 #2. 腔室加热开启必须带着热床升温 #3. M141和M191宏定义修改,热床低于70会开启热床加热 #4. ## eigener code anfang [gcode_macro M73] rename_existing: M990073 #variable_R: 0 #variable_P: 0 #default_parameter_P: 0 #default_parameter_R: 0 gcode: #SET_GCODE_VARIABLE MACRO=M73 VARIABLE=R TYPE=int VALUE={params.R} #SET_GCODE_VARIABLE MACRO=M73 VARIABLE=P TYPE=int VALUE={params.P} M990073 P{ params.P|int} M117 { "%02d%02d" % (params.R|int // 60, (params.R|int) % 60) } ## Eigener code ende [gcode_macro _CG28] gcode:
mit dieser adresse kannst du dir alles anzeigen lassen
http://192.168.0.84:7125/printer/objects/list
würde dann so aussehen wenn du daten abrufen willst
http://192.168.0.84:7125/printer/objects/query?display_status&heaters&print_stats
die 00-22 sind in minuten du kannst die zeile auch so ändern
M117 { "%02d:%02d" % (params.R|int // 60, (params.R|int) % 60) } Minuten
dann wäre die Ausgabe 00:22 Minuten oder was du auch immer dahinter schreibst. Wie ich das anders Formatiere hab ich keine Ahnung gcode is ne andere Welt für mich.
bei mir sieht das dann so aus in der übersicht was mich allerdings nicht stört
-
@kammi_ ok. Danke. Muss ich mir mal anschauen, werd aber erst morgen dazu kommen. Sind das dann stunden:Minuten?
-
Ja ist es, muss jetzt nur noch nen weg finden, wie ich das in blockly umsetz das ich die aktuelle Zeit + die druck Zeit zusammen zähle und die mir ausgeben lasse so das ich se dann wiederum mit der api abrufen kann.
//edit
was ich festgestellt habe ist das es sich bei der Zeit wo ausgegeben wir um reine durck Zeit handelt. Also ohne aufheizen und was sonst noch vor dem eigentlichen druck passiert. -
So. Ich bekomme die Zeit in den Objekten angezeigt, wenn ich in CURA das Script "Display Info on LCD" hinzufüge. Natürlich betrifft das nur die reine Druckzeit, hochheizen ist da nicht dabei.
Leider wird auch die Endzeit "Fertig um ..." nicht mit übermittelt.
Aber es gibt genug Datenpunkte, um den Drucker per smarter Steckdose auszuschalten, z.B. die Temperatur vom Druckbett.
Was momentan wirklich stört ist, daß der Adapter den Fehlerspeicher von ioB füllt, sobald die Verbindung zum Drucker weg ist. Und auch, daß der Adapter mit jedem neuen Druck einen Neustart benötigt.Sonst hab ich nix zu meckern.
-
@1topf schau dir mal die mqtt Funktion von moonraker an. Hab vor langer Zeit darauf umgestellt. Damit hast du die Probleme nicht.
hier kannst dir meine vis dazu anschauen https://forum.iobroker.net/topic/77997/meine-vis-mit-76-seiten?_=1735153770056
-
@stenmic Über mqtt bin ich heute beim Lesen auch schon gestolpert. Wie hast Du das "aktiviert"? Offiziell gibt es da ja keine Einstellungen, zumindest seh ich nix.
Ich habe mir dann dieses MQTT-Plugin: (https://github.com/SuperKohl/Moonraker-MQTT-plugin) installiert, aber ich bekomme keine Verbindung. Hab jetzt gerade auch keine Lust mehr ...
Ich probiere es später nochmal. -
@1topf das ist das falsche Plugin, du brauchst dieses.
in den Einstellungen einen Benutzer und Passwort vergeben.
dann in der Moonraker.conf den Bereich mqtt aktivieren.
Bei den status_objects musst du testen welche du benötigst.
Die Werte werden dann alle 2 Sekunden an den ioBroker gesendet.
Aber nur wenn sie sich ändern.
Zu finden unter mqtt.
-
dank @paul53 seiner hilfe bin ich fertig damit
-
Den MQTT-Adapter für ioB hab ich natürlich. Das Plugin von oben hab ich direkt auf dem Drucker installiert. Habe aber gestern abend unabhängig davon auch die Änderungen direkt in der moonraker.conf gemacht, dort nur die falsche IP reingeschrieben . Mittlerweile taucht der Drucker in den mqtt-Objekten auch auf.
Mehr Infos gönnst Du uns wohl nicht?
-
was möchtest du den wissen ? Ich benutze nicht das Dashboard von iobroker is für mich zu mächtig. Ich benutze das Dashboard
is für meine zwecke einfacher ich hole mir die infos was ich brauch über iob Datenpunkte mit simpleapi in das Dashboard
hab jetzt meine 3 drucker drin war zwar bisschen fummelig mit der endzeit da klipper nich so is wie prusa aber geht jetzt auch
-
@stenmic Könntest Du die Status Objekte bitte mal als Text posten? Danke schonmal
Grundsätzlich klappt es aber
Weißt zu zufällig, in welchem Format die Eventtime übermittelt wird?{"eventtime": 5520.038950165, "value": 18.43}
Hier mal die Temperatur als Beispiel.
Gibt es ne Liste der möglichen Status Objekte? Sind das die: Printer Objects