I have created a SmartApp & Device Handler for controlling and monitoring a 3d printer connected to an Octoprint server. (Octoprint is a free server platform that can easily be installed on a Raspberry Pi or PC.) To install my App/DTH, add my GitHub repo and add the SmartApp code and the Device Handler code in the IDE.
In the ST classic app just install the SmartApp and add a new server. Enter the IP, Port, and API Key for the server (you can get your API key by launching the web app and going to settings) and hit done and save. Then you can optionally come back into the app and link a power switch for your printer, and also link extra power switches to turn on/off with the printer (ex. if you have a light that you want to turn on/off with the printer. In the device handler, you will see there is an auto off switch which will automatically turn off the connected switches after a print completes.
Note that this relies on polling which I currently only have it doing once a minute, so status updates aren’t immediate, but you can always hit the refresh button to get an update.