OverkizClient 1.1.0
dotnet add package OverkizClient --version 1.1.0
NuGet\Install-Package OverkizClient -Version 1.1.0
<PackageReference Include="OverkizClient" Version="1.1.0" />
<PackageVersion Include="OverkizClient" Version="1.1.0" />
<PackageReference Include="OverkizClient" />
paket add OverkizClient --version 1.1.0
#r "nuget: OverkizClient, 1.1.0"
#:package OverkizClient@1.1.0
#addin nuget:?package=OverkizClient&version=1.1.0
#tool nuget:?package=OverkizClient&version=1.1.0
OverkizClient
A .NET client library for the Overkiz cloud and local REST API, enabling control and monitoring of smart-home gateways and devices from Somfy, Atlantic Cozytouch, Hitachi Hi Kumo, and other Overkiz-compatible ecosystems.
Supported Platforms
| Target Framework | Supported |
|---|---|
| .NET 10 | ✅ |
| .NET Framework 4.7.2 | ✅ |
Supported Gateways / Cloud Servers
| Brand / Server | Auth Method |
|---|---|
| Somfy TaHoma (Europe, America, Oceania) | Somfy OAuth 2.0 |
| Atlantic Cozytouch | CozyTouch JWT |
| Sauter Cozytouch | CozyTouch JWT |
| Thermor Cozytouch | CozyTouch JWT |
| Hitachi Hi Kumo (Asia, Europe, Oceania) | Username / Password |
| Nexity Eugénie | AWS Cognito SRP |
| Flexom by Bouygues | Username / Password |
| Brandt Smart Control | Username / Password |
| Rexel Energeasy Connect | External Bearer Token + Gateway Selection |
| SIMU LiveIn2 | Username / Password |
| Hexaom HexaConnect | Username / Password |
| Ubiwizz by Decelect | Username / Password |
| Somfy Developer Mode (local gateway) | Bearer Token |
Local API (LAN) is supported for Somfy TaHoma and compatible gateways when a developer-mode bearer token is available.
Compatibility note: this .NET library is intended to work across the broader family of Overkiz-compatible gateways, following the design and gateway coverage of the original python-overkiz-api project. The current .NET implementation has been validated by the author with a Somfy TaHoma gateway; other Overkiz-compatible gateways and cloud ecosystems are expected to work but have not yet been directly tested here. Recent upstream parity updates include the modern Rexel backend flow and newer Hitachi Hi Kumo hlrrwifi:// device URL handling.
Installation
dotnet add package OverkizClient
Quick Start
Cloud Connection (Somfy)
using OverKizApi;
using OverKizApi.Enums;
await using var client = new OverkizClient(
username: "your@email.com",
password: "your-password",
server: OverkizConst.SupportedServers[Server.SomfyEurope]);
await client.Login();
var devices = await client.GetDevices();
foreach (var device in devices)
Console.WriteLine($"{device.Label} — {device.DeviceUrl}");
Cloud Connection (Rexel)
Rexel now uses an externally managed bearer token plus explicit gateway selection. Supply the token to the constructor, log in, then discover and select the target gateway before making normal setup/device calls.
using OverKizApi;
using OverKizApi.Enums;
await using var client = new OverkizClient(
username: string.Empty,
password: string.Empty,
server: OverkizConst.SupportedServers[Server.Rexel],
token: "your-rexel-bearer-token");
await client.Login();
var gateways = await client.DiscoverRexelGateways();
client.SelectRexelGateway(gateways[0].GatewayId);
var devices = await client.GetDevices();
Local Connection (LAN)
using var httpClient = new HttpClient(OverkizConst.CreateLocalHttpClientHandler());
await using var client = new OverkizClient(
username: string.Empty,
password: string.Empty,
server: OverkizConst.LocalServer("192.168.1.xxx"),
token: "your-local-bearer-token",
httpClient: httpClient);
await client.Login();
var devices = await client.GetDevices();
Sending a Command
string execId = await client.ExecuteDeviceAction(
deviceUrl: "io://xxxx-xxxx-xxxx/12345678",
commands: new[]
{
new Command { Name = "open" }
});
Live Event Streaming
await client.RegisterEventListener();
while (true)
{
var events = await client.FetchEvents();
foreach (var ev in events)
Console.WriteLine($"{ev.Name}: {ev.DeviceURL}");
await Task.Delay(2000);
}
await client.UnregisterEventListener();
Test Console
The solution includes OverKizApi.TestConsole, an interactive command-line tool for testing API operations — device listing, command execution, live event watching, and Rexel gateway discovery/selection — against both cloud and local connections.
Documentation
Full API documentation is available as a PDF in the Releases section.
Acknowledgements
Protocol details and server endpoint information derived from python-overkiz-api by Mick Vleeshouwer — MIT License.
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)
- Polly (>= 8.6.6)
- Polly.Extensions (>= 8.6.6)
- System.Net.Http (>= 4.3.4)
- System.Net.Http.Json (>= 10.0.8)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
- System.Text.Json (>= 10.0.8)
- System.Threading.Tasks.Extensions (>= 4.6.3)
-
net10.0
- log4net (>= 3.3.1)
- Polly (>= 8.6.6)
- Polly.Extensions (>= 8.6.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.