Experimental Home Assistant custom integration for JEBAO MDC pumps.
Local LAN control for JEBAO MDC pumps with automatic discovery, direct speed control, and built-in feeding controls.
Warning
This integration has currently been tested with one JEBAO MDC-5000 only.
Tested against one MDC-5000 on the local LAN:
- Status read over TCP port
12416 - Speed set as a Home Assistant
fanpercentage - Device ID and MAC discovery over UDP port
12414 - Built-in feeding helper entities
The vendor feeding command is not used. Captures show a feeding-like mode byte, but the observed device did not visibly enter a feeding pause when the vendor app sent that command. The integration instead implements feeding by temporarily setting the pump to a configurable feeding speed and then restoring the normal speed.
The integration creates:
fan: direct speed controlnumber: normal setpoint, default57%number: feeding setpoint, default30%number: feeding duration, default10 minbutton: start feedingbutton: stop feedingbinary_sensor: feeding activesensor: feeding remaining timesensor: calibration status withlast_calibratedtimestamp
Pressing Start feeding sets the pump to the feeding setpoint for the configured
duration. Afterwards the pump is restored to the normal setpoint. Pressing
Start feeding again restarts the timer. Pressing Stop feeding immediately
restores the normal setpoint. Setpoints and duration are stored in the
integration options and survive Home Assistant restarts.
The integration also registers an admin-only sidebar panel:
JEBAO Setup
The panel guides you through calibration of the two important setpoints:
- Normal speed: the everyday pump speed.
- Feeding speed: the reduced speed used while feeding.
The wizard uses a four-step flow:
- Select the pump to calibrate.
- Set and save the normal speed. The pump changes live while you move the slider.
- Set and save the feeding speed. The normal speed is shown as a reference marker.
- Review both values and finish. The panel restores the configured normal speed.
The panel uses the integration backend to set the pump speed and persist the selected setpoints in the config entry options. No YAML or dashboard setup is required.
This integration can be installed with HACS as a custom repository.
-
Install HACS if you don't have it already.
-
Open HACS in Home Assistant.
-
Open the three-dot menu and choose
Custom repositories. -
Add this repository URL:
https://github.com/netrene/ha-jebao-mdc -
Choose category
Integration. -
Install
JEBAO MDC. -
Restart Home Assistant.
-
Add the integration from:
Settings -> Devices & services -> Add integration -> JEBAO MDC
The setup flow scans the local network via UDP discovery and offers discovered pumps in a dropdown. If discovery does not find the pump, enter its IP address manually.
Copy custom_components/jebao_mdc into your Home Assistant configuration
directory so the integration is located at:
custom_components/jebao_mdc
Restart Home Assistant, then add the integration from:
Settings -> Devices & services -> Add integration -> JEBAO MDC
To update a manual installation, replace the folder and restart Home Assistant.
Known values from the first tested pump:
- Host:
192.168.0.80 - Port:
12416 - Passcode: leave empty for automatic LAN passcode discovery
The first tested pump returned BMLEEBSYMF from the protocol passcode request.
Treat this value as device-specific until more pumps have been tested.
The pump uses a Gizwits/GAgent-like local protocol. Useful references:
The login sequence follows the same broad pattern documented there:
- Connect to TCP port
12416. - Send message type
06to request the device passcode. - Send message type
08with the returned 10-byte passcode. - Read status or send serial commands via message type
93.
Device identity is read from UDP discovery responses on port 12414. The first
tested pump reports:
- Device ID:
1hOqzly1zKe5ruxfXdrLHt - MAC:
d8:f1:5b:11:2a:65
