Skip to content

Welcome to philtv-js

philtv-js is a modern, fully-typed TypeScript library designed to control Philips Android TVs using the JointSpace v6 API protocol.

Whether you want to build a custom smart home integration, control your Ambilight programmatically, or build a complete alternative remote control, philtv-js provides a secure, predictable, and developer-friendly way to interact with your TV.

Why use philtv-js? ✨

  • 100% Type-Safe: Built from the ground up with TypeScript. Catch errors at compile time and enjoy excellent IDE autocomplete for payloads, Ambilight colors, and remote keys.
  • Built-in Pairing: Handles the complex Digest Auth pairing process out of the box, either programmatically or via a convenient CLI.
  • Modern & Lightweight: Powered by urllib (built on top of the native Fetch API) for fast, secure HTTP/HTTPS requests without bloated dependencies.
  • Domain Driven: API surface is logically split into sub-modules (ambilight, system, input, menu) to keep your code clean.

Compatibility Notice

This library is specifically designed for modern Philips TVs running API Version 6 over HTTPS using Digest Authentication. Older TVs running v1 or v5 over plain HTTP are not currently supported.

Installation 🧑‍💻

Add philtv-js to your project using your favorite package manager:

bash
npm install philtv-js
bash
pnpm add philtv-js
bash
yarn add philtv-js

Used by 💪

See how others are using philtv-js in the wild:

(Are you using this library? Open a PR to add your project here!)

Useful Resources & Inspiration 📚

This library stands on the shoulders of giants. A huge thanks to the developers who previously reverse-engineered and documented the JointSpace protocol.

Official & Community Docs:

Other Implementations:


Ready to start?

Jump to the Pairing Guide to generate your credentials and start controlling your TV!

Version v2.2.0 - Built on 2026-03-28