Skip to content

Latest commit

History

230 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

surepy

Library & CLI to interact with the Sure Petcare API. surepy lets you monitor and control the Pet Door/Cat Flap Connect 🚪 and the Pet Feeder Connect 🍽 by Sure Petcare.


surepy features:

🔑 get an api token with your account credentials
🚪 lock/unlock a door or flap
🐾 get the location of pets & devices
🐈 get the state and more attributes of pets & devices
🕰️ get historic data & events of pets & devices
📬 get a list of (past) notifications

Getting Started

surepy is available via pypi.org

python3 -m pip install --upgrade surepy
# or
pip install --upgrade surepy

there is also a small cli available

$ surepy --help
Usage: surepy [OPTIONS] COMMAND [ARGS]...
surepy cli 🐾
https://github.com/benleb/surepy
Options:
--version show surepy version
-j, --json enable json api response output
-t, --token TEXT api token
--help Show this message and exit.
Commands:
devices get devices
locking lock control
notification get notifications
pets get pets
position set pet position
report get pet/household report
token get a token

the cli is mainly intended for developing & debugging purposes and probably has bugs - be careful 🐾

Library example

importasynciofromosimportenvironfrompprintimportpprintfromtypingimportDict, ListfromsurepyimportSurepyfromsurepy.entitiesimportSurepyEntityfromsurepy.entities.devicesimportSurepyDevicefromsurepy.entities.petimportPetasyncdefmain():
# # user/password authentication (gets a token in background)# surepy = Surepy(email=user, password=password)# token authentication (token supplied via SUREPY_TOKEN env var)token=environ.get("SUREPY_TOKEN")
surepy=Surepy(auth_token=token)
# list with all petspets: List[Pet] =awaitsurepy.get_pets()
forpetinpets:
print(f"\n\n{pet.name}: {pet.state} | {pet.location}\n")
pprint(pet.raw_data())
print(f"\n\n - - - - - - - - - - - - - - - - - - - -\n\n")
# all entities as id-indexed dictentities: Dict[int, SurepyEntity] =awaitsurepy.get_entities()
# list with alldevicesdevices: List[SurepyDevice] =awaitsurepy.get_devices()
fordeviceindevices:
print(f"{device.name=} | {device.serial=} | {device.battery_level=}")
print(f"{device.type=} | {device.unique_id=} | {device.id=}")
print(f"{entities[device.parent_id].full_name=} | {entities[device.parent_id] =}\n")
asyncio.run(main())

Naming confusion for surepetcarebeta users 🐾 🤪 🤦

Sorry for the bad naming and resulting confusion and chaos 🙄 To "fix" this, I renamed surepetcarebeta to sureha.

NameRepoTypeDescriptionNeed Help?
surepy 🐾github.com/benleb/surepyPython LibraryLibrary to interact with the API of Sure Petcare. Also provides Classes for the various Sure Petcare Devicess. Use this if you write an own python tool/app and want to interact with the Sure Petcare APIIssues
surepetcareHA Favicongithub.com/home-assistant/coreHome Assistant IntegrationOfficial Home Assistant Integration for the Sure Petcare Devices like Doors, Flaps, Feeders, ...Issues, HA Forum
surehasurepetcarebetabenleb/surepetcaregithub.com/benleb/surehaHome Assistant IntegrationHome Assistant Integration developed in my own repo without reviews from the HA Team. This can be installed via HACS and is something like a preview integration for advanced users. Usually this provides more (experimental) features and faster fixes but lacks the code quality (reviews) and such from HAIssues
pethublocalgithub.com/plambrechtsen/pethublocalHome Assistant IntegrationHome Assistant Integration developed by @plambrechtsen which works completely independent from Sure Petcare. Check outs his repo for more information!Issues, HA Forum

Used by

Feel free to add you project!

Acknowledgments

Meta

Ben Lebherz: cat lover 🐾 developer & maintainer - @benleb | @ben_leb

This project is licensed under the MIT License - see the LICENSE file for details

About

🐾 Library & CLI to monitor and control the Pet Door & Cat Flap Connect 🚪 the Pet Feeder Connect 🍽 and the Felaqua 💦 sold by Sure Petcare

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages