keefo / NeewerLite

NeewerLite is an un-official Neewer LED light control app for macOS.
MIT License
114 stars 10 forks source link
bluetooth control-lights led macos neewer-lights scene swift switch

Logo

NeewerLite

About The Project

CI

NeewerLite is a unofficial macOS app designed for controlling Neewer LED lights.

While Neewer provides official Android and iOS app for controlling their high-CRI LED lights via Bluetooth, they do not offer a means of control from a PC or Mac.

This project aims to fill that gap by creating a macOS app that allows you to control your Bluetooth-enabled Neewer LED lights from your Mac. With NeewerLite, you can even integrate light control into your Elgato Stream Deck or shortcuts for better experince.

Here is a video I made to demo the scene:

Features

How to install pre-build app

  1. Download the latest dmg file from release page, double click the dmg to open it.
  2. Then drag .app file in dmg to your application folder.
  3. Go to application folder to double the app you just dropped from dmg.
  4. once the app is running, it should has a icon in the status bar on the right top of you screen.

Script Usage

Open the app and let it scans all Neewer lights through Bluetooth. Once it finds lights. Then you could use command to switch On/Off lights.

Turn on all lights:

open "neewerlite://turnOnLight"

Turn off all lights:

open "neewerlite://turnOffLight"

Toggle all lights:

open "neewerlite://toggleLight"

Scan all lights:

open "neewerlite://scanLight"

Set lights CCT:

open "neewerlite://setLightCCT?CCT=3200&Brightness=100"

Set lights CCT+GM:

open "neewerlite://setLightCCT?CCT=3200&GM=-50&Brightness=100"

Most of light model support CCT range 3200K to 5600K, Some lights support long CCT range 3200K to 8500K. And some newer model of light support GM.

Set lights Hue and Saturation and Brightness:

open "neewerlite://setLightHSI?RGB=ff00ff&Saturation=100&Brightness=100"
open "neewerlite://setLightHSI?HUE=360&Saturation=100&Brightness=100"

Set lights to scene:

open "neewerlite://setLightScene?Scene=SquadCar"
open "neewerlite://setLightScene?SceneId=1&Brightness=100"

Scene Names: SquadCar, Ambulance, FireEngine, Fireworks, Party, CandleLight, Lighting, Paparazzi, Screen

Not all model follow these scene names. If your light support more scenes, you can use SceneId to switch.

SceneId Range from 1 ~ 17 depends on light type.

Turn on light by name:

open "neewerlite://turnOnLight?light=left"

The 'left' is the name I give one of my light. You could change your light's name in the app and use it in this command.

Another way to test these commands is to copy a command(the string in the double quote) into your browser address bar, and press enter.

For example,

How to use script to integrate with Elgato Stream Deck?

Read this Integrate with Elgato Stream Deck

How to use script to integrate with macOS Shortcuts?

Read this Integrate with Shortcuts

Voice Control Interaction

You could integrate these commands into Voice Control.

Open “System Preferences” -> “Accessibility” -> “Voice Control” -> “Commands”, Click the “+” button to create a new command, give a name to your new command such as “Meow” and choose “Any Application” then choose perform “Open URL”. Type in “neewerlite://toggleLight” for example.

Now, when you say “Meow” voice control will switch on/off your LED lights.

Tested Lights

TO DO LIST

If you find a way to implement these features, feel free to create a pull request.

How to add support for a new light?

If you are unable to find your Neewer light using NeewerLite, you can easily add support for it by following these steps:

  1. Use a Bluetooth app to find the name of your light.
  2. Add the name to the isValidPeripheralName function in the Model/NeewerLight.swift file.
  3. Recompile the app and test your light to ensure that it is working properly.
  4. If the light is working as expected, create a pull request on the project's GitHub repository to submit your changes.

By following these steps, you can quickly add support for your Neewer light and start controlling it using NeewerLite.

License

Follow NeewerLite, the code and examples of this project is released under MIT License.

Donations

If you would like to support me, donations are very welcome.

You can go fund this project through my sponsors page.

or

You can send bitcoin to this address:

1A4mwftoNpuNCLbS8dHpk9XHrcyvtExrYF