Plugin/Method for Interpreting Recv messages

#1

So much forgiveness to ask, new poster and I have no idea where this topic should be.

I have been using OctoPrint for quite a while, and really enjoy the functionality of messaging out (OctoRant or Pushover or even IFTTT). I run OctoPrint and MJPG streamer on a dedicated Ubuntu laptop so processing power isn't really an issue.

I recently installed the EZOut filament sensor from TH3D, and it works great on my Ender 5. What I am missing is the ability to detect (in OctoPrint) that the firmware has paused the print and is waiting for interaction before continuing (so that I could push this via Discord as a notification for me to walk over and resolve the issue).

I took a look at the terminal output during a test and the only clear message that I saw that was related to the printer state was:

Recv: echo: Insert filament and press button (or M108)

Is there a way to use this as a trigger for any of the notification apps? I guess I'm asking for the opposite of the way that the terminal filters work. I want to put a phrase in a box and have its status elevated for attention.

Thanks!

#2

I suppose you could. By the way, that's probably an M117 notification.

In a case like this I think that I would write my own M117 plugin which would do that Discord thing you mentioned. But first, I'd search the OctoPrint plugin space and trip over DiscordRemote. At this point, I'd probably decide that forking that code and then adding the M117 behavior might be a better overall solution. (I don't honestly know what you're doing over there but I'm generalizing here.)

Before embarking on any quest for the Holy Plugin, though, it would also be good to check in with the original EZOut filament sensor and see if there are undiscovered options which would allow you, say, to call a python script or something else. [Having just read the documentation, there's no plugin related to this.]

Another strategy would be to simply trigger off the fact that a PAUSE was performed.

config.yaml:

events:
  enabled: True
  subscriptions:
  - event: PrintPaused
    command: python ~/scripts/discord-pause.py
    type: system
    enabled: True
1 Like
#3

Thanks so much for the reply. I thought that I could use the pause functionality to capture the change with Octorant or IFTTT plugins, but neither of their pause triggers was tripped (and Octoprint itself didn’t show a pause when the filament sensor was tripped).

I like your idea of a fork to capture the message now that you have identified it for me.

#4

You could try to install one of the M117-related plugins and see if that pops off. It really looks like that's being displayed, to be honest.

You could also see if this is an M300 alert or an M112. Events