WiserHeatAPIv2 1.0.0
See the version list below for details.
dotnet add package WiserHeatAPIv2 --version 1.0.0
NuGet\Install-Package WiserHeatAPIv2 -Version 1.0.0
<PackageReference Include="WiserHeatAPIv2" Version="1.0.0" />
<PackageVersion Include="WiserHeatAPIv2" Version="1.0.0" />
<PackageReference Include="WiserHeatAPIv2" />
paket add WiserHeatAPIv2 --version 1.0.0
#r "nuget: WiserHeatAPIv2, 1.0.0"
#:package WiserHeatAPIv2@1.0.0
#addin nuget:?package=WiserHeatAPIv2&version=1.0.0
#tool nuget:?package=WiserHeatAPIv2&version=1.0.0
WiserHeatAPIv2
A .NET client library for the Drayton Wiser Heating local REST API, enabling discovery, monitoring, scheduling, and control of Wiser hubs, rooms, devices, hot water, smart plugs, lights, shutters, and related entities.
Supported Platforms
| Target Framework | Supported |
|---|---|
| .NET 10 | ✅ |
| .NET Framework 4.7.2 | ✅ |
Overview
WiserHeatAPIv2 provides a strongly typed .NET wrapper around the local Wiser hub API. It supports:
- Direct connection to a Wiser hub by IP address and secret
- Local network discovery of Wiser hubs
- Reading and refreshing hub state
- Access to rooms, devices, schedules, hot water, system information, and capabilities
- Control operations for supported device types
- YAML and structured schedule import helpers
This .NET library is an adaptation of the original Python project wiserHeatAPIv2 by Mark Parker.
Installation
dotnet add package WiserHeatAPIv2
Quick Start
Connect to a hub
using WiserHeatApiV2;
var api = new WiserAPI("192.168.1.50", "your-wiser-secret");
await api.InitializeAsync();
Console.WriteLine($"System version: {api.System?.ActiveSystemVersion}");
Console.WriteLine($"Room count: {api.Rooms.All.Count}");
Discover hubs on the local network
using WiserHeatApiV2;
List<WiserDiscoveredHub> hubs = await WiserDiscovery.DiscoverHubAsync(60, 2);
foreach (var hub in hubs)
{
Console.WriteLine(hub.Url);
}
Inspect rooms and devices
using WiserHeatApiV2;
var api = new WiserAPI("192.168.1.50", "your-wiser-secret");
await api.InitializeAsync();
foreach (var room in api.Rooms.All)
{
Console.WriteLine($"{room.Name}: {room.CurrentTemperature}°C -> {room.CurrentTargetTemperature}°C");
}
foreach (var device in api.Devices.All)
{
Console.WriteLine($"{device.ProductType} #{device.Id}");
}
Refresh hub data
await api.ReadHubDataAsync();
Test Console
The solution includes WiserHeatAPIv2Test, a console application that exercises hub discovery, initialization, device listing, room inspection, and general API validation against a real Wiser installation.
Documentation
Repository documentation is included in docfx_project and can be published to GitHub Pages.
Acknowledgements
Adapted from the Python project wiserHeatAPIv2 by Mark Parker.
License
MIT © 2026 Neil Colvin — see LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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 Framework | net472 is compatible. net48 was computed. net481 was computed. |
-
.NETFramework 4.7.2
- Hafner.Compatibility.MetaPackage (>= 1.9.0)
- log4net (>= 3.3.1)
- Microsoft.Bcl.AsyncInterfaces (>= 11.0.0-preview.4.26230.115)
- Microsoft.Bcl.HashCode (>= 6.0.0)
- Microsoft.Bcl.Memory (>= 11.0.0-preview.4.26230.115)
- Newtonsoft.Json (>= 13.0.5-beta1)
- System.Net.Http (>= 4.3.4)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
- System.Threading.Tasks.Extensions (>= 4.6.3)
- YamlDotNet (>= 18.0.0)
-
net10.0
- log4net (>= 3.3.1)
- Newtonsoft.Json (>= 13.0.5-beta1)
- YamlDotNet (>= 18.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.