资料介绍
软件简介
homebridge-rusty-spotify
Spotify plugin for Homebridge written in Rust. The plugin requires a Spotify Premium account.
Installation and Setup
-
Install Homebridge:
sudo npm install -g homebridge
-
Install the plugin:
sudo npm install -g homebridge-rusty-spotify
- Register the plugin as app in the Spotify Developer Dashboard
- Configure the plugin using the generated client ID and client secret (see Configuration)
Configuration
The generate_config
script can be used to generate the config. It requires for the client_id
, client_secret
and Spotify username
needs to be set since those are required to authenticate to the Spotify Web API. To run the script, make sure to have Python 3 and the spotipy library installed.
Running the script will open a web browser asking to authenticate to Spotify which is required to retrieve the refresh_token
.
$ ./generate_config --help
usage: generate_config [-h] [--client_id CLIENT_ID]
[--client_secret CLIENT_SECRET]
[--redirect_uri REDIRECT_URI] [--username USERNAME]
Script to retrieve an access and refresh token for using the Spotify API
optional arguments:
-h, --help show this help message and exit
--client_id CLIENT_ID, --client-id CLIENT_ID
Spotify client ID
--client_secret CLIENT_SECRET, --client-secret CLIENT_SECRET
Spotify client secret
--redirect_uri REDIRECT_URI, --redirect-uri REDIRECT_URI
Redirect URI
--username USERNAME Spotify username
$ ./generate_config --client_id=<client_id> --client_secret=<client_secret> --username=<username>
{
"platform": "Spotify",
"name": "Spotify",
"service_type": "light", // "light" or "speaker"; Speaker is not supported by HomeKit
"client_id": "" ,
"client_secret": "" ,
"refresh_token": ""
}
The generated config needs to copied to the Homebridge config file (e.g. ~/.homebridge/config.json
). For example:
//...
"platforms": [
{
"platform": "Spotify",
"name": "Spotify",
"service_type": "light", // "light" or "speaker"; Speaker is not supported by HomeKit
"client_id": "" ,
"client_secret": "" ,
"refresh_token": "" ,
}
]
//...
service_type
specifies whether Spotify devices should use the Lightbulb or Speaker service. If service_type
is not specified, "light"
will be used by default. HomeKit currently does not support Speaker services and will show "This accessory is not certified and may not work reliably with HomeKit".
Usage
Add the plugin in the Home app. The plugin will automatically discover available Spotify devices and add them as accessories. Turning a Spotify accessory on will resume playing music on the device, turning off the accessory will pause the music. The accessory also allows to change the playback volume.
Accessories get refreshed every 10 seconds (or as specified in the configuration file).
Development
-
Install the Rust toolchain,
wasm-pack
,cargo-generate
andnpm
by following this guide - Clone the repository
-
Run
make
-
This will create a
pkg/
directory containing all the generated nodejs files
-
This will create a
- Copy the generated files to a device/directory that can be discovered by Homebridge
-
Switch to the directory and run
npm install
to install all required dependencies -
Run Homebridge in debug mode and specify the directory with the plugin files:
DEBUG=* homebridge -D -P /path/to/plugin/homebridge-rusty-spotify
A blog post about writing plugins for Homebridge and specifically this plugin has been published here.
- 用于树莓派与PIR传感器连接成运动传感器的homebridge插件
- Homebridge插件集成Shinobi
- 用于Away的homebridge插件
- Homebridge的Loxone插件
- Homebridge Pi恒温器插件
- 米家安防摄像头Homebridge插件
- Homebridge插件可在Apple HomeKit中使用RuuviTags
- homebridge示例插件示例集合
- homebridge-smartthings SmartThings插件
- homebridge miio平台插件
- 热门的homebridge插件列表
- 将Wyze连接家庭设备支持添加到Homebridge的插件
- Homebridge-Denon-Marantz-AVR插件
- Homebridge GPIO WiringPi平台插件
- Rust 1.15 引入自定义derive特性有什么做用
- 从Rustup出发看Rust编译生态 389次阅读
- 如何编写高性能的Rust代码 672次阅读
- Rust的标准库的功能划分 1104次阅读
- Rust语言如何与 InfluxDB 集成 941次阅读
- Rust GUI实践之Rust-Qt模块 1356次阅读
- Rust的 match 语句用法 797次阅读
- 如何使用Rust连接Redis 1950次阅读
- 基于Rust的Log日志库介绍 3121次阅读
- Rust构建QEMU插件的框架 745次阅读
- Rust开源社区推出龙架构原生适配版本 409次阅读
- 使用C++编写通用库并在 Rust 中使用它 (WASI) 893次阅读
- Rust的内部工作原理 657次阅读
- 以调试Rust的方式来学习Rust 805次阅读
- 介绍一种二维码生成工具 715次阅读
- 用Rust语言开发微服务 2536次阅读
下载排行
本周
- 1Keysight B1500A 半导体器件分析仪用户手册、说明书 (中文)
- 19.00 MB | 4次下载 | 免费
- 2使用TL431设计电源
- 0.67 MB | 2次下载 | 免费
- 3BT134双向可控硅手册
- 1.74 MB | 2次下载 | 1 积分
- 4一种新型高效率的服务器电源系统
- 0.85 MB | 1次下载 | 1 积分
- 5LabVIEW环形控件
- 0.01 MB | 1次下载 | 1 积分
- 6PR735,使用UCC28060的600W交错式PFC转换器
- 540.03KB | 1次下载 | 免费
- 751单片机核心板原理图
- 0.12 MB | 1次下载 | 5 积分
- 8BP2879DB支持调光调灭的非隔离低 PF LED 驱动器
- 1.44 MB | 1次下载 | 免费
本月
- 1开关电源设计原理手册
- 1.83 MB | 54次下载 | 免费
- 2FS5080E 5V升压充电两串锂电池充电管理IC中文手册
- 8.45 MB | 23次下载 | 免费
- 3DMT0660数字万用表产品说明书
- 0.70 MB | 13次下载 | 免费
- 4UC3842/3/4/5电源管理芯片中文手册
- 1.75 MB | 12次下载 | 免费
- 5ST7789V2单芯片控制器/驱动器英文手册
- 3.07 MB | 11次下载 | 1 积分
- 6TPS54202H降压转换器评估模块用户指南
- 1.02MB | 8次下载 | 免费
- 7STM32F101x8/STM32F101xB手册
- 1.69 MB | 8次下载 | 1 积分
- 8基于MSP430FR6043的超声波气体流量计快速入门指南
- 2.26MB | 7次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935119次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183335次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73807次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65987次下载 | 10 积分
评论
查看更多