Disclosure: This post contains affiliate links. If you buy through them, we earn a small commission at no extra cost to you.
The Aqara Presence Sensor FP2 is one of the more impressive mmWave devices to land in the consumer smart home market in the last few years. Multi-zone tracking, sub-second response times, illuminance sensing — it does things a PIR motion detector simply can’t. But there’s a catch that doesn’t get nearly enough attention in most reviews: by default, the FP2 is a cloud-connected device that streams live room-presence data — zone-by-zone, near-continuously — to remote servers. For anyone running aqara fp2 home assistant local setups, or anyone who bought it precisely because they want better awareness of what’s happening in their home without a cloud middleman, that’s a tension worth resolving.
The good news: it’s resolvable. This guide covers all three practical paths to running the FP2 locally with Home Assistant, explains exactly what each option still sends out (because nothing is perfectly zero), and tells you which path is worth your time.
What the FP2 Actually Sends to the Cloud (and Why It Matters)
Standard motion sensors tell you “something moved.” The FP2 does more: it tracks presence in up to nine independent zones. In a bedroom setup, that might mean “person in Zone 3, near the bed” — stationary, likely sleeping. In a living room, it distinguishes whether someone is on the couch versus by the window. That granularity is what makes it useful for smart home automations. It’s also what makes the default cloud path worth scrutinising.
In its out-of-box configuration, the FP2 communicates via the Aqara Home app using Xiaomi’s miio protocol. All zone events, presence states, illuminance readings, and firmware telemetry transit through Aqara/Xiaomi cloud infrastructure. Server regions reported by users include CN and SG endpoints depending on account region — but the data leaves your network regardless.
The cloud receives real-time zone occupancy states (occupied/unoccupied, per zone), illuminance values, and device health telemetry. It does not — as far as current traffic analysis shows — transmit audio or camera data (the FP2 has neither). But presence data at zone resolution, timestamped, is still a detailed record of movement patterns in a room.
After the steps in this guide, that data flow stops.
Your Three Local-Only Paths at a Glance
| HomeKit Local | miio Token | Matter | |
|---|---|---|---|
| Complexity | 2/5 | 4/5 | 1/5 (when available) |
| Cloud dependency after setup | Near-zero (OTA checks remain) | Near-zero | Near-zero |
| HA integration quality | Excellent (local push, <1s) | Good (local poll, ~5s) | TBD |
| Data still sent | Firmware pings (blockable) | Firmware pings (blockable) | Firmware pings (blockable) |
| Requires Apple hardware | Yes (Home Hub) | No | No |
| Zone entities in HA | Yes (up to 9) | Partial | Unknown |
Recommendation: HomeKit Local for most people. miio Token if you have no Apple hardware and want deeper control. Matter when it matures — not yet.
Option 1 — HomeKit Local (Recommended for Most)
What You Need
- Aqara Presence Sensor FP2 on firmware 4.0.0.7 or later
- An Apple Home Hub: HomePod mini, Apple TV 4K (3rd gen or 2nd gen with Ethernet), or a dedicated iPad set as Home Hub
- Home Assistant with the HomeKit Controller integration (built-in, no HACS required)
The Apple Home Hub is not optional if you want local automations. Without it, HomeKit accessories fall back to remote access mode — which reintroduces cloud hops. A HomePod mini is the most common choice; it’s inexpensive and stays on the local network permanently.
Step-by-Step: Adding FP2 to HomeKit
Here’s the part most guides skip: the initial setup requires a one-time cloud touch. There’s no way around it with current firmware. The FP2 ships in a state where it must be provisioned through the Aqara Home app, which authenticates against Aqara’s cloud to register the device. This happens once.
- Install the Aqara Home app (iOS or Android) and create or log into an Aqara account.
- Add the FP2 following the in-app flow. Let it complete provisioning — this is the cloud-touch moment.
- Once the device shows as online in Aqara Home, navigate to Device Settings → Add to HomeKit.
- Scan the HomeKit pairing code (printed on the device or in the app) using the Apple Home app.
- Complete the HomeKit pairing process. At this point, the FP2’s primary communication path shifts to HomeKit over your local network.
After step 5, the device is operating locally via the HomeKit Accessory Protocol (HAP). The Aqara Home app becomes optional for normal operation — keep it installed for firmware updates, or delete it.
What still happens after HomeKit migration:
The FP2 still makes occasional outbound connections for firmware OTA checks. To cut those too, block the device at your router or firewall. Relevant domains include ota.aqara.com and related Xiaomi OTA endpoints — a DNS blocklist or per-device firewall rule handles this cleanly. You’ll lose automatic firmware updates, which is a trade-off to make deliberately.
Bringing the FP2 into Home Assistant via HomeKit Controller
With the FP2 in HomeKit, you have two paths into HA: via Apple Home (through a HomeKit Bridge in reverse) or directly via the HomeKit Controller integration. Direct pairing is better — it bypasses Apple’s infrastructure and gives you more entities.
- In Home Assistant, go to Settings → Devices & Services → Add Integration.
- Search for HomeKit Controller and select it.
- If your FP2 is discoverable on the network, it will appear in the list. Select it and enter the pairing code.
- If it doesn’t appear automatically, ensure the FP2 and your HA instance are on the same VLAN/subnet and that mDNS is working between them.
Once paired, you’ll see the following entities:
- Binary sensor: Presence — whole-device occupancy
- Binary sensor: Zone 1–9 Occupancy — per-zone presence states (only zones configured in Aqara Home will appear)
- Sensor: Illuminance (lux)
- Additional entities depending on firmware version (approach direction on some builds)
Updates arrive via local push — the device sends state changes to HA directly over HAP. Response times are typically under one second. No polling, no cloud hop, no round-trip latency.
Known Limitations
- Zone names don’t carry over. Whatever you named Zone 1–9 in the Aqara Home app stays in that app. HA receives them as generic zone entities — rename them in HA manually.
- Fall detection is processed on-device. The FP2 handles fall detection locally — no cloud round-trip required. This makes local mode a viable choice even if fall detection is a primary use case.
- Firmware updates require Aqara Home. Without the app connected, you won’t receive OTAs. Check release notes periodically and re-enable app access temporarily when updates matter.
Option 2 — miio Token (More Control, More Friction)
When to Choose This
The miio token path makes sense if you have no Apple hardware, don’t want to buy a Home Hub, and are comfortable with a more hands-on setup. It also gives you direct access to miio protocol properties that the HomeKit layer doesn’t expose — useful for advanced automations or debugging.
The trade-off: miio uses local polling rather than push. The xiaomi_miio integration in Home Assistant polls the device approximately every 5 seconds. For most automations this is fine; for hair-trigger lighting responses, it’s noticeable compared to HomeKit’s sub-second push.
Extracting the FP2 Token
The miio protocol requires a device token — a 32-character hex string unique to your device. Two main ways to get it:
Option A: Aqara Home app (easiest)
Some firmware versions expose the token directly in the Aqara Home app under device info. Navigate to the device → About → Device info and look for the token field. This varies by app version and region.
Option B: Xiaomi Cloud Tokens Extractor
This is a community-maintained open-source tool (available on GitHub) that authenticates with your Xiaomi/Aqara account and retrieves tokens for all registered devices. It runs locally on your machine — your credentials are sent to Xiaomi’s servers only for authentication, not stored by the tool itself. Use it with the same Aqara account you used to provision the device.
Run the extractor, find your FP2 by device name or MAC address, and copy the token. You’ll also need the device’s local IP address — assign it a static DHCP lease in your router now, because if the IP changes, the integration will break.
Configuring xiaomi_miio in Home Assistant
- In Home Assistant, go to Settings → Devices & Services → Add Integration.
- Search for Xiaomi Miio and select it.
- Choose Manual configuration if the device isn’t auto-discovered.
- Enter:
- IP address: Your FP2’s local IP
- Token: The 32-character token you extracted
- Model: Select
lumi.motion.agl001or allow auto-detection - Complete the flow. The integration will connect locally.
Entities available via miio are similar to HomeKit Controller but may vary by firmware version. Zone occupancy entities are present on recent firmware; earlier versions may only expose a single presence binary sensor. If zone entities don’t appear, check your firmware version and consider updating via Aqara Home before moving to token-only operation.
Once configured, confirm local operation by blocking the device’s internet access at your router — automations should continue working without interruption.
Option 3 — Wait for Matter (or Don’t)
The FP2 has appeared on Aqara’s Matter roadmap, and Matter over Wi-Fi would theoretically provide a clean, standard local path without requiring Apple hardware or token extraction.
As of writing, Matter support for the FP2 is not shipping. Matter’s Occupancy Sensing cluster supports presence detection, but multi-zone occupancy is not yet defined in the Matter 1.x specification in a way that maps cleanly to the FP2’s nine-zone model. Even when Matter support arrives, it may expose only single-zone presence — not the granular zone data that makes the FP2 worth its price.
Verdict on Matter: Keep an eye on Aqara’s firmware release notes. Don’t buy the FP2 today counting on Matter to solve your cloud problem — it hasn’t yet, and the timeline is uncertain.
Blocking the FP2 from the Internet After Setup
Regardless of which path you chose, the FP2 will still attempt outbound connections for telemetry and firmware checks. For a genuinely local-only setup — especially if aqara fp2 without cloud is your goal — block it at the network layer.
Router-level firewall rule: Create a per-device rule blocking all outbound traffic from the FP2’s IP (static DHCP lease required). This is the cleanest option — the device stays on your local network, HA can still reach it, but it cannot reach the internet.
DNS-based blocking: If you run Pi-hole, AdGuard Home, or a similar local DNS resolver, add the following domains to your blocklist:
– ota.aqara.com
– *.aqara.com (broad block — will also prevent app connectivity)
– *.io.mi.com (Xiaomi cloud endpoints)
DNS blocking is less reliable than firewall rules because the device could theoretically use a hardcoded IP — but it adds a useful second layer.
VLAN isolation: Placing IoT devices on a dedicated VLAN with no internet access (but local routing to your HA instance) is the most robust approach. This applies to all IoT devices, not just the FP2.
After blocking, verify by checking your router’s connection logs or running a packet capture — you should see the FP2’s outbound attempts being dropped.
Verdict
Go HomeKit Local if:
– You have (or are willing to buy) a HomePod mini or Apple TV 4K
– You want the best HA integration: zone entities, local push, fast response
– You’re okay with a one-time cloud setup step
Go miio Token if:
– No Apple hardware, no interest in buying it
– You want raw miio access or need properties HomeKit doesn’t expose
– You’re comfortable with the extraction process and 5-second poll interval
Skip Matter for now. Check back in 12–18 months.
The FP2 is a genuinely capable sensor — one of the few consumer mmWave options with zone-level tracking that works in a normal-sized room. Running aqara fp2 homekit local via HomeKit Controller gets you presence data that arrives in under a second, stays on your local network, and doesn’t require trusting a remote server with a map of who’s where in your home. The setup is a one-afternoon project. It’s worth doing.
Hardware referenced:
– Aqara Presence Sensor FP2 (Amazon)
– Apple HomePod mini (Amazon)
– Home Assistant Green (Amazon)
– Raspberry Pi 4 (Amazon)

Leave A Comment