All Projects → JosephDuffy → homebridge-pc-volume

JosephDuffy / homebridge-pc-volume

Licence: MIT license
Homebridge plugin to control your computer's volume using HomeKit and Siri

Programming Languages

typescript
32286 projects
shell
77523 projects
javascript
184084 projects - #8 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to homebridge-pc-volume

homebridge-panasonic
A Homebridge plugin for Panasonic Viera TV's. Written to support the new Homekit TV accessory.
Stars: ✭ 18 (-67.27%)
Mutual labels:  homebridge, homekit
homebridge-adb
Homebridge script to control remote ADB enabled Android device
Stars: ✭ 56 (+1.82%)
Mutual labels:  homebridge, homekit
Homebridge Dafang
Homebridge Plugin for Xiaomi Dafang / Wyze Cam IP Camera => Hey Siri, Start Video Recording
Stars: ✭ 176 (+220%)
Mutual labels:  homebridge, homekit
homebridge-ESP8266-pojects
This is a directory where I want to share my own ESP8266 Smart Home projects.
Stars: ✭ 18 (-67.27%)
Mutual labels:  homebridge, homekit
homebridge-wifipresence
Detect presence in the room via wifi
Stars: ✭ 39 (-29.09%)
Mutual labels:  homebridge, homekit
Homebridge Platform Wemo
Homebridge plugin to control Wemo devices.
Stars: ✭ 173 (+214.55%)
Mutual labels:  homebridge, homekit
Pai
Paradox Magellan, Spectra and EVO, with MQTT, Signal, Pushbullet, Pushover and others
Stars: ✭ 185 (+236.36%)
Mutual labels:  homebridge, homekit
Homebridge Dacp
Remotely control Apple TV and iTunes via HomeKit.
Stars: ✭ 128 (+132.73%)
Mutual labels:  homebridge, homekit
Homebridge Ewelink
Homebridge plugin to control eWeLink devices with original firmware.
Stars: ✭ 208 (+278.18%)
Mutual labels:  homebridge, homekit
Dsckeybusinterface
An Arduino/esp8266/esp32 library to directly interface with DSC security systems.
Stars: ✭ 202 (+267.27%)
Mutual labels:  homebridge, homekit
homebridge-keylights
Yet another Homebridge plugin for Elgato Key Light and Key Light Air. https://homebridge.io
Stars: ✭ 40 (-27.27%)
Mutual labels:  homebridge, homekit
homebridge-vieramatic
Homebridge plugin for Panasonic™ Viera™ TVs (includes support for 2018 and later models)
Stars: ✭ 39 (-29.09%)
Mutual labels:  homebridge, homekit
Homebridge Homematic
Homematic plugin for homebridge: https://github.com/nfarina/homebridge
Stars: ✭ 163 (+196.36%)
Mutual labels:  homebridge, homekit
homebridge-callmonitor
Signals incoming and outgoing calls using the call monitor facility in Fritz!Box devices via HomeKit
Stars: ✭ 25 (-54.55%)
Mutual labels:  homebridge, homekit
Homebridge Wol
A Wake on Lan plugin for Homebridge
Stars: ✭ 150 (+172.73%)
Mutual labels:  homebridge, homekit
Homebridge Mi Hygrothermograph
Homebridge plugin for the Xiaomi Mi Bluetooth Temperature and Humidity Sensor
Stars: ✭ 179 (+225.45%)
Mutual labels:  homebridge, homekit
Fakegato History
Module to emulate Elgato Eve history
Stars: ✭ 117 (+112.73%)
Mutual labels:  homebridge, homekit
Docker Homebridge
Homebridge Docker. HomeKit support for the impatient using Docker on x86_64, Raspberry Pi (armhf) and ARM64. Includes ffmpeg + libfdk-aac.
Stars: ✭ 1,847 (+3258.18%)
Mutual labels:  homebridge, homekit
Homebridge Gsh
Allow Google Assistant to control your Homebridge accessories.
Stars: ✭ 190 (+245.45%)
Mutual labels:  homebridge, homekit
homebridge-vsx
📻 A VSX and SC Plugin for homebridge
Stars: ✭ 12 (-78.18%)
Mutual labels:  homebridge, homekit

homebridge-pc-volume

Verified by Homebridge Tests Status codecov npm version

homebridge-pc-volume is a Homebridge plugin that adds a support for changing a computer's volume using HomeKit and Siri.

OS Support

homebridge-pc-volume utilises node-loudness, which currently supports macOS, Linux (using ALSA), and Windows. Windows may need OpenSSL to be installed; it is required when being run on CI, which installs the latest 64-bit not-light 1.0.2 build avialable from https://slproweb.com/products/Win32OpenSSL.html. I have not personally tested this project on Linux or Windows.

Installation

First, install Homebridge.

Then install homebridge-pc-volume via npm:

npm install -g homebridge-pc-volume

homebridge-pc-volume will also need to be specified as an accessory in your ~/.homebridge/config.json:

{
  // Other keys here...
  "accessories": [
    {
      "accessory": "ComputerSpeakers",
      "name": "MacBook"
    }
  ]
}

Note that accessory must be "ComputerSpeakers", while the name can be any value of your choosing.

Configuration

When the property logarithmic is set to true the volume will be scaled logarithmically.

The services property can be used to decide how your computer's speaker will be exposed: as a lightbulb, fan, speaker, or a combination of all 3.

Please note that while iOS 11 supports "HomeKit speakers" this appears to actually be via AirPlay 2, so the "speaker" option is unlikely to work!

If no services key is provided a lightbulb will be exposed.

Lightbulb Only (default, implicit)

  "accessories": [
    {
      "accessory": "ComputerSpeakers",
      "name": "MacBook"
    }
  ]

Lightbulb Only (default prior to 1.1)

  "accessories": [
    {
      "accessory": "ComputerSpeakers",
      "name": "MacBook",
      "services": ["lightbulb"]
    }
  ]

Fan Only

  "accessories": [
    {
      "accessory": "ComputerSpeakers",
      "name": "MacBook",
      "services": ["fan"]
    }
  ]

Speaker and Fan

  "accessories": [
    {
      "accessory": "ComputerSpeakers",
      "name": "MacBook",
      "services": ["speaker", "fan"]
    }
  ]

Volume Buttons

Buttons can be exposed that will increase or decrease the system volume by a set percentage. These services are called increase-button and decrease-button. switchVolumeDelta can be provided to change the default percentage change of 5%. switchDelay controls the delay in ms between the switch being turned on and turned back off. Without a delay the Home app will not display the change. Defaults to 10.

  "accessories": [
    {
      "accessory": "ComputerSpeakers",
      "name": "MacBook",
      "services": ["fan", "increase-button", "decrease-button"],
      "switchVolumeDelta": 10,
      "switchDelay": 100
    }
  ]

Initial Values

If you wish to set some initial values when the plugin starts you can set the initialVolume and initiallyMuted properties:

  "accessories": [
    {
      "accessory": "ComputerSpeakers",
      "name": "MacBook",
      "initialVolume": 70,
      "initiallyMuted": true
    }
  ]

Development

To develop homebridge-pc-volume locally:

  1. Clone the project
  2. Run npm install
  3. Run npm run build
  4. Run npm install --global $(pwd)

This will allow homebridge to find your local version of homebridge-pc-volume. After making changes you will need to restart homebridge.

You may also stop any homebridge instance you already have running and run yarn build:watch:debug, which will start homebridge, and automatically restart it when a source file is updated. This instance of homebridge uses the .homebridge-debug/config.json config file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].