Thingsboard.Net.Abstractions
3.4.23
See the version list below for details.
dotnet add package Thingsboard.Net.Abstractions --version 3.4.23
NuGet\Install-Package Thingsboard.Net.Abstractions -Version 3.4.23
<PackageReference Include="Thingsboard.Net.Abstractions" Version="3.4.23" />
paket add Thingsboard.Net.Abstractions --version 3.4.23
#r "nuget: Thingsboard.Net.Abstractions, 3.4.23"
// Install Thingsboard.Net.Abstractions as a Cake Addin #addin nuget:?package=Thingsboard.Net.Abstractions&version=3.4.23 // Install Thingsboard.Net.Abstractions as a Cake Tool #tool nuget:?package=Thingsboard.Net.Abstractions&version=3.4.23
Thingsboard.Net
Thingsboard.NET is a .NET client library for Thingsboard IoT Platform. It is a .NET Standard 2.0 library, so it can be used in .NET Core and .NET Framework applications.
All client API are tested in Thingsboard v3.4.x
Nuget packages
Name | Version | Downloads |
---|---|---|
Thingsboard.Net.Abstractions | ||
Thingsboard.Net.Flurl | ||
Thingsboard.Net.Flurl.DependencyInjection |
Usage
Creating a client and trying to invoke getCurrentUser method:
Basic usage
Install the NuGet package Thingsboard.Net.Flurl.
PM> Install-Package Thingsboard.NET.Flurl
Then put following code into your project
// Initial factory
var factory = new FlurlTbClientFactory
{
Options = new ThingsboardNetFlurlOptions()
{
BaseUrl = "http://localhost:8080",
Username = "tenant@thingsboard.org",
Password = "tenant",
}
};
// Get the client
var authClient = factory.CreateAuthClient();
var userInfo = await authClient.GetCurrentUserAsync();
Console.WriteLine($"Hello {userInfo.Email}");
You will get the output from console:
Hello tenant@thingsboard.org
Integration to ASP.NET Core
You can use the Thingsboard.NET.Flurl library in ASP.NET Core applications. Te dependency injection mode is supported.
First, add the Thingsboard.NET.Flurl.DependencyInjection library to your project:
PM> Install-Package Thingsboard.NET.Flurl.DependencyInjection
Then, register the Thingsboard.NET.Flurl services in the ConfigureServices method of Startup.cs:
// add package "Thingsboard.Net.Flurl.DependencyInjection" Version="3.4.1.1"
serviceBuilder.AddThingsboardNet(options =>
{
options.Username = "tenant@thingsboard.org";
options.Password = "tenant";
options.BaseUrl = "http://localhost:8080";
});
Then you can inject the client factory in your controllers:
public class HomeController : Controller
{
private readonly ITbAuthClient _authClient;
public HomeController(ITbAuthClient authClient)
{
_authClient = authClient;
}
public async Task<IActionResult> Index()
{
var userInfo = await _authClient.GetCurrentUserAsync();
return View(userInfo);
}
}
Customization options
You can customize the client options before invoke RPC methods:
public class HomeController : Controller
{
private readonly ITbAuthClient _authClient;
public HomeController(ITbAuthClient authClient)
{
_authClient = authClient;
}
public async Task<IActionResult> Index()
{
var userInfo = await auth
.WithCredentials("newuser@thingsboard.com", "your-password")
.WithBaseUrl("https://tb-server")
.GetCurrentUserAsync();
return View(userInfo);
}
}
Thanks
- Thanks to Flurl for the great HTTP library.
- Thanks to Thingsboard for the great IoT platform.
- Thanks to Polly for the great resilience and transient-fault-handling library.
Final
Leave a comment on GitHub if you have any questions or suggestions.
Turn on the star if you like this project.
License
This project is licensed under the MIT License
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. 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.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Thingsboard.Net.Abstractions:
Package | Downloads |
---|---|
Thingsboard.Net.Flurl
The dotnet restful api client for thingsboard v3.4.x |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
3.5.1.5 | 775 | 10/11/2023 |
3.5.1.4 | 339 | 7/7/2023 |
3.5.1.2 | 231 | 7/7/2023 |
3.5.1 | 276 | 7/7/2023 |
3.4.33 | 556 | 3/22/2023 |
3.4.32 | 447 | 3/14/2023 |
3.4.31 | 493 | 3/13/2023 |
3.4.30 | 474 | 3/7/2023 |
3.4.29 | 487 | 3/7/2023 |
3.4.28 | 433 | 3/7/2023 |
3.4.27 | 452 | 3/7/2023 |
3.4.26 | 470 | 3/7/2023 |
3.4.25 | 469 | 3/6/2023 |
3.4.24 | 479 | 3/6/2023 |
3.4.23 | 454 | 3/3/2023 |
3.4.22 | 471 | 3/3/2023 |
3.4.21 | 459 | 3/3/2023 |
3.4.20 | 491 | 2/27/2023 |
3.4.19 | 546 | 2/6/2023 |
3.4.18 | 665 | 1/4/2023 |
3.4.17 | 630 | 1/4/2023 |
3.4.16 | 719 | 11/22/2022 |
3.4.15 | 772 | 11/15/2022 |
3.4.14 | 756 | 11/14/2022 |
3.4.13 | 758 | 11/10/2022 |
3.4.12 | 755 | 11/10/2022 |
3.4.11 | 877 | 10/28/2022 |
3.4.10 | 867 | 10/22/2022 |
3.4.9 | 903 | 10/22/2022 |
3.4.8 | 907 | 10/22/2022 |
3.4.7 | 907 | 10/21/2022 |
3.4.6 | 888 | 10/21/2022 |
3.4.5 | 957 | 10/20/2022 |
3.4.3 | 935 | 10/18/2022 |
3.4.1.9 | 1,255 | 10/18/2022 |
3.4.1.8 | 399 | 10/18/2022 |
3.4.1.7 | 660 | 10/18/2022 |
3.4.1.6 | 655 | 10/18/2022 |
3.4.1.5 | 702 | 10/17/2022 |
3.4.1.4 | 991 | 10/17/2022 |
3.4.1.3 | 393 | 10/17/2022 |
3.4.1.2 | 397 | 10/17/2022 |
3.4.1.1 | 1,676 | 10/17/2022 |