Prusa Connect - is there API specification or Mobile (Android) App with notifications?
 
Notifications
Clear all

Prusa Connect - is there API specification or Mobile (Android) App with notifications?  

  RSS
dlvoy
(@dlvoy)
Member
Prusa Connect - is there API specification or Mobile (Android) App with notifications?

TL;DR: Do Prusa have/will have Android app to notify users about print job progress / Prusa Connect status? Where can I find documentation of Prusa Connect API?


Hi, as a Prusa MK4 owner i would like to see progress of current print job on Android Launcher screen - in widget, and get notified (push notification) about progress of current job and when it is finished (or when there are errors)
As far as I know there is no official Prusa mobile/Android app. I discussed (with Author) possibility of integrating OctoApp that does exactly that with PrusaLink / Prusa Connect - but from our short research it seems that it will be very hard/impossible with current API / notifications.

Of course, there is always option to set-up OctoPrint and it will work with OctoApp and whole ecosystem of apps and tools for it, but it is additional step and OctoPrint does not fully support MK4. I would like to have option native to PrusaLink / Prusa Connect.

Questions:

  1. Do Prusa plan to create its own mobile app for that?
  2. If not, is there chance to document/open/extend part of its APIs to allow apps like OctoApp to integrate.
  3. Maybe there are some better docs regarding existing API - in only found few of them, as detailed bellow.

 


I've tried to understand what is current Prusa API landscape, and what I found is:

  • PrusaLink is local network only. It hasdocumented API (in form of OpenAPI spec / yaml), despite claims there it does not require Digest Auth - simply adding X-Api-Key header works. I was successful getting printer status, job progress etc.
  • PrusaLink seams to not have any WebHooks/push mechanism, so active pulling is only option - which is expensive on device or third party integrator side if we would like to make push notifications from it.
  • Prusa Connect does not provide same API as PrusaLink. When queried on root domain with Api KEY at /api/version it seems to "emulate" OctoPrint API but only some dedicated part of it - to allow Prusa Slicer to use same API as OctoPrint for uploading GCode.
  • It has only one publicly documented endpoint set - to allow integration with third party cameras. It is in /c/ path
  • Another API can be found in printer firmware code, that allows printer to upload its telemetry/status to Connect. It is in /p/. Other endpoints are proprietary/not public.
  • Prusa Connect itself uses web services at /app, including /app/printers/printer_uuid/camera - but as far as i understand - those are private API for frontend
  • Prusa Connect allows integration with third-party communicators (Slack/Telegram/Discord) - that to some extend support WebHooks - but as i understand it wont work with any third-party webhooks, neither there is mechanism to notify third-party app of Prusa Connect status / telemetry etc.

 

Am I missing something?

Is there additional documentation/API that can be used?

Posted : 06/02/2024 9:36 am
samuel-t, MrB and liked
Tojik
(@tojik)
Member Moderator
RE: Prusa Connect - is there API specification or Mobile (Android) App with notifications?

Hi, the only thing that can be done is specifying your own url in the notifications webhooks, there seems to be no address checks, so the webhook will go through to your endpoint. You are right however that the api is kept private

Posted : 06/02/2024 1:06 pm
dlvoy liked
delianides
(@delianides)
Member
RE: Prusa Connect - is there API specification or Mobile (Android) App with notifications?

Any chance this is going to be opened up in the future? I'd prefer not to have to run a raspberry pi + octioprint just to have an API i can connect to.

Posted : 10/05/2024 2:30 pm
MrB liked
MrB
 MrB
(@mrb)
Active Member
RE: Prusa Connect - is there API specification or Mobile (Android) App with notifications?

This.  I'd even be satisfied (and ditch octoprint) with the ability to send webhook/triggers for common events from PrusaLink to a local ip.

Posted by: @delianides

Any chance this is going to be opened up in the future? I'd prefer not to have to run a raspberry pi + octioprint just to have an API i can connect to.

 

Posted : 13/06/2024 10:39 pm
_KaszpiR_
(@_kaszpir_)
Honorable Member
RE: Prusa Connect - is there API specification or Mobile (Android) App with notifications?

HomeAssistant has plugin for PrusaLink, and it pools the printer for a status.in certain periods, so you could make an automation based on HomeAssistant.

See my GitHub and printables.com for some 3d stuff that you may like.

Posted : 14/06/2024 10:28 pm
MrB liked
kubamaker
(@kubamaker)
Member
RE:

Hi, check my Android app, available in the Google Play store. It's using PrusaLink to access the printer, there is also in-build models gallery (Printables, Thingiverse), integrated cloud slicer and many more, don't waste your time by finding anything else, everything for easy printing is here in one app 😎 

https://play.google.com/store/apps/details?id=cz.navdev.threed_printer_hub

https://www.instagram.com/3d_Printer_Hub_App

https://3dprinterhub.navdev.cloud/

This post was modified 5 months ago 2 times by kubamaker
Posted : 08/07/2024 2:58 pm
Kyle
 Kyle
(@kyle-2)
Member
RE: Prusa Connect - is there API specification or Mobile (Android) App with notifications?

Where is this functionality? I can't find it anywhere in PrusaConnect UI

Posted by: @tojik

Hi, the only thing that can be done is specifying your own url in the notifications webhooks, there seems to be no address checks, so the webhook will go through to your endpoint. You are right however that the api is kept private

 

Posted : 01/08/2024 7:18 pm
_KaszpiR_
(@_kaszpir_)
Honorable Member
RE: Prusa Connect - is there API specification or Mobile (Android) App with notifications?

- In top right corner there is your username, on the left is a notification icon, click it.
- new small window should pop up with notifications, and in this window in top right corner there is a Settings link, click it.
- this will present you with the settings options
- on the bottom you have Channel Options - different notification targets, click on one, for example Slack 
- in the section below you can enter custom URL as Endpoint, remember to add Save New.
- since now given notification endpoint will be used to send notifications, it will format messages according to the givne channel type, so there are small differences in payload when sending messages to Slack or Discord or Telegram.

Target endpoint if controlled by you should accept POST requests and process incoming payload according to the spec. This could be for example NodeJS app/python/golang or whatever you have. You could use for example echo server with increased logging of the incoming request to see what is coming and then code it to replace it with something else (for example to make it a bridge to mqtt or whatever.

See my GitHub and printables.com for some 3d stuff that you may like.

Posted : 01/08/2024 8:58 pm
ssmith liked
Kyle
 Kyle
(@kyle-2)
Member
RE: Prusa Connect - is there API specification or Mobile (Android) App with notifications?

Oh I see, thanks!

Posted : 02/08/2024 1:16 am
Share: