Device Classes

Every uberbus device implements a set of classes. A class defines the functionality a node offers. It defines the protocol to use and the available features. Every class gets its own pair of UDP/TCP ports on the nodes IP.

Currently two classes are defined: Human Interface Device(HID) and moodlamp.

Every class has a unique 8bit class id.

Class id: 10

Port: 2310

Description: A device which is used to interact with humans. Can contain buttons, switches, rotary encoders, displays or LEDs.

Proposed protocol:

<D>: hexadecimal digit
<A>: ASCII string

commands:
L<D>
Switch on LED <D>
l<D>
Switch off LED <D>
D<D1><D2><A>
Display <A> at position <D1><D2>
G<D>
Return state of button <D>
G
Return state of all buttons
S<D>
Make a sound with frequency <D1> and duration <D2>
B<D>
Blink LED <D>

unsolicited messages:
B<D>
Button <D> was pressed
b<D>
Button <D> was released

Class id: 23

Port: 2323

Description: A moodlamp.

Class id: 11

Port: 2311

Description: A device with (several) digital output(s).

Class id: 12

Port: 2312

Description: A device with (several) digital input(s).

  • uberbus/device_classes.txt
  • Last modified: 2021/04/18 12:35
  • (external edit)