[Feature Request] Ultra-compact status pages, e.g. as browser sources for OBS
It might be a silly thing, but I sometimes stream my prints over Twitch. There's actually an audience for that, probably people who desperately need to fall asleep or something, and it's a good way to monitor a print in high resolution.
Now, it's easy enough to set up a webcam and OBS for this task, but I'd love it if I could display some status information in the stream. Prusa Connect has all the data, but the web site is obviously not optimized for this use case. With my extremely limited CSS skills, I wasn't able to set up a browser source that shows only the part of the page that I'm interested in - that would be the progress bar for the print that's currently running and maybe the header with the printer status.
It would be great if Prusa Connect contained a set of pages each of which only contains one specific panel of the dashboard - one for the header, one for the status of the cuirrent print, one for the telemetry charts. These could then easily be used in a scenario like mine or other situations in which one might want to display this information in a different context.
Bonus points would be granted if one could configure these pages to be visible without being logged in, i.e. to be world-readable. In that case, one could easily include these panels in one's one web site using an IFrame. I see that as being very useful for creating overview dashboards for entire printer farms, but also for nerds like me who'd like to include a "my current print" widget on their website...
RE: [Feature Request] Ultra-compact status pages, e.g. as browser sources for OBS
To be honest it would not take too long to write a screen scraper to grab all the data (Sorry no way I have the time...). It is pretty well structured so you would just have to look for a div with the class "sc-e3d79ce9-1 sc-4743e512-1 ddZWaf kwwirb" and that would give you the percentage, "sc-1840550c-0 jJFGvx" for remaining time etc.
You would not even need to parse the scraped data as it is already formatted.
RE: [Feature Request] Ultra-compact status pages, e.g. as browser sources for OBS
Just to make this a little clearer: It would be a solution if there were three separate pages that can be directly accessed using a static URL that each contain one of the three blocks I highlighted in the screenshot. It wouldn't be too difficult to somehow build this as a Python script or even a set of curl/sed pipelines in bash - but I don't see a way to cleverly automate the authentication process, especially with 2FA activated.
RE:
This is true and I could absolutely do that myself - if there wasn't the authentication issue. I would probably be able to cobble some OAuth stuff together, but with 2FA enabled it's really tricky. Simply providing read-only pages on the server side that don't require authentication or just some API key would be the only clean solution for that problem.
Besides that I'm always very careful with those auto-generated class names and IDs. There is a good chance that the ID of any given element changes when rebuilding the web app.
To be honest it would not take too long to write a screen scraper to grab all the data (Sorry no way I have the time...). It is pretty well structured so you would just have to look for a div with the class "sc-e3d79ce9-1 sc-4743e512-1 ddZWaf kwwirb" and that would give you the percentage, "sc-1840550c-0 jJFGvx" for remaining time etc.
You would not even need to parse the scraped data as it is already formatted.
RE:
More likely it would be easier to create a python script / Node-RED to call Prusa API and then render those elements separately.
The only problem I see is getting the auth token and then keeping it refreshed/updated.
Or avoid calling Prusa Link and go directly to local address and printer API.
That would be WAY easier and with dashboards with Node-RED
See my GitHub and printables.com for some 3d stuff that you may like.
RE: [Feature Request] Ultra-compact status pages, e.g. as browser sources for OBS
I use PrusaLink but the process should be the same if you're cool with a "less elegant but works" option:
- Open one browser window with the page up
- In OBS, add mulitple instances of that same browser window into your sources
- Use filter to crop out everything you dont want to see for each OBS browser window instance
XL-5T, MK3S MMU3 || GUIDE: How to print with multiple-nozzlesizes do read updated replies || PrusaSlicer Fork with multi-nozzlesize freedom || How Feasible is Printing PETG for PLA supports on XL very
RE: [Feature Request] Ultra-compact status pages, e.g. as browser sources for OBS
You are a genius! I was so fixated on the custom CSS to hide stuff that I didn‘t even think about just cropping…
RE: [Feature Request] Ultra-compact status pages, e.g. as browser sources for OBS
I combined some of the ideas into a single, really good solution. I added the PrusaLink integration to Home Assistant, created a Dashboard and then used the cropping in OBS to make it all fit. Yeah, that's what I was looking for!
RE: [Feature Request] Ultra-compact status pages, e.g. as browser sources for OBS
Nice.
Totally forgot about Home Assistant, because it was so obvious to use...
See my GitHub and printables.com for some 3d stuff that you may like.
RE: [Feature Request] Ultra-compact status pages, e.g. as browser sources for OBS
Just like the cropping idea, I guess. Just too obvious. 😀