![]() |
VOOZH | about |
dotnet add package OctoPrintSharpApi --version 1.2.2
NuGet\Install-Package OctoPrintSharpApi -Version 1.2.2
<PackageReference Include="OctoPrintSharpApi" Version="1.2.2" />
<PackageVersion Include="OctoPrintSharpApi" Version="1.2.2" />Directory.Packages.props
<PackageReference Include="OctoPrintSharpApi" />Project file
paket add OctoPrintSharpApi --version 1.2.2
#r "nuget: OctoPrintSharpApi, 1.2.2"
#:package OctoPrintSharpApi@1.2.2
#addin nuget:?package=OctoPrintSharpApi&version=1.2.2Install as a Cake Addin
#tool nuget:?package=OctoPrintSharpApi&version=1.2.2Install as a Cake Tool
A simple C# library to communicate with an OctoPrint server via REST-API.
With the upcoming version, starting from 1.2.0, OctoPrintServer become OctoPrintClient. also the namespaces will changed and generalized with our other print server api nugets.
| Old | New |
|---|---|
AndreasReitberger |
AndreasReitberger.API.OctoPrint |
OctoPrintServer |
OctoPrintClient |
Get the latest version from nuget.org<br>
👁 NuGet
👁 NuGet
You can find some usage examples in the TestProject of the source code.
On Android you need to allow local connections in the AndroidManifest.xml.
For this, create a new xml file and link to it in your manifest at android:networkSecurityConfig
Content of the network_security_config.xml file
<?xml version="1.0" encoding="utf-8" ?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
The manifest
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
android:versionName="1.0.0"
android:versionCode="1"
package="com.company.app"
>
<application
android:label="App Name"
android:allowBackup="true"
android:icon="@mipmap/appicon"
android:roundIcon="@mipmap/appicon_round"
android:supportsRtl="true"
android:networkSecurityConfig="@xml/network_security_config"
>
</application>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
Just create a new OctoPrintClient object by passing the host, api, port and ssl connection type.
OctoPrintClient _server = new OctoPrintClient(_host, _api, _port, _ssl);
await _server.CheckOnlineAsync();
if (_server.IsOnline)
{
// Sets the first printer active
if (_server.ActivePrinter == null)
await _server.SetPrinterActiveAsync(0, true);
await _server.RefreshAllAsync();
Assert.IsTrue(_server.InitialDataFetched);
}
Since then, you can access all functions from the OctoPrintServer object.
If you want to use the OctoPrintClient from different places, use the Instance.
OctoPrintClient.Instance = new OctoPrintClient(_host, _api, _port, _ssl);
await OctoPrintClient.Instance.CheckOnlineAsync();
Aferwards you can use the OctoPrintServer.Instance property to access all functions through your project.
var files = await OctoPrintClient.Instance.GetAllFilesAsync("local");
Please find the some usage examples for the methods below.
// Load all files from the Server
var files = await OctoPrintClient.Instance.GetAllFilesAsync("local");
// Get all printer profiles
var printers = await OctoPrintClient.Instance.GetAllPrinterProfilesAsync();
// Update heated bed temperature & read back the state
bool result = await OctoPrintClient.Instance.SetBedTemperatureAsync(25);
var state = await OctoPrintClient.Instance.GetCurrentBedStateAsync(true);
// Update extruder (tool0 or / and tool1) & read back the state
bool result = await OctoPrintClient.Instance.SetToolTemperatureAsync(30);
var state = await OctoPrintClient.Instance.GetCurrentToolStateAsync(true);
var jobinfo = await OctoPrintClient.Instance.GetJobInfoAsync();
RCoreSharp: https://github.com/AndreasReitberger/CoreSharp
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 net5.0 was computed. net5.0-windows net5.0-windows was computed. net6.0 net6.0 is compatible. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 was computed. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 was computed. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 netcoreapp3.0 was computed. netcoreapp3.1 netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 netstandard2.1 is compatible. |
| .NET Framework | net472 net472 is compatible. net48 net48 was computed. net481 net481 was computed. |
| MonoAndroid | monoandroid monoandroid was computed. |
| MonoMac | monomac monomac was computed. |
| MonoTouch | monotouch monotouch was computed. |
| Tizen | tizen60 tizen60 was computed. |
| Xamarin.iOS | xamarinios xamarinios was computed. |
| Xamarin.Mac | xamarinmac xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos xamarinwatchos was computed. |
Showing the top 2 NuGet packages that depend on OctoPrintSharpApi:
| Package | Downloads |
|---|---|
|
GcodeParserSharp
A simple C# Gcode parser to read gcodes and get out the filament volume and estimated print time. |
|
|
GcodeParserSharp.Maui
A simple C# Gcode parser to read gcodes and get out the filament volume and estimated print time. |
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.2.3-preview3 | 433 | 11/18/2025 |
| 1.2.3-preview2 | 473 | 1/23/2025 |
| 1.2.3-preview | 316 | 4/22/2024 |
| 1.2.2 | 1,283 | 6/16/2023 |
| 1.2.1 | 658 | 2/19/2023 |
| 1.2.0 | 481 | 12/11/2022 |
| 1.1.7 | 976 | 4/5/2022 |
| 1.1.5 | 631 | 2/12/2022 |
| 1.1.3 | 652 | 12/19/2021 |
| 1.1.2 | 1,049 | 12/1/2021 |