gdombiak / OctoPod

Free open source client for OctoPrint
Apache License 2.0
225 stars 42 forks source link

Feature Request : Support Moonraker / Klipper as well #488

Open TravisWilder opened 3 years ago

TravisWilder commented 3 years ago

If possible it would be great if the app could Klipper Printers as well. The Klipper can be connected with Moonraker, which as a good client documentation:

https://moonraker.readthedocs.io/en/latest/web_api/

Thanks for considering

ReubenBTalbott commented 2 years ago

I'd love this feature as well. Currently the only thing holding me back from Mainsail is a iOS app, OctoPrint while awesome is a lot heavier than Mainsail plus I like the design of the web UI better.

mtaumike commented 2 years ago

I'm playing with Klipper myself on one of my Ender units with Octoprint still engaged but also brought up Moonraker so I can abuse the API.

Having something like this work with both would be fantastic and allow me to move my Ender units over to Klipper leaving my Prusa units operating as they have been.

psiberfunk commented 2 years ago

Also interested in this , would be great to have octopod support klipper

gdombiak commented 2 years ago

Hey guys,

Thanks for this cool suggestion. Unfortunately, I do not use or have Klipper so not planning on adding support for it. I took a quick look at Moonraker (never heard of it before) and even though it offers an API it seems to not be compatible with OctoPrint.

Having said this, if anyone wants to add support for it ... I'd be glad to review changes and add them if it makes sense. Maybe a new client for Moonraker needs to be an entire new project?

Gaston

TheLion commented 1 year ago

Octopod seems partly to work with Moonraker, when the Octoprint compatibility is enabled in Moonraker. Octopod shows the current temps and printer status, but nothing more and it does not refresh. See screenshot for more info.

2023-03-18 15-04-26

gdombiak commented 1 year ago

Hi @TheLion,

Based on the information you shared, it seems like Klipper+Moonraker have compatibility with REST API but they do not implement webservices. Without webservices you won't get updates as the print progresses. OctoPod first makes a REST API call to get basic data and display it while it establishes a websocket connection to get stream of updates as they happen.

If you are running in the local network then it seems that websocket compatibility is not there yet. If you are running behind a reverse proxy then maybe this is a configuration of the reverse proxy.

Gaston

TheLion commented 1 year ago

Hi @TheLion,

Based on the information you shared, it seems like Klipper+Moonraker have compatibility with REST API but they do not implement webservices. Without webservices you won't get updates as the print progresses. OctoPod first makes a REST API call to get basic data and display it while it establishes a websocket connection to get stream of updates as they happen.

If you are running in the local network then it seems that websocket compatibility is not there yet. If you are running behind a reverse proxy then maybe this is a configuration of the reverse proxy.

Gaston

Hi Gaston,

It is probably right what you are describing. Octoprint compatibility in Moonraker is limited and I doubt it will get expanded in the (near) future.

I'm not expecting Octopod to full support Klipper/Moonraker, but it would be nice if it somehow can detect it is Klipper/Moonraker, give a different notification as the current error and refresh the temps and print status.

I do think the information for Octopod is available, looking at other plugins/programs, only different than with Octoprint and I can fully understand if you don't want to go that route.

Martijn

TravisWilder commented 1 year ago

Hi .. moonraker offers the WS and this is also used by the Webguis like mainsail https://moonraker.readthedocs.io/en/latest/web_api/#websocket-connections