diff --git a/docs/assets/apollo-mmwave-calibrate-idle.png b/docs/assets/apollo-mmwave-calibrate-idle.png
new file mode 100644
index 0000000000..73fb0b811c
Binary files /dev/null and b/docs/assets/apollo-mmwave-calibrate-idle.png differ
diff --git a/docs/assets/apollo-mmwave-calibrate-poster.jpg b/docs/assets/apollo-mmwave-calibrate-poster.jpg
new file mode 100644
index 0000000000..b6614d55e1
Binary files /dev/null and b/docs/assets/apollo-mmwave-calibrate-poster.jpg differ
diff --git a/docs/assets/apollo-mmwave-calibrate-preview.png b/docs/assets/apollo-mmwave-calibrate-preview.png
new file mode 100644
index 0000000000..35fffd6edf
Binary files /dev/null and b/docs/assets/apollo-mmwave-calibrate-preview.png differ
diff --git a/docs/assets/apollo-mmwave-calibrate-r-pro-1.png b/docs/assets/apollo-mmwave-calibrate-r-pro-1.png
new file mode 100644
index 0000000000..733774e889
Binary files /dev/null and b/docs/assets/apollo-mmwave-calibrate-r-pro-1.png differ
diff --git a/docs/assets/apollo-mmwave-calibrate-restored.png b/docs/assets/apollo-mmwave-calibrate-restored.png
new file mode 100644
index 0000000000..6f8b0a2cc1
Binary files /dev/null and b/docs/assets/apollo-mmwave-calibrate-restored.png differ
diff --git a/docs/assets/apollo-mmwave-calibrate-result.png b/docs/assets/apollo-mmwave-calibrate-result.png
new file mode 100644
index 0000000000..78c4d8a8f3
Binary files /dev/null and b/docs/assets/apollo-mmwave-calibrate-result.png differ
diff --git a/docs/assets/apollo-mmwave-calibrate.mp4 b/docs/assets/apollo-mmwave-calibrate.mp4
new file mode 100644
index 0000000000..7b58c20778
Binary files /dev/null and b/docs/assets/apollo-mmwave-calibrate.mp4 differ
diff --git a/docs/assets/apollo-mmwave-controls.png b/docs/assets/apollo-mmwave-controls.png
new file mode 100644
index 0000000000..1032215c4c
Binary files /dev/null and b/docs/assets/apollo-mmwave-controls.png differ
diff --git a/docs/assets/apollo-mmwave-distances.png b/docs/assets/apollo-mmwave-distances.png
new file mode 100644
index 0000000000..96848a8028
Binary files /dev/null and b/docs/assets/apollo-mmwave-distances.png differ
diff --git a/docs/assets/apollo-mmwave-gate-energy-engineering-off.png b/docs/assets/apollo-mmwave-gate-energy-engineering-off.png
new file mode 100644
index 0000000000..6f68051c71
Binary files /dev/null and b/docs/assets/apollo-mmwave-gate-energy-engineering-off.png differ
diff --git a/docs/assets/apollo-mmwave-gate-energy-live.png b/docs/assets/apollo-mmwave-gate-energy-live.png
new file mode 100644
index 0000000000..1113f90c0b
Binary files /dev/null and b/docs/assets/apollo-mmwave-gate-energy-live.png differ
diff --git a/docs/assets/apollo-mmwave-gate-energy.mp4 b/docs/assets/apollo-mmwave-gate-energy.mp4
new file mode 100644
index 0000000000..92123a3488
Binary files /dev/null and b/docs/assets/apollo-mmwave-gate-energy.mp4 differ
diff --git a/docs/assets/apollo-mmwave-options.png b/docs/assets/apollo-mmwave-options.png
new file mode 100644
index 0000000000..6423b3d5bc
Binary files /dev/null and b/docs/assets/apollo-mmwave-options.png differ
diff --git a/docs/assets/apollo-mmwave-start-here.png b/docs/assets/apollo-mmwave-start-here.png
new file mode 100644
index 0000000000..2ebbcf762e
Binary files /dev/null and b/docs/assets/apollo-mmwave-start-here.png differ
diff --git a/docs/assets/apollo-mmwave-zone-map.png b/docs/assets/apollo-mmwave-zone-map.png
new file mode 100644
index 0000000000..22ee6e9beb
Binary files /dev/null and b/docs/assets/apollo-mmwave-zone-map.png differ
diff --git a/docs/index.md b/docs/index.md
index e738a7c661..56a9259df3 100755
--- a/docs/index.md
+++ b/docs/index.md
@@ -106,6 +106,7 @@ flowchart LR
### Radar & Zones
+* [Set up the Apollo mmWave dashboard](https://wiki.apolloautomation.com/products/general/setup/apollo-mmwave-dashboard-setup/) and [calibrate your radar or draw zones with it](https://wiki.apolloautomation.com/products/general/setup/apollo-mmwave-dashboard/)
* [Tuning out false positives with the MSR-2](https://wiki.apolloautomation.com/products/general/calibrating-and-updating/mmwave-videos/)
* [Setting up zones on MTR-1 with the HLK app](https://wiki.apolloautomation.com/products/mtr1/setup/zones-hlk/)
* [Beta test our new Zone Mapper tool!](https://github.com/ApolloAutomation/zone-mapper) - [Use this custom card along with Zone Mapper!](https://github.com/ApolloAutomation/zone-mapper-card)
diff --git a/docs/products/general/calibrating-and-updating/radar-tuning/zones-ha.md b/docs/products/general/calibrating-and-updating/radar-tuning/zones-ha.md
index a463ed2cc7..7e1cc7b9b0 100644
--- a/docs/products/general/calibrating-and-updating/radar-tuning/zones-ha.md
+++ b/docs/products/general/calibrating-and-updating/radar-tuning/zones-ha.md
@@ -1,4 +1,10 @@
---
description: "Tune the MSR-1 mmWave radar from Home Assistant using Radar Engineering Mode to find which gates cause false triggers and raise their thresholds."
---
---8<-- "products/msr1/setup/zones-ha.md:4:"
+--8<-- "products/msr1/setup/zones-ha.md:4:4"
+
+!!! tip "Prefer a guided dashboard?"
+
+ The Apollo mmWave integration gives your Apollo MSR-1, MSR-2, or R PRO-1 a tuning dashboard with a Gate Energy chart and a **Calibrate with empty room** button that sets the gate thresholds for you. The [Apollo mmWave dashboard guide](/products/general/setup/apollo-mmwave-dashboard.md) walks you through it as a guided alternative to the manual steps below.
+
+--8<-- "products/msr1/setup/zones-ha.md:10:"
diff --git a/docs/products/general/setup/apollo-mmwave-dashboard-setup.md b/docs/products/general/setup/apollo-mmwave-dashboard-setup.md
new file mode 100644
index 0000000000..a847a0179d
--- /dev/null
+++ b/docs/products/general/setup/apollo-mmwave-dashboard-setup.md
@@ -0,0 +1,203 @@
+---
+title: Set up the Apollo mmWave dashboard
+description: Install the Apollo mmWave integration from HACS and get an auto-built Home Assistant dashboard with a tuning or zone map tab for every Apollo radar sensor.
+---
+
+# Set up the Apollo mmWave dashboard
+
+A new Apollo radar sensor detects presence out of the box, but every room is different: a ceiling fan or a moving curtain can make it trigger with nobody there, and someone sitting still can be missed. The Apollo mmWave dashboard is where you fix that. On an Apollo MSR-1, MSR-2, or R PRO-1 with the LD2412 addon, one button, **Calibrate with empty room**, sets the radar's thresholds for your room in about a minute and a half. On an Apollo MTR-1 or R PRO-1, the same dashboard is where you draw zones over the radar's live targets.
+
+The Apollo mmWave integration gives every Apollo radar sensor in your home its own workspace in Home Assistant. Install it once and it adds an **Apollo mmWave** dashboard to your sidebar with one tab per radar, built from the devices Home Assistant already knows about. Add a sensor later and its tab appears on its own; remove one and its tab goes away.
+
+What each tab holds depends on the radar inside the sensor:
+
+| Sensor | Radar chip | What its tab shows |
+| --- | --- | --- |
+| Apollo MSR-1, Apollo MSR-2 | LD2410 | Radar tuning: auto-calibration, distance and gate energy charts, thresholds, detection range, and occupancy |
+| Apollo R PRO-1 | LD2450, plus the optional LD2412 addon | The same radar tuning cards for the LD2412, plus a zone map for drawing occupancy zones over the LD2450's live targets |
+| Apollo MTR-1 | LD2450 | A zone map |
+
+LD2410, LD2412, and LD2450 are the model numbers of the radar chips, and the card titles use them.
+
+If you built the [MSR-2 tuning dashboard](/products/msr2/setup/msr2-tuning-dashboard.md) by hand, this replaces it. The integration ships its own cards and updates them along with itself, so Streamline Card, Plotly Graph Card, and the YAML generator are no longer needed.
+
+!!! note "Before you start"
+
+ - You're running Home Assistant 2026.8.1 or newer. **Settings → About** shows your version.
+ - HACS 2.0.5 or newer is installed and set up. HACS is a community store for Home Assistant that installs and updates custom integrations like this one. If you don't have it yet, follow the [HACS download guide](https://hacs.xyz/docs/use/download/download/) and then the [initial configuration guide](https://hacs.xyz/docs/configuration/basic). Setup asks you to sign in with a free GitHub account.
+ - Your Apollo sensor is already in Home Assistant through the ESPHome integration. If it isn't, work through [getting started](/products/general/setup/getting-started.md) first.
+
+## Install Apollo mmWave through HACS
+
+Apollo mmWave installs from its GitHub repository, so you add that repository to HACS once as a custom repository. From then on HACS tracks updates for it like any other integration.
+
+1. Open **HACS** from your Home Assistant sidebar.
+2. Click the three-dot menu in the upper right corner and choose **Custom repositories**.
+3. Paste `https://github.com/ApolloAutomation/apollo-mmwave-main` into the **Repository** field.
+4. Set **Type** to **Integration** and click **Add**. The repository shows up in the list; close the dialog.
+5. Search HACS for **Apollo mmWave** and open it.
+6. Click **Download**, then confirm with **Download** in the dialog that opens.
+7. Restart Home Assistant: go to **Settings → System**, click the power icon in the upper right corner, and choose **Restart Home Assistant**. Wait for it to come back.
+
+Home Assistant only loads a new integration when it starts, so the restart is what makes Apollo mmWave available to add in the next step.
+
+## Add the integration
+
+This is the step that builds your dashboard. You add Apollo mmWave once and it covers every Apollo radar you own, so there's no need to repeat it per sensor. Adding it a second time stops with **This entry is already configured.**
+
+1. Go to **Settings → Devices & services** and click **Add integration**. You can also [open the setup dialog directly](https://my.home-assistant.io/redirect/config_flow_start/?domain=apollo_mmwave).
+2. Search for **Apollo mmWave** and select it. If it isn't in the list, refresh the browser page (your browser may still hold the list from before the restart) and search again.
+3. Leave **Add an 'Apollo mmWave' dashboard to the sidebar** turned on (it's on by default) to get the dashboard this guide describes. The dialog notes that the integration serves its own cards and dashboard, with nothing else to download. Turn the option off only if you'd rather place the cards on your own dashboards; you can change it later in the integration options.
+4. Click **Submit**, then **Finish** on the success message.
+
+**Apollo mmWave** now appears under **Settings → Devices & services**, and a new **Apollo mmWave** entry with a radar icon sits in your sidebar. The integration registers its cards with Home Assistant itself, so they load in browser tabs that were already open without a refresh.
+
+## Open the dashboard
+
+Click **Apollo mmWave** in the sidebar. With two or more radars you'll see one tab per radar along the top, each named after the device the way it appears in Home Assistant. With one radar, Home Assistant shows the dashboard title instead of a tab bar, and that radar's cards fill the page. The tabs keep themselves current: add a sensor and its tab appears, no page reload needed.
+
+The cards on each tab are laid out in columns that stack into one on a phone. Here's what a working first load looks like for each sensor. A row only appears when its entity is enabled in Home Assistant, so some cards can be shorter than described.
+
+### MSR-2 and MSR-1 tabs
+
+Both sensors use the LD2410 radar chip, so their tabs look the same, and the tuning card titles start with **LD2410**.
+
+- **Auto-calibrate** sits at the top, with the **Calibrate with empty room** and **Preview only** buttons. If your sensor still has its factory thresholds and has never been calibrated, the card adds **These look like factory thresholds. Calibrating sets them for your room.**
+- Under it, a help card names your sensor and gives a four-step **Start here** list.
+- The **LD2410 Gate Energy** chart is dimmed behind **Turn on Radar Engineering Mode to see gate energy values**, with a **Turn on Radar Engineering Mode** button below. That's expected: the radar only reports gate energy while **Radar Engineering Mode**, a diagnostic setting, is on. You don't need to press the button before calibrating; the calibration turns the mode on for its listen and puts it back the way it was afterward.
+- The other cards hold the radar's settings and live readings: controls, distances, detection range, occupancy, a threshold for each gate (**G0** to **G8**), and an hour of occupancy history. The [tour of the radar tab](apollo-mmwave-dashboard.md#a-tour-of-the-radar-tab) explains each one.
+
+
+
+### R PRO-1 tabs
+
+The R PRO-1 tab starts with the same tuning cards, titled **LD2412** instead of **LD2410**, for the optional LD2412 radar addon, and adds a zone map for its LD2450 radar. Without the addon, the LD2412 cards still appear but have no radar behind them, so skip to the zone map at the end of the tab. The differences from an MSR-2 tab:
+
+- **LD2412 Controls** adds **Start Dynamic Background Correction** and **Background Correction Running**. The Auto-calibrate card reminds you to run background correction first, with the room empty, and wait for its status to turn off before you calibrate.
+- **LD2412 Detection Range** holds **Radar Timeout**, **Max Gate**, and **Min Gate**, plus **Distance Resolution** if you've enabled that entity (it's hidden on a new sensor).
+- The thresholds cards and the Gate Energy chart cover 14 gates, **G0** to **G13**.
+- There's no Zone Config card, and the **LD2412 Distances** chart shows the gates and your **Max Gate** and **Min Gate** limits without distance bars.
+- At the end of the tab, a **Zone Map** heading introduces the zone map card for the LD2450, described below.
+
+### MTR-1 tabs
+
+An MTR-1 tab holds one card: the zone map, titled with your sensor's name. It shows a square grid marked with distances, the sensor's field of view drawn as a cone, and a dot for each target the LD2450 is tracking. A pencil button in the lower left opens the drawing tools, the lower right holds undo and lock buttons, and a collapsed **Configure** section under the grid holds the cone rotation slider and the zone list. The integration finds the sensor's target entities itself, so there's nothing to pick before you start drawing.
+
+The R PRO-1 zone map works the same way.
+
+
+
+### What to do first
+
+Your dashboard is working. On an MSR-1, MSR-2, or R PRO-1 tab, the first thing to do is press **Calibrate with empty room** on the **Auto-calibrate** card and leave the room for about a minute and a half. You don't need to change a setting or turn anything on first. The [tuning guide](apollo-mmwave-dashboard.md#calibrate-with-an-empty-room) walks you through it. On an MTR-1 tab, or an R PRO-1 without the LD2412, go straight to [drawing zones](apollo-mmwave-dashboard.md#draw-zones-on-the-r-pro-1-and-mtr-1). The rest of this page covers options, upgrading from an older setup, and troubleshooting, so come back to it when you need it.
+
+
+
+## Change the integration options
+
+The options let you turn the dashboard off, or choose exactly which sensors get a tab. Open **Settings → Devices & services → Apollo mmWave → Configure** to reach the **Apollo mmWave options** dialog. Changes take effect as soon as you click **Submit**, with no restart, and an open dashboard picks up a new device selection without a reload.
+
+
+
+- **Auto-create the Apollo mmWave dashboard** is on by default. Turn it off to remove the dashboard from your sidebar. The cards stay available for your own dashboards: in the card picker they're listed as **Apollo Radar Auto-Calibrate**, **Apollo Radar Distance Chart**, **Apollo Radar Gate Energy Chart**, and **Apollo Zone Map**. The [Apollo mmWave configuration guide](https://github.com/ApolloAutomation/apollo-mmwave-main/blob/main/docs/configuration.md#use-your-own-dashboards-instead) has the YAML for placing them.
+- **Dashboard devices** is empty by default, which shows every Apollo mmWave device Home Assistant knows about, online or not. Select one or more devices to show exactly those and hide the rest; a selected device keeps its tab even while it's offline. Clear the selection to go back to automatic detection. The picker only lists Apollo MSR-1, MSR-2, MTR-1, and R PRO-1 sensors added through ESPHome.
+
+The auto-create option is what decides whether the dashboard exists. If you delete the dashboard under **Settings → Dashboards** while the option is on, it comes back the next time the integration loads. To remove it for good, turn the option off.
+
+Want to rearrange the cards? Click the pencil icon in the upper right corner of the dashboard and choose **Take control** in the dialog that opens. From then on the layout is yours: the integration never writes over it, turning off the auto-create option leaves it in place, and it stops adding and removing tabs as sensors come and go. Changed your mind? With the auto-create option on, delete the dashboard under **Settings → Dashboards**, and the auto-built version comes back the next time the integration loads: restart Home Assistant, or open **Settings → Devices & services → Apollo mmWave** and choose **Reload** from the three-dot menu. If you add the Apollo tabs to a dashboard of your own, take control of that dashboard before you edit them; editing an auto-built tab directly discards its cards.
+
+## Upgrade from an older setup
+
+If this is your first Apollo dashboard, skip this section and [calibrate your radar](apollo-mmwave-dashboard.md#calibrate-with-an-empty-room). [Troubleshooting](#troubleshooting) is at the end of this page if something didn't load.
+
+### From the MSR-2 tuning dashboard
+
+Your thresholds, detection range, and every other setting live on the sensor itself, and the new dashboard reads the same entities. There's nothing to migrate: once your MSR-2 tab works in the Apollo mmWave dashboard, you can delete the old view.
+
+!!! warning "Back up before you edit raw YAML"
+
+ The raw configuration editor holds your whole dashboard. Copy its contents somewhere safe before you delete anything, so you can paste it back if a cut goes wrong.
+
+1. Open the dashboard you pasted the old YAML into, click **Edit dashboard**, open the three-dot menu, and choose **Raw configuration editor**.
+2. Find the old view. It starts like this:
+
+ ```yaml
+ - type: sections
+ max_columns: 4
+ title: MSR-2 Configuration
+ path: msr-2-configuration
+ ```
+
+3. Delete that view, from its `- type: sections` line down to the line before the next view (or before `streamline_templates:`). If you ran the generator for more than one MSR-2, repeat for each **MSR-2 Configuration** view.
+4. At the bottom, delete the `ld2410_` templates under `streamline_templates:`. If nothing else on your dashboards uses Streamline Card, delete the whole `streamline_templates:` block.
+5. Click **Save**.
+
+If no other cards use them, you can also remove Streamline Card and Plotly Graph Card from HACS. Apollo mmWave doesn't need either.
+
+### From Apollo mmWave 1.x zone mapping
+
+Most of the move to 2.x happens on its own the first time the integration starts. If you wrote cards or automations by hand, change these yourself:
+
+- **Card name.** A hand-written zone card set to `custom:zone-mapper-card` now shows as a missing card. Change it to `custom:apollo-radar-zone-map-card` and give it the radar's `device_id` (plus an optional `title`) in place of `location`.
+- **The `apollo_mmwave.update_zone` action.** Pass `device_id`. `location` still works as a deprecated alias, logs a warning once per restart, and will be removed in a later release.
+- **Zone change triggers.** The `apollo_mmwave_zone_updated` event now carries `device_id` where it used to carry `location`, so a trigger reading `trigger.event.data.location` stops matching.
+- **Empty `entities` lists.** In an `update_zone` call, an empty `entities` list now leaves the tracked targets alone instead of erasing them. To empty the list on purpose, pass `clear_entities: true`.
+- **`dark_mode`.** The zone map follows your Home Assistant theme now, and `dark_mode` in the card config is an override. Remove it if you want the card to track your theme.
+
+And here's what changes without you doing anything:
+
+- **Target sensors are found automatically.** The old **Device and Targets** picker is gone; the integration locates each radar's LD2450 target sensors itself.
+- **Zone entities move onto the radar's device page.** Your entity IDs, custom names, and area assignments are kept, and you can rename the entities freely.
+- **Renaming a radar no longer loses its zones**, because zones are stored per device rather than per display name. If you renamed a radar *before* upgrading, its zones are kept but not shown: the card comes up empty and the zone entities read as unavailable. Rename the radar back to its old name and reload the integration to bring them back, or keep the new name and redraw the zones.
+- **Zones from the standalone [Zone Mapper](/products/general/calibrating-and-updating/zone-configuration/zone-mapper-tool.md) integration are imported** when Apollo mmWave has no zone data of its own yet: on a fresh install, or when upgrading from a version before 1.2.0. The import only reads; nothing belonging to Zone Mapper is renamed or removed. Upgrading from 1.2.0 or later, the import is skipped and your existing Apollo mmWave zones are kept. Redraw any Zone Mapper zones you want on the zone map, then remove the old integration once you're happy with them.
+
+!!! warning "Keep Zone Mapper until your zones have moved over"
+
+ Don't uninstall the standalone Zone Mapper integration until you've confirmed your zones moved over. Its restore data is the only copy, and it goes away with its entities.
+
+If a zone you expected is missing, search your Home Assistant log for `apollo_mmwave`. When the same zone number exists both on a device and in leftover pre-2.0 data, the copy already on the device wins, and the dropped copy is written to the log.
+
+## Troubleshooting
+
+### The Apollo mmWave dashboard isn't in the sidebar
+
+Work through these in order:
+
+- Check that **Auto-create the Apollo mmWave dashboard** is on in the integration options.
+- Look under **Settings → Dashboards**. Apollo mmWave is listed there even when it's hidden. If you find it, check that its **Show in sidebar** setting is on and that you haven't hidden it from your own sidebar in your profile.
+- If you already had a dashboard of your own at the `apollo-mmwave` address, the integration leaves that one alone and doesn't create its own.
+- Open **Settings → System → Logs** and look for a warning that starts with **Apollo mmWave:**. You'll also see a warning there that `apollo_mmwave` is a custom integration Home Assistant hasn't tested. Every custom integration installed through HACS logs that one, so you can ignore it.
+- If the integration couldn't create the dashboard, add it yourself: go to **Settings → Dashboards**, click **Add dashboard**, and choose **Apollo Radar Tuning** from the community dashboards. A dashboard you add this way always shows every detected device; the **Dashboard devices** option does not apply to it.
+
+### The dashboard shows no devices
+
+The dashboard starts with **No Apollo mmWave devices found.** It found no radar to build a tab for. Confirm your sensor shows up under **Settings → Devices & services → ESPHome**, and check that **Dashboard devices** in the integration options is empty or lists your current devices.
+
+### One sensor has no tab
+
+Work through these in order:
+
+- If **Dashboard devices** has any devices selected, the dashboard shows only those. Add the missing sensor, or clear the selection to go back to automatic detection.
+- The dashboard only picks up radars added through the ESPHome integration. A copy of the same sensor that another integration created (a network integration tracking it by its MAC address, for example) doesn't get a tab.
+- A sensor you added a moment ago gets its tab once Home Assistant has registered its entities. It appears on its own, without a page reload.
+- DIY builds that don't report an Apollo model only get a tab while one of their radar entities is live.
+
+### A tab says the sensor is offline
+
+On an MSR-1, MSR-2, or R PRO-1 tab, the help card adds **Offline right now.** and the Auto-calibrate card reads **Radar is offline. Calibration needs the radar online and its gate entities enabled.** with its buttons disabled. An MTR-1 tab adds a card with the sensor's name and the same **Offline right now.** note, and its zone map shows no targets until the sensor reconnects. The tab stays so the sensor isn't silently missing, and the cards fill in once it reconnects. Check its power and Wi-Fi, and that it shows as online on the ESPHome integration page. If you replaced or reflashed the sensor under a new name, the old device entry is what's showing as offline: delete the old device under **Settings → Devices & services** and its tab goes away.
+
+### An Apollo card shows an error after an update
+
+After you update Apollo mmWave through HACS and restart, a browser that still holds the previous version's files can show the Apollo cards as error boxes that read **Custom element doesn't exist**. Refresh the page. Each release loads its cards under a new versioned address, so a fresh page load picks up the current version. If the error is still there, do a hard refresh with **Ctrl+Shift+R** (**Cmd+Shift+R** on a Mac). If that doesn't clear it either, check **Settings → System → Logs** for a warning that starts with **Apollo mmWave:** about Lovelace resources. On a system that manages its dashboard resources in YAML, the warning lists the two resource addresses to add by hand.
+
+If the element named in the error is `zone-mapper-card`, a refresh won't help: that's the old card name, so update the card as described in [From Apollo mmWave 1.x zone mapping](#from-apollo-mmwave-1x-zone-mapping).
+
+### The Auto-calibrate card is still loading
+
+The card reads **Apollo mmWave is still loading...** right after a restart while the integration starts, and clears on its own. If it changes to **Apollo mmWave is not loaded, so calibration is unavailable.**, check that Apollo mmWave is enabled under **Settings → Devices & services**, then click **Retry** on the card.
+
+!!! success "Next step: calibrate your radar or draw zones"
+
+ Your dashboard is up and every sensor has its tab. Now put it to work: the usage guide walks you through calibrating with an empty room, reading the charts, adjusting thresholds by hand, and drawing zones on the zone map.
+
+ [Use the Apollo mmWave dashboard](apollo-mmwave-dashboard.md){ .md-button .md-button--primary }
diff --git a/docs/products/general/setup/apollo-mmwave-dashboard.md b/docs/products/general/setup/apollo-mmwave-dashboard.md
new file mode 100644
index 0000000000..0576475f32
--- /dev/null
+++ b/docs/products/general/setup/apollo-mmwave-dashboard.md
@@ -0,0 +1,343 @@
+---
+title: Tune your radar with the Apollo mmWave dashboard
+description: Calibrate the radar in your Apollo MSR-1 or MSR-2, or the optional LD2412 addon in your R PRO-1, against an empty room, fine-tune each gate, and draw R PRO-1 and MTR-1 zones from the Apollo mmWave dashboard in Home Assistant.
+---
+
+# Tune your radar with the Apollo mmWave dashboard
+
+The Apollo mmWave dashboard puts every setting your radar has on one screen, with live charts that show what the radar sees. On an Apollo MSR-1, Apollo MSR-2, or Apollo R PRO-1 with the optional LD2412 radar addon, it can teach the radar what your empty room looks like in about a minute and a half, so it stops reacting to the room itself and starts reacting to people. On an R PRO-1 or an Apollo MTR-1 it is also where you draw occupancy zones on a map of the room.
+
+This guide starts with a calibration, since it's the first thing a new MSR-1, MSR-2, or R PRO-1 needs, then explains the rest of the cards and how to fine-tune by hand. If you only do one thing today, press **Calibrate with empty room** and leave the room: [Calibrate with an empty room](#calibrate-with-an-empty-room) shows what to expect. On an MTR-1, or an R PRO-1 without the LD2412, go straight to [drawing zones](#draw-zones-on-the-r-pro-1-and-mtr-1).
+
+!!! note "Before you start"
+
+ - The Apollo mmWave integration is installed and **Apollo mmWave** is in your Home Assistant sidebar. If not, follow the [Apollo mmWave dashboard setup guide](apollo-mmwave-dashboard-setup.md).
+ - Your radar is online in Home Assistant through ESPHome.
+ - Your sensor is mounted where it will stay. A calibration describes the room from the sensor's position, so moving the sensor later means calibrating again.
+ - A calibration needs the room empty for about a minute and a half: people and pets out, robot vacuum docked.
+
+## How radar tuning works
+
+The radar splits the space in front of it into distance bands called *gates*. G0 sits right at the sensor, G1 is the next band out, and so on to the far edge of its range. For every gate the radar measures two kinds of signal on a scale of 0 to 100: *move energy*, which rises when something moves at that distance (someone walking past), and *still energy*, which picks up the much smaller signal of someone who is there but not moving (sitting on the couch, breathing, typing).
+
+Each gate has a *move threshold* and a *still threshold*. When a gate's energy rises above its threshold, that gate detects a target (the radar's word for a person, or anything else it picks up) and the radar reports presence. A lower threshold makes the gate more sensitive (and more likely to trigger on a fan or a curtain); a higher one makes it less sensitive. To see the live energy of every gate, the radar has to be in **Radar Engineering Mode**, a diagnostic setting that streams the per-gate readings to Home Assistant. With it off you still get presence, but the Gate Energy chart has nothing to show. It's safe to turn on and off whenever you like: it changes what the radar reports, not how it detects. The calibration turns it on for you while it listens.
+
+
+
+!!! tip "How far away is each gate?"
+
+ Each gate is one step of the radar's gate size. Unless you changed it, that's 0.75 m (about 2.5 ft). The setting is **Gate Size** on an MSR-1 or MSR-2 and **Distance Resolution** on an R PRO-1, and it's hidden on a new sensor: it only shows on the **Detection Range** card after you enable its entity on the sensor's device page. Multiply a gate's number by 0.75 m to find its far edge: G4 covers 2.25 m to 3 m (about 7.4 ft to 9.8 ft) from the sensor. The **Gates** row on the Distances chart draws each gate along the distance axis, so you can read it off the screen. It starts at G1, because G0 is the reading right at the sensor and has no width. On an R PRO-1, a smaller Distance Resolution (0.5 m) gives finer tuning over a shorter range, and a larger one (0.75 m) reaches farther.
+
+## Calibrate with an empty room
+
+Calibration is the fastest way to a well-tuned radar. Home Assistant listens to every gate while nobody is in the room, notes the highest energy each gate reaches from the room itself (fans, curtains, plants), and sets each threshold a little above that. Your current thresholds are saved first, so you can always put them back.
+
+Run it when you first set up a radar, when it triggers with nobody there, and after you move the sensor or rearrange the room.
+
+Before you press the button, the card's checklist asks for three things (an R PRO-1 adds a fourth, covered in [R PRO-1 and its LD2412 radar](#r-pro-1-and-its-ld2412-radar)):
+
+- Nobody in the radar's view: people, pets, and robot vacuums all count. Someone sitting still is the hardest case, because their still energy becomes the "background".
+- Leave fans, curtains, and plants that normally move as they usually are. They are part of the background you want the radar to ignore.
+- Radar Engineering Mode is handled for you. If it is off, Home Assistant turns it on for the listen and back off at the end. If it is already on, the card says **Radar Engineering Mode is already on and will stay on.**
+
+On an MSR-1 or MSR-2 that has never been tuned, the card may also say **These look like factory thresholds. Calibrating sets them for your room.**
+
+A threshold of 100 means that gate never triggers, so some people set a gate to 100 to turn it off. Calibration sets every gate the radar uses, including those, and the card warns you first, for example **The G2 still threshold is off (set to 100). Calibrating will turn it back on.** If you turned that gate off on purpose, calibrate anyway and set it back to 100 afterward on the **Still Thresholds** (or **Move Thresholds**) card.
+
+
+
+### Run a calibration
+
+1. Press **Calibrate with empty room** on the **Auto-calibrate** card. Take your phone with you if you'd like to watch the countdown and the listen from outside the room.
+2. Leave the room while the countdown runs and close the door behind you. Then move away from the door and the walls: the radar can see through drywall and thin doors, so waiting right outside can count as someone in the room. If the room has no door, go to another room, out of the sensor's view.
+3. Come back after about a minute and a half, once the card shows **Thresholds updated**, and read the result.
+
+The job runs inside Home Assistant, so closing the browser or putting your phone away does not stop it. Open the dashboard again and the card picks up wherever the job is. Here is what the card shows along the way:
+
+| Stage | What the card shows | How long |
+| --- | --- | --- |
+| Starting (only if Radar Engineering Mode was off) | **Turning on Radar Engineering Mode...** | A moment |
+| Countdown | **Leave the room now.** and **Listening starts in 15 s.**, counting down | 15 seconds |
+| Warm-up | **Waiting for gate energy from the radar...**, only if the radar is slow to start sending energy | A few seconds at most |
+| Listening | **Listening to the empty room... 60 s left**, **Keep the room empty. 12 samples so far.**, and two lines starting **Highest so far, move:** and **Highest so far, still:** with the peak of each gate so far | 60 seconds |
+| Reading (R PRO-1 only) | **Reading the radar's current thresholds...** | A few seconds |
+| Writing | **Writing 16 thresholds to the radar... 7 of 16** and **Values already written stay until you undo.** The count is the number of thresholds that are changing. | A few seconds |
+| Checking | **Checking that the radar accepted the new values...** | About 3 seconds |
+| Done | **Thresholds updated** | |
+
+Here is a whole run on an MSR-1, sped up: the countdown, the listen with the highest energy of each gate so far, the writing and checking stages, and the result.
+
+
+
+From the countdown through the listen, the card also reminds you: **Leave Radar Engineering Mode on until this finishes.** Turning it off during the listen stops the calibration without changing anything.
+
+A **Stop** button sits under the progress bar until the checking stage. Press it and it reads **Stopping...** for a moment. Stopped before the writing stage, the card says **Stopped. Nothing was changed.** Stopped partway through writing, it says how many values were written and that **Undo** restores the saved values.
+
+Not ready to change anything yet? **Preview only** runs the same countdown and listen and shows you the thresholds it would set. The card explains: **Computes new thresholds without changing any of them. Radar Engineering Mode is still turned on for the listen.** The preview ends with **Preview: no threshold was changed.** and **These are the thresholds calibration would set:** above the result table, and two buttons: **Calibrate and apply** starts a full calibration (with a fresh countdown and listen), and **Close** returns the card to its start.
+
+
+
+### Read the result
+
+When the run finishes, the card shows **Thresholds updated** and a summary such as **Calibrated at 02:32 PM from 60 samples. 16 of 18 thresholds changed.** Times appear in your browser's format, so you might see 14:32 instead of 02:32 PM. An MSR-1 or MSR-2 has 18 thresholds (9 gates, move and still); an R PRO-1 has 28 (14 gates).
+
+Below the summary is a table with one row per gate and the columns **Gate**, **Move peak**, **Move threshold**, **Still peak**, and **Still threshold**. The peak is the highest energy that gate reached while the room was empty. The new threshold is that peak plus some headroom: 10 points or a quarter of the peak, whichever is larger, capped at 100. A move peak of 14 becomes a threshold of 24, and a still peak of 60 becomes 75.
+
+
+
+What the threshold cells mean:
+
+- **50 → 24**: the threshold changed from 50 to 24.
+- **24 (unchanged)**: the new value matched the old one, so nothing was written.
+- **100 → 15 (was off)**: that gate was turned off (set to 100) and calibration turned it back on. A line under the table says so and how to turn it off again.
+- **100 (off)** or **40 → 100 (off)**: the background at that gate was so strong the threshold went to the top of the scale, so that gate can no longer trigger. On an MSR-1 or MSR-2, the G0 and G1 still thresholds often end up here, because those gates sit right at the sensor and their still energy idles near the top. That's normal and needs no action, so the card does not warn about them. For any other gate in use, including G0 and G1 move, the card warns you (see [Warnings the card can show](#warnings-the-card-can-show)).
+- **no data**: the gate sent too few readings, so it was left as it was.
+- **(spike seen)** after a peak: one reading jumped well above the rest, as if something moved. The threshold still comes from that peak, so that gate ends up less sensitive. If nothing should have moved there, run the calibration again with the room empty.
+- **not confirmed (radar offline)** or **(not confirmed)**: the radar did not report the new value back. See [Thresholds did not change on the radar](#thresholds-did-not-change-on-the-radar).
+
+Gates outside the range the radar is set to use are dimmed, with a note under the table such as **G7, G8: not used (beyond Max Move Gate 6)**. They are still calibrated, so they are ready if you extend the range later.
+
+### Check the result or undo it
+
+Under the table, the card suggests a walk test:
+
+**Now walk around, then sit still for a minute: the Radar Target row in Target / Occupancy should stay on the whole time you are in the room and turn off a few seconds after you leave (Radar Timeout).**
+
+Walk through the room, then sit somewhere you usually sit and stay still for a minute or two. **Radar Target** covers still presence as well as movement, so it should stay on while you sit still, and turn off a few seconds after you leave, once **Radar Timeout** runs out. To watch the gates themselves, press **Turn on Radar Engineering Mode** on the Gate Energy chart: the bars of the gates you are standing in should be outlined, and no gate inside the radar's range should be outlined once you walk out. When you're done, turn **Radar Engineering Mode** off again on the **Controls** card.
+
+Below the walk-test line are three buttons: **Undo (restore your previous values)**, **Calibrate again** (a fresh calibration with a new countdown and listen), and **Close**. If the radar now misses you, or behaves worse than before, press **Undo (restore your previous values)**. The card shows **Restoring saved thresholds... 3 of 16** and then **Restored your previous values.** Undo saves the values it replaces first, so the button then reads **Redo (put the calibrated values back)**, and pressing it puts the calibrated values back. The saved copy survives a Home Assistant restart.
+
+
+
+If someone walked in during the listen, press **Stop**: nothing is written before the writing stage. If you only notice afterward, press **Undo**, clear the room, and press **Calibrate with empty room**.
+
+The next time you open the dashboard, the card starts on its checklist again with a line such as **Last calibrated Oct 11, 02:32 PM, 16 of 18 thresholds changed.** (in your browser's date and time format), the **Undo (restore your previous values)** button with the time those values were saved under it (**Saved Oct 11, 02:31 PM.**), and **Show last result** to open the last result table.
+
+### Warnings the card can show
+
+Warnings appear under the result table. Each one is a sign the result may not match your empty room:
+
+- **The radar reported someone present for 40% of the listen. If someone was in the room, even sitting still, press Undo and run it again.** The radar detected presence for more than a quarter of the listen. That is normal for a radar that was too sensitive (which is what you are fixing), but if a person or pet was in the room, the thresholds are too high. Press **Undo**, clear the room, and run it again. If you're sure the room was empty, keep the result and do the walk test in [Check the result or undo it](#check-the-result-or-undo-it).
+- **The G3 move threshold is now off (its background peaked at 92). If a fan or curtain moves there all day this is fine; if not, press Undo and run again with the room really empty.** That gate can no longer detect anything. If something at that distance moves all day, that is the expected result. If not, something moved there during the listen: press **Undo** and run it again with the room empty.
+- **The radar was unavailable for part of the listen; gates with too few readings were left as they were.** The radar dropped off the network for a moment. Gates marked **no data** kept their old thresholds. Check the radar's connection and run it again.
+- **The G2 still threshold was off (set to 100) and calibration turned it back on (now 15). If you turned it off on purpose, set it back to 100 on the Still Thresholds card, or press Undo to put back all your previous values.** You had that gate turned off, and calibration set it like every other gate. If you want it off, set it back to 100 on the card the line names. A preview words it as what calibration would do.
+- **2 values could not be confirmed: G3 move threshold reads back 35 (asked for 27), G5 still threshold could not be read (radar offline). Check the Move / Still Thresholds cards.** The radar did not report some of the new values back. The heading reads **Thresholds updated, 2 could not be confirmed**. Check those gates on the threshold cards, and press **Undo** or run it again once the radar is stable.
+
+## A tour of the radar tab
+
+Open **Apollo mmWave** from your sidebar and, if you have more than one radar, pick your radar's tab. On a wide screen the cards sit in four columns; on a phone they stack in the order below. Card titles start with the name of the radar chip: **LD2410** on an MSR-1 or MSR-2, **LD2412** on an R PRO-1.
+
+### First column
+
+- **Auto-calibrate**: the calibration card, always at the top of the tab. It shows the chip and the device name under its title, a short checklist, and the **Calibrate with empty room** button. Everything about it is in [Calibrate with an empty room](#calibrate-with-an-empty-room) above.
+- A help card with your radar's name and a **Start here** checklist of four steps: calibrate, set how far the radar should look, set how long presence stays on, then walk the room and watch the Gate Energy chart. It ends with a **Full tuning guide →** link to the manual tuning guide on this wiki: the MSR-2 guide on an MSR-1 or MSR-2, and the LD2412 section of the R PRO-1 guide on an R PRO-1.
+- **LD2410 Controls**: the **Radar Engineering Mode** switch, plus **Bluetooth**, **Restart Radar**, **Factory Reset Radar**, and **ESP Reboot**. On an R PRO-1 the card also has **Start Dynamic Background Correction** and **Background Correction Running** (see [R PRO-1 and its LD2412 radar](#r-pro-1-and-its-ld2412-radar)). **Restart Radar** restarts the radar chip and **ESP Reboot** restarts the whole sensor; neither changes your settings. Leave **Factory Reset Radar** alone unless Apollo support asks you to press it: it puts the radar chip's settings, every threshold included, back to factory values. If you press it by accident, run **Calibrate with empty room** again.
+- **LD2410 Zone Config** (MSR-1 and MSR-2): **Start Zone 1**, **End Zone 1**, **End Zone 2**, and **End Zone 3** split the radar's range into three distance bands, each with its own occupancy sensor (**Radar Zone 1 Occupancy** to **Radar Zone 3 Occupancy**). These are distances from the sensor, not areas you draw like on the R PRO-1 and MTR-1 zone map. They're optional: leave them as they are unless you want separate sensors for, say, the couch and the far end of the room.
+
+
+
+
+
+### Second column
+
+- **LD2410 Distances**: a chart laid out along the radar's range. From top to bottom it can show a **Zones** row with your three distance bands (**Z1** to **Z3**, with a filled circle when someone is in that band), bars for the current **Detection**, **Moving**, and **Still** distance, the **Gates** row, and bars that mark how far the radar is set to look (**Max Move** and **Max Still**, or **Max Gate** and **Min Gate** on an R PRO-1). On a computer, hover over a row for a short explanation. Distances show in meters, or in inches if Home Assistant uses US units.
+- **LD2410 Detection Range**: **Radar Timeout** (how long presence stays on after the last detection), the gate size (hidden until you enable its entity), and the limits that set how far the radar looks: **Max Move Gate** and **Max Still Gate** on an MSR-1 or MSR-2, **Max Gate** and **Min Gate** on an R PRO-1. A note under the card explains each one.
+- **LD2410 Target / Occupancy**: **Radar Target** (anyone detected), **Radar Moving Target**, **Radar Still Target**, and on an MSR-1 or MSR-2 **Radar Zone 1 Occupancy** to **Radar Zone 3 Occupancy**. On an R PRO-1 this card sits in the first column instead.
+
+
+
+### Third column
+
+- **LD2410 Gate Energy**: the chart you tune with. Each gate has two bars, a purple one for move energy and a green one for still energy, on a 0 to 100 scale. While Radar Engineering Mode is on, a right-pointing triangle marks each gate's move threshold and a left-pointing triangle its still threshold, and a bar that rises above its threshold gets an outline in the threshold's color: **outlined bar = above threshold (detecting)**. While Radar Engineering Mode is off, the chart is dimmed with **Turn on Radar Engineering Mode to see gate energy values** and a **Turn on Radar Engineering Mode** button you can press right there.
+- **LD2410 Move Thresholds**: one row per gate (**G0** to **G8** on an MSR-1 or MSR-2, **G0** to **G13** on an R PRO-1) to set each gate's move threshold. A note underneath recaps how thresholds work.
+
+### Fourth column
+
+- **LD2410 Occupancy History**: the last hour of **Detected** (and, on an MSR-1 or MSR-2, **Zone 1** to **Zone 3**), so you can see when the radar thought someone was there.
+- **LD2410 Still Thresholds**: one row per gate for the still thresholds.
+
+On an R PRO-1 the tab continues with a **Zone Map** heading and the zone map for its LD2450 radar (see [Draw zones on the R PRO-1 and MTR-1](#draw-zones-on-the-r-pro-1-and-mtr-1)). An MTR-1 tab holds the zone map on its own.
+
+## R PRO-1 and its LD2412 radar
+
+Every R PRO-1 has an LD2450 radar, and the optional LD2412 addon adds a second one. The LD2412 handles presence and gets the tuning cards and the calibration, and the LD2450 tracks positions for the [zone map](#draw-zones-on-the-r-pro-1-and-mtr-1). An R PRO-1 without the LD2412 still shows the LD2412 cards on its tab, but there's no radar behind them, so the calibration and this section don't apply to it; its zone map works the same. On the tuning cards, a few things differ from an MSR-1 or MSR-2:
+
+- The LD2412 has 14 gates, **G0** to **G13**, so a calibration sets 28 thresholds.
+- **LD2412 Detection Range** has **Distance Resolution** instead of Gate Size, and **Max Gate** and **Min Gate** instead of Max Move Gate and Max Still Gate. Gates below Min Gate or beyond Max Gate are dimmed in the result table, for example **G0: not used (below Min Gate 1)**.
+- There is no Zone Config card, and the Distances chart shows the gates and the Max Gate and Min Gate bars without live distance bars.
+- Before it writes, the calibration asks the radar for its current thresholds (**Reading the radar's current thresholds...**), so what it saves for Undo matches the radar.
+
+
+
+The LD2412 also has its own background learning, **Start Dynamic Background Correction** on the **LD2412 Controls** card. It runs on the radar chip and stores its result inside the radar. **Background Correction Running** shows whether it is still working. Use both, in this order:
+
+1. Clear the room and press **Start Dynamic Background Correction**.
+2. Wait for **Background Correction Running** to turn off. Until it does, the Auto-calibrate card says **Background correction is running on the LD2412. Wait for its status to turn off.** and its button stays disabled.
+3. Press **Calibrate with empty room** with the room still empty.
+
+Run the calibration again after any later background correction. During a calibration on an R PRO-1, the card's reminder reads **Leave Radar Engineering Mode on and do not press Start Dynamic Background Correction until this finishes.** Pressing it during the listen stops the calibration without changing anything.
+
+!!! warning "Undo cannot reverse a background correction"
+
+ The Auto-calibrate card's **Undo** restores the thresholds Home Assistant saved. Dynamic Background Correction changes the radar itself, outside those thresholds, so Undo cannot reverse it.
+
+## Fine-tune gates by hand
+
+Calibration gets most rooms right. If one spot still misbehaves, the Gate Energy chart shows you which gate to change. The outline is the signal to read: an outlined bar is a gate whose energy is above its threshold right now. Inside the range the radar uses, that means the gate is detecting a target.
+
+1. Press **Turn on Radar Engineering Mode** on the Gate Energy chart. The bars and threshold triangles appear.
+
+
+
+2. Leave the room and watch the chart from your phone, somewhere out of the radar's view (it can see through drywall, so step away from the wall too). A bar that is outlined while nobody is there is a gate causing false triggers. Gates outside the range the radar uses can be outlined too, but the radar ignores them: that range runs up to **Max Move Gate** for move bars and **Max Still Gate** for still bars, or from **Min Gate** to **Max Gate** on an R PRO-1.
+3. Raise the threshold of each gate causing false triggers on **Move Thresholds** (purple bar) or **Still Thresholds** (green bar) until its triangle sits a few points above the highest point the bar reaches.
+4. Sit or stand where the radar misses you. Your gate is the one whose bars rise when you shift in place; the **Gates** row on the Distances chart shows which gate covers your distance from the sensor. Lower that gate's threshold a few points at a time until its bar is outlined while you are there, but not after you leave.
+5. Turn off **Radar Engineering Mode** on the **Controls** card when you are done. The chart has no off button.
+
+Two settings on **Detection Range** also help. Lower **Max Move Gate** and **Max Still Gate** (**Max Gate** on an R PRO-1) to stop the radar looking past a certain distance, such as a hallway beyond the doorway. Raise **Radar Timeout** if lights turn off while you sit still.
+
+!!! tip "Calibrate first, then fine-tune"
+
+ A new calibration sets every threshold again, including ones you changed by hand. If you calibrate after fine-tuning and prefer your own values, **Undo** brings them back.
+
+## Draw zones on the R PRO-1 and MTR-1
+
+The LD2450 radar in the R PRO-1 and MTR-1 tracks where up to three people are in the room. The zone map lets you draw areas on that map, such as the couch or the desk, and gives each area its own occupancy sensor. On an MTR-1 the zone map is the whole tab. On an R PRO-1 it sits under the **Zone Map** heading after the tuning cards.
+
+The card shows your radar's name, a grid with the radar's view cone, and a dot for each person it tracks. Buttons sit in the bottom corners of the grid, with a row of zone buttons and a **Configure** section underneath.
+
+
+
+### Lock and unlock
+
+The bottom-right corner has a lock toggle that reads **Unlocked** or **Locked**. The map starts locked once the radar has zones, and your browser remembers your choice for each radar. Drawing on a locked map shows **Unlock the grid before drawing.**
+
+### Add a zone
+
+Open **Configure → Zones** and press **Add Zone**. The new zone is named **Zone 1** (then Zone 2, and so on), gets its own button under the grid, and is selected and ready to draw.
+
+### Draw a zone
+
+1. Unlock the map and press the zone's button to select it.
+2. Press ✎ (**Drawing modes**) in the bottom-left corner and pick a shape: ▭ (**Rectangle**), ◯ (**Ellipse**), or ⬠ (**Polygon**).
+3. For a rectangle or ellipse, drag across the grid and let go to save.
+4. For a polygon, click each corner, then double-click or press ✓ (**Finish polygon**) to save. A polygon can have up to 32 points. ↺ (**Undo last point**) or **Backspace** removes the last point, and **Esc** cancels the shape.
+
+Drawing a new shape for a zone replaces its old one. Made a mistake? ↶ (**Undo last zone change**) in the bottom-right corner puts the last change back. Drawing works with touch too, so you can draw zones from a phone or tablet.
+
+### Rename a zone
+
+In **Configure → Zones**, type a new name next to the zone and press **Save**. The name appears on the zone's button.
+
+### Clear or delete a zone
+
+Double-click a zone's button to clear its shape, or press **Clear All Zones** to clear every shape while keeping the zones. To remove a zone completely, along with its sensors, press **Delete** next to it in **Configure → Zones**.
+
+### Match the map to how the sensor is mounted
+
+Under **Configure**, drag **Cone rotation:** (from -180° to 180°) until the view cone points the way your sensor faces. The tracked dots rotate with it, and the angle is saved for the radar. Double-click the slider to reset it.
+
+### Use the zone sensors
+
+Each zone gets an occupancy sensor named **Zone 1 presence** (and so on) on the radar's device page in Home Assistant. It turns on when a tracked person is inside the zone, ready to use in your automations. When you rename a zone on the card, its sensors follow, so a zone named Couch gets **Zone 1 presence - Couch**. A name you gave the sensor yourself in Home Assistant is kept.
+
+## Calibrate from an automation
+
+The **Calibrate with empty room** button runs the `apollo_mmwave.calibrate_gates` action, and your automations can run it too. When an automation already knows the room is empty, set `settle_s: 0` to skip the countdown, and `wait: true` to get the result back when the run ends. This example recalibrates an office radar at 3:00 AM if nobody has been detected for 30 minutes, and sends a notification when the outcome is anything other than applied:
+
+```yaml
+alias: Recalibrate the office radar overnight
+triggers:
+ - trigger: time
+ at: "03:00:00"
+conditions:
+ - condition: state
+ entity_id: binary_sensor.apollo_msr_2_abc123_radar_target
+ state: "off"
+ for: "00:30:00"
+actions:
+ - action: apollo_mmwave.calibrate_gates
+ data:
+ device_id: your_device_id
+ settle_s: 0
+ wait: true
+ response_variable: calibration
+ - if:
+ - condition: template
+ value_template: "{{ calibration.outcome != 'applied' }}"
+ then:
+ - action: persistent_notification.create
+ data:
+ title: Radar calibration
+ message: >
+ Outcome {{ calibration.outcome }}
+ {% if calibration.error %}({{ calibration.error.message }}){% endif %},
+ {{ calibration.changed }} thresholds changed.
+```
+
+To use it, create a new automation, open the three-dot menu, choose **Edit in YAML**, and paste it in. Then replace `binary_sensor.apollo_msr_2_abc123_radar_target` with your radar's **Radar Target** sensor, and `your_device_id` with your radar. To fill in the device without looking up its ID, switch the action to the visual editor and pick your radar under **Radar Device**. If the action is refused before it starts (the radar is offline, for example), the automation stops with an error at that step instead of sending the notification.
+
+Each call calibrates one radar. Two related actions round it out: `apollo_mmwave.cancel_calibration` stops a running job, and `apollo_mmwave.restore_gate_thresholds` does what **Undo** does. The card offers only the newest saved thresholds, while the action can restore an older set with its `snapshot_id` field. **Developer Tools → Actions** lists every field.
+
+!!! warning "Only automate it for a room you know is empty"
+
+ A person sleeping or a pet napping can look like an empty room to an automation. Pick a time and a room where nobody is, and remember each run replaces any thresholds you set by hand.
+
+## Troubleshooting
+
+### Calibration will not start
+
+The **Calibrate with empty room** button is disabled when the card cannot run a calibration. The card says why:
+
+- **Radar is offline. Calibration needs the radar online and its gate entities enabled.** Check that the radar is powered and shows as online under **Settings → Devices & services → ESPHome**. If it is online, open your sensor's device page from that list and check that the **Radar Engineering Mode** switch and the gate threshold and gate energy entities are enabled. A disabled entity is listed under **+ N entities not shown**: select it, open its settings (the cog), turn on **Enabled**, and click **Update**.
+- **Background correction is running on the LD2412. Wait for its status to turn off.** (R PRO-1) Wait for **Background Correction Running** to turn off.
+- **Apollo mmWave is still loading...** The integration is starting or reloading, and the card keeps trying on its own. If it changes to **Apollo mmWave is not loaded, so calibration is unavailable.**, press **Retry**. If that keeps happening, check **Settings → Devices & services** for an error on the Apollo mmWave integration.
+
+If the button works but the card answers with a line starting **Calibration failed:**, the rest of the line says what went wrong, and **Try again** runs it again once you have fixed it. The common ones:
+
+- **The radar is unavailable right now. Check that it is online, then try again.** The radar dropped off the network.
+- **Home Assistant could not turn Radar Engineering Mode on within 10 s. Is the radar online?** The radar did not respond to the switch.
+- **No gate energy readings arrived within 20 s of turning Radar Engineering Mode on.** Check that the radar is online and that **Radar Engineering Mode** on the Controls card brings the Gate Energy chart to life.
+- **Radar Engineering Mode turned off during the listen. Nothing was changed.** Someone, or an automation, turned it off during the listen. Leave it on and try again.
+- **The radar has not reported 18 of its threshold values yet.** The radar has not sent its thresholds to Home Assistant since it started, which can happen after it has been running for a long time. Press **Read settings from the radar**: the card asks the radar for its settings, shows **Reading settings from the radar...**, and tries again a few seconds later. If the card can't find the radar's query params button, it says **Open the radar's device page, press its Query Params button in the Diagnostic section, wait a few seconds, then try again.** On an R PRO-1 without the [LD2412 addon](/products/rpro1/addons/add-the-ld2412-mmwave-sensor-to-r-pro-1.md), this message is expected: there's no radar to report thresholds, so reading the settings can't fix it. Skip the calibration and use the [zone map](#draw-zones-on-the-r-pro-1-and-mtr-1).
+- **Your Home Assistant user is not allowed to control this radar's entities.** Run the calibration from a Home Assistant user that can control the radar.
+
+### Radar Engineering Mode was left on
+
+The calibration only turns Radar Engineering Mode off if it was the one that turned it on. If you turned it on yourself, or with the button on the Gate Energy chart, it stays on until you turn it off with **Radar Engineering Mode** on the **Controls** card.
+
+If Home Assistant restarted during the countdown or the listen, nothing was written: the calibration turns Radar Engineering Mode back off when Home Assistant starts again, and the card says, for example, **Last calibration Oct 12, 12:37 AM was stopped by a Home Assistant restart. Nothing was changed.** Press **Calibrate with empty room** to run it again.
+
+If Home Assistant restarted while thresholds were being written, or the radar went offline before the calibration could turn the mode off, the Auto-calibrate card shows a banner the next time you open it. It starts with **A calibration was interrupted by a restart.** or **The last calibration could not turn Radar Engineering Mode back off (the radar was offline).** Press **Turn it off** next to **Radar Engineering Mode may still be on.** If the banner also says **Some thresholds may have been written.**, press its **Undo** to put the saved thresholds back, then run the calibration again.
+
+!!! tip "Keep Radar Engineering Mode out of your history"
+
+ While Radar Engineering Mode is on, the radar updates its 18 (MSR-1 and MSR-2) or 28 (R PRO-1) gate energy sensors about once a second, and Home Assistant's recorder, the part that saves history, stores every update. Turning the mode off when you're done avoids this. If you like to leave it on to watch the chart, add the block below to your `configuration.yaml` (the **File editor** app is one way to open it), then restart Home Assistant. If the file already has a `recorder:` section, add the `exclude:` lines to it instead of adding a second `recorder:` key.
+
+ ```yaml title="configuration.yaml"
+ recorder:
+ exclude:
+ entity_globs:
+ - sensor.*_g?_move_energy # LD2410: g0 to g8
+ - sensor.*_g?_still_energy
+ - sensor.*_g??_move_energy # LD2412: g00 to g13
+ - sensor.*_g??_still_energy
+ ```
+
+### Thresholds did not change on the radar
+
+- **You ran a preview.** **Preview only** never writes anything. Press **Calibrate and apply**, or **Calibrate with empty room**.
+- **The new value matched the old one.** Cells that read **(unchanged)** were already right, so nothing was written.
+- **The gate had no data.** Gates marked **no data** keep their old thresholds. Check the radar's connection and run the calibration again.
+- **The radar did not confirm the value.** Cells marked **(not confirmed)** and the warning that values could not be confirmed mean the radar did not report the new value back. Check the gates on the **Move Thresholds** and **Still Thresholds** cards, then run it again once the radar is stable, or set those gates by hand.
+- **The run was stopped.** **Stopped. Nothing was changed.** means nothing was written.
+
+### The chart says to turn on Radar Engineering Mode
+
+If the chart instead reads **Radar unavailable** and **Waiting for the device to reconnect**, the radar is offline and the button is hidden until it comes back: check its power and Wi-Fi. Otherwise, the Gate Energy chart only shows bars while Radar Engineering Mode is on. Press **Turn on Radar Engineering Mode** on the chart itself, or turn on **Radar Engineering Mode** on the **Controls** card. The bars appear within a few seconds, once the radar starts sending energy. If the calibration turned the mode on, it turns it back off when it finishes, so the overlay returning after a calibration is expected.
+
+
+
+!!! tip "Prefer the radar maker's app?"
+
+ The HLKRadarTool app connects over the radar's Bluetooth (on an MSR-1, MSR-2, or R PRO-1, that's the **Bluetooth** row on the Controls card) and has its own auto-calibration. Each sensor has its own guide: [MSR-1](/products/msr1/setup/zones-hlk.md), [MSR-2](/products/msr2/setup/zones-hlk.md), [R PRO-1](/products/rpro1/setup/zones-hlk.md), and [MTR-1](/products/mtr1/setup/zones-hlk.md).
diff --git a/docs/products/msr1/setup/apollo-mmwave-dashboard-setup.md b/docs/products/msr1/setup/apollo-mmwave-dashboard-setup.md
new file mode 100644
index 0000000000..9b6af07db1
--- /dev/null
+++ b/docs/products/msr1/setup/apollo-mmwave-dashboard-setup.md
@@ -0,0 +1,8 @@
+---
+title: Set up the Apollo mmWave dashboard for the MSR-1
+description: Install the Apollo mmWave integration from HACS and get an auto-built Home Assistant dashboard with a radar tuning tab for your Apollo MSR-1.
+---
+
+# Set up the Apollo mmWave dashboard for the MSR-1
+
+--8<-- "products/general/setup/apollo-mmwave-dashboard-setup.md:7:"
diff --git a/docs/products/msr1/setup/apollo-mmwave-dashboard.md b/docs/products/msr1/setup/apollo-mmwave-dashboard.md
new file mode 100644
index 0000000000..503be7af66
--- /dev/null
+++ b/docs/products/msr1/setup/apollo-mmwave-dashboard.md
@@ -0,0 +1,8 @@
+---
+title: Tune your MSR-1 radar with the Apollo mmWave dashboard
+description: Calibrate the radar in your Apollo MSR-1 against an empty room, read its live charts, and fine-tune each gate from the Apollo mmWave dashboard in Home Assistant.
+---
+
+# Tune your MSR-1 radar with the Apollo mmWave dashboard
+
+--8<-- "products/general/setup/apollo-mmwave-dashboard.md:7:"
diff --git a/docs/products/msr1/setup/zones-ha.md b/docs/products/msr1/setup/zones-ha.md
index 593ebb1bb5..528828e617 100755
--- a/docs/products/msr1/setup/zones-ha.md
+++ b/docs/products/msr1/setup/zones-ha.md
@@ -3,6 +3,10 @@ description: "Tune the MSR-1 mmWave radar from Home Assistant using Radar Engine
---
# How To Tune mmWave Using Home Assistant
+!!! tip "Prefer a guided dashboard?"
+
+ The Apollo mmWave integration gives your Apollo MSR-1 a tuning dashboard with a Gate Energy chart and a **Calibrate with empty room** button that sets the gate thresholds for you. The [Apollo mmWave dashboard guide](/products/msr1/setup/apollo-mmwave-dashboard.md) walks you through it as a guided alternative to the manual steps below.
+
If you're experiencing false triggers, we recommend using Radar Engineering Mode (REM) to monitor the gate energy and adjust the gate threshold to eliminate them.
Here is a quick introduction video of the ld2410b gates and zones.
diff --git a/docs/products/msr2/setup/apollo-mmwave-dashboard-setup.md b/docs/products/msr2/setup/apollo-mmwave-dashboard-setup.md
new file mode 100644
index 0000000000..d8f3748ea8
--- /dev/null
+++ b/docs/products/msr2/setup/apollo-mmwave-dashboard-setup.md
@@ -0,0 +1,8 @@
+---
+title: Set up the Apollo mmWave dashboard for the MSR-2
+description: Install the Apollo mmWave integration from HACS and get an auto-built Home Assistant dashboard with a radar tuning tab for your Apollo MSR-2.
+---
+
+# Set up the Apollo mmWave dashboard for the MSR-2
+
+--8<-- "products/general/setup/apollo-mmwave-dashboard-setup.md:7:"
diff --git a/docs/products/msr2/setup/apollo-mmwave-dashboard.md b/docs/products/msr2/setup/apollo-mmwave-dashboard.md
new file mode 100644
index 0000000000..a4ee49f600
--- /dev/null
+++ b/docs/products/msr2/setup/apollo-mmwave-dashboard.md
@@ -0,0 +1,8 @@
+---
+title: Tune your MSR-2 radar with the Apollo mmWave dashboard
+description: Calibrate the radar in your Apollo MSR-2 against an empty room, read its live charts, and fine-tune each gate from the Apollo mmWave dashboard in Home Assistant.
+---
+
+# Tune your MSR-2 radar with the Apollo mmWave dashboard
+
+--8<-- "products/general/setup/apollo-mmwave-dashboard.md:7:"
diff --git a/docs/products/msr2/setup/msr2-tuning-dashboard.md b/docs/products/msr2/setup/msr2-tuning-dashboard.md
index 0b853d52d0..9601be09cd 100755
--- a/docs/products/msr2/setup/msr2-tuning-dashboard.md
+++ b/docs/products/msr2/setup/msr2-tuning-dashboard.md
@@ -4,6 +4,10 @@ description: Tutorial on creating an MSR-2 tuning dashboard.
---
# MSR-2 Tuning Dashboard
+!!! tip "There is a newer way to do this"
+
+ The Apollo mmWave integration now builds this dashboard for you automatically, with nothing to paste. It also adds auto-calibration, which sets your gate thresholds from a one-minute listen to the empty room and saves your previous values so you can undo it. Follow the [Apollo mmWave dashboard setup guide](/products/msr2/setup/apollo-mmwave-dashboard-setup.md) to get started. The steps below still work if you'd rather keep the YAML version.
+
!!! note "Huge shoutout to discord user MirkoP for creating this!"
We all owe a huge thanks to MirkoP from discord/github for creating and sharing this with everyone! Source here.
diff --git a/docs/products/msr2/setup/zones-ha.md b/docs/products/msr2/setup/zones-ha.md
index 9d7ff0cdab..6131517a42 100755
--- a/docs/products/msr2/setup/zones-ha.md
+++ b/docs/products/msr2/setup/zones-ha.md
@@ -4,9 +4,11 @@ description: Tutorial for MSR-2 Home Assistant Zone Configuration.
---
# How To Tune the MSR-2 Using Home Assistant
-!!! tip "Radar Engineering Mode (REM)"
+!!! tip "Prefer a guided dashboard?"
- If you're experiencing false triggers, we recommend using Radar Engineering Mode (REM) to monitor the gate energy and adjust the gate threshold to eliminate them.
+ The Apollo mmWave integration gives your Apollo MSR-2 a tuning dashboard with a Gate Energy chart and a **Calibrate with empty room** button that sets the gate thresholds for you. The [Apollo mmWave dashboard guide](/products/msr2/setup/apollo-mmwave-dashboard.md) walks you through it as a guided alternative to the manual steps below.
+
+If you're experiencing false triggers, Radar Engineering Mode (REM) lets you monitor the gate energy and adjust the gate thresholds to eliminate them.
Quick introduction video of the LD2410B gates and zones.
diff --git a/docs/products/mtr1/setup/apollo-mmwave-dashboard-setup.md b/docs/products/mtr1/setup/apollo-mmwave-dashboard-setup.md
new file mode 100644
index 0000000000..a7c9f5d7b9
--- /dev/null
+++ b/docs/products/mtr1/setup/apollo-mmwave-dashboard-setup.md
@@ -0,0 +1,8 @@
+---
+title: Set up the Apollo mmWave dashboard for the MTR-1
+description: Install the Apollo mmWave integration from HACS and get an auto-built Home Assistant dashboard with a zone map tab for your Apollo MTR-1.
+---
+
+# Set up the Apollo mmWave dashboard for the MTR-1
+
+--8<-- "products/general/setup/apollo-mmwave-dashboard-setup.md:7:"
diff --git a/docs/products/mtr1/setup/apollo-mmwave-dashboard.md b/docs/products/mtr1/setup/apollo-mmwave-dashboard.md
new file mode 100644
index 0000000000..3619cd1ffd
--- /dev/null
+++ b/docs/products/mtr1/setup/apollo-mmwave-dashboard.md
@@ -0,0 +1,10 @@
+---
+title: Draw MTR-1 zones with the Apollo mmWave dashboard
+description: Draw occupancy zones for your Apollo MTR-1 over the radar's live targets, using the zone map on the Apollo mmWave dashboard in Home Assistant.
+---
+
+# Draw MTR-1 zones with the Apollo mmWave dashboard
+
+On an Apollo MTR-1, the dashboard tab is the zone map, so [Draw zones on the R PRO-1 and MTR-1](#draw-zones-on-the-r-pro-1-and-mtr-1) is the section you need. The calibration and tuning sections are for the Apollo MSR-1, MSR-2, and R PRO-1.
+
+--8<-- "products/general/setup/apollo-mmwave-dashboard.md:7:"
diff --git a/docs/products/mtr1/setup/zones-ha.md b/docs/products/mtr1/setup/zones-ha.md
index 3b2a0307ba..88e75790eb 100755
--- a/docs/products/mtr1/setup/zones-ha.md
+++ b/docs/products/mtr1/setup/zones-ha.md
@@ -4,6 +4,10 @@ description: Tutorial for MTR-1 Home Assistant Zone Configuration.
---
# How To Tune The MTR-1 Using Home Assistant
+!!! tip "Prefer a guided dashboard?"
+
+ The Apollo mmWave integration gives your Apollo MTR-1 its own dashboard tab with a zone map where you draw zones over the radar's live targets, with no Plotly card or YAML to set up. The [Apollo mmWave dashboard guide](/products/mtr1/setup/apollo-mmwave-dashboard.md#draw-zones-on-the-r-pro-1-and-mtr-1) walks you through it as a guided alternative to the manual steps below.
+
Below are steps to manually enter in the X and Y coordinates for each zone in Home Assistant or directly from the device's webserver by visiting the IP address or hostname.local. It's much easier to tune using the HLK Radartool App and we suggest using that to set up your MTR-1.
1\. Install [HACS](https://hacs.xyz/docs/use/).
diff --git a/docs/products/rpro1/setup/apollo-mmwave-dashboard-setup.md b/docs/products/rpro1/setup/apollo-mmwave-dashboard-setup.md
new file mode 100644
index 0000000000..dcf4c9d2d0
--- /dev/null
+++ b/docs/products/rpro1/setup/apollo-mmwave-dashboard-setup.md
@@ -0,0 +1,8 @@
+---
+title: Set up the Apollo mmWave dashboard for the R PRO-1
+description: Install the Apollo mmWave integration from HACS and get an auto-built Home Assistant dashboard with a zone map tab for your Apollo R PRO-1, plus radar tuning for the optional LD2412 addon.
+---
+
+# Set up the Apollo mmWave dashboard for the R PRO-1
+
+--8<-- "products/general/setup/apollo-mmwave-dashboard-setup.md:7:"
diff --git a/docs/products/rpro1/setup/apollo-mmwave-dashboard.md b/docs/products/rpro1/setup/apollo-mmwave-dashboard.md
new file mode 100644
index 0000000000..bd0b8fcb18
--- /dev/null
+++ b/docs/products/rpro1/setup/apollo-mmwave-dashboard.md
@@ -0,0 +1,8 @@
+---
+title: Draw R PRO-1 zones and tune the LD2412 addon with the Apollo mmWave dashboard
+description: Draw occupancy zones over the live targets of your Apollo R PRO-1, and calibrate and fine-tune the optional LD2412 addon, from the Apollo mmWave dashboard in Home Assistant.
+---
+
+# Draw R PRO-1 zones and tune the LD2412 addon with the Apollo mmWave dashboard
+
+--8<-- "products/general/setup/apollo-mmwave-dashboard.md:7:"
diff --git a/docs/products/rpro1/setup/zones-ha.md b/docs/products/rpro1/setup/zones-ha.md
index 46450e9fef..3d7655f57f 100755
--- a/docs/products/rpro1/setup/zones-ha.md
+++ b/docs/products/rpro1/setup/zones-ha.md
@@ -12,6 +12,10 @@ description: Tutorial for R PRO-1 Home Assistant Zone Configuration.
The optional LD2412 mmWave sensor allows you to have perfect still detection for one target at up to 9 meters so it's a great addition to the sensor.
+!!! tip "Prefer a guided dashboard?"
+
+ The Apollo mmWave integration gives your R PRO-1 a dashboard tab where you draw LD2450 zones over live targets and tune the LD2412 gates with a **Calibrate with empty room** button. The [Apollo mmWave dashboard guide](/products/rpro1/setup/apollo-mmwave-dashboard.md) walks you through it as a guided alternative to the manual steps below.
+
Manually enter in the X and Y coordinates for each zone in Home Assistant or directly from the device's webserver by visiting the IP address or hostname.local. It's much easier to tune using the HLK Radartool App and we suggest using that to set up your R PRO-1 LD2450.
###### LD2450 Configuration
diff --git a/mkdocs.yml b/mkdocs.yml
index 953a94448a..b9b96add06 100755
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -120,6 +120,8 @@ plugins:
'homey/products/msr2/calibrating-and-updating/updating-msr-2-firmware.md': 'homey/products/msr2/setup/updating-msr-2-firmware.md'
'homey/products/msr2/calibrating-and-updating/zones-ha.md': 'homey/products/msr2/setup/zones-ha.md'
'homey/products/msr2/calibrating-and-updating/zones-hlk.md': 'homey/products/msr2/setup/zones-hlk.md'
+ # Apollo mmWave dashboard usage guide moved next to its setup guide
+ 'products/general/calibrating-and-updating/radar-tuning/apollo-mmwave-dashboard.md': 'products/general/setup/apollo-mmwave-dashboard.md'
extra:
social:
@@ -201,13 +203,17 @@ nav:
- Temperature and Humidity: products/general/temp-hum-calibration.md
- Calibrate PLT-1 Soil Moisture: products/general/calibrating-and-updating/calibrate-plt1.md
- Radar Tuning:
+ - (Best) Apollo mmWave Dashboard:
+ - Setup: products/general/setup/apollo-mmwave-dashboard-setup.md
+ - Calibrate, Tune, and Draw Zones: products/general/setup/apollo-mmwave-dashboard.md
- Home Assistant: products/general/calibrating-and-updating/radar-tuning/zones-ha.md
- HLK Radar Tool App: products/general/calibrating-and-updating/radar-tuning/zones-hlk.md
- mmWave Tuning Videos: products/general/calibrating-and-updating/mmwave-videos.md
- Zone Configuration:
+ - (Best) Apollo mmWave Dashboard: /products/general/setup/apollo-mmwave-dashboard/#draw-zones-on-the-r-pro-1-and-mtr-1
- (Good) Home Assistant: products/general/calibrating-and-updating/zone-configuration/zones-ha.md
- (Better) HLK Radar Tool App: products/general/calibrating-and-updating/zone-configuration/zones-hlk.md
- - (Best) Zone Mapper Tool: products/general/calibrating-and-updating/zone-configuration/zone-mapper-tool.md
+ - (Better) Zone Mapper Tool: products/general/calibrating-and-updating/zone-configuration/zone-mapper-tool.md
- Updating: products/general/calibrating-and-updating/updating-firmware.md
- Renaming Devices: products/general/setup/renaming-apollo-devices.md
- Change Update Frequency: products/general/setup/change-the-update-frequency-of-sensors.md
@@ -474,7 +480,10 @@ nav:
- FAQ: products/msr2/faq.md
- Getting Started: products/general/setup/getting-started-msr2.md
- Radar Tuning:
- - MSR-2 Tuning Dashboard: products/msr2/setup/msr2-tuning-dashboard.md
+ - (Best) Apollo mmWave Dashboard:
+ - Setup: products/msr2/setup/apollo-mmwave-dashboard-setup.md
+ - Calibrate and Tune: products/msr2/setup/apollo-mmwave-dashboard.md
+ - Legacy Tuning Dashboard (YAML): products/msr2/setup/msr2-tuning-dashboard.md
- Home Assistant: products/msr2/setup/zones-ha.md
- HLK Radar Tool App: products/msr2/setup/zones-hlk.md
- mmWave Tuning Videos: products/msr2/setup/mmwave-videos.md
@@ -503,9 +512,12 @@ nav:
- FAQ: products/mtr1/faq.md
- Getting Started: products/general/setup/getting-started-mtr1.md
- Zone Configuration:
+ - (Best) Apollo mmWave Dashboard:
+ - Setup: products/mtr1/setup/apollo-mmwave-dashboard-setup.md
+ - Draw Zones: products/mtr1/setup/apollo-mmwave-dashboard.md
- (Good) Home Assistant: products/mtr1/setup/zones-ha.md
- (Better) HLK Radar Tool App: products/mtr1/setup/zones-hlk.md
- - (Best) Zone Mapper Tool: products/mtr1/setup/mtr-1-zone-mapper-tool.md
+ - (Better) Zone Mapper Tool: products/mtr1/setup/mtr-1-zone-mapper-tool.md
- Additional Info:
- General Tips: products/mtr1/setup/general-tips.md
- Sensor Definitions: products/mtr1/setup/sensor-definitions.md
@@ -530,9 +542,12 @@ nav:
- FAQ: products/rpro1/faq.md
- Getting Started: products/general/setup/getting-started-rpro1.md
- Zone Configuration:
+ - (Best) Apollo mmWave Dashboard:
+ - Setup: products/rpro1/setup/apollo-mmwave-dashboard-setup.md
+ - Calibrate, Tune, and Draw Zones: products/rpro1/setup/apollo-mmwave-dashboard.md
- (Good) Home Assistant: products/rpro1/setup/zones-ha.md
- (Better) HLK Radar Tool App: products/rpro1/setup/zones-hlk.md
- - (Best) Zone Mapper Tool: products/rpro1/setup/r-pro-1-zone-mapper-tool.md
+ - (Better) Zone Mapper Tool: products/rpro1/setup/r-pro-1-zone-mapper-tool.md
- Additional Info:
- Switch Firmware: products/rpro1/setup/rpro1-switch-firmware.md
- General Tips: products/rpro1/setup/rpro1-general-tips.md
@@ -557,6 +572,9 @@ nav:
- General Tips: products/msr1/setup/general-tips.md
- Sensor Definitions: products/msr1/setup/sensor-definitions.md
- Radar Tuning:
+ - (Best) Apollo mmWave Dashboard:
+ - Setup: products/msr1/setup/apollo-mmwave-dashboard-setup.md
+ - Calibrate and Tune: products/msr1/setup/apollo-mmwave-dashboard.md
- Home Assistant: products/msr1/setup/zones-ha.md
- HLK Radar Tool App: products/msr1/setup/zones-hlk.md
- mmWave Tuning Videos: products/msr1/setup/mmwave-videos.md