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.
| Target Framework | Supported |
|---|---|
| .NET 10 | ✅ |
| .NET Framework 4.7.2 | ✅ |
| 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 | Username / Password |
| 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.
dotnet add package OverkizClient
using OverKizApi;
using OverKizApi.Enums;
var client = new OverkizClient(Server.SomfyEurope);
await client.Login("your@email.com", "your-password");
var devices = await client.GetDevices();
foreach (var device in devices)
Console.WriteLine($"{device.Label} — {device.DeviceURL}");var client = new OverkizClient("192.168.1.xxx", token: "your-local-bearer-token");
await client.Login();
var devices = await client.GetDevices();string execId = await client.ExecuteDeviceAction(
deviceUrl: "io://xxxx-xxxx-xxxx/12345678",
command: new Command("open"));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();The solution includes OverKizApi.TestConsole, an interactive command-line tool for testing API operations — device listing, command execution, and live event watching — against both cloud and local connections.
Full API documentation is available as a PDF in the Releases section.
Protocol details and server endpoint information derived from python-overkiz-api by Mick Vleeshouwer — MIT License.
MIT © 2026 Neil Colvin — see LICENSE.