Native Components
Relay Panel
A semantic multi-channel logical relay-control interface. PROVEN on the current ESP32-P4 evidence ledger.
#3 — Relay Panel
A semantic multi-channel logical relay-control interface.
- —Relays and contactors
- —Pumps and valves
- —Fans and lights
- —General digital outputs
Inspector capabilities and presentation
- —One to eight stable-ID channels
- —Zero-based bounded channel APIs
- —Optional master control
- —Per-channel labels, states, enabled states and status
The component remains one serialized Canvas object. Browser Preview, Live Studio and Standalone Export consume its normalized semantic model while internal LVGL composition stays private.
Generated Runtime SDK family
void FG_Set_<RelayPanel>_Channel(uint32_t channel, bool enabled);
bool FG_Get_<RelayPanel>_Channel(uint32_t channel);
void FG_Set_<RelayPanel>_Channel_Enabled(uint32_t channel, bool enabled);
void FG_Set_<RelayPanel>_All(bool enabled);
void FG_Set_<RelayPanel>_Label(uint32_t channel, const char * label);
void FG_Set_<RelayPanel>_Status(uint32_t channel, const char * text);
void FG_Set_<RelayPanel>_Master(bool enabled);Interaction and UserEvents
void FG_On_<RelayPanel>_Channel_Changed(uint32_t channel, bool enabled);
void FG_On_<RelayPanel>_Master_Changed(bool enabled);Channel and master hooks fire only for genuine operator interaction. Disabled channels are inert and setters remain silent.
Where hooks exist, implement the exact declarations in 95_UserEvents.c. Runtime SDK calls never simulate user input.
Ownership boundary
ForgeUI owns semantic presentation, private LVGL composition, generated contracts, persisted identity, fixed storage and Browser/Live/Standalone alignment.
Browser, Live, Standalone and ESP32-P4 status
| Surface | Status |
|---|---|
| Browser Preview | Implemented |
| Live Studio | Implemented |
| Standalone Export | Implemented |
| Persisted identity and duplicate isolation | Implemented |
| ESP32-P4 | PROVEN |
