Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Any way to detect M600 (filament change) and publish that? #17

Open
liftoff opened this issue Jul 20, 2017 · 7 comments
Open

Any way to detect M600 (filament change) and publish that? #17

liftoff opened this issue Jul 20, 2017 · 7 comments
Labels

Comments

@liftoff
Copy link

liftoff commented Jul 20, 2017

I tested some gcode that incorporates a filament change (M600) and watched the output of the plugin on octoprint/# but I didn't see anything that would indicate a filament change status. Is this a feature that can be added or is it something I would need to implement via a plugin?

Thanks for your assistance with this. My printer is in my garage and I can't hear the beeps when it's time for a filament change. Writing something to notify me when a specific MQTT message is published would be an easy fix to that problem!

@hakan42
Copy link

hakan42 commented Jan 13, 2019

Actually using that and then having something like openHAB or Node-Red would be wonderful.

@DominikPalo
Copy link

Any updates? It would be really helpful also for me :)

@jonferreira
Copy link

any updates? would really want to see this implemented

@jneilliii
Copy link
Collaborator

I was just looking at this and was wondering what happens on the OctoPrint side when a M600 command is sent currently? In theory shouldn't it pause the interface until resumed? If that is the case couldn't you subscribe to the topic octoprint/event/PrintPaused and react to that? I know that's not a specific M600 event, but the gcode scripts that are interpreted by the MQTT plugin are the ones listed here. If M600 doesn't pause the print then you could actually add that by adding M600 to the serial connection settings on the firmware & protocol tab.

image

@jneilliii
Copy link
Collaborator

Another option would be to add an M300 just before the filament change in your gcode and react to the topic octoprint/event/Alert.

@AJErazzor
Copy link

I was just looking at this and was wondering what happens on the OctoPrint side when a M600 command is sent currently? In theory shouldn't it pause the interface until resumed? If that is the case couldn't you subscribe to the topic octoprint/event/PrintPaused and react to that? I know that's not a specific M600 event, but the gcode scripts that are interpreted by the MQTT plugin are the ones listed here. If M600 doesn't pause the print then you could actually add that by adding M600 to the serial connection settings on the firmware & protocol tab.

image

This worked brilliantly for me until 1.4.2 (I think) where the M600 pause command which was there by default was removed. When adding in again - the behaviour is now - printer does filament change process, MQTT detects pause, however the GUI does not show this and when the filament change is complete on printer, it used to just start again but now once the filament change is done, the GUI THEN changes to pause and I need to resume it from the GUI - is there another command we need in there instead of m600 now? Printer is Prusa Mini

@jneilliii
Copy link
Collaborator

That sounds like a breaking change in OctoPrint, or more specifically the Action Command Plugin that is bundled with OctoPriint 1.4.2. I haven't looked to see if there are any changes there, but I know there were some additions like the notifications panel in the sidebar, etc. Maybe post the question to OctoPrint issue tracker directly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants