Simple.HAMQTT
1.0.6
dotnet add package Simple.HAMQTT --version 1.0.6
NuGet\Install-Package Simple.HAMQTT -Version 1.0.6
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Simple.HAMQTT" Version="1.0.6" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Simple.HAMQTT" Version="1.0.6" />
<PackageReference Include="Simple.HAMQTT" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Simple.HAMQTT --version 1.0.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Simple.HAMQTT, 1.0.6"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Simple.HAMQTT@1.0.6
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Simple.HAMQTT&version=1.0.6
#tool nuget:?package=Simple.HAMQTT&version=1.0.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Simple.HA
A simple C# Home-Assistant library
| Packages | |
|---|---|
| Simple.HAApi: | |
| Simple.HAMQTT: |
What is?
This is a C# library to interact with HomeAssitant
Home-Assitant has a developer docs webpage, but with almost nothing in it.
There are only some endpoints (eg the api/stream is not documented) with no model specification
Some (almost none) source documentation: https://developers.home-assistant.io/docs/api/rest/
How do I use it?
- Create an Instance
var instance = new Instance(new Uri("https://myHA.io:8123"), yourToken);
// You can ignore SSL errors if needed:
instance.IgnoreCertificatErrors = true;
- Basic diagnostics
bool isRunning = await instance.CheckRunningAsync();
string myErrors = await instance.ErrorLogsAsync();
- Get configuration data
// Get a source
var cfgSource = instance.Get<Simple.HAApi.Sources.Configuration>();
// Get info as needed
var config = await cfgSource.GetConfigurationAsync();
var entries = await cfgSource.GetConfigurationEntriesAsync();
- Get entity states
// Get a source
var statesSource = instance.Get<Simple.HAApi.Sources.States>();
// Get info as needed
var sun = await statesSource.GetStateAsync("sun.sun");
// Or get EVERYTHING
var all = await statesSource.GetStatesAsync();
- Get information from and call Services
// Get a source
var srvSource = instance.Get<Simple.HAApi.Sources.Service>();
// Get all services
var services = await srvSource.GetServicesAsync();
// Or call a service for a single entity
await srvSource.CallService(Service.Light.TurnOn, "switch.office");
// or multiple
await srvSource.CallService(Service.Light.TurnOn, "switch.office1", "switch.office2", ..., "switch.officeN");
- Get a continuous stream of events
// Get a source
var eventSource = instance.Get<Simple.HAApi.Sources.Events>();
// Get a cancellation token to stop the process anytime
var canSource = new CancellationTokenSource();
eventSource.OnNewEvent += (s, e) =>
{
Console.WriteLine($" {e}");
};
var t = eventSource.CollectEventsAsync(canSource.Token);
| 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. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.1
- MQTTnet (>= 4.3.7.1207)
- MQTTnet.Extensions.ManagedClient (>= 4.3.7.1207)
- Newtonsoft.Json (>= 13.0.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.