Windows program to periodically check printer status

TLDR: Has anyone built a Widows program to, at timed intervals check a printer status via a HTTP request to Moonraker across the local network and be able to alarm (sound) under given conditions?

Longer version:

I’m running a big printer creating prints that get through multiple rolls of filament, prints may take a 20 to 30 hours to do. I have to sleep sometime, and the printer is in a different building to where I sleep, but at my house.

Therefore, I need a way for my PC or phone or any other device you can think of on the LAN to make loud noise when the printer is errored or paused for whatever reason.

I’ve seen too many choices with octoeverywhere, obico, and there’s probably more, but I need something simple that just does the above.

The web tells me something like:

curl -X POST -H “Content-Type: application/json” -d ‘{“id”: 123, “method”: “objects/query”, “params”: {“objects”: {“webhooks”: null, “toolhead”: [“position”]}}}’ http://<your_klipper_host_ip>:7125/printer/objects/query

will return the kind of information I’m looking for but before I go off and attempt to build what i described, I’d have thought someone else would have already done it?

I think, achieving the goal you have in mind is more complex than using one of the tools you mentioned.

How so?
Not being funny, I’d think it’d be… Have your exe send of the request every n minutes then read the result then make a noise until cancelled if the conditions are met. Which makes me think there’s something in here I don’t understand?

I’m not quite sure:

  • Are you seeking for help

or

  • Do you want to show your project?

Sorry, to go back to my original question it seems like a useful thing that might have been built already, so is anyone aware of such a thing?

can you not do something with telegram-bot plugin und than set telegram to a special Ringtone or something like that for your Printer-bot?

Seems the simplest solution…

Not really. You could have a look here and get some inspirations, but the language is German Klipperscreen überall [Dr. Klipper Wiki] .

Hi All,

Thanks for the replies I’ll investigate/

This would be easy to do using python and websockets. I have a QT5 based gui that runs on a pi that manages an auto alignment/offset tool for my Idex printer. Python and QT are both cross platform so you could write it and run in windows environment. I do my development in Visual Studio 2022 Community Edition with the python for visual studio add on. You would need to install pyQT5 then add the python websockets module to the python environment in visual studio. pyQT6 should also work, I use 5 because getting QT6 working on a Raspberry Pi is a pain under buster os.

Another option is the moonrakerpy module for python which I used to use but I find it less friendly than just creating my own class and websockets. The source code for KlipperScreen is what pointed me in the right direction to get started. You can then subscribe to events or query.

Have you looked up the [notifier]function within moonraker?

It uses apprise and supports sending notifications to over 100 services