WiserHeatAPIv2 1.1.0.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package WiserHeatAPIv2 --version 1.1.0.2
                    
NuGet\Install-Package WiserHeatAPIv2 -Version 1.1.0.2
                    
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="WiserHeatAPIv2" Version="1.1.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="WiserHeatAPIv2" Version="1.1.0.2" />
                    
Directory.Packages.props
<PackageReference Include="WiserHeatAPIv2" />
                    
Project file
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 WiserHeatAPIv2 --version 1.1.0.2
                    
#r "nuget: WiserHeatAPIv2, 1.1.0.2"
                    
#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 WiserHeatAPIv2@1.1.0.2
                    
#: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=WiserHeatAPIv2&version=1.1.0.2
                    
Install as a Cake Addin
#tool nuget:?package=WiserHeatAPIv2&version=1.1.0.2
                    
Install as a Cake Tool

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.

Drayton, Wiser, and Schneider Electric are trademarks of Schneider Electric SE, its subsidiaries, or affiliated companies. This project is an independent, unofficial .NET library and is not affiliated with or endorsed by Schneider Electric.

NuGet License: MIT


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

The official NuGet package is built with all optional feature areas enabled.


Conditional Features

The source project contains several feature areas controlled by compilation symbols:

  • SHUTTER — shutter-related types and functionality
  • LIGHT — lighting-related types and functionality
  • HEATACTUATOR — heating actuator support
  • OPENTHERM — OpenTherm-related support

The published NuGet package includes all of these optional capabilities.

Some direct dependencies currently resolve to prerelease package versions. These were introduced through vulnerability remediation recommended by Visual Studio and have been retained to avoid reintroducing the original security or compatibility issues without further validation.


Quick Start

Obtaining the Wiser secret

The Wiser hub secret is required to authenticate with the local API.

Reference: https://it.knightnet.org.uk/kb/nr-qa/drayton-wiser-heating-control/#controlling-the-system

To obtain it:

  1. Press the setup button on the HeatHub so that the light starts flashing.
  2. Look for the Wi-Fi network (SSID) called WiserHeatXXXXXX, where XXXXXX is the last 6 digits of the MAC address.
  3. Connect to that network from a Windows, Linux, macOS, Android, or iPhone device.
  4. Open a browser and navigate to http://192.168.8.1/secret.
  5. The hub will return a string containing your system secret. Store this somewhere safe. If you are using the console test utility, place this value together with the hub IP address in wiserkeys.params.
  6. Press the setup button on the HeatHub again to return it to normal operation.
  7. Copy the secret and save it somewhere safe.

If you already know the hub IP address, you can connect directly. Otherwise, use the discovery helper shown below to find the hub first.

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

Full API documentation is published at oznetmaster.github.io/WiserHeatAPIv2.


Repository Contents

  • WiserHeatAPIv2 — the main library project published to NuGet
  • WiserHeatApp.Wpf — a WPF desktop application for interacting with and monitoring a Wiser system
  • WiserHeatAPIv2Test — a console-based test utility for exercising the API against a real hub

Acknowledgements

Adapted from the Python project wiserHeatAPIv2 by Mark Parker.


License

MIT © 2026 Neil Colvin — see LICENSE.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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.1.0.3 43 6/9/2026
1.1.0.2 53 6/8/2026
1.1.0.1 65 6/7/2026
1.1.0 54 6/7/2026
1.0.0 59 6/6/2026