Skip to content

DaanVervacke/hass-dobiss-sx-evolution

Repository files navigation

DOBISS SX Evolution Home Assistant integration

HACS Custom GitHub Release Quality Scale License

Custom Home Assistant integration for the DOBISS SX Evolution. Connects to a DOBISS CAN bus either via a socketcand daemon over TCP or via a USB CAN adapter (slcan-compatible, e.g. CANable) plugged directly into your Home Assistant host, and exposes configured outputs as light and cover entities.

Supported devices

DOBISS SX Evolution installations driven by a Max200 controller, reachable via a socketcand bridge on the CAN bus.

Supported functions

  • light entities for on/off and dimmable outputs
  • cover entities for shutter outputs (open, close, stop)
  • dobiss_sx_evolution.refresh service to trigger a manual state dump

How state updates work

Push-based via the CAN bus, no polling. The integration sends a state-dump request on startup and after every reconnect, then listens for incoming frames and pushes updates to entities in real time. Reconnection uses exponential backoff and a Home Assistant repair issue is raised when the connection is persistently unavailable.

Prerequisites

  • Home Assistant 2026.6.0 or newer
  • One of:
    • A socketcand daemon reachable over TCP from Home Assistant (default: can0, port 29536), or
    • A USB CAN adapter (slcan-compatible, e.g. CANable) plugged into the Home Assistant host and appearing as /dev/ttyACM*, /dev/ttyUSB*, or the Windows/macOS equivalent.

See the Socketcand setup guide below if you're going the socketcand route and have not configured it yet.

Socketcand setup guide

socketcand acts as a TCP bridge between your CAN interface and network clients like this integration.

1. Bring up the CAN interface

The Max200 operates at 125 kbit/s.

sudo ip link set can0 type can bitrate 125000
sudo ip link set can0 up

Replace can0 with your actual interface name if it differs. Verify the interface is up with ip link show can0.

2. Start socketcand

socketcand -i can0 -p 29536

You can make this persistent with systemd.

Installation

HACS (recommended)

This integration is not yet in the default HACS store. Add it as a custom repository first:

  1. Open HACS in your Home Assistant instance.
  2. Click the three dots in the top right corner and select Custom repositories.
  3. Add https://github.com/DaanVervacke/hass-dobiss-sx-evolution with category Integration.
  4. Search for DOBISS SX Evolution in HACS and click Download.
  5. Restart Home Assistant.
  6. Go to Settings > Devices & Services > Add Integration and search for DOBISS SX Evolution.

Manual

Copy custom_components/dobiss_sx_evolution/ into your Home Assistant config/custom_components/ directory and restart.

Configuration

Configuration is done entirely through the Home Assistant UI.

Connection setup

Go to Settings > Devices & Services > Add Integration and search for DOBISS SX Evolution. Pick either socketcand or USB CAN adapter on the first step.

socketcand

Field Default Description
Host -- Hostname or IP address of the socketcand daemon
Port 29536 TCP port the daemon listens on
Remote CAN interface can0 CAN interface name as configured in socketcand

USB CAN adapter

Field Default Description
Device -- Serial device path, picked from a dropdown of detected ports (e.g. /dev/ttyACM0, /dev/serial/by-id/...)

The adapter is opened as an slcan bus at 115200 baud. The bus itself runs at 125 kbit/s (the Max200 line speed).

The integration probes the connection before saving. If the probe fails, a cannot_connect error is shown and no entry is created.

Adding modules

After the connection entry is saved, add one Module subentry per physical DOBISS module in your installation. Open the DOBISS SX Evolution card in Settings > Devices & Services and click Add module.

Field Required Description
Module letter Yes Single letter A-Z identifying the module on the bus
Module name No Friendly name, defaults to Module <letter>
Dimmable No Enable for dimmer modules, applies brightness support to every light on this module

Configuring outputs

From each module's Reconfigure menu you can manage the outputs assigned to that module:

  • Add light: output number and an optional friendly name
  • Add shutter: up-output number, down-output number and an optional friendly name
  • Remove output: select an existing output to remove
  • Edit module: change the module letter, friendly name, or dimmable flag

Each output number can only be claimed once per module. For shutters, the up and down output numbers must be distinct and unclaimed.

Reconfiguring the connection

If the socketcand host/port/interface or the USB device path changes, open the DOBISS SX Evolution card in Settings > Devices & Services and use the Reconfigure option. The form pre-fills the current values. The entry is reloaded automatically on success.

Services

dobiss_sx_evolution.refresh

Sends a state-dump request to every active DOBISS entry. Use this to resynchronise entity states without restarting Home Assistant.

This service takes no parameters.

Known limitations

  • Shutter position is not reported by the CAN bus. is_closed is always unknown and assumed_state is True, so open/close/stop buttons remain available regardless of the last known state.

Troubleshooting

  1. Enable debug logging. Open Settings > Devices & Services, click the three-dot menu on the DOBISS SX Evolution entry, and select Enable debug logging. Reproduce the issue, then choose Disable debug logging from the same menu. Home Assistant will offer to download the captured log.

  2. Download diagnostics. From the same three-dot menu, choose Download diagnostics. The resulting JSON redacts your host address and is safe to attach to a GitHub issue.

  3. Common errors:

    • Cannot connect: the socketcand daemon is unreachable at the configured host and port, or the USB CAN adapter cannot be opened. Check that the daemon is running (socketcand), or that the device path is correct and Home Assistant has permission to open it (USB).
    • Cannot send: a CAN frame write failed after the connection was established. The integration will attempt to reconnect automatically.
    • Repair issue "cannot_connect": the CAN bus has been unreachable long enough for backoff to reach its ceiling. Resolve the network or daemon issue, the repair issue clears automatically on reconnection.
  4. File an issue at github.com/DaanVervacke/hass-dobiss-sx-evolution/issues and include the diagnostics JSON and the relevant log lines.

Removing the integration

  1. Go to Settings > Devices & Services.
  2. Find the DOBISS SX Evolution card and click the three-dot menu.
  3. Select Delete.

No changes are made to your DOBISS hardware or socketcand daemon.

Use cases

  • Control your lights and dimmers from Home Assistant automations and dashboards.
  • Integrate your shutters into scenes and time-based automations.
  • Use the refresh service to resync state after a socketcand daemon restart.

License

MIT - Daan Vervacke (@DaanVervacke)

About

Home Assistant integration for the DOBISS SX Evolution via socketcand or a USB CAN adapter

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages