home-assistant/core · error · HomeAssistantError
set_data_error
set_data_error
Error message
An error occurred while sending the data to the BSB-LAN device
What it means
Raised by the bsblan climate entity when `client.thermostat(**data, circuit=...)` raises any BSBLANError while applying a new HVAC mode, preset, or setpoint. It is wrapped in HomeAssistantError with translation key `set_data_error`, so the action call fails visibly in the UI/logbook while the coordinator is left to re-sync from the device.
Source
Thrown at homeassistant/components/bsblan/climate.py:213
async def async_set_data(self, **kwargs: Any) -> None:
"""Set device settings using BSBLAN."""
data: dict[str, Any] = {}
if ATTR_TEMPERATURE in kwargs:
data[ATTR_TARGET_TEMPERATURE] = kwargs[ATTR_TEMPERATURE]
if ATTR_HVAC_MODE in kwargs:
data[ATTR_HVAC_MODE] = HA_TO_BSBLAN_HVAC_MODE[kwargs[ATTR_HVAC_MODE]]
if ATTR_PRESET_MODE in kwargs:
# eco preset uses BSB-LAN mode 2, none preset uses mode 1 (auto)
if kwargs[ATTR_PRESET_MODE] == PRESET_ECO:
data[ATTR_HVAC_MODE] = 2
elif kwargs[ATTR_PRESET_MODE] == PRESET_NONE:
data[ATTR_HVAC_MODE] = 1
try:
await self.coordinator.client.thermostat(**data, circuit=self._circuit)
except BSBLANError as err:
raise HomeAssistantError(
translation_domain=DOMAIN,
translation_key="set_data_error",
) from err
await self.coordinator.async_request_refresh()
View on GitHub (pinned to 58a3fdb3ea)
Solutions
- Retry the action once the entity's state data is updating normally (check for coordinator update errors first).
- Verify the target value is within the min/max shown on the entity card.
- If persistent, test the same parameter write via the BSB-LAN web UI to isolate integration vs device.
- Check integration logs with debug enabled for the underlying BSBLANError message.
Defensive patterns
Strategy: try-catch
Try / catch
try:
await coordinator.client.thermostat(**data, circuit=circuit)
except BSBLANError as err:
raise HomeAssistantError(translation_domain=DOMAIN, translation_key="set_data_error") from err Prevention
- Gate write automations on the climate entity being available.
- Respect the entity's min/max temperature attributes when composing setpoints.
- Use continue_on_error on scheduled mode changes so one failed write doesn't kill the automation.
When it happens
Trigger: Calling `climate.set_hvac_mode`, `climate.set_preset_mode`, or `climate.set_temperature` on a bsblan climate entity when the write to the device fails — connection dropped, auth rejected mid-session, or the device rejected the parameter value for the given circuit.
Common situations: Device briefly unreachable when the action fires; writing a setpoint outside the boiler's allowed range; serial bus busy with polling so the write times out and surfaces as BSBLANError.
Related errors
- set_schedule_failed
- set_temperature_error
- set_operation_mode_error
- Failed to set temperature to {temperature}.
- Failed to set preset mode to {preset_mode}.
AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14).
Data as JSON: /api/errors/928bccba8459441e.
Report an issue: GitHub.