A Home Assistant custom integration for Blanco water dispensers with Bluetooth Low Energy (BLE) connectivity. Control and monitor your Blanco Unit water dispenser directly from Home Assistant.
This integration allows you to:
- Monitor filter and CO2 cylinder levels
- Adjust water temperature (4-10°C) and hardness settings (1-9)
- Dispense water programmatically with custom amounts and carbonation levels
- Monitor device status including tap state, cleaning mode, and error codes
- View comprehensive device information including firmware versions and network details
- Create automations based on water dispenser events
- Blanco drink.soda - Fully tested and supported
- Blanco Choice - May work (untested, community feedback welcome)
- Blanco hot water models - Not supported
- Home Assistant: Version 2025.6.0 or newer
- Bluetooth: Your Home Assistant instance must have Bluetooth support enabled
- Dependencies:
bleak>=0.21.1(automatically installed) - Device PIN: The 5-digit PIN code for your Blanco Unit (found in device documentation)
- Open HACS in Home Assistant
- Click on "Integrations"
- Click the three dots in the top right corner
- Select "Custom repositories"
- Add repository URL:
https://github.com/Nailik/blanco_unit - Select category: "Integration"
- Click "Add"
- Search for "Blanco Unit" in HACS
- Click "Download"
- Restart Home Assistant
- Download the latest release from GitHub
- Copy the
custom_components/blanco_unitfolder to your Home Assistantconfig/custom_components/directory - Restart Home Assistant
The integration supports automatic Bluetooth discovery:
- Navigate to Settings > Devices & Services
- Click + Add Integration
- If your Blanco Unit is powered on and in Bluetooth range, it should appear in the discovered devices list
- Select your Blanco Unit
- Enter your device information:
- MAC Address: Pre-filled from discovery
- Device Name: Choose a friendly name
- PIN: Enter your 5-digit PIN code
- Click Submit
If automatic discovery doesn't work:
- Navigate to Settings > Devices & Services
- Click + Add Integration
- Search for "Blanco Unit"
- Enter your device information:
- MAC Address: The Bluetooth MAC address of your device (format: XX:XX:XX:XX:XX:XX)
- Device Name: Choose a friendly name
- PIN: Your 5-digit PIN code
- Click Submit
The integration polls the device every 60 seconds to update sensor values and status information. You can also trigger manual updates using the "Refresh Data" button entity.
Once configured, the integration creates the following entities:
- Filter Capacity Remaining - Percentage of filter life remaining
- CO2 Cylinder Remaining - Percentage of CO2 remaining
- Tap State - Current state of the water tap
- Cleaning Mode State - Current cleaning mode status
- Error Code - Error bits indicating device issues
- Filter Lifetime - Configured filter lifetime in days
- Post-Flush Quantity - Post-flush water quantity in mL
- Main Controller Firmware - Main controller firmware version
- Communication Controller Firmware - Communication controller firmware version
- Electronic Controller Firmware - Electronic controller firmware version
- Device Name - Configured device name
- Reset Count - Number of device resets
- Serial Number - Device serial number
- Service Code - Device service code
- WiFi Network Name - Connected WiFi SSID
- WiFi Signal Strength - WiFi signal strength in dBm
- IP Address - Device IP address
- Bluetooth MAC Address - BLE MAC address
- WiFi MAC Address - WiFi MAC address
- Network Gateway - Gateway IP address
- Gateway MAC Address - Gateway MAC address
- Subnet Mask - Network subnet mask
- BLE Connection - Bluetooth connection status
- Water Dispensing - Whether water is currently being dispensed
- Firmware Update Available - Whether a firmware update is available
- Cloud Connection - Cloud service connection status
- Disconnect - Manually disconnect from the device
- Refresh Data - Manually trigger a data refresh
- Still Water Calibration - Calibration value for still water (1-10 mL)
- Soda Water Calibration - Calibration value for carbonated water (1-10 mL)
- Cooling Temperature - Target water temperature (4-10°C)
- Options: 4°C (coldest), 5°C, 6°C, 7°C (recommended), 8°C, 9°C, 10°C (warmest)
- Water Hardness Level - Water hardness setting (1-9)
- Level 1: <8°dH
- Level 2: 8-10°dH
- Level 3: 11-13°dH
- Level 4: 14-16°dH
- Level 5: 17-19°dH
- Level 6: 20-22°dH
- Level 7: 23-25°dH
- Level 8: 26-28°dH
- Level 9: >28°dH
Dispense water with specified amount and carbonation level.
Parameters:
device_id(required): The Blanco Unit device to dispense water fromamount_ml(required): Amount of water in milliliters (100-1500, must be multiple of 100)co2_intensity(required): Carbonation level1= Still water2= Medium carbonation3= High carbonation
Example:
service: blanco_unit.dispense_water
data:
device_id: abc123def456
amount_ml: 250
co2_intensity: 2Change the device PIN code.
Parameters:
device_id(required): The Blanco Unit device to change the PIN fornew_pin(required): New 5-digit PIN code (00000-99999)update_config(optional, default: false): When enabled, automatically updates the integration configuration with the new PIN and reconnects. When disabled, you'll need to manually reconfigure the integration.
Example:
service: blanco_unit.change_pin
data:
device_id: abc123def456
new_pin: "54321"
update_config: trueautomation:
- alias: "Blanco Unit - Low Filter Alert"
trigger:
- platform: numeric_state
entity_id: sensor.blanco_unit_filter_capacity_remaining
below: 20
action:
- service: notify.mobile_app
data:
title: "Water Filter Low"
message: "Blanco Unit filter is at {{ states('sensor.blanco_unit_filter_capacity_remaining') }}%. Time to order a replacement."automation:
- alias: "Blanco Unit - Low CO2 Alert"
trigger:
- platform: numeric_state
entity_id: sensor.blanco_unit_co2_cylinder_remaining
below: 15
action:
- service: notify.mobile_app
data:
title: "CO2 Cylinder Low"
message: "Blanco Unit CO2 is at {{ states('sensor.blanco_unit_co2_cylinder_remaining') }}%. Consider replacing the cylinder."automation:
- alias: "Blanco Unit - Morning Water"
trigger:
- platform: time
at: "07:00:00"
condition:
- condition: state
entity_id: binary_sensor.blanco_unit_ble_connection
state: "on"
action:
- service: blanco_unit.dispense_water
data:
device_id: abc123def456
amount_ml: 500
co2_intensity: 1automation:
- alias: "Blanco Unit - Seasonal Temperature"
trigger:
- platform: state
entity_id: sensor.season
action:
- service: select.select_option
target:
entity_id: select.blanco_unit_cooling_temperature
data:
option: >
{% if states('sensor.season') == 'summer' %}
4
{% else %}
7
{% endif %}automation:
- alias: "Blanco Unit - Error Alert"
trigger:
- platform: numeric_state
entity_id: sensor.blanco_unit_error_code
above: 0
action:
- service: notify.mobile_app
data:
title: "Blanco Unit Error"
message: "Error code {{ states('sensor.blanco_unit_error_code') }} detected. Please check the device."- Ensure your Blanco Unit is powered on
- Verify the device is within Bluetooth range (typically 10 meters)
- Check that Home Assistant has Bluetooth enabled
- Try restarting the Blanco Unit
- Restart Home Assistant's Bluetooth service
- Verify you're using the correct 5-digit PIN
- The PIN should be exactly 5 digits (00000-99999)
- Check your device documentation for the default PIN
- Try resetting the device PIN (refer to device manual)
- Check Bluetooth signal strength (WiFi signal sensor)
- Move Home Assistant closer to the device
- Check for Bluetooth interference from other devices
- Consider using a Bluetooth proxy for extended range
- Check the "BLE Connection" binary sensor status
- Use the "Refresh Data" button to manually trigger an update
- Check Home Assistant logs for specific error messages
- Verify the device is still powered on and responding
- The integration polls every 60 seconds - wait for the next update cycle
- Use the "Refresh Data" button for immediate updates
- Check the "BLE Connection" sensor to ensure connectivity
- Review Home Assistant logs for connection errors
- Ensure the device is connected (check BLE Connection sensor)
- Verify you're using the correct device_id
- Check parameter values are within valid ranges
- Review Home Assistant logs for specific error messages
For developers and advanced users interested in the Bluetooth protocol implementation, message formats, and authentication mechanism, see BLUETOOTH_PROTOCOL.md.
- Issues: GitHub Issues
- Documentation: GitHub Repository
This integration is provided as-is under the MIT License. See the LICENSE file for details.
This is an unofficial integration and is not affiliated with, endorsed by, or connected to Blanco GmbH + Co KG. All product names, logos, and brands are property of their respective owners.