Commands
All commands share the same shape: type is always observeerequest, action
selects the command, and phantomcode names the sensor.
{ "type": "observeerequest", "phantomcode": 189281421, "action": "signal" }Measurement
Section titled “Measurement”| Action | Effect |
|---|---|
signal |
Request a time waveform from this sensor. The request stays pending until the gateway has time to collect it |
cancelsignal |
Cancel the above, if it has not been serviced yet |
updatestate |
Request an internal measurement update — the internal RMS on a vibration sensor, and all measurements on other sensor types. You will see seq increase once it completes |
cancelupdatestate |
Cancel the above, if it has not been serviced yet |
Sensor lifecycle
Section titled “Sensor lifecycle”| Action | Effect |
|---|---|
sleep |
Schedule a sleep request for the sensor |
cancelsleep |
Cancel the sleep request, if not yet serviced |
pair |
Pair the sensor to the gateway. Data then flows to every configured destination — MQTT, EI Monitor, EI Analytic, and so on |
unpair |
Unpair the sensor from the gateway |
forget |
Delete all gateway-specific configuration for this sensor |
Sensor settings
Section titled “Sensor settings”Two commands change settings, and the difference matters: one writes into the sensor, the other into the gateway.
changesettings — stored in the sensor
Section titled “changesettings — stored in the sensor”Every sensor type supports general. The other blocks are per type, and
only the block for that sensor type should be present.
{ "type": "observeerequest", "phantomcode": 189281421, "action": "changesettings", "params": { "general": { "radioPower": 0, "updateInterval": 3600, "gw1": false, "advertising": true }, "triaxial": { "minRMSFreq": 10, "maxRMSFreq": 1000, "range": 8, "recordingSettings": 0, "extRMS": false } }}general — all sensor types
| Field | Meaning |
|---|---|
radioPower |
0, 4 or 8, for 0 dBm, 4 dBm and 9 dBm |
updateInterval |
How often the sensor updates its internal measurement |
gw1 |
Whether this sensor connects to a legacy Gateway v1 |
advertising |
Whether the sensor advertises. Required for Gateway Gen2 |
triaxial — triaxial sensors only
| Field | Meaning |
|---|---|
minRMSFreq |
Low frequency filter for internal RMS, default 10 Hz |
maxRMSFreq |
High frequency filter for internal RMS, default 1 kHz |
range |
2 g, 4 g, 8 g on low-range sensors; 8 g, 16 g, 32 g on high-range |
recordingSettings |
Internal RMS sample rate: 0 = 25.6 kHz, 1 = 12.8 kHz, 2 = 6.4 kHz, 3 = 3.2 kHz, 4 = 1.6 kHz. Recording time doubles each time the rate halves |
extRMS |
false = RMS over 8192 points, true = over 16,384 points |
current — current sensors
| Field | Meaning |
|---|---|
currentProbeType |
Probe type for all 4 channels, e.g. [0, 0, 0, 0] |
multiplier |
Multiplier per channel |
offset |
Offset per channel |
gp — the -2 V to 2 V sensor
| Field | Meaning |
|---|---|
minRMSFreq / maxRMSFreq |
RMS frequency filters |
velocity |
true = RMS of velocity (assumes an accelerometer is connected), false = RMS of voltage |
sensitivity |
Accelerometer sensitivity for each of the two channels |
Cancel with cancelchangesettings if it has not been serviced yet.
setsensorgwsettings — stored in the gateway
Section titled “setsensorgwsettings — stored in the gateway”Changes how the gateway treats this sensor: collection schedule, triggers and alarms. These live in the gateway, not in the sensor.
{ "type": "observeerequest", "phantomcode": 189281421, "action": "setsensorgwsettings", "settings": { "timed": {}, "trigger": {}, "alarms": {}, "triaxialRecording": {} }}timed — scheduled collection
| Field | Meaning |
|---|---|
collectionMode |
global follows the global setup, interval a custom interval, timeoftheday custom times, disabled no timed collection |
collectionInterval |
The interval |
collectionUnits |
Units for the interval, in seconds |
timeArray |
Times in HH:ss, 24-hour, for timeoftheday |
trigger — collect when another sensor fires
| Field | Meaning |
|---|---|
type |
none, current, rpm or gpio |
phantomCode |
Serial of the node used as the trigger |
waitAfter |
How long to ignore the trigger after it fires once |
waitAfterUnits |
Units in seconds: 60 minutes, 3600 hours, 86400 days |
channel |
Channel to trigger on, for GPIO and current |
min / max |
Trigger window for current and RPM |
dryState |
open or closed, for the dry contact sensor |
transient |
true triggers all sensors on a single click even if the state does not hold |
alarms
| Field | Meaning |
|---|---|
enabled |
Trigger level 1 enabled |
rms |
Alarm thresholds in mm/s |
rmsLevel2 |
Level 2 thresholds in mm/s |
enabledLevel2 |
Whether level 2 is enabled |
alarmCount |
How many times the alarm must appear before it triggers |
waitAfter / waitAfterUnits |
How long to ignore the alarm after it triggers |
triaxialRecording
| Field | Meaning |
|---|---|
custom |
Whether this sensor has custom collection settings |
mode |
triaxial or singleaxis |
axis |
x, y or z, when in single-axis mode |
sampleRate |
25600, 12800, 6400 or 3200 |
range |
2, 4, 8 for low range; 8, 16, 32 for high range |
samples |
0 normal, 1 extended |
Gateway-level
Section titled “Gateway-level”| Action | Effect |
|---|---|
getstate |
Ask the gateway to publish its state. MQTT only — see Management over MQTT |
doPhantomSync |
Operate on a PHANTOM® Sync group, e.g. {"index": 0, "action": "prepareandactivate", "timeout": 600} |