Shima Pilot Light
The Shima Pilot Light
- any_input
The Shima Pilot Light is exactly what its name promises: a little glowing LED you drop on the canvas to see, at a glance, whether something in your workflow is on or off. It produces no output and touches no data - its only job is to light up. If you've ever stared at a big branching workflow trying to figure out which highway bypass is actually active, this is the node that stops you guessing.
It's part of the Shima (島, Japanese for "island") pack, a ComfyUI ecosystem built around composable "island" subgraphs that auto-connect via the Use Everywhere broadcast system. The pack leans hard into control-room styling - physical-looking switches, breakers, indicators - and the Pilot Light is the most literal expression of that vibe.
How it works
Feed it anything via the single any_input wildcard socket, pick a trigger_type, and the node evaluates whether the "light is on" condition holds. The six trigger modes:
- Boolean - the default. Truthy input (true, 1, yes…) lights it.
- String Match - compares the string form of the input against
comparison_value, with=and!=prefix support. - Number Match - compares against
comparison_valueas a number, and the comparison string can carry operators like>=,<,!=. - Tensor Detect - lights when the sum of a tensor input is greater than zero. Handy for "is there anything in this latent/mask?"
- Hardware Sync - state is driven from the frontend rather than evaluated in Python, for linking to the pack's physical-style switches.
- Always On - a constant pilot light, useful as a power indicator in a workflow you're screenshotting.
base_color sets the LED color (default #ff0000) and scale grows or shrinks it (0.1–10). None of this is evaluated at sampling time in a way that costs you anything - it's a cheap visual node.
The inputs that matter
Really just two: trigger_type and, when you're doing string or number matching, comparison_value. Everything else is cosmetics. Note there are no outputs - don't try to chain anything off it, it's a terminal status display. The current state is pushed to the frontend as UI data, which is how the LED glows.
Where it fits
In a Shima island workflow, hook its input to the output of a Highway Bypass or a Panel Switch so the LED shows which route is live. Outside the pack's own ecosystem it still works fine as a plain boolean viewer. If you want a status light that also passes the value through downstream, the pack's Multi-State Indicator does that; the Pilot Light is strictly a lamp.
Install
The whole pack installs in one go:
cd ComfyUI/custom_nodes
git clone https://github.com/KDB-USJP/shima_wf.git Shima
pip install -r requirements.txt
Restart ComfyUI and you'll find it under Shima/System → Shima Pilot Light. Or use ComfyUI Manager and search "Shima". Dependencies are light (the requirements file is just aiohttp and requests - most of what the pack needs ships with ComfyUI), but watch out: on first boot the pack's install.py will auto-clone ComfyUI-Impact-Pack and cg-use-everywhere into your custom_nodes folder if it doesn't find them, because the island auto-linking system is built on Use Everywhere. That's expected, not a breakage.
Common issues
The most confusing thing for newcomers is that the node "does nothing" - no output, no error, and if any_input is left unwired you get a dark LED forever. Also, Number Match silently returns false if the input won't parse as a float, which can look like a broken light when the real issue is a string sneaking into a numeric comparison. And if you see it glowing when it shouldn't, check trigger_type - Always On ignores the input entirely by design.
The one real gotcha: this is a young, niche pack with almost no community footprint yet, so if the LED misbehaves there's no crowd of forum threads to lean on. Your best troubleshooting tool is the source - the trigger logic is a few dozen readable lines in nodes/utilities.py.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| any_input | * | — | |
| base_color | STRING | #ff0000 | — |
| trigger_type | COMBO | Boolean | 6 options: Boolean, String Match, Number Match, Tensor Detect, Hardware Sync, Always On |
| comparison_value | STRING | — | |
| scale | FLOAT | 1.00.1–10 | — |
Outputs (0)
No outputs