DolphinBoilderApi 0.0.2
dotnet add package DolphinBoilderApi --version 0.0.2
NuGet\Install-Package DolphinBoilderApi -Version 0.0.2
<PackageReference Include="DolphinBoilderApi" Version="0.0.2" />
<PackageVersion Include="DolphinBoilderApi" Version="0.0.2" />
<PackageReference Include="DolphinBoilderApi" />
paket add DolphinBoilderApi --version 0.0.2
#r "nuget: DolphinBoilderApi, 0.0.2"
#:package DolphinBoilderApi@0.0.2
#addin nuget:?package=DolphinBoilderApi&version=0.0.2
#tool nuget:?package=DolphinBoilderApi&version=0.0.2
DolphinBoilderApi
A .NET client library for the Dolphin Boiler smart water heater API.
Authenticate, monitor, and control your Dolphin Boiler programmatically — perfect for building custom home automation integrations, dashboards, or bots.
Features
- Authentication — log in with email/password to obtain an API key
- Device discovery — list all boilers linked to your account
- Live status — read power state, current temperature, target temperature, energy consumption, and more
- Remote control — turn the boiler on/off, set a target temperature, and lock a fixed temperature
- Shabbat mode — enable/disable the built-in Shabbat mode
- Energy meter — check whether a device has an energy meter installed
Quick start
Prerequisites
- .NET 10 or later
Installation
Add the project as a reference, or copy the single-file DolphinBoilderApi.cs into your solution.
Usage
using DolphinBoilderApi;
await using var client = new DolphinClient();
// 1. Authenticate
var apiKey = await client.GetApiKeyAsync("you@example.com", "your-password");
// 2. Discover devices
var user = new User { Email = "you@example.com", ApiKey = apiKey };
user.Devices = await client.GetDevicesAsync(user.Email, user.ApiKey!);
// 3. Read current state
var devices = await client.UpdateAllAsync(user);
foreach (var (name, device) in devices)
{
Console.WriteLine($"{name}: {device.Temperature}°C (target {device.TargetTemperature}°C) — Power {(device.Power ? "ON" : "OFF")}");
}
// 4. Control
await client.TurnOnAsync(user, user.Devices[0].DeviceName, "45");
await client.SetFixedTemperatureAsync(user, user.Devices[0].DeviceName, "60");
await client.EnableShabbatAsync(user, user.Devices[0].DeviceName);
API reference
| Method | Description |
|---|---|
GetApiKeyAsync(email, password) |
Authenticate and retrieve an API key |
GetDevicesAsync(email, apiKey) |
List devices on the account |
UpdateAllAsync(user) |
Refresh status for all devices |
UpdateDeviceAsync(user, deviceName) |
Refresh status for a single device |
TurnOnAsync(user, deviceName, temperature) |
Turn the boiler on at a given temperature |
TurnOffAsync(user, deviceName) |
Turn the boiler off |
SetFixedTemperatureAsync(user, deviceName, temperature) |
Lock to a fixed temperature |
ClearFixedTemperatureAsync(user, deviceName) |
Clear the fixed temperature setting |
EnableShabbatAsync(user, deviceName) |
Enable Shabbat mode |
DisableShabbatAsync(user, deviceName) |
Disable Shabbat mode |
IsEnergyMeterAsync(user, deviceName) |
Check for an energy meter |
Dependency injection
DolphinClient accepts optional HttpClient and ILogger<DolphinClient> parameters, so it plays nicely with standard .NET DI:
services.AddHttpClient<DolphinClient>(c =>
c.BaseAddress = new Uri("https://api.dolphinboiler.com"));
Related projects
Shoutout to dolphin by @0xAlon — a Home Assistant integration for Dolphin Boiler. If you're looking for a ready-made HA custom component rather than a standalone .NET library, check it out!
License
This project is provided as-is. Use at your own risk.
| 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. |
-
net10.0
- Microsoft.Extensions.Logging (>= 10.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.