Reusable ESPHome metadata packages that separate a product's physical mounting
from its radar hardware. They give Room Designer and other consumers a stable
contract without guessing from product names such as CeilSense.
Production firmware should use the latest tagged release. Use main only when
developing and testing profile changes.
Every product combines:
- one physical mounting profile from
packages/mounting/; - one radar adapter from
packages/radars/.
The mounting profile defines how coverage and coordinates should be presented. The radar adapter defines the native coordinate frame, conversion to millimetres and maximum target count.
packages:
mounting: github://smarthomeshop/radar-mounting/packages/mounting/ceiling.yaml@v1.0.0
radar_profile: github://smarthomeshop/radar-mounting/packages/radars/ld2450.yaml@v1.0.0A future ceiling product using LD2460 changes only the adapter:
packages:
mounting: github://smarthomeshop/radar-mounting/packages/mounting/ceiling.yaml@v1.0.0
radar_profile: github://smarthomeshop/radar-mounting/packages/radars/ld2460.yaml@v1.0.0The packages expose stable diagnostic entities for:
- mounting mode (
ceilingorwall); - coordinate projection (
floor_xyorforward_xy); - required radar installation mode (
toporside); - default height, range and field of view;
- radar model and coordinate frame;
- conversion from native coordinates to millimetres;
- maximum target count and hardware mounting-mode capability.
All profile entities publish their static state once during startup. They do not poll or republish unchanged metadata periodically.
This repository describes the required mode but does not send undocumented commands to radar modules:
- LD2450 has no separate top/side protocol mode. Its X/Y floor plane is used as reported.
- LD2460 supports top and side firmware modes. A ceiling product must configure
the module for
topmode. - LD6002B supports
topandsidethrough its ESPHome installation-mode select. A ceiling product must usetop.
Keeping hardware configuration in the radar component prevents a generic mounting package from sending the wrong command to a different module.
Product pin mappings, LEDs, startup tests and entity names do not belong here.
For example, ld2450-ceilsense.yaml remains a CeilSense compatibility profile;
it is not the universal ceiling definition.