A second life for
your smart devices.
When a vendor drops support, working devices can lose their controls. afterlit checks for free alternatives first, then helps investigate local Bluetooth control.
Pre-alpha. Source private, no public download; real-device testing (Gate 1) pending.
Apache-2.0 core Runs on your computer Asks before every device write
What you can do today
- Search for a free project naming your exact model with "Home Assistant" or "open source"; afterlit has not tested these.
- Keep the vendor app and pairing.
- Check back: the status is on this page.
Is your device already supported?
Useful hardware shouldn't expire with a server. afterlit check compares a name, brand or model against a small local list without scanning, connecting or writing.
No match means "not freed yet", not that no project exists; dangerous names, including substrings, and excluded families are refused even when harmless. Local recipes require your own folder; no public library exists.
Answers say "is", "is likely" or "may be ... (unconfirmed match)" to separate specific patterns, look-alikes and loose hints: leads, not proof.
uv run afterlit check "ELK-BLEDOM 1A2B"
"ELK-BLEDOM 1A2B" is ELK-BLEDOM / duoCo Strip LED strips. Already supported by elkbledom (Home Assistant custom integration).
uv run afterlit check "Desk Lamp"
"Desk Lamp" is not freed yet in the local catalog.
uv run afterlit check "Smart Lock"
"Smart Lock" is out of scope.Real private-source output, shortened: installation, contributor and refusal guidance omitted. Independent projects are untested by afterlit; commands require an authorized checkout, not this page.
Try the browser preview
This tiny lamp responds only in your browser. It illustrates a control and readback loop, not a device connection or protocol test.
Illustration only No Bluetooth, physical device, or network request
Control the simulation.
Set a level and color. The state panel reflects this browser simulation.
Enable JavaScript to use the browser-only controls.
- Power
- On
- Level
- 75%
- Color
- Warm white
A real afterlit probe requires per-write approval and observed device readback. This panel produces no evidence or receipt.
For contributors
For devices you own, capture vendor-app messages, infer commands and approve every probe write. Commands count only after all checks pass and device readback confirms the change; save a local driver, protocol notes, draft integrations and a signed record.
Notes for developers
Probes start read-only, check every fixed byte and refuse dangerous command names and known firmware-update targets; notification subscriptions also need approval. Identifying Bluetooth characteristics are never logged.
Bluetooth readiness
afterlit doctor checks Python, Bluetooth software and OS without using Bluetooth, writing files or reading credentials by default; optional --radio scans for three seconds without connecting, pairing or reading/writing device data, but may send scan requests and prompt for permission. Check, Problem or Skipped means readiness is unconfirmed; a clean report does not prove device support.
Practice run
afterlit demo simulates a lamp without radio, device, account or cloud, saving a new folder each time. It exists in private source; integrations need configuration and review and are not installable.
OS minimums come from the Bluetooth library, not device testing. The simulated strip's pre-declared 0xFF fixed-byte allowance is recorded in the signed receipt; a real device needs that allowance confirmed by hand.
Current status
Questions about afterlit
Will any device work?
No; name matches are leads, and real-device testing is pending.
Does it flash firmware?
No firmware flashing or bypassing authentication, pairing, DRM or licenses.
What does a receipt prove?
Signatures and hash chains detect changes since signing, not who ran it, hardware presence or safety; default keys are one-off, while contributors can use their own keys and verifiers pin fingerprints. Automated registry acceptance is not implemented.
Can I use afterlit today?
Only with authorized access to the private source; there is no public download.