RepetierServerSharpApi 1.2.9
See the version list below for details.
dotnet add package RepetierServerSharpApi --version 1.2.9
NuGet\Install-Package RepetierServerSharpApi -Version 1.2.9
<PackageReference Include="RepetierServerSharpApi" Version="1.2.9" />
<PackageVersion Include="RepetierServerSharpApi" Version="1.2.9" />
<PackageReference Include="RepetierServerSharpApi" />
paket add RepetierServerSharpApi --version 1.2.9
#r "nuget: RepetierServerSharpApi, 1.2.9"
#:package RepetierServerSharpApi@1.2.9
#addin nuget:?package=RepetierServerSharpApi&version=1.2.9
#tool nuget:?package=RepetierServerSharpApi&version=1.2.9
RepetierServerSharpApi
An C# based library to to interact with a Repetier Server Pro instance via REST-API.
Important!
With the upcoming version, starting from 1.2.7, RepetierServerPro become RepetierClient. also the namespaces will changed and generalized with our other print server api nugets.
| Old | New |
|---|---|
AndreasReitberger |
AndreasReitberger.API.Repetier |
RepetierServerPro |
RepetierClient |
Nuget
Get the latest version from nuget.org<br>
Usage
You can find some usage examples in the TestProject of the source code.
Platform specific setup
Android
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>
Init a new server
Just create a new RepetierClient object by passing the host, api, port and ssl connection type.
RepetierClient _server = new RepetierClient(_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();
}
Since then, you can access all functions from the RepetierServerPro object.
Instance
If you want to use the RepetierClient from different places, use the Instance.
RepetierClient.Instance = new RepetierClient(_host, _api, _port, _ssl);
await RepetierClient.Instance.CheckOnlineAsync();
Aferwards you can use the RepetierClient.Instance property to access all functions
through your project.
ObservableCollection<RepetierModel> models = await _server.GetModelsAsync();
Available methods
Please find the some usage examples for the methods below.
Get available printers
// Get all printers
ObservableCollection<RepetierPrinter> printers = await _server.GetPrintersAsync();
Get models and groups
// Load all models from the Server
ObservableCollection<RepetierModel> models = await _server.GetModelsAsync();
// Load all modelgroups from the Server
ObservableCollection<string> models = await _server.GetModelGroupsAsync();
Control heating elements
In order to set a temperature for the Extruder, use following command.
// Set Extruder 0 to 30 C°
bool result = await _server.SetExtruderTemperatureAsync(Extruder: 0, Temperature: 30);
To read back the current set and read temperature, use following method.
RepetierPrinterStateRespone state = await _server.GetStateObjectAsync();
if (state != null && state.Printer != null)
{
List<RepetierPrinterExtruder> extruders = state.Printer.Extruder;
if (extruders == null || extruders.Count == 0)
{
Assert.Fail("No extrudes available");
break;
}
RepetierPrinterExtruder extruder = extruders[0];
extruderTemp = extruder.TempRead;
}
Same applies to the heated bed and heated chamber.
Job info and job list
// Returns the current job list
ObservableCollection<RepetierJobListItem> jobs = await _server.GetJobListAsync();
External commands
// Returns all available commands (like shutdown, restart,...)
ObservableCollection<ExternalCommand> commands = await RepetierServerPro.Instance.GetExternalCommandsAsync();
Dependencies
RCoreSharp: https://github.com/AndreasReitberger/CoreSharp
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- CommunityToolkit.Mvvm (>= 8.2.0)
- Newtonsoft.Json (>= 13.0.3)
- RCoreSharp (>= 1.0.9)
- RestSharp (>= 110.2.0)
- System.Memory (>= 4.5.5)
- System.Net.Http (>= 4.3.4)
- WebSocket4Net (>= 0.15.2)
-
net6.0
- CommunityToolkit.Mvvm (>= 8.2.0)
- Newtonsoft.Json (>= 13.0.3)
- RCoreSharp (>= 1.0.9)
- RestSharp (>= 110.2.0)
- System.Memory (>= 4.5.5)
- System.Net.Http (>= 4.3.4)
- WebSocket4Net (>= 0.15.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.3.0-preview2 | 220 | 1/23/2025 |
| 1.3.0-preview | 158 | 4/22/2024 |
| 1.2.9 | 479 | 6/15/2023 |
| 1.2.8 | 248 | 5/5/2023 |
| 1.2.7-preview | 262 | 12/29/2022 |
| 1.2.6 | 561 | 4/5/2022 |
| 1.2.5 | 551 | 2/27/2022 |
| 1.2.4 | 266 | 1/4/2022 |