Skip to Content
🚀 We just launched! Please star us on Github!

Terminal Device

Device Category: terminal

Represents the physical host device (terminal) that runs the Smart Panel application. Exposes hardware peripherals such as buttons, status LEDs, buzzer, and onboard sensors as channels. Supports different terminal hardware variants like the SeeedStudio reTerminal CM4 and reTerminal DM.


Required Channels

These channels are mandatory for the functionality of the terminal:

ChannelDescriptionMultipleDetails
device_informationProvides metadata about the terminal device, including hardware model, firmware version, and operational status.NoSee details

Optional Channels

These channels are optional and provide additional features:

ChannelDescriptionMultipleDetails
buttonHardware button input. Multiple instances represent individual buttons (e.g., button_f1, button_f2, button_f3, button_o).YesSee details
indicatorStatus indicator LED output. Multiple instances represent individual LEDs (e.g., usr_led, sta_led).YesSee details
buzzerOnboard buzzer for audible alerts and notifications.NoSee details
illuminanceOnboard light sensor for measuring ambient light levels.NoSee details
accelerometerOnboard accelerometer for orientation and motion detection.NoSee details
contactDigital input channels for industrial terminal variants with DI ports.YesSee details
switcherDigital output channels for industrial terminal variants with DO ports.YesSee details
temperatureOnboard or SoC temperature sensor for monitoring device thermal state.NoSee details

Use Case Scenarios

  1. System status feedback:

    • Use indicator LEDs to show system status — green for healthy operation, red for errors or alerts, blinking for pending updates.
  2. Physical button automation:

    • Map hardware buttons to scene triggers — press F1 to activate a “good night” scene, long-press F2 to toggle all lights, or double-press to arm the alarm.
  3. Audible alerts:

    • Use the onboard buzzer to produce audible alerts for events like doorbell rings, alarm triggers, or timer completions.
  4. Environmental awareness:

    • Use onboard sensors like light sensor for automatic display brightness adjustment or accelerometer for orientation detection.

Developer Notes

  1. The terminal device represents the host hardware itself, not a remote device. Only one terminal device should be active at a time.
  2. Channel availability depends on the hardware variant. The plugin should auto-detect the hardware and create only the relevant channels.
  3. Button events are emitted as event-type properties, not polled state. The plugin should use evdev or similar input subsystem for button detection.
  4. For the reTerminal DM variant, digital inputs and outputs use the contact and switcher channels respectively, which are already defined in the spec.
Last updated on