Simple.HAApi
1.1.0
.NET Standard 2.0
dotnet add package Simple.HAApi --version 1.1.0
NuGet\Install-Package Simple.HAApi -Version 1.1.0
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.HAApi" Version="1.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Simple.HAApi --version 1.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Simple.HAApi, 1.1.0"
#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.
// Install Simple.HAApi as a Cake Addin
#addin nuget:?package=Simple.HAApi&version=1.1.0
// Install Simple.HAApi as a Cake Tool
#tool nuget:?package=Simple.HAApi&version=1.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Simple.HA
A simple c# Home-Assistant library
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);
- 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
await srvSource.CallServiceForEntities(Service.Light.TurnOn, "switch.office");
- 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 |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.0 netstandard2.1 |
.NET Framework | net461 net462 net463 net47 net471 net472 net48 net481 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- Simple.API (>= 1.5.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.