Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
@hernas/homebridge-yeelighter
Advanced tools
Yeelight support for Homebridge with particular support of ceiling lights
Yeelight support for Homebridge: https://github.com/nfarina/homebridge with particular focus on supporting the special features of ceiling lights.
There are many plugins for Yeelight already. This one is unique (so far) in supporting the background light that some yeelights have and also has a diffent approach to the moonlight mode (exposed as just another range for brightness).
If a light supports a background light, it will show up as a secondary service in the light accessory. If a light supports moonlight mode, the brightness will be adjusted so that the lower 50% are reserved for moonlight brightness and the upper 50% are using the "normal" mode. While this makes it simple to control the moonlight mode, it has the small drawback that setting the color-temperature will only work when in the normal light mode. I could not find an API to set the color temperature of the moonlight.
You might want to update npm through: $ sudo npm -g i npm@latest
Install homebridge through: $ sudo npm -g i homebridge
Follow the instructions on GitHub to create a config.json in ~/.homebridge, as described;
Install the homebridge-hue plugin through: $ sudo npm -g i homebridge-yeelighter
Edit ~/.homebridge/config.json
and add the yeelighter platform provided by homebridge-yeelighter, see Configuration;
In homebridge's config.json you need to specify homebridge-yeelighter as a platform plugin. Furthermore, you need to specify what you want to expose to HomeKit. The simplest form is show below. This will enable the plugin and add all lights with their detected configuration to homekit.
"platforms": [
{
"platform": "Yeelighter",
"name": "Yeelighter",
"timeout": 5000,
"interval": 60000
}
]
The plugin supports setting the configuration through homebridge-config-ui-x.
You can use the override array to override the automatic configuration of the lights. An example for disabling the light with id 0x00000000deadbeef
and enabling moonlight and disabling background for 0x0000000012345678
:
"platforms": [
{
"platform": "Yeelighter",
"name": "Yeelighter",
"override": [
{
"id": "0x00000000deadbeef",
"ignored": true
},
{
"id": "0x0000000012345678",
"background": false,
"nightLight": true
}
]
}
]
id: string
(mandatory) - the id of the light (as reported in the device config of homebridge)name?: string
(optional) - the name to be used in log messagescolor?: boolean
(optional) - this light is full RGB colorbackgroundLight?: boolean
(optional) - this light has a secondary color mood lightnightLight?: boolean
(optional) - this light supports moonlight modelog?: boolean
(optional) - enalbe detailed logging for this lightoffOnDisconnect?: boolean
(optional) - switch the light off in homekit when it disconnects (this is for people with old-school wall switches)colorTemperature?: { min: number, max: number }
(optional) - colorTemperature limits in kelvinSince the yeelights respond with their configuration to the discovery request, this information needs to be manually entered into the config. Use at your own risk - this may be screwing with your config since there's no way for Yeelighter to tell if the light is really there.
id: string
- the id of the light (you have to find this from the app)address: string
- the IP address of the lightmodel: string
- model (name of the light)supports: string
- whitespace separated list of commands that the light supports.Make sure to enable "LAN control" for the lights you want to control. This is done in the Yeelight app either when setting up the light or in the lights settings which hide behind the ⏏ - button.
There are existing configurations for a number of lights. If your light is not supported, it will hopefully fall back to a decent fallback configuration. You can use the settings to fine-tune it. In those cases, it would be great if you could open a ticket in the issues page including the homebridge logs for the light being setup so the configuration can be added for future users.
👤 Thomas Kroeber
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Give a ⭐️ if this project helped you!
FAQs
Yeelight support for Homebridge with particular support of ceiling lights
We found that @hernas/homebridge-yeelighter demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.