A Home Assistant custom integration for controlling Bromic outdoor heaters via the Bromic Smart Heat Link device using RS232 serial communication.
- Full Controller Support: Works with both ON/OFF (4-button) and Dimmer (7-button) controllers
- Multiple Controllers: Support for up to 11 controller ID locations
- Guided Learning Process: Easy-to-follow wizard for pairing with your existing remote controls
- Simplified Entity Design: Single dimmer for each heater with 5 levels (Off, 25%, 50%, 75%, 100%)
- Diagnostics: Built-in diagnostics and error reporting
- Services: Developer services for testing and manual control
- Bromic Smart Heat Link device
- USB-to-RS232 adapter
- Compatible Bromic heater controllers (ON/OFF or Dimmer type)
- Existing paired remote controls for learning process
- Open HACS in Home Assistant
- Go to "Integrations"
- Click the three dots in the top right corner → "Custom repositories"
- Add this repository URL and select "Integration" as the category
- Install the integration and restart Home Assistant
- Download the latest release
- Copy the
custom_components/bromic_smart_heat_linkfolder to your Home Assistantconfig/custom_components/directory - Restart Home Assistant
There are a couple of ways setup may go depending on your system:
- Go to Settings → Devices & Services → Add Integration and search for "Bromic Smart Heat Link".
- Choose one of the following:
- If your serial device is listed, select it and continue.
- If it is not listed, choose Other (enter manually) and type the path (for example
/dev/serial/by-id/...or/dev/ttyUSB0).
- The integration will test the connection and complete setup.
Tip: On Linux you may need to ensure the Home Assistant user has permission to access serial devices (e.g., add the user to the dialout group, if necessary).
After initial setup, you can add controllers through the integration options:
- Go to Settings → Devices & Services → Bromic Smart Heat Link → Configure
- Select Add New Controller or Adopt Existing Controller
- Choose an available ID location (1-50)
- Select controller type:
- ON/OFF Controller: 4 buttons (Ch1 ON/OFF, Ch2 ON/OFF)
- Dimmer Controller: 7 buttons (100%, 75%, 50%, 25%, Off)
For each controller, you'll go through a guided learning process:
- Press P3 on Remote: Press and hold the P3 button on your existing remote
- Wait for Beep: The controller will beep within 5 seconds
- Click Send Learn Command as the tone begins. You may hear multiple short confirmation tones; that's expected.
- Confirm: Click "I heard the confirmation tones" to advance, or "Retry" if you didn't hear them.
- Repeat for each required button
The learning process teaches the Smart Heat Link to recognize commands that Home Assistant will send, without affecting your existing remote functionality.
If your Smart Heat Link is already programmed, use Adopt Existing Controller to assign it to an ID without re-learning. Select an unused ID location and the appropriate controller type; entities will be created immediately.
Each controller creates a single entity identified by its ID location.
switch.bromic_id{X}- Primary switch for the controller (ON/OFF)
light.bromic_id{X}- Single light entity with discrete power levels
The dimmer light entity provides:
- Discrete brightness levels: Off, 25%, 50%, 75%, 100%
- Direct power level control: No separate power level selector needed
- Intuitive brightness slider: Maps directly to heater power levels
- Clear state indication: Shows current power level in the UI
# Turn on heater at 75% power
service: light.turn_on
target:
entity_id: light.bromic_id1
data:
brightness: 191 # Maps to 75% power level# Turn on heater when motion detected
automation:
- alias: "Turn on patio heater"
trigger:
- platform: motion
entity_id: binary_sensor.patio_motion
action:
- service: light.turn_on
target:
entity_id: light.bromic_id1
data:
brightness: 128 # Maps to 50% power levelThe integration uses the Bromic Smart Heat Link RS232 protocol:
- Baud Rate: 19200
- Data Bits: 8
- Parity: None
- Stop Bits: 1
- Flow Control: None
Commands follow the format: T + ID(2 bytes) + Button(2 bytes) + Checksum
The integration provides several services for advanced users:
bromic_smart_heat_link.learn_button- Learn a specific buttonbromic_smart_heat_link.send_raw_command- Send raw hex commandsbromic_smart_heat_link.clear_controller- Clear controller (if supported)
- Verify USB-to-RS232 adapter is connected
- Check serial port permissions (add HA user to
dialoutgroup on Linux, if necessary) - Use stable device paths like
/dev/serial/by-id/*instead of/dev/ttyUSB0 - Refer to the Bromic Smart Heat Link Installation Guide
- Ensure controller and remote are paired and working
- Press P3 and wait for beep before clicking "Learn Button"
- Stay within 30m RF range during learning
- Check for RF interference from other devices
- Entities only appear for successfully learned button combinations
- Restart Home Assistant after adding/removing controllers
- Check diagnostics page for detailed information
This project is licensed under the MIT License - see the LICENSE file for details.
This integration is not affiliated with Bromic Heating. Use at your own risk. Always follow proper safety procedures when working with electrical equipment.