npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

homebridge-lyrion-control

v2.1.2

Published

Homebridge platform plugin for Lyrion Media Server (LMS) – auto-discovers players, exposes Fan (volume control) and switch (play/stop) for Siri and automations

Readme

homebridge-lyrion-control

A Homebridge platform plugin for Lyrion Media Server (LMS), formerly known as Logitech Media Server / Squeezebox.

Automatically discovers all LMS players on your network and exposes them to Apple HomeKit, enabling control via Siri and HomeKit automations.


Features

  • Auto-discovery — finds all LMS players automatically, no manual configuration per player
  • Play / Stop — via a Fan accessory (on = play, off = stop)
  • Volume control — fan speed maps directly to volume (0–100)
  • Real-time status — polls LMS every 5 seconds to keep HomeKit in sync
  • Siri compatible — "Hey Siri, turn on Kitchen Radio", "set Kitchen Radio to 50%"
  • Automation compatible — works as a trigger and action in HomeKit automations
  • Supports Squeezelite / piCorePlayer — not just hardware Squeezebox players
  • Homebridge v2 ready — built for Homebridge v2 with strict plugin resolution

How It Appears in HomeKit

Each LMS player appears as a Fan accessory:

| Control | Action | |---|---| | Fan on | Start playback | | Fan off | Stop playback | | Fan speed (0–100) | Volume |


Requirements

  • Homebridge v2.0.0 or later
  • Node.js v18 or later
  • Lyrion Media Server (LMS) accessible on your local network
  • LMS players (Squeezelite, piCorePlayer, hardware Squeezebox, etc.)

Installation

Via Homebridge UI (recommended)

  1. Open the Homebridge UI
  2. Go to Plugins and search for homebridge-lyrion-control
  3. Click Install
  4. Configure via the plugin settings (see below)
  5. Restart Homebridge

Manual installation

sudo npm install -g homebridge-lyrion-control

Configuration

Configure via the Homebridge UI plugin settings, or add the following to your config.json:

{
  "platforms": [
    {
      "platform": "LMSPlatform",
      "name": "Lyrion Media Server",
      "serverurl": "http://YOUR-LMS-IP:9000",
      "updateInterval": 5,
      "debug": false
    }
  ]
}

Configuration options

| Option | Type | Default | Description | |---|---|---|---| | serverurl | string | required | Full URL to your LMS server including port (default port: 9000) | | updateInterval | integer | 5 | How often (in seconds) to poll player status. Range: 1–60 | | debug | boolean | false | Enable verbose debug logging for troubleshooting |


Siri Commands

Once added to HomeKit, you can control your players with Siri:

| Command | Action | |---|---| | "Hey Siri, turn on Kitchen Radio" | Start playback | | "Hey Siri, turn off Kitchen Radio" | Stop playback | | "Hey Siri, set Kitchen Radio to 50%" | Set volume to 50 |


HomeKit Automations

Players can be used in automations as both triggers and actions. For example:

  • When I arrive home → Turn on Living Room Speaker
  • When I leave home → Turn off all speakers
  • At 7:00 AM → Turn on Kitchen Radio, set to 30%
  • When good night scene activates → Turn off all speakers

Troubleshooting

No players found

  • Confirm LMS is running and reachable: curl http://<your-lms-ip>:9000/jsonrpc.js -X POST -H "Content-Type: application/json" -d '{"id":1,"method":"slim.request","params":["",["players",0,99]]}'
  • Check the serverurl in your config includes http:// and the correct port

Players appear but don't respond

  • Enable debug: true in config and check Homebridge logs
  • Confirm the player is connected in the LMS web interface

Volume shows as negative

  • This can happen when a player is muted at the LMS level. The plugin clamps volume to 0 in this case.

Compatibility

| LMS Player Type | Supported | |---|---| | Squeezelite | ✅ | | piCorePlayer | ✅ | | Hardware Squeezebox | ✅ | | Squeezebox Radio | ✅ | | Squeezebox Touch | ✅ |


Contributing

Issues and pull requests welcome at github.com/nilthing9/homebridge-lyrion-control.


License

MIT © nilthing9