Aqara FP2 - HomeKit Controller - No unpaired devices could be found

I have a Home Assistant 2023.4.6 running on docker on 192.168.0.90
I downloaded Aquara Home app on my android phone. I set up the FP2 sensor using Aqara Home app. I can see the sensor in the app. I can configure it and everything works fine.

Then I wanted to add it to HA. I selected Settings → Devices & Services → Add Integration → Apple → HomeKit Controller and I got “No unpaired devices could be found”.

HA (192.168.0.90) and FP2 (192.168.0.227) are in the same network. My android phone (192.168.0.10) is also in the same network.

I have zeroconfig: enabled in configuration.yaml

FP2 firmware 1.1.6:005.0025
I can ping 192.168.0.227 from HA docker image.
I tried to reboot FP2 but no luck. What could be the problem? I also have other devices in the network like google chromecast, wled, etc, and HA discovers them without a problem.

update:
I installed Service Browser on my android and I can see my chromecast, esphome, printers, etc except FP2. Should I see it?

I have the same issues. But, I added it to an old iPhone, to get it onto the WiFi network. I can see it in the Home app. I removed the sensor from the Home app, but HA won’t give me a notification about discovered device when I put the sensor in discover mode.

Today I tried different router in my network but no luck.
Moreover I got an update to 1.1.7_0002.0025

Version: 1.1.7_00022023-05-18
What's New:
1. Fix the issue of not reporting enter and leave reports when entrance and exits zone is set.
2. Remove the limit that when there are targets within one meter, do not create other targets.
3. Optimize the target judgment logic in high sensitivity zones and fix issues where the target cannot be permanently maintained.
4. After setting up the entrance and exits zone, optimize the target algorithm , fix the problem of targets being taken away within 1 meter near the entrance and exits zone.
5. Modify the sensitivity logic for the entire zone, fix issues with target waving not being triggered and children not being able to detect.
6. Add monitoring parameter setting thread to fix situations where parameters cannot be set.
7. Optimize calculation time to prevent abnormal device restarts.
6. Add monitoring parameter setting thread to fix situations where parameters cannot be set
7. Optimize calculation time to prevent abnormal device restarts

None of the fixes above solved my problem.
I think that FP2 now is not in pairing state (or sth like this) so HA can’t see it.
I must borrow an iphone and try with a homekit.

I started additional HA in docker but with host network mode.
Then I restarted the FP2 and it immediately appeared in integrations.

2 Likes

I found the same thing. Just by pulling the power cord on the FP2 and plugging it in again, it showed up immediately.

2 Likes

Good for you. :+1:
Unfortunately I don’t know anything about docker.

I have just installed the FP2 in HA using android (pixel) and NO apple anything (other than HomeKit Controller integration). For me, the HomeKit Controller did not see the FP2, but a power cycle on the FP2 solved that. Then the HomeKit Controller magically appear without adding it. On ‘configure’ I had an issue of not knowing the pairing code. Took trial and error to find the XXXX XXXX code on the device and translating it to the XXX-XX-XXX code required for the pairing.
After that it is just a sensor in HA and relating the ‘Presence Sensor 1’ to the device, then ‘Presence Sensor 2’ to the zone 1, etc.
Just updated the sensor firmware, hoping it solves the ghosting, but seems like an amazing step forward in sensors. Great work AQARA!!!

This is what made mine show up. Thanks!

I’ve done some experiments with the FP2 in my context: Mixed 2.4/5 GHz Google Wifi (significant factor) and HA running in docker (possible factor). Basically, you may get the FP2 to configure in the mixed network, but it seems to be hit&miss (presumably when you happen to have a weak signal) - by pairing from a phone that is locked to 2.4 that procedure becomes stable and once it works you can also use the Aqara app from a 5 only device. However, I still never got HA to pick up the FP2. However, with a dedicated 2.4 Wifi it shows up instantly. Sadly I’ve not found any way to temporarily enforce 2.4 on Google Wifi, but luckily I have a separate AP that can do that. Hope this helps someone. :crossed_fingers:

I had a variation of the above. After tons of struggles to get it on my Unifi Wifi (an old phone I no longer use did the trick, none of the upper/lower case, special characters etc tips were of any help) my HA detected the FP2 however it would just not join HK (tried many times and with the correct code format). A reboot of the sensor did the trick. :man_shrugging: I thought I read that you needed to remove the sensor from the Aqara app but I did not which is great so it should be possible to update the firmware and configure the FP2 as needed while keeping it in HA. I have not done any of this yet… so I am not certain it all works leaving it like this.

Thank you. This worked for mine too!

1 Like

For me the configuration method was to download the app from aqara set up everything in there with zones and after i was done i went to homeassistant and i had to add the HomeKit Bridge integration and only checked the HASS Bridge in the popup, then i unplugged the FP2 sensor and plug it back it and after it powered on instantly show in notification, new HomeKit device discovered check it out, then i entered the pin ant that was it. Without the HomeKit Bridge integration didnt showed up

For me the solution was to remove the device from HomeKit after configuring it. I misunderstood the steps and allways removed it from Aqara App instead of HomeKit App.

I’m having similar problems adding to HA it does not show up as an discovered homekit device yet I see the MDNS in a packet trace any ideas?

10:25:51.670231 ARP, Request who-has Presence-Sensor-FP2-915D.localdomain tell Presence-Sensor-FP2-915D.localdomain, length 46
10:25:53.541611 IP Presence-Sensor-FP2-915D.localdomain.octopus > 230.0.0.1.octopus: UDP, length 176
10:26:06.321283 IP Presence-Sensor-FP2-915D.localdomain > 230.0.0.1: igmp v2 report 230.0.0.1
10:26:51.670752 ARP, Request who-has Presence-Sensor-FP2-915D.localdomain tell Presence-Sensor-FP2-915D.localdomain, length 46
10:26:53.535262 IP Presence-Sensor-FP2-915D.localdomain.octopus > 230.0.0.1.octopus: UDP, length 176
10:27:51.671255 ARP, Request who-has Presence-Sensor-FP2-915D.localdomain tell Presence-Sensor-FP2-915D.localdomain, length 46
10:27:53.535120 IP Presence-Sensor-FP2-915D.localdomain.octopus > 230.0.0.1.octopus: UDP, length 176
10:28:11.271537 IP Presence-Sensor-FP2-915D.localdomain > 230.0.0.1: igmp v2 report 230.0.0.1
10:28:51.671690 ARP, Request who-has Presence-Sensor-FP2-915D.localdomain tell Presence-Sensor-FP2-915D.localdomain, length 46
10:28:53.535881 IP Presence-Sensor-FP2-915D.localdomain.octopus > 230.0.0.1.octopus: UDP, length 176
10:29:51.673479 ARP, Request who-has Presence-Sensor-FP2-915D.localdomain tell Presence-Sensor-FP2-915D.localdomain, length 46
10:29:53.537840 IP Presence-Sensor-FP2-915D.localdomain.octopus > 230.0.0.1.octopus: UDP, length 176
10:29:53.558407 IP Presence-Sensor-FP2-915D.localdomain.mdns > mdns.mcast.net.mdns: 0 PTR (QM)? _aqara-setup._tcp.local. (41)
10:29:53.690826 ARP, Request who-has unifi.localdomain tell Presence-Sensor-FP2-915D.localdomain, length 46
10:29:54.660170 IP Presence-Sensor-FP2-915D.localdomain.mdns > mdns.mcast.net.mdns: 0 PTR (QM)? _aqara-setup._tcp.local. (41)
10:29:55.766313 IP Presence-Sensor-FP2-915D.localdomain.mdns > mdns.mcast.net.mdns: 0 PTR (QM)? _aqara-setup._tcp.local. (41)
10:29:56.860549 IP Presence-Sensor-FP2-915D.localdomain.mdns > mdns.mcast.net.mdns: 0 PTR (QM)? _aqara-setup._tcp.local. (41)
10:29:57.960341 IP Presence-Sensor-FP2-915D.localdomain.mdns > mdns.mcast.net.mdns: 0 PTR (QM)? _aqara-setup._tcp.local. (41)
10:30:51.672809 ARP, Request who-has Presence-Sensor-FP2-915D.localdomain tell Presence-Sensor-FP2-915D.localdomain, length 46
10:30:53.536684 IP Presence-Sensor-FP2-915D.localdomain.octopus > 230.0.0.1.octopus: UDP, length 176
10:31:51.673121 ARP, Request who-has Presence-Sensor-FP2-915D.localdomain tell Presence-Sensor-FP2-915D.localdomain, length 46
10:31:53.538955 IP Presence-Sensor-FP2-915D.localdomain.octopus > 230.0.0.1.octopus: UDP, length 176
10:32:51.677600 ARP, Request who-has Presence-Sensor-FP2-915D.localdomain tell Presence-Sensor-FP2-915D.localdomain, length 46
10:32:53.537976 IP Presence-Sensor-FP2-915D.localdomain.octopus > 230.0.0.1.octopus: UDP, length 176
10:33:51.674134 ARP, Request who-has Presence-Sensor-FP2-915D.localdomain tell Presence-Sensor-FP2-915D.localdomain, length 46
10:33:53.538166 IP Presence-Sensor-FP2-915D.localdomain.octopus > 230.0.0.1.octopus: UDP, length 176
10:34:22.124582 IP Presence-Sensor-FP2-915D.localdomain > 230.0.0.1: igmp v2 report 230.0.0.1
10:34:51.676560 ARP, Request who-has Presence-Sensor-FP2-915D.localdomain tell Presence-Sensor-FP2-915D.localdomain, length 46
10:34:52.573967 IP Presence-Sensor-FP2-915D.localdomain.mdns > mdns.mcast.net.mdns: 0*- [0q] 1/0/0 PTR Presence-Sensor-FP2-915D._hap._tcp.local. (66)
10:34:53.538669 IP Presence-Sensor-FP2-915D.localdomain.octopus > 230.0.0.1.octopus: UDP, length 176
10:35:48.719444 ARP, Request who-has Presence-Sensor-FP2-915D.localdomain tell Presence-Sensor-FP2-915D.localdomain, length 46
10:35:48.722919 ARP, Request who-has unifi.localdomain tell Presence-Sensor-FP2-915D.localdomain, length 46
10:35:48.735269 IP Presence-Sensor-FP2-915D.localdomain > 230.0.0.1: igmp v2 report 230.0.0.1
10:35:48.744167 IP Presence-Sensor-FP2-915D.localdomain > mdns.mcast.net: igmp v2 report mdns.mcast.net
10:35:48.828452 IP Presence-Sensor-FP2-915D.localdomain > mdns.mcast.net: igmp v2 report mdns.mcast.net
10:35:48.889060 ARP, Request who-has Presence-Sensor-FP2-915D.localdomain tell Presence-Sensor-FP2-915D.localdomain, length 46
10:35:48.928395 IP Presence-Sensor-FP2-915D.localdomain > 230.0.0.1: igmp v2 report 230.0.0.1
10:35:49.177646 IP Presence-Sensor-FP2-915D.localdomain.mdns > mdns.mcast.net.mdns: 0 [7q] [5n] ANY (QU)? Presence-Sensor-FP2-915D._aqara-setup._tcp.local. ANY (QU)? Aqara-FP2-915D._Aqara-FP2._tcp.local. ANY (QU)? Presence-Sensor-FP2-915D._hap._tcp.local. ANY (QU)? Presence-Sensor-FP2-915D.local. ANY (QU)? Presence-Sensor-FP2-915D.local. ANY (QU)? Presence-Sensor-FP2-915D.local. ANY (QU)? Presence-Sensor-FP2-915D.local. (586)
10:35:49.889492 ARP, Request who-has Presence-Sensor-FP2-915D.localdomain tell Presence-Sensor-FP2-915D.localdomain, length 46
10:35:50.891132 ARP, Request who-has Presence-Sensor-FP2-915D.localdomain tell Presence-Sensor-FP2-915D.localdomain, length 46
10:35:51.074231 IP Presence-Sensor-FP2-915D.localdomain.mdns > mdns.mcast.net.mdns: 0 [7q] [5n] ANY (QM)? Presence-Sensor-FP2-915D._aqara-setup._tcp.local. ANY (QM)? Aqara-FP2-915D._Aqara-FP2._tcp.local. ANY (QM)? Presence-Sensor-FP2-915D._hap._tcp.local. ANY (QM)? Presence-Sensor-FP2-915D.local. ANY (QM)? Presence-Sensor-FP2-915D.local. ANY (QM)? Presence-Sensor-FP2-915D.local. ANY (QM)? Presence-Sensor-FP2-915D.local. (676)
10:35:51.479566 IP Presence-Sensor-FP2-915D.localdomain.mdns > mdns.mcast.net.mdns: 0 [7q] [5n] ANY (QM)? Presence-Sensor-FP2-915D._aqara-setup._tcp.local. ANY (QM)? Aqara-FP2-915D._Aqara-FP2._tcp.local. ANY (QM)? Presence-Sensor-FP2-915D._hap._tcp.local. ANY (QM)? Presence-Sensor-FP2-915D.local. ANY (QM)? Presence-Sensor-FP2-915D.local. ANY (QM)? Presence-Sensor-FP2-915D.local. ANY (QM)? Presence-Sensor-FP2-915D.local. (312)
10:35:51.785385 IP Presence-Sensor-FP2-915D.localdomain.mdns > mdns.mcast.net.mdns: 0*- [0q] 14/0/0 PTR _aqara-setup._tcp.local., PTR Presence-Sensor-FP2-915D._aqara-setup._tcp.local., (Cache flush) SRV Presence-Sensor-FP2-915D.local.:25605 0 0, (Cache flush) TXT "ui=2310466995" "id=lumi1.54ef4452915d" "pv=true" "cv=1" "ver=3", PTR _Aqara-FP2._tcp.local., PTR Aqara-FP2-915D._Aqara-FP2._tcp.local., (Cache flush) SRV Presence-Sensor-FP2-915D.local.:443 0 0, (Cache flush) TXT "mac=54:EF:44:52:91:5D" "mnid=Id3A" "setupid=008" "serialNumber=54EF4452915D", PTR _hap._tcp.local., PTR Presence-Sensor-FP2-915D._hap._tcp.local., (Cache flush) SRV Presence-Sensor-FP2-915D.local.:52332 0 0, (Cache flush) TXT "sh=kW/J9w==" "ci=10" "sf=1" "s#=1" "pv=1.1" "md=PS-S02E" "id=CB:A5:BC:CE:B1:E0" "ff=2" "c#=1", (Cache flush) A 192.168.0.122, (Cache flush) AAAA fe80::56ef:44ff:fe52:915d (634)
10:35:52.884560 IP Presence-Sensor-FP2-915D.localdomain.mdns > mdns.mcast.net.mdns: 0*- [0q] 14/0/0 PTR _aqara-setup._tcp.local., PTR Presence-Sensor-FP2-915D._aqara-setup._tcp.local., (Cache flush) SRV Presence-Sensor-FP2-915D.local.:25605 0 0, (Cache flush) TXT "ui=2310466995" "id=lumi1.54ef4452915d" "pv=true" "cv=1" "ver=3", PTR _Aqara-FP2._tcp.local., PTR Aqara-FP2-915D._Aqara-FP2._tcp.local., (Cache flush) SRV Presence-Sensor-FP2-915D.local.:443 0 0, (Cache flush) TXT "mac=54:EF:44:52:91:5D" "mnid=Id3A" "setupid=008" "serialNumber=54EF4452915D", PTR _hap._tcp.local., PTR Presence-Sensor-FP2-915D._hap._tcp.local., (Cache flush) SRV Presence-Sensor-FP2-915D.local.:52332 0 0, (Cache flush) TXT "sh=kW/J9w==" "ci=10" "sf=1" "s#=1" "pv=1.1" "md=PS-S02E" "id=CB:A5:BC:CE:B1:E0" "ff=2" "c#=1", (Cache flush) A 192.168.0.122, (Cache flush) AAAA fe80::56ef:44ff:fe52:915d (634)
10:35:53.981176 IP Presence-Sensor-FP2-915D.localdomain.mdns > mdns.mcast.net.mdns: 0*- [0q] 14/0/0 PTR _aqara-setup._tcp.local., PTR Presence-Sensor-FP2-915D._aqara-setup._tcp.local., (Cache flush) SRV Presence-Sensor-FP2-915D.local.:25605 0 0, (Cache flush) TXT "ui=2310466995" "id=lumi1.54ef4452915d" "pv=true" "cv=1" "ver=3", PTR _Aqara-FP2._tcp.local., PTR Aqara-FP2-915D._Aqara-FP2._tcp.local., (Cache flush) SRV Presence-Sensor-FP2-915D.local.:443 0 0, (Cache flush) TXT "mac=54:EF:44:52:91:5D" "mnid=Id3A" "setupid=008" "serialNumber=54EF4452915D", PTR _hap._tcp.local., PTR Presence-Sensor-FP2-915D._hap._tcp.local., (Cache flush) SRV Presence-Sensor-FP2-915D.local.:52332 0 0, (Cache flush) TXT "sh=kW/J9w==" "ci=10" "sf=1" "s#=1" "pv=1.1" "md=PS-S02E" "id=CB:A5:BC:CE:B1:E0" "ff=2" "c#=1", (Cache flush) A 192.168.0.122, (Cache flush) AAAA fe80::56ef:44ff:fe52:915d (634)