Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor for public release with latest integration library #13

Merged
merged 29 commits into from
Mar 6, 2024

Conversation

zehnm
Copy link
Contributor

@zehnm zehnm commented Mar 6, 2024

This PR is a major rewrite to support more features and to release the project as open source.

Added

Fixed

  • Only discover Apple TV devices and no longer HomePods (feature-and-bug-tracker#173).
  • Improved disconnect & reconnect handling. This should prevent the reported BlockedStateError issues (feature-and-bug-tracker#300).
  • Automatically wake up Apple TV if a command is sent while it is in standby.

Changed

  • Play/Pause will exit screensaver and continue playing paused media (tested with Apple TV+, YouTube).
  • Updated pyatv client library to latest 0.14.5 release for common bug fixes and improvements.

zehnm added 29 commits February 28, 2024 14:30
- use public Python integration library 0.1.3
- use Python naming conventions
- separate driver into config & discovery modules
- ci build uses pyinstaller docker build image
- Exception handler wrapper for handling pyatv errors
- missing docstrings
- type parameters
- No public fields
- Use enum for ATV protocols
- Reconnect after disconnect notification
- Handle BlockedStateError
Setup ATV with manual IP address
feature-and-bug-tracker#173
This should prevent the device state being stuck in UNAVAILABLE after setup.
Paired devices are not automatically set as a configured device.
Wait with device connection until subscribe_events request from R2.
- detect active screensaver
- wakeup device if command is received
- limit entity updates if data hasn't changed
- reduce device polling to 10s
@zehnm zehnm requested a review from martonborzak March 6, 2024 21:24
@zehnm zehnm merged commit f43f802 into main Mar 6, 2024
5 checks passed
@zehnm zehnm deleted the refactor/intg-lib-0.1.3 branch March 6, 2024 22:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support multiple Apple TV devices Missing setup instruction translations
2 participants