Product ID = 3 FCC Link: https://fccid.io/XO9-IMPD00003

The Pet Door is obvious larger designed to take either a large cat, or a small dog and my 12.5kg dog which is a Lowchen happily uses the Pet Door. A major disadvantage of all the Connect devices is they all require batteries and only the Pet Door supports re-chargeable batteries from my understanding. With semi-typical usage the battery should last about 3-4 months. Sometimes more, but if the batteries are lasting less than 3 months something is wrong and you should find out why.

Pet Door advantages:

  • Supports a larger animals, but even a largeish cat should be fine with the cat flap.
  • Uses 'C' batteries and also supports re-chargables if you select Custom Mode 2.
  • You can select the Custom Mode via the buttons on the pet door, or send them via the cloud which setting custom modes can't be done with other devices and needs to be sent from the cloud by logging a case with SureFlap and hoping they will do it for you.
  • Can unlock both directions with Non Selective Entry mode so door mechanism doesn't need to unlock for each entry improving battery life so you should get 6+ months life with Energizer Max Alkalines. I do this for home as I don't have random cats who come inside due to our dog.
  • Buttons on the front and LCD on top of the pet door to visually check the situation, lock and unlock the door without using the cloud service.

Pet Door disadvantages:

  • Doesn't have the "dual scan" capabilities of the dual scan cat door so can't have selective exit depending on the animal. It would be nice to do this but the tunnel would need to be quite large on the interior side to be able to detect and scan the animal
  • A completely different message format to all the other devices... Why SurePet.. why did you do this? Or my guess was the Pet Door the first device they designed and whoever was the developer thought it was a good idea to follow the "hub" 'registers' approach. It's dumb and annoying to developer for.
  • Only supports one curfew
  • Curfew is another state alongside the locked / keepin state. Whereas on the Cat Flap curfews are independent.

Pet door message characteristics

Specifics of the Hub message ontop of Common message characteristics and there are only two message types from the Pet Door

  • 8 The 8 messages are generated by the Pet Door when an animal comes in or leaves through the door.
  • 132 Status register update all values are in big endian byte order, starts at 0 and goes to 630.

Pet door example messages

Type Example Description
CMD - Lock Door 6283d4fb 1000 2 36 1 03 Lock the door in both directions
CMD - Query Registers 6283d4fb 1000 3 0 630 Send command to query the Pet Door Registers from offset 0 to offset 630
Status - Pet 0 Came Inside 6283d4fb 0bc0 8 00 07 2f 81 00 01 6e 44 02 22 6e 01 e5 Message 8 with first 00 being pet number at 7:47 local time 07 2f came inside but pet door thought they were already inside 81 and the rest I don't know what it means
Status - Pet 0 Came Inside 6283d4fb 0bd0 132 130 525 3 07 2f 81 Also Pet 0 register 525 with 3 byte at 07 2f 7:47 came inside 81 when already thought inside

Hub 132 Register messages

Offset Example Description
3 132 132 register status update
4 1 Single byte decimal counter that goes from 0 to 254 before repeating, not zero padded
5 0 to 630 Starting register decimal offset, this is the starting offset of the register not zero padded
6 1 to 8 Payload length, from the above register, the proceeding bytes are the reigster(s) changing not zero padded, maximum length of 8 for each message
7+ xx Payload data in Hex byte, this is zero padded for the hex value

With the above understanding of the different message formats, the registers sent in the 132 messages are documented below from my understanding.

132 Door Registers

Register Description
33 Battery ADC Value. Battery full at 0xbd and door dies at around 0x61/0x5f. ADC Start at 2.1075 not sure if this is consistent or just my door, and ADC step = 0.0225
34-35 Door Time in local HH:MM in hex of the local time, so yes at DST Surepet updates every pet door with the new time
36 Lock State 0-4 The lock state of the door, UNLOCKED = 0, KEEPIN = 1, KEEPOUT = 2, LOCKED = 3, CURFEW = 4
40 Inbound lock state for keep pets out. This also changes between Normal - 2 and Locked Keep Out - 3, which is separate to what the 36 register offst is doing
59 Provisioned tag count. I think this is a total of active tags provisioned
60 Next free tag slot, when provisioning a tag from the cloud this selects the slot to use
61-63 Custom Mode in big endian byte order
91-309 Provisioned tags - 7 bytes for each provisioned tag with the first byte being the tag type
519 Curfew mode lock / unlock time
525-618 Pet movement state in or out
621 Unknown pet went outside

Pet Door Custom Modes

Custom Modes are a bitwise operator where each custom mode can be toggled on or off independently and allow additional features to be set on the Pet Door.

As per https://github.com/PetHubLocal/pethublocal/blob/main/pethublocal/enums.py

And:

Custom Mode Name Description YouTube Link
1 Nonselective Unlocks the door inbound so any animal can come in https://www.youtube.com/watch?v=riq5eRhDRGs
2 Rechargeables Work with lower voltage from 1.2v Rechargeables vs 1.5v Alkaline https://www.youtube.com/watch?v=QYtpQPlTFQM
3 ThreeSeconds Timid Pets - 3 Seconds delay before closing door https://www.youtube.com/watch?v=H3Xyqys5M88
4 TenSeconds Slower Locking - 10 Seconds delay before closing door https://www.youtube.com/watch?v=7iRo38jNwLc
5 Intruder Intruder Mode - Lock outside locks when non-provisioned animal detected by sensor to prevent door being pulled open https://www.youtube.com/watch?v=PWz8JbAxCMo
6 OppositeCurfew Opposite Curfew mode - Lock KeepOut rather than KeepIn https://www.youtube.com/watch?v=wILX2J4dwKU
7 LockedCurfew Fully Locking Curfew Mode - Locks both in and out locks when in curfew mode https://www.youtube.com/watch?v=0L6lmuvt8U0
8 MetalMode1 :metal: Metal :metal: Interference - This mode will help with severe metal interference in an installation https://www.youtube.com/watch?v=KIKXKdgp578
9 MetalMode2 :metal::metal: Metal :metal: Interference - This mode will help with severe metal interference in an installation https://www.youtube.com/watch?v=yqlIVgcG-ns
10 ExtendedRange Extended Mode - Extend frequency of scanning the tags https://www.youtube.com/watch?v=jKmGEf2jxJE
11 ExtendedIntruder Extended Intruder Mode - Extended Intruder Mode - Registers presence of intruder animal trying to enter the house and closes outside lock to prevent door being pulled open for longer period https://www.youtube.com/watch?v=9Twi5wgHWsU
13 DoubleChip1 Double Chip Operating Mode 1 - Allow animal with two tags interfering with each other to enter https://www.youtube.com/watch?v=xpnFTLppBlM
14 DoubleChip2 Double Chip Operating Mode 2 - Allow animal with two tags interfering with each other to enter https://www.youtube.com/watch?v=CY7NdNzVB1M
15 DoubleChip3 Double Chip Operating Mode 3 - Allow animal with two tags interfering with each other to enter https://www.youtube.com/watch?v=vfhzancw_5A
16 ProximityTest Custom Mode 16 - Proximity Sensor Test - Test the proximity function of the door https://www.youtube.com/watch?v=tCIHRrZyzlI
class PetDoorCustomMode(SureFlag):
    """ Custom Modes on the Pet Door """
    Disabled = 0              # All custom modes disabled
    Nonselective = 0x1        # Custom Mode 1 - Non-selective Entry - Unlocks the door inbound so any animal can come in
    Rechargeables = 0x2       # Custom Mode 2 - Rechargeable Batteries so work with lower voltage from 1.2v Rechargeables vs 1.5v Alkaline
    ThreeSeconds = 0x4        # Custom Mode 3 - Timid Pets - 3 Seconds delay before closing door
    TenSeconds = 0x8          # Custom Mode 4 - Slower Locking - 10 Seconds delay before closing door
    Intruder = 0x10           # Custom Mode 5 - Intruder Mode - Lock outside locks when non-provisioned animal detected by sensor to prevent door being pulled open
    OppositeCurfew = 0x20     # Custom Mode 6 - Opposite Curfew mode - Lock KeepOut rather than KeepIn
    LockedCurfew = 0x40       # Custom Mode 7 - Fully Locking Curfew Mode - Locks both in and out locks when in curfew mode
    MetalMode1 = 0x80         # Custom Mode 8 - Metal Interference - This mode will help with severe metal interference in an installation
    MetalMode2 = 0x100        # Custom Mode 9 - Metal Interference - This mode will help with severe metal interference in an installation
    ExtendedRange = 0x200     # Custom Mode 10 - Extended Mode - Extend frequency of scanning the tags
    ExtendedIntruder = 0x400  # Custom Mode 11 - Extended Intruder Mode - Extended Intruder Mode - Registers presence of intruder animal trying to enter the house and closes outside lock to prevent door being pulled open for longer period
    BIT12 = 0x800             # Bit12 - ?
    DoubleChip1 = 0x1000      # Custom Mode 13 - Double Chip Operating Mode 1 - Allow animal with two tags interfering with each other to enter
    DoubleChip2 = 0x2000      # Custom Mode 14 - Double Chip Operating Mode 2 - Allow animal with two tags interfering with each other to enter
    DoubleChip3 = 0x4000      # Custom Mode 15 - Double Chip Operating Mode 3 - Allow animal with two tags interfering with each other to enter
    ProximityTest = 0x8000    # Custom Mode 16 - Proximity Sensor Test - Test the proximity function of the door

Pet Door Tags

There are two tag types, 01 for FDX-B tags and 04 for HDX tags, I have not yet figured out the calculation for the HDX tags.

The door tags is a big endian value for the FDX-B tags. The remaining 6 bytes is the tag value split into a 10 bits for the Country Code and 38 bits for the National Code

Example:

Hex Tag Decimal
01 52 54 61 12 eb 9f 999.100001000010

999.100001000010 to binary zero padding to 10 bits and 38 bits respectively : 1111100111 and 01011101001000100001100010101001001010

111110011101011101001000100001100010101001001010 reversed bits 010100100101010001100001000100101110101110011111

010100100101010001100001000100101110101110011111 as integer 90522359360415

90522359360415 as hex 52546112EB9F

Then prefix 01 for the tag type of FDX-B and you get 01 52 54 61 12 eb 9f