homebridge-ping-tv
v1.2.2
Published
Homebridge plugin for IP TV
Readme
Homebridge Ping TV
Overview
Homebridge Ping TV is a plugin for Homebridge that allows you to monitor the status of your IP TV using ping. This plugin adds an accessory to your Homebridge setup, which checks the connectivity of your TV through its IP address.
Homebridge v2.0 Compatibility
This plugin is compatible with both Homebridge v1.6+ and Homebridge v2.0.
As of v1.2.0, the plugin uses the modern onGet async API instead of the deprecated callback-based .on('get', ...) handler. No configuration changes are required — the update is fully backwards compatible.
Required versions:
- Homebridge:
^1.6.0 || ^2.0.0 - Node.js:
^18.20.4 || ^20.15.1 || ^22 || ^24
Features
- Simple Setup: Easily configure the plugin with the IP address of your TV.
- Real-time Monitoring: Get the real-time status of your TV by pinging its IP address.
- Homebridge UI Support: Configure all settings directly in the Homebridge UI — no manual JSON editing required.
- False Alarm Protection: Configurable consecutive failure threshold prevents single dropped packets from triggering offline status.
Installation
1. Install Homebridge
If you haven't installed Homebridge yet, follow the Homebridge installation guide.
2. Install the Plugin
Install the Homebridge Ping TV plugin using npm:
npm install -g homebridge-ping-tv3. Configure the Plugin
Option A: Homebridge UI (recommended)
Open Homebridge UI, go to Plugins, find Homebridge Ping TV and click Settings. Fill in the form and save.
Option B: Manual config.json
Add the plugin to your Homebridge config.json file:
{
"accessories": [
{
"accessory": "PingTV",
"name": "Living Room TV",
"ipAddress": "192.168.1.100",
"manufacturer": "Philips",
"model": "55OLED807",
"serialNumber": "ABC123",
"pingInterval": 5000,
"pingTimeout": 1000,
"consecutiveFailures": 3
}
]
}Configuration Options
| Field | Required | Default | Description |
|---|---|---|---|
| accessory | Yes | — | Must be PingTV |
| name | Yes | — | Display name of the TV |
| ipAddress | Yes | — | IP address of your TV |
| pingInterval | No | 5000 | Interval between pings (ms) |
| pingTimeout | No | 1000 | Timeout for each ping (ms) |
| consecutiveFailures | No | 3 | Number of consecutive failed pings before marking TV as offline |
| manufacturer | No | Custom Manufacturer | Manufacturer name shown in Home app |
| model | No | Custom Model | Model name shown in Home app |
| serialNumber | No | IP address | Serial number shown in Home app |
Multiple TVs Example
{
"accessories": [
{
"accessory": "PingTV",
"name": "Bedroom TV",
"ipAddress": "192.168.1.101",
"pingInterval": 5000
},
{
"accessory": "PingTV",
"name": "Kitchen TV",
"ipAddress": "192.168.1.102",
"pingInterval": 10000,
"consecutiveFailures": 5
}
]
}Contributing
Feel free to submit issues or pull requests.
License
This project is licensed under the ISC License.
