Inventables Community Forum

Is there an API which allows notification at the end of a Carve?

I’ve got a MQTT messaging system set up in my house, this is used for home automation and “Internet of Things”. MQTT is well supported by node.js.

I’d be interested in taking advantage of any hooks in Easel which allow me to set up notifications at the beginning and end of a carve - does the current Easel API allow for hooks which are executed when a carve is complete and/or when a carve starts? Even better would allow some sort of progress notification hook which allows custom code to query percent complete.

None of this should be all that difficult, it’s just a matter of doing it.

1 Like

This is an awesome idea and I’m really interested in seeing what ideas people have.

After I posted this last night I was poking around the code for EaselLocal and I do believe I could hack machine.js to add a MQTT notification into the machine status call, but I’d rather do this in a supported way.


The API currently only supports modifying the objects in the design.


Any chance of changing that?

If you’re planning start job and leave, come back when finish the job, I say No No NO.
As soon as you left the machine along, it will take advantage of it and fail/break/bump all kind of unsafe events.

1 Like

We are looking into expanding the API, but the first area we are looking into doing that in is tool path generation.

What is your specific use case for this? Leaving your machine unattended during a carve is not recommended.


1 Like

Oh absolutely not, when I’m running a carve I sit and stare at it with earmuffs on for the entire 4 hours.

But maybe if I fall asleep in the position this API would allow me to capture periodic progress messages in my Smarthome system that would send push notifications to make my Android Wear watch vibrate and make sure my attention didn’t wander.

But the real real usecase is an addon to @PhilJohnson’s Demon CNC that would drive a giant count down display (“time to hell”) on the wall, then capture the carve complete message and instruct the home automation system to turn off the dust collector, dim the lights, trigger playback of demonic laughter through the sound system, flash the demon’s eyes, then trigger the fireball pyrotechnics display placed around the machine while recording a video of the event.


I forgot, it would also move the X-Carve to the back right corner where a mirror and beam splitter is located, then fire the JTech laser so you’d have multiple blue laser beams (scorching the ceiling) during the fireballs.

Maybe you could use a different plan. If MQTT supports it and there is a device that reads the state or position of a switch you could use G-code to get your begin and end notification.

You could use M7 or M8 in your post processor to turn the switch on and M9 in the post processor to turn the switch off.

Ooooops! Forgot you said Easel. Nevermind.

could you write a browser plugin to watch the DOM and do whatever you need when the done div is shown? Could also click the calculate button, get the estimated time and then get the complete % then calc the estimated time remaining.

Possibly, but I think the more robust hack in this case would be to change the node.js source code in EaselLocal and be less dependent on the specifics of the Easel web interface.

Did this. Let me know if you need this

Cool! What was involved? Did you do the MQTT part or leave the notification general?

It sends an email via smtp. I had it sending via my gmail account. I ended up not publishing the mod publicly after talking with Zach Kaplan about it. Inventables has had 2 separate customers burn their house down by walking away from the machine (one of them left house, other was still at house). 1. I don’t want that kind of liability. 2. I don’t want inventables to have that kind of liability. Look for a private message.