Control your Yeelight bulbs using MIDI!
- Prior to first use, all Yeelight bulbs have to be "activated" and connected to the same network as the computer, that runs this script. This is so far done by using the official Yeelight app running on a smartphone.
- Then a
wizard_configurationhas to be executed. This utility finds all the bulbs on the network and lets user assign them to a given channel. All bulbs within the given channel receive the same commands. There can be a total of 16 channels (→ 16 MIDI channels). - A
config.ymlfile is created. This file can be edited.
- When
mainexecutable is started, a new virtual MIDI deviceyeemidiis created and shall be visible within MIDI outputs in DAW (Logic Pro). - This virtual device accepts MIDI messages on all channels.
- Messages on channel
nwill be sent to bulbs within the channeln. - Only
NOTE ONMIDI messages take any effect. - Main idea is to preset a "scene" using some messages (MIDI notes) and then launch it using
GOmessage (note).
- B-2: BLACKOUT
- Turn off signal is issued immediately after this Note is played.
- Velocity of a MIDI message has no effect.
- C-1: GO
- After a scene is preset using upper notes, this note launches it
- Velocity sets transition tine (0 = quickest, 127 = slowest)
- C#-1: TURNOFF BEHAVIOR
- This note determines, if the bulbs within the channel turn off after this scene is over, or if they remain lit
- Velocity 0 = stay lit, velocity 127 = turn off after the scene is done
- D-1: BRIGHTNESS
- Sets brightness of the bulbs
- Velocity 0 = dimmest, velocity 127 = brightest
- D#-1: WHITE TEMP
- Sets bulbs to white mode
- Velocity 0 = warmest, velocity 127 = coolest
Note
The most intense light output is achieved when this parameter is set in the middle (64-ish). Author assumes, that in this case, both warm and cool LEDs within the bulb are lit 100 %.
- E-1: RED
- Sets bulbs to RGB mode
- Velocity determines red component in resulting color
- F-1: GREEN
- Sets bulbs to RGB mode
- Velocity determines the green component in resulting color
- F#-1: BLUE
- Sets bulbs to RGB mode
- Velocity determines the blue component in resulting color
- C0: CHASE
- Experimental feature, sets scene to predefined chase from chase table.
- Trying multiple channels to do the same thing at the same time. It will never happen at the same time, delays will be introduced and it won't look nice. (Since the bulbs do not support multicast)
-
Events on bulbs at the same channel occur nearly at the same time.
-
The most intense output is when the bulb is set to
CTmode and the temperature is set halfway in between.


