Channel Controls
White
%
Blue
%
RGB
%
Speed
Device Time
--:--:--
Sets the time on the ESPiBright controller, not the fixture directly. Use "Send Time" to push the time to the fixture.
:
:
Schedule Builder
ON
OFF
W
04
:
03
:
B
05
:
02
:
RGB
08
:
09
:
Speed
Unchecked channels still send with time 00:00. RGB color shared across ON/OFF slots.
No transmissions yet
Device Settings
▼
Fixtures
Transmission
Burst repeat count
per burst (1β20)
Inter-packet gap
Β΅s between packets within a burst (0β9999)
Inter-burst gap
ms between burst repeats (0β1000)
Send time packet after burst
Display
Screen timeout
sec
Brightness
180
Network ⚠ requires reboot
Hostname
WiFi SSID
WiFi Password
Timezone offset
hours
⚠ WiFi credentials stored in device flash (unencrypted NVS). Wrong SSID or password currently requires a reflash to recover.
Packet Crafter
▼
REST API
▼
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/status | Last TX, current time, global toggle, battery level, firmware build. |
| GET | /api/log?since=N | Returns up to 40 TX log entries newer than sequence N. Each entry includes label + all packets sent (cmd, time, schedule). |
| GET | /api/fixtures | List all fixtures. Returns array of {index, name, addr}. |
| GET | /api/channels?fixture=N | Current channel state for fixture N. |
| GET | /api/schedule?fixture=N | Current schedule slots for fixture N. |
| POST | /api/send/channels | Transmit channel state to fixture. {"fixture":0,"white_on":true,"white_level":10,"blue_on":true,"blue_level":10,"rgb_on":true,"rgb_color":8,"rgb_cycle":1,"rgb_level":10}Levels 1β10 (10%β100%). rgb_color: 1=blue 2=green 3=white 4=red 5=orange 6=purple 7=pink 8=yellow 9=rainbow. rgb_cycle (rainbow only): 1=static, 2=3s, 4=4s, 8=5s. |
| POST | /api/send/raw | 7-byte payload (CRC auto). {"payload":"d0238a8a8601a6","send_time":true} |
| POST | /api/time/set | Set time. {"hh":19,"mm":20,"ss":29} |
| POST | /api/time/send | Transmit time packets immediately. |
| POST | /api/time/ntp | Re-sync ESP clock from NTP. Returns {"ok":true,"hh":β¦,"mm":β¦,"ss":β¦} |
| POST | /api/schedule/set | Persist schedule slots for fixture. {"fixture":0,"white_on":{β¦},"white_off":{β¦},"blue_on":{β¦},"blue_off":{β¦},"rgb_on":{β¦},"rgb_off":{β¦}} β each slot: {"active":true,"hh":23,"mm":0}; rgb slots add "state":N. |
| POST | /api/schedule/send | Transmit all active schedule slots for fixture. {"fixture":0} |
| POST | /api/fixtures/add | Add a new fixture (max 4). |
| POST | /api/fixtures/remove | Remove fixture by index. {"index":N} |
| POST | /api/fixtures/update | Rename or change RF address. {"index":N,"name":"β¦","addr":N} |
| POST | /api/settings/time_global | Global time toggle. {"enabled":true} |
| POST | /api/settings/repeat | Set burst repeat count (1β20). {"count":5} |
| POST | /api/settings/packet_gap | Set inter-packet gap (0β9999 Β΅s). {"gap_us":0} |
| POST | /api/settings/burst_gap | Set inter-burst gap (0β1000 ms). {"gap_ms":1} |
| GET | /api/settings/device | Return all device settings (WiFi password masked). |
| POST | /api/settings/device | Update device settings. Accepts any subset of: repeat_count, packet_gap_us, burst_gap_ms, time_enabled, sleep_timeout_sec, brightness, hostname, wifi_ssid, wifi_pass, tz_offset_sec. Returns {"ok":true,"reboot_required":β¦}. |
| POST | /api/reboot | Reboot the device. |