Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Bridge Configuration

Using the User Interface you can set up multiple bridges and configure each to use different filters for your entities. Each bridge will be completely independent of the others and uses its own port for matter.

Quick Start with Bridge Wizard

The easiest way to create bridges is using the Bridge Wizard:

  1. Open the web UI and go to the Bridges page

  2. Click the Wizard button in the top right

  3. Follow the guided steps:

    • Enter a name for your bridge

    • Configure entity filters (by area, label, domain, etc.)

    • Port is automatically assigned (starting from 5540)

  4. Add multiple bridges in one session

  5. Review and confirm to create all bridges

The wizard automatically handles port assignment and prevents conflicts.

Manual Configuration

You can access the bridge configuration by opening the web UI:

Every bridge has to have a name (string), port (number) and filter (object) property. The filter property has to include an include (array) and an exclude (array) property.

{
  "name": "My Hub",
  "port": 5540,
  "filter": {
    "include": [],
    "exclude": []
  }
}

A include- or exclude-item is an object having a type and a value property.

Filter Types

TypeDescriptionExample Value
patternWildcard pattern matching entity IDs. Use * as wildcard.light.living_room_*
regexRegular expression matching entity IDs. Full regex support.^light\.(kitchen|bedroom)_.*
domainMatch entities by their domain (the part before the dot).light, switch, sensor
platformMatch entities by their integration/platform.hue, zwave, mqtt
entity_labelMatch entities by their label. Accepts display name or slug. Only checks entity-level labels.Voice Control
device_labelMatch entities by their parent device’s label. All entities of that device match.smart_home
areaMatch entities by their area slug.living_room
entity_categoryMatch entities by their category.config, diagnostic
device_nameMatch entities by their device name (case-insensitive, wildcards).Living Room*
product_nameMatch entities by their product/model name (case-insensitive, wildcards).Hue Color Bulb
device_classMatch entities by their device class attribute.temperature, motion

Pattern vs Regex

Pattern uses simple wildcard matching:

Regex uses full JavaScript regular expressions:

Device Name Filter

The device_name filter matches against the device’s name (not the entity ID):

Product Name Filter

The product_name filter matches against the device’s model or product name:

Device Class Filter

The device_class filter matches against the entity’s device_class attribute:

The value property is a string containing the corresponding value. You can add multiple include or exclude rules which are then combined. All entities which match one of the include-rules will be included, but all entities which match one of the exclude rules will be excluded.

Labels can be applied at the entity level or at the device level:

You can use either the display name (e.g. My Smart Lights) or the slug (e.g. my_smart_lights) as the filter value. The display name is automatically resolved to the correct slug.

Examples

Basic Configuration

{
  "name": "My Hub",
  "port": 5540,
  "filter": {
    "include": [
      {
        "type": "label",
        "value": "my_voice_assist"
      },
      {
        "type": "pattern",
        "value": "light.awesome*"
      }
    ],
    "exclude": [
      {
        "type": "platform",
        "value": "hue"
      },
      {
        "type": "domain",
        "value": "fan"
      },
      {
        "type": "entity_category",
        "value": "diagnostic"
      }
    ]
  }
}

Using Regex for Complex Matching

Match all lights and switches that start with “kitchen” or “living_room”:

{
  "name": "Main Rooms",
  "port": 5540,
  "filter": {
    "include": [
      {
        "type": "regex",
        "value": "^(light|switch)\\.(kitchen|living_room)_.*"
      }
    ],
    "exclude": []
  }
}

Using Device Name Filter

Include all entities from Philips devices, exclude IKEA devices:

{
  "name": "Brand Filter",
  "port": 5541,
  "filter": {
    "include": [
      {
        "type": "device_name",
        "value": "*Philips*"
      }
    ],
    "exclude": [
      {
        "type": "device_name",
        "value": "*IKEA*"
      }
    ]
  }
}

Combining Multiple Filter Types

A comprehensive example using multiple filter types:

{
  "name": "Living Room Hub",
  "port": 5542,
  "filter": {
    "include": [
      {
        "type": "area",
        "value": "living_room"
      },
      {
        "type": "label",
        "value": "voice_control"
      },
      {
        "type": "pattern",
        "value": "light.guest_*"
      }
    ],
    "exclude": [
      {
        "type": "entity_category",
        "value": "diagnostic"
      },
      {
        "type": "entity_category",
        "value": "config"
      },
      {
        "type": "regex",
        "value": ".*_battery$"
      },
      {
        "type": "device_name",
        "value": "*Test*"
      }
    ]
  }
}

This configuration:

Feature Flags

Feature flags control advanced behavior of the bridge. Configure them in the Bridge Settings → Feature Flags section of the web UI.

Feature FlagDescriptionDefault
autoComposedDevicesMaster toggle: combines related entities (battery, humidity, pressure, power, energy) into single Matter endpoints. Enables all auto-mapping features at once.false
autoBatteryMappingAutomatically combines battery sensors with their parent devicefalse
autoHumidityMappingAutomatically combines humidity sensors with temperature sensorstrue
autoPressureMappingAutomatically combines pressure sensors with temperature sensorstrue
autoForceSyncPeriodically push all device states to controllers every 90 seconds. Enable if devices get out of sync.false
coverSwapOpenCloseSwap open/close commands for covers (fixes reversed Alexa commands)false
coverDoNotInvertPercentageSkip percentage inversion for covers (not Matter-compliant)false
coverUseHomeAssistantPercentageUse HA percentages directly (Alexa-friendly)false
includeHiddenEntitiesInclude entities marked as hidden in Home Assistantfalse
serverModeExpose device as standalone Matter device (required for Robot Vacuums with Apple Home/Alexa). Only ONE device per bridge!false

Issues with labels

If you can’t get it working with your labels, you can delete your label and re-create it.