docs: Document simulated Octoprint API
Signed-off-by: Nickolas Grigoriadis <nagrigoriadis@gmail.com>
This commit is contained in:
parent
39ab419c1f
commit
6ba45f6e35
|
@ -95,6 +95,17 @@ cors_domains:
|
||||||
The sections outlined here are optional and enable additional
|
The sections outlined here are optional and enable additional
|
||||||
functionality in moonraker.
|
functionality in moonraker.
|
||||||
|
|
||||||
|
## Octoprint compatibility
|
||||||
|
Enables partial support of Octoprint API is implemented with the purpose of
|
||||||
|
allowing uploading of sliced prints to a mainsail instance.
|
||||||
|
Currently we support Slic3r derivatives and Cura with Cura-Octoprint.
|
||||||
|
|
||||||
|
```
|
||||||
|
# moonraker.conf
|
||||||
|
|
||||||
|
[octoprint_compat]
|
||||||
|
```
|
||||||
|
|
||||||
## paneldue
|
## paneldue
|
||||||
Enables PanelDue display support. The PanelDue should be connected to the
|
Enables PanelDue display support. The PanelDue should be connected to the
|
||||||
host machine, either via the machine's UART GPIOs or through a USB-TTL
|
host machine, either via the machine's UART GPIOs or through a USB-TTL
|
||||||
|
|
189
docs/web_api.md
189
docs/web_api.md
|
@ -1418,6 +1418,195 @@ The APIs below are available when the `[power]` plugin has been configured.
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Octoprint API emulation
|
||||||
|
Partial support of Octoprint API is implemented with the purpose of
|
||||||
|
allowing uploading of sliced prints to a mainsail instance.
|
||||||
|
Currently we support Slic3r derivatives and Cura with Cura-Octoprint.
|
||||||
|
|
||||||
|
### Version information
|
||||||
|
- HTTP command:\
|
||||||
|
`GET /api/version`
|
||||||
|
|
||||||
|
- Returns:\
|
||||||
|
An object containing simulated Octoprint version information
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
server: "1.5.0",
|
||||||
|
api: "0.1",
|
||||||
|
text: "Octoprint (Moonraker v0.3.1-12)"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Server status
|
||||||
|
- HTTP command:\
|
||||||
|
`GET /api/server`
|
||||||
|
|
||||||
|
- Returns:\
|
||||||
|
An object containing simulated Octoprint server status
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
server: "1.5.0",
|
||||||
|
safemode: <None or "settings">
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Login verification & User information
|
||||||
|
- HTTP command:\
|
||||||
|
`GET /api/login`
|
||||||
|
|
||||||
|
- HTTP command:\
|
||||||
|
`GET /api/server`
|
||||||
|
|
||||||
|
- Returns:\
|
||||||
|
An object containing stubbed Octoprint login/user verification
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
_is_external_client: false,
|
||||||
|
_login_mechanism: "apikey",
|
||||||
|
name: "_api",
|
||||||
|
active: true,
|
||||||
|
user: true,
|
||||||
|
admin: true,
|
||||||
|
apikey: null,
|
||||||
|
permissions: [],
|
||||||
|
groups: ["admins", "users"],
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Get settings
|
||||||
|
- HTTP command:\
|
||||||
|
`GET /api/server`
|
||||||
|
|
||||||
|
- Returns:\
|
||||||
|
An object containing stubbed Octoprint settings.
|
||||||
|
The webcam route is hardcoded to Fluidd/Mainsail default path.
|
||||||
|
We say we have the UFP plugin installed so that Cura-Octoprint will
|
||||||
|
upload in the preferred UFP format.
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
plugins: {
|
||||||
|
UltimakerFormatPackage: {
|
||||||
|
align_inline_thumbnail: false,
|
||||||
|
inline_thumbnail: false,
|
||||||
|
inline_thumbnail_align_value: "left",
|
||||||
|
inline_thumbnail_scale_value: "50",
|
||||||
|
installed: true,
|
||||||
|
installed_version: "0.2.2",
|
||||||
|
scale_inline_thumbnail: false,
|
||||||
|
state_panel_thumbnail: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
feature: {
|
||||||
|
sdSupport: false,
|
||||||
|
temperatureGraph: false
|
||||||
|
},
|
||||||
|
webcam: {
|
||||||
|
flipH: false,
|
||||||
|
flipV: false,
|
||||||
|
rotate90: false,
|
||||||
|
streamUrl: "/webcam/?action=stream",
|
||||||
|
webcamEnabled': true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### File Upload
|
||||||
|
- HTTP command:\
|
||||||
|
`POST /api/files/local`
|
||||||
|
Otherwise identical to the standard Moonraker `POST /server/files/upload` API.
|
||||||
|
|
||||||
|
### Get Job status
|
||||||
|
- HTTP command:\
|
||||||
|
`GET /api/job`
|
||||||
|
|
||||||
|
- Returns:\
|
||||||
|
An object containing stubbed Octoprint Job status
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
job: {
|
||||||
|
file: {name: null},
|
||||||
|
estimatedPrintTime: null,
|
||||||
|
filament: {length: null},
|
||||||
|
user: None
|
||||||
|
},
|
||||||
|
progress: {
|
||||||
|
completion: null,
|
||||||
|
filepos: null,
|
||||||
|
printTime: null,
|
||||||
|
printTimeLeft: null,
|
||||||
|
printTimeOrigin: null
|
||||||
|
},
|
||||||
|
state: <One of "Offline","Error", "Operational", "Printing", "Paused">
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Get Printer status
|
||||||
|
- HTTP command:\
|
||||||
|
`GET /api/printer`
|
||||||
|
|
||||||
|
- Returns:\
|
||||||
|
An object containing Octoprint Printer status
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
temperature: {
|
||||||
|
<list of heater names: "bed", "tool<n>">: {
|
||||||
|
actual: <actual temp>,
|
||||||
|
offset: 0,
|
||||||
|
target: <target temp>
|
||||||
|
}
|
||||||
|
},
|
||||||
|
state: {
|
||||||
|
text': state,
|
||||||
|
flags': {
|
||||||
|
operational: <bool>,
|
||||||
|
paused: <bool>,
|
||||||
|
printing: <bool>,
|
||||||
|
cancelling: <bool>,
|
||||||
|
pausing: False,
|
||||||
|
error: <bool>,
|
||||||
|
ready: <bool>,
|
||||||
|
closedOrError: <bool>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Send GCode command
|
||||||
|
- HTTP command:\
|
||||||
|
`POST /api/printer/command`
|
||||||
|
|
||||||
|
JSON payload with parameter:
|
||||||
|
* commands: List of GCode strings
|
||||||
|
|
||||||
|
- Returns:\
|
||||||
|
An blank JSON object
|
||||||
|
```json
|
||||||
|
{}
|
||||||
|
```
|
||||||
|
|
||||||
|
### List Printer profiles
|
||||||
|
- HTTP command:\
|
||||||
|
`GET /api/printerprofiles`
|
||||||
|
|
||||||
|
- Returns:\
|
||||||
|
An object containing simulates Octoprint Printer profile
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
profiles: {
|
||||||
|
_default: {
|
||||||
|
id: "_default",
|
||||||
|
name: "Default",
|
||||||
|
color: "default",
|
||||||
|
model: "Default",
|
||||||
|
default': true,
|
||||||
|
current': true,
|
||||||
|
heatedBed: <true if "heater_bed" heater exists>,
|
||||||
|
heatedChamber: <true if "chamber" heater exists>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
## Websocket notifications
|
## Websocket notifications
|
||||||
Printer generated events are sent over the websocket as JSON-RPC 2.0
|
Printer generated events are sent over the websocket as JSON-RPC 2.0
|
||||||
notifications. These notifications are sent to all connected clients
|
notifications. These notifications are sent to all connected clients
|
||||||
|
|
Loading…
Reference in New Issue