From 9818bdffb82ceb646a8600b361a80399d6d4c29f Mon Sep 17 00:00:00 2001 From: Justin Bunton <130115204+Bunton33@users.noreply.github.com> Date: Sun, 25 Oct 2026 13:57:45 -0400 Subject: [PATCH 01/12] Add switch-over steps from the original Apollo mmWave repository The setup guide's upgrade section gains a subsection for installs from the original repository, bharvey88/apollo-mmwave, which is no longer on GitHub: remove its Custom repositories row, add ApolloAutomation/apollo-mmwave-main, download and restart. Two warnings cover deleting the integration entry and pressing Remove or Redownload in HACS. The section now also says to take a backup first and to restart and refresh after an update, and the install section points old installs at the new subsection. Co-Authored-By: Claude Opus 5.5 --- .../setup/apollo-mmwave-dashboard-setup.md | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/docs/products/general/setup/apollo-mmwave-dashboard-setup.md b/docs/products/general/setup/apollo-mmwave-dashboard-setup.md index 7d3e3d22d9..b143156774 100644 --- a/docs/products/general/setup/apollo-mmwave-dashboard-setup.md +++ b/docs/products/general/setup/apollo-mmwave-dashboard-setup.md @@ -37,6 +37,8 @@ If you built the [MSR-2 tuning dashboard](/products/msr2/setup/msr2-tuning-dashb 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. The button under step 1 covers steps 1 to 5: it adds the repository, after HACS asks you to confirm, and opens Apollo mmWave so you can go on at step 6. +If you installed Apollo mmWave from the original repository, bharvey88/apollo-mmwave, which is no longer on GitHub, follow [From the original Apollo mmWave repository](#from-the-original-apollo-mmwave-repository) instead. It switches HACS over without setting anything up again. + 1. Open **HACS** from your Home Assistant sidebar. [![Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.](https://my.home-assistant.io/badges/hacs_repository.svg)](https://my.home-assistant.io/redirect/hacs_repository/?owner=ApolloAutomation&repository=apollo-mmwave-main&category=integration) @@ -126,6 +128,10 @@ Want to rearrange the cards? Click the pencil icon in the upper right corner of 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. +Before any upgrade, make a full Home Assistant backup under **Settings → System → Backups**, so you can go back if something goes wrong. After HACS updates Apollo mmWave, restart Home Assistant, then refresh the dashboard in your browser so it loads the new cards. + +[![Open your Home Assistant instance and show an overview of your backups.](https://my.home-assistant.io/badges/backup.svg)](https://my.home-assistant.io/redirect/backup/) + ### 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. @@ -150,6 +156,40 @@ Your thresholds, detection range, and every other setting live on the sensor its 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 the original Apollo mmWave repository + +Apollo mmWave used to install from the original repository, bharvey88/apollo-mmwave, which is no longer on GitHub. If HACS installed your copy from there, point HACS at the new repository, ApolloAutomation/apollo-mmwave-main, so you keep getting updates. It's the same integration in the same folder, so nothing needs to be set up again: your Apollo mmWave entry, its dashboard, your zones, the saved calibration values that **Undo** uses, and your entity IDs all carry over. The switch takes one Home Assistant restart. + +If the old copy is version 1.x or 2.0, read the [upgrade notes in the changelog](https://github.com/ApolloAutomation/apollo-mmwave-main/blob/main/CHANGELOG.md#upgrading-to-20) first. Some cards and automations need a change by hand, and [From Apollo mmWave 1.x zone mapping](#from-apollo-mmwave-1x-zone-mapping) below sums them up. + +!!! warning "Don't delete Apollo mmWave in Home Assistant" + + The switch happens in HACS only. If you choose **Delete** from the three-dot menu on the entry under **Settings → Devices & services → Apollo mmWave**, Home Assistant asks **Delete Apollo mmWave?** and warns that its devices and entities will be permanently deleted. Deleting it also deletes the Apollo mmWave dashboard, every zone, and the saved calibration values that **Undo** uses. Setting it up again starts from nothing. + +!!! warning "Don't press Remove or Redownload in HACS" + + Both Apollo mmWave entries in HACS use the same `custom_components/apollo_mmwave` folder. **Remove**, on either entry, first shows **Integration is configured** and tells you to delete the configuration. Don't: **Navigate** leads to the integrations page, where **Delete** wipes your zones. **Ignore**, or closing the box, opens a **Remove** box whose **Remove** button deletes the folder, new download included, so Apollo mmWave won't load after the next restart. **Redownload** on the old entry fails because its repository is gone, and the folder can end up missing. Step 3 takes the old entry off the list without touching any files. + +1. Check two versions first. Home Assistant needs to be 2026.8.1 or newer (**Settings → About**). In **HACS**, click the three-dot menu in the upper right corner, choose **About HACS**, and check that **Integration version** is 2.0.5 or newer. The new repository won't download on older versions. Then make a full Home Assistant backup, as described at the start of this section. +2. In **HACS**, click the three-dot menu in the upper right corner and choose **Custom repositories**. +3. Find the row whose second line reads **bharvey88/apollo-mmwave (integration)** and click the trash can icon on that row. There's no confirmation, so read the second line before you click: removing the wrong row deletes no files, but you have to add that repository again. This only takes the old entry off the HACS list. The files in `custom_components/apollo_mmwave` stay where they are, and Apollo mmWave keeps running. + - If you already added the new repository, there are two rows. Remove only the bharvey88/apollo-mmwave one. + - If there's no bharvey88/apollo-mmwave row, there's nothing to remove. Go on to step 4. +4. Paste `https://github.com/ApolloAutomation/apollo-mmwave-main` into the **Repository** field, set **Type** to **Integration**, click **Add**, and close the dialog. If the dialog closed after step 3, open **Custom repositories** again first. Or use the button below instead: it shows an **Add custom repository** box, and clicking **Add** there opens the repository page in HACS for you. + + [![Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.](https://my.home-assistant.io/badges/hacs_repository.svg)](https://my.home-assistant.io/redirect/hacs_repository/?owner=ApolloAutomation&repository=apollo-mmwave-main&category=integration) + +5. Search HACS for **Apollo mmWave** and open it. Only one entry is left, and if you used the button in step 4, it's already open. Click **Download** in the lower right corner, then click **Download** again in the dialog. The dialog says the files go to `/config/custom_components/apollo_mmwave`, the same folder as before. Wait for it to finish. + - If it shows an error, don't restart. Fix the cause and click **Download** again until it finishes with no error. On a first download HACS saves no backup copy of the folder, so a download that stops partway can leave old and new files mixed together. +6. Look at the HACS list. **Apollo mmWave** now shows **Pending restart**, and the old entry is gone. +7. Restart Home Assistant: go to **Settings → System**, click the power icon in the upper right corner, choose **Restart Home Assistant**, then click **Restart**. The **Restart required** repair that HACS adds does the same when you click **Submit**. + + [![Open your Home Assistant instance and show the system dashboard.](https://my.home-assistant.io/badges/system_dashboard.svg)](https://my.home-assistant.io/redirect/system_dashboard/) + +After the restart, HACS shows one **Apollo mmWave** entry with the status **Downloaded**. Everything else is where you left it: your same entry under **Settings → Devices & services → Apollo mmWave**, the Apollo mmWave dashboard in the sidebar, your zones on the zone map, your previous calibration values behind **Undo**, and the same entity IDs. If a card looks old or doesn't load, do a hard refresh with **Ctrl+Shift+R** (**Cmd+Shift+R** on a Mac). From here on, HACS updates Apollo mmWave from the new repository. + +HACS may leave its own update entity for the old repository behind, showing as unavailable. It belongs to HACS, not Apollo mmWave, so deleting it is optional and doesn't touch your zones. + ### 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: From da30cfff3e65354c851dcce225959617b0b81b24 Mon Sep 17 00:00:00 2001 From: Justin Bunton <130115204+Bunton33@users.noreply.github.com> Date: Sun, 25 Oct 2026 13:57:54 -0400 Subject: [PATCH 02/12] Match the help card's Full tuning guide link to the dashboard code The link on an MSR-1 or MSR-2 opens the general version of the tuning guide (profiles.ts LD2410 wikiUrl), not the MSR-2 guide. On an R PRO-1 it opens the R PRO-1 version at its LD2412 section. Co-Authored-By: Claude Opus 5.5 --- docs/products/general/setup/apollo-mmwave-dashboard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/products/general/setup/apollo-mmwave-dashboard.md b/docs/products/general/setup/apollo-mmwave-dashboard.md index 7af46bb64b..9834a23857 100644 --- a/docs/products/general/setup/apollo-mmwave-dashboard.md +++ b/docs/products/general/setup/apollo-mmwave-dashboard.md @@ -132,7 +132,7 @@ Open **Apollo mmWave** from your sidebar and, if you have more than one radar, p ### 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. +- 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 this guide on the wiki. On an MSR-1 or MSR-2 it opens the general version of this guide, the one that covers every Apollo radar. On an R PRO-1 it opens the R PRO-1 version at [R PRO-1 and its LD2412 radar](#r-pro-1-and-its-ld2412-radar). - **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. From d28cb531b9e6199c30a3dedda8caba6822a11504 Mon Sep 17 00:00:00 2001 From: Justin Bunton <130115204+Bunton33@users.noreply.github.com> Date: Sun, 25 Oct 2026 13:58:14 -0400 Subject: [PATCH 03/12] Cover both Auto-calibrate states on an R PRO-1 without the LD2412 Without the addon the card either shows the radar as offline with its buttons disabled (calibrate-card.ts _online) or refuses the run with "The radar has not reported 28 of its threshold values yet." The LD2412 check covers all 28 thresholds (calibration.py _chip_sent_thresholds), so the old 18 was the MSR count. Either way the zone map is what that sensor uses. The note moves out of the threshold bullet into its own paragraph, and the bullet now says the count is up to 18 or 28. Co-Authored-By: Claude Opus 5.5 --- docs/products/general/setup/apollo-mmwave-dashboard.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/products/general/setup/apollo-mmwave-dashboard.md b/docs/products/general/setup/apollo-mmwave-dashboard.md index 9834a23857..1aa4bb49bd 100644 --- a/docs/products/general/setup/apollo-mmwave-dashboard.md +++ b/docs/products/general/setup/apollo-mmwave-dashboard.md @@ -339,9 +339,11 @@ If the button works but the card answers with a line starting **Calibration fail - **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). +- **The radar has not reported 18 of its threshold values yet.** The number is how many are missing: up to 18 on an MSR-1 or MSR-2, and up to 28 on an R PRO-1. 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.** - **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. +On an R PRO-1 without the [LD2412 addon](/products/rpro1/addons/add-the-ld2412-mmwave-sensor-to-r-pro-1.md), there's no radar behind the LD2412 cards, so the Auto-calibrate card can't calibrate. Depending on what the sensor reports, the card either reads **Radar is offline. Calibration needs the radar online and its gate entities enabled.** with its buttons disabled, or answers **Calibrate with empty room** with **The radar has not reported 28 of its threshold values yet.** Reading the settings from the radar can't fix either one. Skip the calibration: the [zone map](#draw-zones-on-the-r-pro-1-and-mtr-1) is what that sensor uses. + ### 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. From 7ea940b9b887b260678b8c5f8936ab7b6779bb9c Mon Sep 17 00:00:00 2001 From: Justin Bunton <130115204+Bunton33@users.noreply.github.com> Date: Sun, 25 Oct 2026 13:58:56 -0400 Subject: [PATCH 04/12] Add zone map touch, lock and offline presence caveats The lock stops drawing only (zone-map/card.ts startDrawing and draw); Clear All Zones, a double-click on a zone button, undo and Configure -> Zones still change zones. The grid takes every touch (touch-action: none and preventDefault on the canvas, locked or not), so scroll the page outside it on a phone and keep the map locked. Zone presence reads off, not unavailable, while the radar is offline (binary_sensor.py, docs/configuration.md "Zones in automations"). Co-Authored-By: Claude Opus 5.5 --- docs/products/general/setup/apollo-mmwave-dashboard.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/products/general/setup/apollo-mmwave-dashboard.md b/docs/products/general/setup/apollo-mmwave-dashboard.md index 1aa4bb49bd..e0222879a7 100644 --- a/docs/products/general/setup/apollo-mmwave-dashboard.md +++ b/docs/products/general/setup/apollo-mmwave-dashboard.md @@ -212,7 +212,9 @@ The card shows your radar's name, a grid with the radar's view cone, and a dot f ### 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.** +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.** The lock only stops drawing: **Clear All Zones**, double-clicking a zone's button, ↶ (**Undo last zone change**), and **Configure → Zones** still change your zones while the map is locked. + +On a phone or tablet, the grid takes every touch, so a swipe on it doesn't scroll the page, even while the map is locked. Scroll with your finger outside the grid, for example on the zone buttons. Keep the map on **Locked** when you're not drawing: on an unlocked map, a swipe across the grid can draw a new shape for the selected zone and replace its old one. ### Add a zone @@ -245,6 +247,8 @@ Under **Configure**, drag **Cone rotation:** (from -180° to 180°) until the vi 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. +While the radar is offline, or still reconnecting after a restart, zone presence reads off, not unavailable. An automation that waits for a zone to be clear for some minutes can't tell that apart from an empty zone, so have it also check that the radar itself is online. + ## 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: From 88d8096c22f7189538342a43f7164bf0e3029dfe Mon Sep 17 00:00:00 2001 From: Justin Bunton <130115204+Bunton33@users.noreply.github.com> Date: Sun, 25 Oct 2026 14:12:35 -0400 Subject: [PATCH 05/12] Point zone map scrolling at the radar's name, not the zone buttons The zone button row also holds Clear All Zones, which works while the map is locked and asks for no confirmation. Telling phone users to scroll there risks a stray tap clearing every zone's shape. The radar's name above the grid is a safe place to scroll. Co-Authored-By: Claude Opus 5.5 --- docs/products/general/setup/apollo-mmwave-dashboard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/products/general/setup/apollo-mmwave-dashboard.md b/docs/products/general/setup/apollo-mmwave-dashboard.md index e0222879a7..d5f8947b46 100644 --- a/docs/products/general/setup/apollo-mmwave-dashboard.md +++ b/docs/products/general/setup/apollo-mmwave-dashboard.md @@ -214,7 +214,7 @@ The card shows your radar's name, a grid with the radar's view cone, and a dot f 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.** The lock only stops drawing: **Clear All Zones**, double-clicking a zone's button, ↶ (**Undo last zone change**), and **Configure → Zones** still change your zones while the map is locked. -On a phone or tablet, the grid takes every touch, so a swipe on it doesn't scroll the page, even while the map is locked. Scroll with your finger outside the grid, for example on the zone buttons. Keep the map on **Locked** when you're not drawing: on an unlocked map, a swipe across the grid can draw a new shape for the selected zone and replace its old one. +On a phone or tablet, the grid takes every touch, so a swipe on it doesn't scroll the page, even while the map is locked. Scroll with your finger outside the grid, for example on the radar's name above it. Stay off the zone buttons while you scroll: a stray tap on **Clear All Zones** clears every zone's shape. Keep the map on **Locked** when you're not drawing: on an unlocked map, a swipe across the grid can draw a new shape for the selected zone and replace its old one. ### Add a zone From d0a34bdf986f8cb3dc7bb0acc1103b650ceccf50 Mon Sep 17 00:00:00 2001 From: Justin Bunton <130115204+Bunton33@users.noreply.github.com> Date: Sun, 25 Oct 2026 14:12:44 -0400 Subject: [PATCH 06/12] Make the switch-over carry-over promise conditional on what you have The intro said the entry, dashboard, zones, Undo values and entity IDs all carry over with no condition. That is not true for every old version: Undo only exists from 2.2.0, and on 1.x zones of a renamed radar are kept but not shown. Say that what you already have carries over, and mark the 1.x or 2.0 paragraph as the exception. Co-Authored-By: Claude Opus 5.5 --- docs/products/general/setup/apollo-mmwave-dashboard-setup.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/products/general/setup/apollo-mmwave-dashboard-setup.md b/docs/products/general/setup/apollo-mmwave-dashboard-setup.md index b143156774..a3106fdcec 100644 --- a/docs/products/general/setup/apollo-mmwave-dashboard-setup.md +++ b/docs/products/general/setup/apollo-mmwave-dashboard-setup.md @@ -158,9 +158,9 @@ If no other cards use them, you can also remove Streamline Card and Plotly Graph ### From the original Apollo mmWave repository -Apollo mmWave used to install from the original repository, bharvey88/apollo-mmwave, which is no longer on GitHub. If HACS installed your copy from there, point HACS at the new repository, ApolloAutomation/apollo-mmwave-main, so you keep getting updates. It's the same integration in the same folder, so nothing needs to be set up again: your Apollo mmWave entry, its dashboard, your zones, the saved calibration values that **Undo** uses, and your entity IDs all carry over. The switch takes one Home Assistant restart. +Apollo mmWave used to install from the original repository, bharvey88/apollo-mmwave, which is no longer on GitHub. If HACS installed your copy from there, point HACS at the new repository, ApolloAutomation/apollo-mmwave-main, so you keep getting updates. It's the same integration in the same folder, so nothing needs to be set up again: what you already have carries over, such as your Apollo mmWave entry, its dashboard, your zones, the saved calibration values that **Undo** uses, and your entity IDs. The switch takes one Home Assistant restart. -If the old copy is version 1.x or 2.0, read the [upgrade notes in the changelog](https://github.com/ApolloAutomation/apollo-mmwave-main/blob/main/CHANGELOG.md#upgrading-to-20) first. Some cards and automations need a change by hand, and [From Apollo mmWave 1.x zone mapping](#from-apollo-mmwave-1x-zone-mapping) below sums them up. +If the old copy is version 1.x or 2.0, not everything carries over on its own. Read the [upgrade notes in the changelog](https://github.com/ApolloAutomation/apollo-mmwave-main/blob/main/CHANGELOG.md#upgrading-to-20) first. Some cards and automations need a change by hand, and [From Apollo mmWave 1.x zone mapping](#from-apollo-mmwave-1x-zone-mapping) below sums them up. !!! warning "Don't delete Apollo mmWave in Home Assistant" From 5a38de8502a5d56048ad35800d91c75bdcf2c461 Mon Sep 17 00:00:00 2001 From: Justin Bunton <130115204+Bunton33@users.noreply.github.com> Date: Sun, 25 Oct 2026 14:12:51 -0400 Subject: [PATCH 07/12] Say HACS tracks Apollo mmWave updates, not that it installs them "HACS updates Apollo mmWave" reads as if HACS installs updates on its own. HACS 2.0.5 only offers them. Match the install section's wording ("tracks updates") and have the reader do the update. Co-Authored-By: Claude Opus 5.5 --- docs/products/general/setup/apollo-mmwave-dashboard-setup.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/products/general/setup/apollo-mmwave-dashboard-setup.md b/docs/products/general/setup/apollo-mmwave-dashboard-setup.md index a3106fdcec..6c97c9ce38 100644 --- a/docs/products/general/setup/apollo-mmwave-dashboard-setup.md +++ b/docs/products/general/setup/apollo-mmwave-dashboard-setup.md @@ -128,7 +128,7 @@ Want to rearrange the cards? Click the pencil icon in the upper right corner of 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. -Before any upgrade, make a full Home Assistant backup under **Settings → System → Backups**, so you can go back if something goes wrong. After HACS updates Apollo mmWave, restart Home Assistant, then refresh the dashboard in your browser so it loads the new cards. +Before any upgrade, make a full Home Assistant backup under **Settings → System → Backups**, so you can go back if something goes wrong. After you update Apollo mmWave in HACS, restart Home Assistant, then refresh the dashboard in your browser so it loads the new cards. [![Open your Home Assistant instance and show an overview of your backups.](https://my.home-assistant.io/badges/backup.svg)](https://my.home-assistant.io/redirect/backup/) @@ -186,7 +186,7 @@ If the old copy is version 1.x or 2.0, not everything carries over on its own. R [![Open your Home Assistant instance and show the system dashboard.](https://my.home-assistant.io/badges/system_dashboard.svg)](https://my.home-assistant.io/redirect/system_dashboard/) -After the restart, HACS shows one **Apollo mmWave** entry with the status **Downloaded**. Everything else is where you left it: your same entry under **Settings → Devices & services → Apollo mmWave**, the Apollo mmWave dashboard in the sidebar, your zones on the zone map, your previous calibration values behind **Undo**, and the same entity IDs. If a card looks old or doesn't load, do a hard refresh with **Ctrl+Shift+R** (**Cmd+Shift+R** on a Mac). From here on, HACS updates Apollo mmWave from the new repository. +After the restart, HACS shows one **Apollo mmWave** entry with the status **Downloaded**. Everything else is where you left it: your same entry under **Settings → Devices & services → Apollo mmWave**, the Apollo mmWave dashboard in the sidebar, your zones on the zone map, your previous calibration values behind **Undo**, and the same entity IDs. If a card looks old or doesn't load, do a hard refresh with **Ctrl+Shift+R** (**Cmd+Shift+R** on a Mac). From here on, HACS tracks updates from the new repository. HACS may leave its own update entity for the old repository behind, showing as unavailable. It belongs to HACS, not Apollo mmWave, so deleting it is optional and doesn't touch your zones. From 57c0b2331c748664790458a034f47c7621caf39f Mon Sep 17 00:00:00 2001 From: Justin Bunton <130115204+Bunton33@users.noreply.github.com> Date: Sun, 25 Oct 2026 14:12:56 -0400 Subject: [PATCH 08/12] Link the switch-over backup step to the backup instructions Step 1 said to back up "as described at the start of this section", but the backup text and button sit at the start of the parent section. Readers who follow the link from the install section land on the subsection and never see them. Give the path and link the section. Co-Authored-By: Claude Opus 5.5 --- docs/products/general/setup/apollo-mmwave-dashboard-setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/products/general/setup/apollo-mmwave-dashboard-setup.md b/docs/products/general/setup/apollo-mmwave-dashboard-setup.md index 6c97c9ce38..f390c8c131 100644 --- a/docs/products/general/setup/apollo-mmwave-dashboard-setup.md +++ b/docs/products/general/setup/apollo-mmwave-dashboard-setup.md @@ -170,7 +170,7 @@ If the old copy is version 1.x or 2.0, not everything carries over on its own. R Both Apollo mmWave entries in HACS use the same `custom_components/apollo_mmwave` folder. **Remove**, on either entry, first shows **Integration is configured** and tells you to delete the configuration. Don't: **Navigate** leads to the integrations page, where **Delete** wipes your zones. **Ignore**, or closing the box, opens a **Remove** box whose **Remove** button deletes the folder, new download included, so Apollo mmWave won't load after the next restart. **Redownload** on the old entry fails because its repository is gone, and the folder can end up missing. Step 3 takes the old entry off the list without touching any files. -1. Check two versions first. Home Assistant needs to be 2026.8.1 or newer (**Settings → About**). In **HACS**, click the three-dot menu in the upper right corner, choose **About HACS**, and check that **Integration version** is 2.0.5 or newer. The new repository won't download on older versions. Then make a full Home Assistant backup, as described at the start of this section. +1. Check two versions first. Home Assistant needs to be 2026.8.1 or newer (**Settings → About**). In **HACS**, click the three-dot menu in the upper right corner, choose **About HACS**, and check that **Integration version** is 2.0.5 or newer. The new repository won't download on older versions. Then make a full Home Assistant backup under **Settings → System → Backups** (see [Upgrade from an older setup](#upgrade-from-an-older-setup)). 2. In **HACS**, click the three-dot menu in the upper right corner and choose **Custom repositories**. 3. Find the row whose second line reads **bharvey88/apollo-mmwave (integration)** and click the trash can icon on that row. There's no confirmation, so read the second line before you click: removing the wrong row deletes no files, but you have to add that repository again. This only takes the old entry off the HACS list. The files in `custom_components/apollo_mmwave` stay where they are, and Apollo mmWave keeps running. - If you already added the new repository, there are two rows. Remove only the bharvey88/apollo-mmwave one. From 22d6fb33a6de2befd1a1d6dca0d8fa3390be59f5 Mon Sep 17 00:00:00 2001 From: Justin Bunton <130115204+Bunton33@users.noreply.github.com> Date: Sun, 25 Oct 2026 14:13:01 -0400 Subject: [PATCH 09/12] Put the reopen-dialog condition first in switch-over step 4 Step 4 listed paste, set type, add and close, then said to reopen Custom repositories first if the dialog had closed. A precondition that comes after the actions it gates is easy to miss. Co-Authored-By: Claude Opus 5.5 --- docs/products/general/setup/apollo-mmwave-dashboard-setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/products/general/setup/apollo-mmwave-dashboard-setup.md b/docs/products/general/setup/apollo-mmwave-dashboard-setup.md index f390c8c131..d5174c4537 100644 --- a/docs/products/general/setup/apollo-mmwave-dashboard-setup.md +++ b/docs/products/general/setup/apollo-mmwave-dashboard-setup.md @@ -175,7 +175,7 @@ If the old copy is version 1.x or 2.0, not everything carries over on its own. R 3. Find the row whose second line reads **bharvey88/apollo-mmwave (integration)** and click the trash can icon on that row. There's no confirmation, so read the second line before you click: removing the wrong row deletes no files, but you have to add that repository again. This only takes the old entry off the HACS list. The files in `custom_components/apollo_mmwave` stay where they are, and Apollo mmWave keeps running. - If you already added the new repository, there are two rows. Remove only the bharvey88/apollo-mmwave one. - If there's no bharvey88/apollo-mmwave row, there's nothing to remove. Go on to step 4. -4. Paste `https://github.com/ApolloAutomation/apollo-mmwave-main` into the **Repository** field, set **Type** to **Integration**, click **Add**, and close the dialog. If the dialog closed after step 3, open **Custom repositories** again first. Or use the button below instead: it shows an **Add custom repository** box, and clicking **Add** there opens the repository page in HACS for you. +4. If the dialog closed after step 3, open **Custom repositories** again. Paste `https://github.com/ApolloAutomation/apollo-mmwave-main` into the **Repository** field, set **Type** to **Integration**, click **Add**, and close the dialog. Or use the button below instead: it shows an **Add custom repository** box, and clicking **Add** there opens the repository page in HACS for you. [![Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.](https://my.home-assistant.io/badges/hacs_repository.svg)](https://my.home-assistant.io/redirect/hacs_repository/?owner=ApolloAutomation&repository=apollo-mmwave-main&category=integration) From 14c9522e1c7c7b3c27a0e5bfe46fa289803be30d Mon Sep 17 00:00:00 2001 From: Justin Bunton <130115204+Bunton33@users.noreply.github.com> Date: Sun, 25 Oct 2026 14:13:10 -0400 Subject: [PATCH 10/12] Link the help card's R PRO-1 target to the R PRO-1 page The sentence says the help card opens the R PRO-1 version of the guide, but the link was an in-page anchor. The general page is included into every product copy, so on the general, MSR-1, MSR-2 and MTR-1 pages it went to that page's own section. Point it at the R PRO-1 page, the same place the card's link (profiles.ts) opens. Co-Authored-By: Claude Opus 5.5 --- docs/products/general/setup/apollo-mmwave-dashboard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/products/general/setup/apollo-mmwave-dashboard.md b/docs/products/general/setup/apollo-mmwave-dashboard.md index d5f8947b46..db6920e950 100644 --- a/docs/products/general/setup/apollo-mmwave-dashboard.md +++ b/docs/products/general/setup/apollo-mmwave-dashboard.md @@ -132,7 +132,7 @@ Open **Apollo mmWave** from your sidebar and, if you have more than one radar, p ### 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 this guide on the wiki. On an MSR-1 or MSR-2 it opens the general version of this guide, the one that covers every Apollo radar. On an R PRO-1 it opens the R PRO-1 version at [R PRO-1 and its LD2412 radar](#r-pro-1-and-its-ld2412-radar). +- 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 this guide on the wiki. On an MSR-1 or MSR-2 it opens the general version of this guide, the one that covers every Apollo radar. On an R PRO-1 it opens [the R PRO-1 version](/products/rpro1/setup/apollo-mmwave-dashboard.md#r-pro-1-and-its-ld2412-radar) at its LD2412 section. - **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. From e6fa1be68cc0371df066b9b8803e697cb801a3ec Mon Sep 17 00:00:00 2001 From: Justin Bunton <130115204+Bunton33@users.noreply.github.com> Date: Sun, 25 Oct 2026 14:13:17 -0400 Subject: [PATCH 11/12] Retitle the switch-over warnings positively Both warning titles started with "Don't", next to a "Don't:" in the box and a "don't restart" in step 5. The style guide asks to rephrase excessive "no" framing positively, and the page's other warnings already do ("Keep Zone Mapper until your zones have moved over"). The box text is unchanged. Co-Authored-By: Claude Opus 5.5 --- docs/products/general/setup/apollo-mmwave-dashboard-setup.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/products/general/setup/apollo-mmwave-dashboard-setup.md b/docs/products/general/setup/apollo-mmwave-dashboard-setup.md index d5174c4537..68f166bfcc 100644 --- a/docs/products/general/setup/apollo-mmwave-dashboard-setup.md +++ b/docs/products/general/setup/apollo-mmwave-dashboard-setup.md @@ -162,11 +162,11 @@ Apollo mmWave used to install from the original repository, bharvey88/apollo-mmw If the old copy is version 1.x or 2.0, not everything carries over on its own. Read the [upgrade notes in the changelog](https://github.com/ApolloAutomation/apollo-mmwave-main/blob/main/CHANGELOG.md#upgrading-to-20) first. Some cards and automations need a change by hand, and [From Apollo mmWave 1.x zone mapping](#from-apollo-mmwave-1x-zone-mapping) below sums them up. -!!! warning "Don't delete Apollo mmWave in Home Assistant" +!!! warning "Keep your Apollo mmWave entry in Home Assistant" The switch happens in HACS only. If you choose **Delete** from the three-dot menu on the entry under **Settings → Devices & services → Apollo mmWave**, Home Assistant asks **Delete Apollo mmWave?** and warns that its devices and entities will be permanently deleted. Deleting it also deletes the Apollo mmWave dashboard, every zone, and the saved calibration values that **Undo** uses. Setting it up again starts from nothing. -!!! warning "Don't press Remove or Redownload in HACS" +!!! warning "Leave Remove and Redownload alone in HACS" Both Apollo mmWave entries in HACS use the same `custom_components/apollo_mmwave` folder. **Remove**, on either entry, first shows **Integration is configured** and tells you to delete the configuration. Don't: **Navigate** leads to the integrations page, where **Delete** wipes your zones. **Ignore**, or closing the box, opens a **Remove** box whose **Remove** button deletes the folder, new download included, so Apollo mmWave won't load after the next restart. **Redownload** on the old entry fails because its repository is gone, and the folder can end up missing. Step 3 takes the old entry off the list without touching any files. From f1b6cbdd47c4ac3e3ea4ca5c8400bc95d42d2b39 Mon Sep 17 00:00:00 2001 From: Justin Bunton <130115204+Bunton33@users.noreply.github.com> Date: Sun, 25 Oct 2026 14:13:22 -0400 Subject: [PATCH 12/12] Add the Restart confirmation to the install section's restart step Choosing Restart Home Assistant opens a confirmation dialog (ui.dialogs.restart.restart.confirm_action, "Restart"). The new switch-over step 7 already says to click Restart; the install step left it out, so the page gave two versions of the same restart. Co-Authored-By: Claude Opus 5.5 --- docs/products/general/setup/apollo-mmwave-dashboard-setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/products/general/setup/apollo-mmwave-dashboard-setup.md b/docs/products/general/setup/apollo-mmwave-dashboard-setup.md index 68f166bfcc..fa5ba29873 100644 --- a/docs/products/general/setup/apollo-mmwave-dashboard-setup.md +++ b/docs/products/general/setup/apollo-mmwave-dashboard-setup.md @@ -48,7 +48,7 @@ If you installed Apollo mmWave from the original repository, bharvey88/apollo-mm 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. +7. Restart Home Assistant: go to **Settings → System**, click the power icon in the upper right corner, choose **Restart Home Assistant**, then click **Restart**. Wait for it to come back. [![Open your Home Assistant instance and show the system dashboard.](https://my.home-assistant.io/badges/system_dashboard.svg)](https://my.home-assistant.io/redirect/system_dashboard/)