[RELEASE] Aqara FP1 Human Presence Sensor (RTCZCGQ11LM)

Hi @kahn-hubitat ,

I have placed the previous versions of this driver (including 1.2.2) in a shared Google Drive folder:
https://drive.google.com/drive/folders/1MJsLZMUukoy-KnElf1fxlGfEzU-st0Qs?usp=share_link

The version number is included in the driver name, so you can assign different versions to different devices when needed. The latest driver version is using the default name, as in HPM.

You and me both :smiley: Wanted to let you know that I have my own basic FP1 driver that I've been playing around with (best way to learn) and have just made progress on the code needed to get some level of region functionality working, both to set and remove a region and to get region events generated. Supposedly the same mechanism can be used to set interference sources which is what I really want to see if I can get it to ignore the ceiling fan! Should be easy enough to incorporate into your driver once I've got it all working properly :slight_smile:

4 Likes

That will be great, Jonathan!
Your involvement is a guarantee for success, I have learned a lot from your code so far! :smiley:

I hope that by the end of this week will finish the Tuya irrigation valves driver, so later I can come back to this one. In the valve driver, I have improved a bit the 'device profiles' concept. Now the devices fingerprints static definitions are removed from the metadata section and are generated dynamically from the device profiles map. This will help a lot to easily maintain different devices that are within one and the same profile group.

1 Like

Is it possible to pair the FP1 with the Aquara App first. Program the zones to exclude the fan, then pair it with HE and the device remember the exclusion?

I have tried that but without a success.
When pairing to HE the device is reset and the previous configuration settings made in Aqara Home app seem to be deleted.

But this procedure can be tested again to confirm it or not.

Correct, the European C5 has an external Zwave radio dongle and internal Zigbee radio

Since I have never used the Aqara app, can someone enlighten me as to how the "Edge" regions and "Exit Entrances" are setup in the app and what they actually do?

Will be interested to see what you do, happily, I'm focused on single device types rather than the complexity you have of all those devices each with their own quirks!

1 Like

@kkossev Well I have run into a problem with a new device. I have joined and removed it several times. With each successful join I performed several rejoins, all close to to hub.
I am concluding it is defective but I thought you might be curious. I have attached a sample of the logs from the last join from 16 hours ago. What seems to be happening is it it constantly triggering to active. There is never an inactive event. I have pointed the sensor to several different directions that have no movement just to be sure.

Summary

dev:64092023-03-02 07:04:52.023 AMdebugAcccccccc (0x06B) unknown parameter, value: 3

dev:64092023-03-02 07:04:52.022 AMdebugAcccccccc (0x6A) unknown parameter, value: 1

dev:64092023-03-02 07:04:52.020 AMinfoAcccccccc approach_distance is medium (1)

dev:64092023-03-02 07:04:52.014 AMdebugAcccccccc unknown tag=68 dataType 0x20 rawValue=0

dev:64092023-03-02 07:04:52.008 AMinfoAcccccccc monitoring_mode is undirected (0 )

dev:64092023-03-02 07:04:52.006 AMinfoAcccccccc (tag 0x66) sensitivity is high (3)

dev:64092023-03-02 07:04:51.996 AMinfoAcccccccc Motion is active 47548s

dev:64092023-03-02 07:04:51.995 AMinfoAcccccccc presence is present

dev:64092023-03-02 07:04:51.992 AMinfoAcccccccc (0x65) presence is present (1)

dev:64092023-03-02 07:04:51.991 AMdebugAcccccccc unknown tag=12 dataType 0x20 rawValue=0

dev:64092023-03-02 07:04:51.990 AMdebugAcccccccc unknown tag=10 dataType 0x20 rawValue=1

dev:64092023-03-02 07:04:51.988 AMdebugAcccccccc unknown tag=0C dataType 0x20 rawValue=20

dev:64092023-03-02 07:04:51.987 AMdebugParent NWK is 03C5

dev:64092023-03-02 07:04:51.986 AMdebugAcccccccc unknown tag=08 dataType 0x21 rawValue=310

dev:64092023-03-02 07:04:51.985 AMdebugRSSI is 5 ? db

dev:64092023-03-02 07:04:51.984 AMdebugdecodeAqaraStruct len = 92 valueHex = 2D03281805210500082136010A21C5030C20141020011220006520016620036720006820006920016A20016B2003

dev:64092023-03-02 07:04:51.980 AMdebugAcccccccc parse: Desc Map: [raw:E26401FCC062F700412D03281805210500082136010A21C5030C20141020011220006520016620036720006820006920016A20016B2003, dni:E264, endpoint:01, cluster:FCC0, size:62, attrId:00F7, encoding:41, command:0A, value:03281805210500082136010A21C5030C20141020011220006520016620036720006820006920016A20016B2003, clusterInt:64704, attrInt:247]

dev:64092023-03-02 07:04:51.973 AMdebugAcccccccc parse: description is read attr - raw: E26401FCC062F700412D03281805210500082136010A21C5030C20141020011220006520016620036720006820006920016A20016B2003, dni: E264, endpoint: 01, cluster: FCC0, size: 62, attrId: 00F7, encoding: 41, command: 0A, value: 2D03281805210500082136010A21C5030C20141020011220006520016620036720006820006920016A20016B2003

dev:64092023-03-02 06:59:44.857 AMdebugAcccccccc (0x06B) unknown parameter, value: 3

dev:64092023-03-02 06:59:44.856 AMdebugAcccccccc (0x6A) unknown parameter, value: 1

dev:64092023-03-02 06:59:44.854 AMinfoAcccccccc approach_distance is medium (1)

dev:64092023-03-02 06:59:44.849 AMdebugAcccccccc unknown tag=68 dataType 0x20 rawValue=0

dev:64092023-03-02 06:59:44.844 AMinfoAcccccccc monitoring_mode is undirected (0 )

dev:64092023-03-02 06:59:44.810 AMinfoAcccccccc (tag 0x66) sensitivity is high (3)

dev:64092023-03-02 06:59:44.802 AMinfoAcccccccc Motion is active 47241s

dev:64092023-03-02 06:59:44.800 AMinfoAcccccccc presence is present

dev:64092023-03-02 06:59:44.798 AMinfoAcccccccc (0x65) presence is present (1)

dev:64092023-03-02 06:59:44.797 AMdebugAcccccccc unknown tag=12 dataType 0x20 rawValue=0

dev:64092023-03-02 06:59:44.796 AMdebugAcccccccc unknown tag=10 dataType 0x20 rawValue=1

dev:64092023-03-02 06:59:44.794 AMdebugAcccccccc unknown tag=0C dataType 0x20 rawValue=20

dev:64092023-03-02 06:59:44.793 AMdebugParent NWK is 03C5

dev:64092023-03-02 06:59:44.792 AMdebugAcccccccc unknown tag=08 dataType 0x21 rawValue=310

dev:64092023-03-02 06:59:44.791 AMdebugRSSI is 5 ? db

dev:64092023-03-02 06:59:44.790 AMdebugdecodeAqaraStruct len = 92 valueHex = 2D03281805210500082136010A21C5030C20141020011220006520016620036720006820006920016A20016B2003

dev:64092023-03-02 06:59:44.787 AMdebugAcccccccc parse: Desc Map: [raw:E26401FCC062F700412D03281805210500082136010A21C5030C20141020011220006520016620036720006820006920016A20016B2003, dni:E264, endpoint:01, cluster:FCC0, size:62, attrId:00F7, encoding:41, command:0A, value:03281805210500082136010A21C5030C20141020011220006520016620036720006820006920016A20016B2003, clusterInt:64704, attrInt:247]

dev:64092023-03-02 06:59:44.779 AMdebugAcccccccc parse: description is read attr - raw: E26401FCC062F700412D03281805210500082136010A21C5030C20141020011220006520016620036720006820006920016A20016B2003, dni: E264, endpoint: 01, cluster: FCC0, size: 62, attrId: 00F7, encoding: 41, command: 0A, value: 2D03281805210500082136010A21C5030C20141020011220006520016620036720006820006920016A20016B2003

dev:64092023-03-02 06:54:26.579 AMdebugAcccccccc (0x06B) unknown parameter, value: 3

dev:64092023-03-02 06:54:26.577 AMdebugAcccccccc (0x6A) unknown parameter, value: 1

dev:64092023-03-02 06:54:26.576 AMinfoAcccccccc approach_distance is medium (1)

dev:64092023-03-02 06:54:26.571 AMdebugAcccccccc unknown tag=68 dataType 0x20 rawValue=0

dev:64092023-03-02 06:54:26.565 AMinfoAcccccccc monitoring_mode is undirected (0 )

dev:64092023-03-02 06:54:26.564 AMinfoAcccccccc (tag 0x66) sensitivity is high (3)

dev:64092023-03-02 06:54:26.554 AMinfoAcccccccc Motion is active 46923s

dev:64092023-03-02 06:54:26.552 AMinfoAcccccccc presence is present

dev:64092023-03-02 06:54:26.550 AMinfoAcccccccc (0x65) presence is present (1)

dev:64092023-03-02 06:54:26.549 AMdebugAcccccccc unknown tag=12 dataType 0x20 rawValue=0

dev:64092023-03-02 06:54:26.547 AMdebugAcccccccc unknown tag=10 dataType 0x20 rawValue=1

dev:64092023-03-02 06:54:26.546 AMdebugAcccccccc unknown tag=0C dataType 0x20 rawValue=20

dev:64092023-03-02 06:54:26.545 AMdebugParent NWK is 03C5

dev:64092023-03-02 06:54:26.544 AMdebugAcccccccc unknown tag=08 dataType 0x21 rawValue=310

dev:64092023-03-02 06:54:26.543 AMdebugRSSI is 5 ? db

dev:64092023-03-02 06:54:26.541 AMdebugdecodeAqaraStruct len = 92 valueHex = 2D03281805210500082136010A21C5030C20141020011220006520016620036720006820006920016A20016B2003

dev:64092023-03-02 06:54:26.538 AMdebugAcccccccc parse: Desc Map: [raw:E26401FCC062F700412D03281805210500082136010A21C5030C20141020011220006520016620036720006820006920016A20016B2003, dni:E264, endpoint:01, cluster:FCC0, size:62, attrId:00F7, encoding:41, command:0A, value:03281805210500082136010A21C5030C20141020011220006520016620036720006820006920016A20016B2003, clusterInt:64704, attrInt:247]

dev:64092023-03-02 06:54:26.532 AMdebugAcccccccc parse: description is read attr - raw: E26401FCC062F700412D03281805210500082136010A21C5030C20141020011220006520016620036720006820006920016A20016B2003, dni: E264, endpoint: 01, cluster: FCC0, size: 62, attrId: 00F7, encoding: 41, command: 0A, value: 2D03281805210500082136010A21C5030C20141020011220006520016620036720006820006920016A20016B2003

dev:64092023-03-02 06:52:24.200 AMdebugAcccccccc pollPresence()

dev:64092023-03-02 06:49:09.339 AMdebugAcccccccc (0x06B) unknown parameter, value: 3

dev:64092023-03-02 06:49:09.338 AMdebugAcccccccc (0x6A) unknown parameter, value: 1

dev:64092023-03-02 06:49:09.336 AMinfoAcccccccc approach_distance is medium (1)

dev:64092023-03-02 06:49:09.331 AMdebugAcccccccc unknown tag=68 dataType 0x20 rawValue=0

dev:64092023-03-02 06:49:09.326 AMinfoAcccccccc monitoring_mode is undirected (0 )

dev:64092023-03-02 06:49:09.324 AMinfoAcccccccc (tag 0x66) sensitivity is high (3)

dev:64092023-03-02 06:49:09.312 AMinfoAcccccccc Motion is active 46605s

dev:64092023-03-02 06:49:09.310 AMinfoAcccccccc presence is present

dev:64092023-03-02 06:49:09.308 AMinfoAcccccccc (0x65) presence is present (1)

dev:64092023-03-02 06:49:09.307 AMdebugAcccccccc unknown tag=12 dataType 0x20 rawValue=0

dev:64092023-03-02 06:49:09.306 AMdebugAcccccccc unknown tag=10 dataType 0x20 rawValue=1

dev:64092023-03-02 06:49:09.305 AMdebugAcccccccc unknown tag=0C dataType 0x20 rawValue=20

dev:64092023-03-02 06:49:09.303 AMdebugParent NWK is 03C5

dev:64092023-03-02 06:49:09.302 AMdebugAcccccccc unknown tag=08 dataType 0x21 rawValue=310

dev:64092023-03-02 06:49:09.301 AMdebugRSSI is 5 ? db

dev:64092023-03-02 06:49:09.300 AMdebugdecodeAqaraStruct len = 92 valueHex = 2D03281805210500082136010A21C5030C20141020011220006520016620036720006820006920016A20016B2003

dev:64092023-03-02 06:49:09.296 AMdebugAcccccccc parse: Desc Map: [raw:E26401FCC062F700412D03281805210500082136010A21C5030C20141020011220006520016620036720006820006920016A20016B2003, dni:E264, endpoint:01, cluster:FCC0, size:62, attrId:00F7, encoding:41, command:0A, value:03281805210500082136010A21C5030C20141020011220006520016620036720006820006920016A20016B2003, clusterInt:64704, attrInt:247]

dev:64092023-03-02 06:49:09.291 AMdebugAcccccccc parse: description is read attr - raw: E26401FCC062F700412D03281805210500082136010A21C5030C20141020011220006520016620036720006820006920016A20016B2003, dni: E264, endpoint: 01, cluster: FCC0, size: 62, attrId: 00F7, encoding: 41, command: 0A, value: 2D03281805210500082136010A21C5030C20141020011220006520016620036720006820006920016A20016B2003

I am having the same issue with one of my FP1 sensors :-(. I can manually reset the status to inactive and it will detect motions and shift to active......but it never resets back to inactive.

@bbholthome @kevin9 have you tried changing the power supply?
There were cases when this helped. Also, move it to another room, away from any electronic fields to check whether it will settle down.

[dev:6409]2023-03-02 06:49:09.303 AM[debug] Parent NWK is 03C5
The above log means, that the sensor is not communicating to your hub directly, but via a repeater! You can find the device name by searching for 03C5 in Settings->Zigbee details page.

Try pairing the FP1 when this device is temporarily powered off.

During the weekend I will implement a command to the device to reset the presence state, but I don't think this will help.

@kkossev @kevin9 Looks like theFP1 is functioning now. I'll keep an eye on it because I'm not sure I trust it yet. This particular sensor does not like being set to High sensitivity. That is what was causing the trouble. I set to low and it is responding normally. My other FP1s are set to high.

Some very interesting things occurred along the way with this particular device.
It was very difficult to pair, it took a couple dozen tries. Even then as you pointed out it paired with a different device, not the hub. You should know all my pair attempts were 0 to .5 meters away from the hub. The other device is a Sengled energy monitoring outlet 3 meters away.

This gave me an idea, I removed the FP1 and paired it back again close to the Sengled. It paired shockingly quick and on the first try. Then unplugged the Sengled and repaired (without remove) close to the hub. Initially the results were no change, ie. it didn't work. But then I lowered the sensitivity and it started to work.

So yes if I had lowered the sensitivity in the first place all would have been good but have I stumbled upon an alterative pair method for when the FP1 refuses to pair to the hub?

Anothr suggestion is to try removing the troubled FP1 and try pairing it to a different hub.

I have one FP1 that kept falling off a C5 hub. It was 3 feet away (pointing another direction) from anothe FB1 which never has had a problem.

I removed it and put on another C5 hub with low load as a test. This C5 hub has never locked up.
I even left the FP1 unplugged for 3 days.
It immediately went persent as soon as I plugged it back in.

The C5 hub that it kept falling off has a lot of devices and routines and has a bit of problem with occasional locking up.

New C8 on order will transfer over most of devices and routines and leave some on the old C5 to split up the load.
I will put this FP1 back on the old C5 and see if that fixes the issue.

It is possible any device is faulty but from what I have been seeing I might not blame the FP1.

@NoWon thanks for the suggestion. If I continue to have problems I will certainly try it bot hopefully I have it fixed.

Spoke too soon. Soon as I moved it it stop working. Even after I put it back to were it was working. I need a break from this thing.

@bbholthome put it away and lets try again later when we have it tested with the new C-8 hub.
I think that a lot of problems like in your case are coming from the FP1 incompatibility with the C-7 and older HE hubs that don't support the Zigbee 3.0 specifics.

There are too many hacks in this driver implemented to make it work with C-7. None of these have been ever needed for FP1 to start reporting in Zigbee2MQTT or DeConz or SmartThings or any other Zigbee 3.0 coordinator.

I hope we will know more in a week from now.

1 Like

I believe the only difference between the C7 and C8 hubs is the antennas for better range.
I have had no issues with my C7 or another C5.

I had tried two different FP1 with the same results on this problem C5 hub they kept falling off.
Then after I posted that last message it dawn on me the likely reason is my C5 hub is overloaded not just in routines but also devices.
The hub can only handle 32 directly connecting zigbee devices more with routers but no guarantee the FP1 will route though a router.
I have 57 zigbee devices on this overloaded C5 vs only aprox 13 on each of my other C5 and C7.

So will definitely have to split up my C5 with my C8.

No, the differences between ZHA 1.2 and Zigbee 3.0 are of huge importance for probably 0.5% of all the devices that we use for home automation... And I think that Aqara FP1 fits in this 0.5% segment.

1 Like

My mistake I thought they had updated zigbee 3 on the C7

1 Like

No, see here and here (Zigbee2MQTT requires Zigbee coordinator firmware dated Nov 2021 or newer).

1 Like