A Python library for controlling LG WebOS TVs via WebSocket API, enabling automation and integration.
PyWebOSTV is a Python library that enables programmatic control of LG WebOS smart TVs through a WebSocket API. It solves the problem of automating TV interactions for home automation, custom remote applications, and integration with other systems by providing a clean, extensible interface to TV features like media playback, app launching, and input simulation.
Python developers building home automation systems, custom remote controls, or applications that need to integrate with LG WebOS TVs, such as media centers or IoT projects.
Developers choose PyWebOSTV for its comprehensive feature set, support for both blocking and non-blocking calls, subscription-based event handling, and extensible architecture that makes it easy to add new TV APIs not yet covered by the library.
Python API for controlling LG TVs (Web OS)
Supports media playback, system controls, app management, input simulation, TV channels, and source switching, with subscription-based event handling for real-time updates like volume changes.
Base class design allows easy addition of new WebOS APIs not yet supported, avoiding assumptions about storage or concurrency for flexibility, as highlighted in the philosophy section.
Offers both blocking and non-blocking calls with callback support, making it adaptable to different application styles and performance needs, demonstrated in the API usage examples.
Doesn't enforce a specific storage method for authentication tokens, letting developers choose their own persistence strategy, unlike libraries that assume file-based storage.
Lacks native support for turning on the TV from off; requires external Wake-on-LAN libraries and setup, which isn't integrated into the SDK, as admitted in the FAQs.
Manual management of the 'store' object for credentials is error-prone, leading to repeated TV prompts if not handled correctly, a common issue addressed in the troubleshooting section.
On macOS, installation requires extra steps to configure OpenSSL via brew and environment variables, adding complexity and potential for setup failures, as noted in the installation guide.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.