Documentation
Generic Ember
Companion connection for the legacy Ember protocol (Glow over TCP). It is not Ember+.
Requires Companion 5.
This is a generic Ember client: it talks to any device that speaks this protocol.
For Ember+ devices, use the Companion module generic-emberplus.
The Companion actions, feedbacks, and path fields aim to follow the Ember+ module where practical. They are, however, different protocols.
Connection
The module is an Ember client. Your device is the Ember server.
| Setting | Default | Notes |
|---|---|---|
| Target Host | (empty) | IPv4 address, IPv6 address, or hostname. IPv6 is untested |
| Target Port | (empty) | TCP port of your Ember server |
| Alive send timeout (ToW) | 10 s | If nothing was sent for this long, send a keepalive |
| Alive receive timeout (ToR) | 15 s | Close the connection if nothing valid was received for this long |
| Paths to parameters to monitor | (empty) | Ember paths (C1.…P1), separated by commas or new lines. Subscribed on connect; available as variables and in Select registered path |
| Factorise parameter variables? | on | When the parameter has a Glow Factor, scale values for display and Set |
| Log related value updates at Info | on | Also log updates for neighbouring parameters at Info (not only Debug) |
ToW must be shorter than ToR.
On connect, the module loads the top of the Ember tree so Tree Navigation can start. You do not add a Subscribe action. Paths on the monitor list and on buttons (actions and feedbacks) stay subscribed after reconnect.
Finding parameters (Tree Navigation)
The separate Ember+ Viewer application does not work with legacy Ember to display the device tree. Instead, this module includes a simple Tree Navigation in the button editor: the Browse list and the Learn Values button. Walk the Ember tree and press Learn folder by folder until you reach the parameter you need. Learn on a parameter fills Select registered path and Path from String. Learn once in the editor so that path is stored on the action; Browse is not used when the button runs.
Paths
These fields appear on actions and feedbacks in the button editor.
- Select registered path — a list of paths from the monitor list and from buttons that still have this Ember action or feedback. After a module reload, paths from deleted buttons are dropped.
- Path from String — the Ember path
C1.…P1, or a label with the path in brackets:Value(P1) [C1.…P1]. Companion variables are allowed here.
Use Tree Navigation (Browse + Learn) to fill these.
Actions
Add these on a button, in the button editor’s Actions list.
| Action | What it does |
|---|---|
| Set parameter value | Set a value, or step it with Relative. Options include Toggle, enumeration, Use Variable, Auto Create Variable, Factor, and string escapes |
| Toggle parameter | Switch a parameter between off and on (0/1, Off/On) |
| Add path to monitor list (setup) | Setup only. Learn a parameter, press once, and it is added to Paths to parameters to monitor |
Relative (increment / decrement)
To increment or decrement, use Set parameter value and turn on Relative (increment / decrement):
- Learn the parameter (this also fills Range min/max when the Ember tree has limits).
- Enable Relative.
- Set Value to the step:
1or0.5to go up,-1or-0.5to go down. - Optional Range min / max — a press whose next value would go outside the range is skipped (value unchanged). This keeps values on the step lattice instead of soft-clamping onto the limit (e.g. 9.5 + 1.5 with max 10 stays 9.5, not 10).
Each successful press does current value + Value.
Add path to monitor list (setup)
- Put the action on a hidden or utility page, not the page you use live.
- Use Browse and Learn Values until a parameter is selected.
- Press once — the Ember path is added to Paths to parameters to monitor (duplicates are ignored).
- You can delete that utility button afterwards. Monitoring continues from the connection list (
$(ember:val_…)and Select registered path).
Do not use this as a live show button. Use Set, Toggle, or Relative to control the device.
Feedbacks
Add these on a button, in the button editor’s Feedbacks list (next to Actions). They follow the parameter’s current value: change the button style, or (for Parameter Value) put the value in the button text. The path stays subscribed while the feedback is on the button.
| Feedback | What it does |
|---|---|
| Parameter Equals String | Change the button style when the value matches the text you enter (\n means a new line). Matches display text and raw value (e.g. On and 1, or 12 and 12 dB). Learn fills the name or number, not the unit |
| Parameter Compare Number | Change the button style from a number test (==, <, >, and similar) |
| Parameter True | Change the button style when the value is on, true, or 1 |
| Parameter ENUM Equals String | Change the button style when the enumeration name matches (e.g. On / Off, not 0 / 1) |
| Parameter Value | Put the current value in a local button variable ($(local:…) in the button text). Does not create $(ember:val_…) |
Variables / display
Connection variables are listed on the ember connection under Variables. Use them in button text as $(ember:…).
| Variable | What it is |
|---|---|
last_value / last_value_path | The most recently received parameter value, and which path it came from |
subscribed_paths / subscribed_values | All currently subscribed paths, with or without their current values |
val_… | One variable per path, e.g. $(ember:val_C1_C1_C2_P1) |
val_… is created when you ask for it: Auto Create Variable on Set; Relative, Toggle, or Enumeration on Set; the monitor list; or style feedbacks (equals, compare, true, enum equals). A normal Set without Auto Create still subscribes but does not create val_…. The Parameter Value feedback uses $(local:…) on that button instead — it does not create val_….
How the value looks: enumeration names (e.g. Off/On), format (e.g. −12.3 dB), and Factor when Factorise parameter variables? is on.
Action Recorder
If Companion’s Action Recorder is running, changes on subscribed parameters are recorded as Set parameter value actions.
More from Generic
AES70
Generic
CommunityBridge
Generic
CommunityData Entry
Generic
CommunityFile Reader
Generic
Community