Mapping Blueprints
This page provides ready-to-use mapping examples for complex device setups. You can use these as reference when configuring entity mappings in the HAMH UI or when creating mapping profiles for import.
Composed Temperature + Humidity + Pressure Sensor
Combines a temperature sensor with related humidity and pressure sensors into a single Matter composed device. Each sensor appears as a proper sub-device in Apple Home, Google Home, and Alexa.
Requirements: Enable the autoComposedDevices feature flag on the bridge.
{
"entityId": "sensor.living_room_temperature",
"humidityEntity": "sensor.living_room_humidity",
"pressureEntity": "sensor.living_room_pressure",
"batteryEntity": "sensor.living_room_battery"
}
With Power Monitoring
If your sensor hub also reports power consumption:
{
"entityId": "sensor.living_room_temperature",
"humidityEntity": "sensor.living_room_humidity",
"pressureEntity": "sensor.living_room_pressure",
"batteryEntity": "sensor.living_room_battery",
"powerEntity": "sensor.living_room_power",
"energyEntity": "sensor.living_room_energy"
}
Composed Sub-Entities
Group arbitrary Home Assistant entities under a single Matter device. Set composedEntities on the primary entity's mapping and each listed entity becomes a sub-device of the primary. The sub-entities are absorbed into the composed device and stop appearing as standalone Matter devices.
Unlike auto-mapping, which only pulls in humidity/pressure/battery/power sensors on the same HA device, this lets you pick any entities you want, and they do not need to match the bridge filter. You choose them from the full HA registry in the UI.
Requirements: Enable the autoComposedDevices feature flag on the bridge. Each sub-entity may set a matterDeviceType to control how it is exposed.
Example, a Hue Motion sensor exposed as one device with occupancy, illuminance, and temperature sub-devices:
{
"entityId": "binary_sensor.hue_motion_occupancy",
"composedEntities": [
{ "entityId": "sensor.hue_motion_illuminance", "matterDeviceType": "light_sensor" },
{ "entityId": "sensor.hue_motion_temperature", "matterDeviceType": "temperature_sensor" }
]
}
Air Purifier with Sensors
Maps a fan entity as an air purifier with temperature, humidity, and HEPA filter monitoring.
Requirements: Enable the autoComposedDevices feature flag. Set matterDeviceType to air_purifier.
{
"entityId": "fan.air_purifier",
"matterDeviceType": "air_purifier",
"temperatureEntity": "sensor.air_purifier_temperature",
"humidityEntity": "sensor.air_purifier_humidity",
"filterLifeEntity": "sensor.air_purifier_filter_life",
"powerEntity": "sensor.air_purifier_power",
"energyEntity": "sensor.air_purifier_energy"
}
Smart Plug with Energy Monitoring
A switch with real-time power and cumulative energy measurement.
{
"entityId": "switch.smart_plug",
"powerEntity": "sensor.smart_plug_power",
"energyEntity": "sensor.smart_plug_energy"
}
Dimmable Light with Energy Monitoring
{
"entityId": "light.kitchen_ceiling",
"powerEntity": "sensor.kitchen_ceiling_power",
"energyEntity": "sensor.kitchen_ceiling_energy"
}
Roborock Vacuum with Room Cleaning
Maps a vacuum with room-specific cleaning buttons and a cleaning mode selector.
{
"entityId": "vacuum.roborock_s7",
"cleaningModeEntity": "select.roborock_s7_cleaning_mode",
"suctionLevelEntity": "select.roborock_s7_suction_level",
"mopIntensityEntity": "select.roborock_s7_mop_intensity",
"roomEntities": [
"button.roborock_s7_clean_kitchen",
"button.roborock_s7_clean_living_room",
"button.roborock_s7_clean_bedroom"
]
}
Dreame Vacuum Variant
{
"entityId": "vacuum.dreame_l20",
"cleaningModeEntity": "select.dreame_l20_cleaning_mode",
"suctionLevelEntity": "select.dreame_l20_suction_level",
"mopIntensityEntity": "select.dreame_l20_water_volume",
"roomEntities": [
"button.dreame_l20_clean_kitchen",
"button.dreame_l20_clean_bathroom"
]
}
Valetudo Vacuum
{
"entityId": "vacuum.valetudo_robot",
"valetudoIdentifier": "valetudo_robot",
"customServiceAreas": [
{ "areaId": 1, "label": "Kitchen" },
{ "areaId": 2, "label": "Living Room" }
]
}
Door Lock with PIN Disabled
Useful when you have multiple locks and only want PIN protection on some.
{
"entityId": "lock.front_door",
"disableLockPin": true
}
Cover with Swapped Open/Close
For covers where Home Assistant reports inverted position values.
{
"entityId": "cover.garage_door",
"coverSwapOpenClose": true
}
Using Mapping Profiles
You can export and import mapping configurations as profiles via the HAMH UI or API:
- Export: Go to Bridge Settings → Export Mapping Profile
- Import: Go to Bridge Settings → Import Mapping Profile → Select entities to apply
A mapping profile bundles multiple entity mappings into a single JSON file that can be shared between installations.
Profile Format
{
"version": 1,
"name": "My Home Setup",
"description": "Mappings for all devices",
"author": "username",
"createdAt": "2025-01-01T00:00:00Z",
"domains": ["sensor", "fan", "vacuum", "switch"],
"entryCount": 4,
"entries": [
{
"domain": "sensor",
"entityIdPattern": "sensor.*_temperature",
"humidityEntity": "sensor.*_humidity",
"pressureEntity": "sensor.*_pressure"
},
{
"domain": "fan",
"entityIdPattern": "fan.air_purifier*",
"matterDeviceType": "air_purifier",
"temperatureEntity": "sensor.air_purifier_temperature"
}
]
}
Entity ID patterns in profiles use glob-style matching. Use * to match any characters within the entity ID.