Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

158 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Aquamedic

Part of the ReefTech Project Ecosystem

HACS Badge IoT Class GH-release Installations Ruff Status HA & HACS Validation Coverage GH-code-size

Supported Languages:

Control your Aqua Medic pumps from Home Assistant via the Gizwits cloud API.


Supported Devices

Your device is not supported? Please contact me.

βœ… Supported Β |Β  πŸ§ͺ Untested (may work) Β |Β  ❌ Not yet supported

Device Internal Name Product Key Status
Aqua Medic EcoDrift / SmartDrift x.1 / x.3 image Current_Pump 63632f4902094055ab3fd994c0d612fa βœ…
Aqua Medic DC Runner series β€” return pump image DC_Runner 00276aa006684c05805c297f60058c3d βœ…
Aqua Medic DC Runner series β€” skimmer pump skimmer DC_Runner 00276aa006684c05805c297f60058c3d βœ…
Aqua Medic DC Runner (legacy / speculative) DC_Runner 8879684725d14066922374e50889f893 πŸ§ͺ
Aqua Medic Reefdoser EVO image Dosing_Pump a1f9488390b4458f9676677f51664324 ❌
Aqua Medic T-Controller Twin Temp_Ctrl f6a8e5d2c1b04a9e8d7c6b5a4f3e2d1c ❌
Aqua Medic Aquarius / Spectrus Light_Ctrl 7d2e9b8a1c3f4e5d6a7b8c9d0e1f2a3b ❌

The DC Runner return pump and skimmer pump share the same firmware and Gizwits product key. They expose an identical datapoint set (verified against two independent real-device captures) and are handled by the same code path β€” the two rows above are the same device with different pump heads. In Home Assistant they both appear as model DC Runner; use the device alias to distinguish which pump is which.

The 8879684725… product key is a speculative simpler variant that has not (yet) been observed on real hardware; the code path is kept in place in case a device advertising this key shows up.

All these devices use the Gizwits IoT platform (same backend as the official Aqua Medic app). Support for additional devices may be added in future releases.


Installation

Via HACS

The integration is now officially in HACS. Simply search for Aqua Medic in the Integrations tab and install it.

Or use the direct installation button:

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

Then restart Home Assistant.


Entities

EcoDrift / SmartDrift

Switches

Entity Description
Power Main on/off
Wave type Pulse mode (off) / Tide mode (on)
Feeding mode Activates feeding pause
Timer Enables program mode
0-10V control mode When on, disables the Flow rate slider (pump driven by external 0-10V signal)

Selects

Entity Options
Wave mode Classic wave Β· Sine wave Β· Random wave Β· Constant flow
Linkage Independent Β· Master Β· Slave

Numbers

Entity Range Description
Flow rate 0–100 % Motor flow (disabled in 0-10V mode)
Frequency 0–100 % Wave frequency
Feeding duration 1–60 min Duration of feeding pause

Binary Sensors (diagnostic)

Entity Description
Overcurrent fault Motor overcurrent / short circuit
Overvoltage fault Motor overvoltage
Overtemperature fault Motor temperature too high
Undervoltage fault Motor undervoltage
Locked rotor fault Motor jammed / blocked
No load fault Pump running dry
UART communication fault Module ↔ mainboard communication error

Button (diagnostic)

Entity Description
Refresh Forces an immediate data refresh without waiting for the next poll interval

DC Runner series (return pump and skimmer pump)

βœ… Confirmed against two real device captures (return pump + skimmer). The two variants share the same firmware β€” Home Assistant displays them both as model DC Runner; the exact pump role (return / skimmer) is only distinguishable from your device alias.

A legacy simpler variant with product key 8879684725… (single Flow control, no scheduler) is also handled by the integration but has not been confirmed on real hardware.

Switches

Entity Description
Power Main on/off
Feeding mode Activates feeding pause
Timer Enables the timer / schedule program
0-10V control mode When on, disables the speed slider (pump driven by external 0-10V signal)

Selects

Entity Options
Timer mode Stop Β· Auto Β· Feeding

Numbers

Entity Range Description
Motor speed 30–100 % Pump speed (minimum 30 % β€” below this the motor may stall; disabled in 0-10V mode)
Feeding duration 1–60 min Duration of the feeding pause
Timer speed 0–100 % Speed used by the scheduled program
Timer feeding time 1–60 min Feeding duration used by the scheduled program

Binary Sensors (diagnostic)

Entity Description
Overcurrent fault Motor overcurrent / short circuit
Overvoltage fault Motor overvoltage
Overtemperature fault Motor temperature too high
Undervoltage fault Motor undervoltage
Locked rotor fault Motor jammed / blocked
No load fault Pump running dry
UART communication fault Module ↔ mainboard communication error

Button (diagnostic)

Entity Description
Refresh Forces an immediate data refresh

About 0-10V control: every DC Runner controller has a physical 0-10V input for an external aquarium controller (Apex, GHL, …). It is a hardware port, not a cloud value, so it does not appear as a device attribute β€” the 0-10V control mode switch is a local Home Assistant flag that disables the speed slider while the pump is driven externally. Per Aqua Medic's manual, in 0-10V mode the pump must run at β‰₯ 60 %.


Configuration

Go to Settings β†’ Devices & Services β†’ Add Integration β†’ Aqua Medic.

Field Description
E-mail Your Aqua Medic app account e-mail
Password Your Aqua Medic app password
Gizwits server Region server β€” select Europe for EU users
Refresh interval How often device state is polled (5–300 s, default 30 s)

The correct server is pre-selected automatically based on your Home Assistant language.

After setup, options (refresh interval) can be changed via Settings β†’ Devices & Services β†’ Aqua Medic β†’ Configure.


Development

Local simulator

A Gizwits cloud simulator (scripts/gizwits_simulator.py) lets you test the integration without real hardware or cloud access. It is configured via scripts/gizwits_sim_config.json:

Key Description
username / password Credentials the integration must use to log in
virtual_ip IP the simulator binds to (127.0.0.1 skips virtual-IP setup)
interface Network interface for the virtual IP (optional; if omitted, the default-route interface is auto-detected, falling back to eth0; can be overridden with -i/--interface)
port Listening port (default 8080)
devices List of { "type": ..., "count": N }; available types: smartdrift, dc_runner (legacy speculative variant), dc_runner_return (DC Runner series return pump), dc_skimmer (DC Runner series skimmer pump β€” same firmware as dc_runner_return)

Run it with sudo python3 scripts/gizwits_simulator.py (root is required to add the virtual IP).

To make the Simulator region appear in the config flow, create the local flag file (git-ignored, never commit it):

cp custom_components/aquamedic/simulator_enabled.example custom_components/aquamedic/.simulator_enabled

Restart Home Assistant, add the integration and select Simulator; you will then be asked for the simulator host URL (default http://localhost:8080) and the credentials from the config file.


License

MIT – see LICENSE.


About

🌊 Control EcoDrift/SmartDrift wavesmaker, DC Runner return pump from Aquamedic with HomeAssistant

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages