Skip to content

Releases: exorev07/Lumen

Lumen v0.1.1

Choose a tag to compare

@exorev07 exorev07 released this 14 Sep 12:04

Lumen v0.1.1

An open-source terminal app for Tuya/SmartLife smart bulbs. Local LAN control, no cloud round-trip, no hub.

What changed since v0.1.0

A packaging fix only — the app itself is unchanged, so there is no reason to upgrade if v0.1.0 is working for you.

  • install.ps1 no longer tells you to run lumen when you passed -NoPath and it did not put anything on your PATH. It prints the full path to the exe instead.
  • The README now explains that PowerShell blocks the installer until you unblock it, which happens on a default Windows install and was previously undocumented.

What it does

  • Full terminal UI: power, brightness, warmth, ten colours, hex input; keyboard and mouse throughout
  • One-shot commands for scripts: lumen on, lumen brightness 60, lumen color "#ff8800", lumen warm 80, lumen status
  • Works with the internet down, nothing leaves your network
  • Finds the bulb again by itself after a DHCP change

Download

Lumen-0.1.1-win-x64.zip — no Python needed. Unzip it and run lumen\lumen.exe, or run install.ps1 to put lumen on your PATH so it works in any terminal. No admin rights needed, -NoPath skips the PATH change, and uninstall.ps1 undoes it.

PowerShell blocks downloaded scripts by default, so install.ps1 will refuse to run until you clear the download flag:

Unblock-File .\install.ps1, .\uninstall.ps1

On first run it opens straight onto Settings and walks you through getting your device ID and local key. Nothing to hand-edit.

Requires Windows 10 or 11, 64-bit. There is no ARM64 build yet, so on a Windows-on-ARM device such as a Surface Pro X, use the Python install instead.

Prefer Python? pip install . from a clone works today on any platform. A PyPI release is coming.

Windows will probably warn you

SmartScreen will likely show "Windows protected your PC" the first time. Click More info, then Run anyway. Some antivirus tools may flag it too.

Both that and the script block happen because nothing here is signed — a code-signing certificate costs a few hundred dollars a year, which this project does not yet justify. It is not a statement that anything was found.

To check the download is exactly what was published:

Get-FileHash Lumen-0.1.1-win-x64.zip -Algorithm SHA256
33382cdce2d43ac2d0a75a67da8add141f1994d3de9cc3fa811a981950b43ea8

Or skip the binary and build it yourself.

Known limits

This is an early release. It is what I run daily, but the testing behind it is narrow:

  • Tested against one bulb, a Syska SSK-SMW-12W-5C. Nothing in the code is specific to it: it speaks Tuya 3.3 to a category dj colour light, so most Tuya/SmartLife colour bulbs should work. That is reasoning, not evidence, and reports either way are very welcome.
  • Windows x64 only, run on very few machines so far. The source runs anywhere Python does and the macOS and Linux paths are conventional, but neither has been tried on real hardware.
  • One device at a time. Multi-device support is planned, along with music reactivity.
  • The app is a folder rather than a single file, deliberately: a self-extracting single exe costs about a second of startup on every run and is the pattern antivirus heuristics dislike most.
  • If the interface looks garbled, use Windows Terminal rather than the legacy console window.

Licensing

Lumen is MIT licensed. The exe bundles the Python runtime and seventeen third-party libraries (MIT, BSD, Apache-2.0, MPL-2.0), whose licences ship as THIRD-PARTY-LICENSES.txt and are embedded in the binary — run lumen --licence to print them all.

Found a bug, or got it working on another bulb? Please open an issue. With a sample size of one, that is the most useful thing you can send.

Lumen v0.1.0

Choose a tag to compare

@exorev07 exorev07 released this 14 Sep 06:51

Lumen v0.1.0 [First Release]

An open-source terminal app for Tuya/SmartLife smart bulbs. Local LAN control, no cloud round-trip, and no hub required.

What it does

  • Full terminal UI: power, brightness, warmth, ten colours, hex input; keyboard and mouse throughout.
  • One-shot commands for scripts: lumen on, lumen brightness 60, lumen colour "#ff8800", lumen warm 80, lumen status.
  • Works with the internet down: nothing leaves your network.
  • Finds the bulb again by itself after a DHCP change.

Download

Lumen-0.1.0-win-x64.zip — no Python needed. Unzip it and run lumen\lumen.exe, or run install.ps1 to put lumen on your PATH so it works in any terminal. No admin rights needed, and uninstall.ps1 undoes it.

On first run, it opens straight to Settings and walks you through getting your device ID and local key. Nothing to hand-edit.

Requires Windows 10 or 11, 64-bit. There is no ARM64 build yet, so on a Windows-on-ARM device such as a Surface Pro X, use the Python install instead.

Prefer Python? pip install . from a clone works today on any platform. A PyPI release is coming.

Windows will probably warn you

SmartScreen will likely show "Windows protected your PC" the first time. Click More info, then Run anyway. Some antivirus tools may flag it too. That is because the binary is unsigned - a code-signing certificate costs a few hundred dollars a year, which this project does not yet justify. It is not a statement that anything was found.

To check that the download is exactly what was published:

Get-FileHash Lumen-0.1.0-win-x64.zip -Algorithm SHA256
ebc76dae3e2291717cada5e16aa9ef12597bfd6548f5de074d31a9b04fd498d2

Or skip the binary and build it yourself.

Known limits

This is an early release. It is what I run daily, but the testing behind it is narrow:

  • Tested against one bulb, a Syska SSK-SMW-12W-5C. Nothing in the code is specific to it; it speaks Tuya 3.3 to a category dj colour light, so most Tuya/SmartLife colour bulbs should work. That is reasoning, not evidence, and reports either way are very welcome.
  • Windows x64 only, run on very few machines so far. The source runs anywhere Python does, and the macOS and Linux paths are conventional, but neither has been tried on real hardware.
  • One device at a time. Multi-device support is planned, along with a few more features.
  • The app is a folder rather than a single file, deliberately: a self-extracting single exe costs about a second of startup on every run and is the pattern antivirus heuristics dislike most.
  • If the interface looks garbled, use Windows Terminal rather than the legacy console window.

Licensing

Lumen is MIT licensed. The exe bundles the Python runtime and seventeen third-party libraries (MIT, BSD, Apache-2.0, MPL-2.0), whose licences ship as THIRD-PARTY-LICENSES.txt and are embedded in the binary — run lumen --licence to print them all.

Found a bug, or got it working on another bulb? Please open an issue with a sample size of one, that is the most useful thing you can send.