commit bfc9763f0586bede070d8d884acc955053559466 Author: Kwimbee <72341571+Kwimbee@users.noreply.github.com> Date: Fri Feb 13 11:17:41 2026 +0100 initial push diff --git a/01-device-info/Device errors.bru b/01-device-info/Device errors.bru new file mode 100644 index 0000000..859d330 --- /dev/null +++ b/01-device-info/Device errors.bru @@ -0,0 +1,11 @@ +meta { + name: Device errors + type: http + seq: 4 +} + +post { + url: {{base_url}}/errors + body: none + auth: inherit +} diff --git a/01-device-info/Device software versions.bru b/01-device-info/Device software versions.bru new file mode 100644 index 0000000..72d79ab --- /dev/null +++ b/01-device-info/Device software versions.bru @@ -0,0 +1,11 @@ +meta { + name: Device software versions + type: http + seq: 5 +} + +post { + url: {{base_url}}/sw_ver + body: none + auth: inherit +} diff --git a/01-device-info/LED Temps.bru b/01-device-info/LED Temps.bru new file mode 100644 index 0000000..0f2aa94 --- /dev/null +++ b/01-device-info/LED Temps.bru @@ -0,0 +1,11 @@ +meta { + name: LED Temps + type: http + seq: 4 +} + +post { + url: {{base_url}}/ltemps + body: none + auth: inherit +} diff --git a/01-device-info/Remote device info.bru b/01-device-info/Remote device info.bru new file mode 100644 index 0000000..5595591 --- /dev/null +++ b/01-device-info/Remote device info.bru @@ -0,0 +1,25 @@ +meta { + name: Remote device info + type: http + seq: 6 +} + +post { + url: {{base_url}}/remote + body: none + auth: none +} + +docs { + # Device Status + + Get device information without auth. + + ## Response Fields + - `dmxa`: DMX address + 1 + - `dmxp`: DMX preset (Mode X) + - `dn`: Device name + - `stat`: Status / 1 if some error else 0 + - `rdm`: RDM UID + - `rdmi`: 1 if device is identifiing over RDM else 0 +} diff --git a/01-device-info/device-status.bru b/01-device-info/device-status.bru new file mode 100644 index 0000000..7f1aaa8 --- /dev/null +++ b/01-device-info/device-status.bru @@ -0,0 +1,30 @@ +meta { + name: Device Status + type: http + seq: 2 +} + +post { + url: {{base_url}}/status_i + body: none + auth: inherit +} + +docs { + # Device Status + + Get comprehensive device status information. + + ## Response Fields + - `dmxa`: DMX address + 1 + - `dmxp`: DMX preset (Mode X) + - `dmxf`: Preset footprint (X channels) + - `dmxi`: DMX input label + - `pt`: Device model name + RDM label + - `ip`: IP address + - `mac`: MAC address + - `rdmu`: RDM UID + - `rdmn`: RDM device label + - `tu`: Temperature unit (F/C) + - `lfn`: Device type ID +} diff --git a/01-device-info/device-supported-commands.bru b/01-device-info/device-supported-commands.bru new file mode 100644 index 0000000..3a431a0 --- /dev/null +++ b/01-device-info/device-supported-commands.bru @@ -0,0 +1,33 @@ +meta { + name: Device Supported Commands + type: http + seq: 1 +} + +post { + url: {{base_url}}/sup_c + body: formUrlEncoded + auth: inherit +} + +body:form-urlencoded { + ~index: 0 +} + +docs { + # Device Supported Commands + + Use this command first on each device to get supported parameters, labels and configurations. + + ## Parameters + - `index` (optional): Index of supported command description (0-n) + + ## Response + If index is valid: + - `c`: API command name + - `p`: Array of supported parameters + - `l`: Array of labels for temperatures/timers + - `ra`: Resetable value bitmask + + If index is undefined or >= number of commands: empty JSON +} diff --git a/02-configuration/colour-settings.bru b/02-configuration/colour-settings.bru new file mode 100644 index 0000000..a0bb815 --- /dev/null +++ b/02-configuration/colour-settings.bru @@ -0,0 +1,40 @@ +meta { + name: Colour Settings + type: http + seq: 8 +} + +post { + url: {{base_url}}/col_s + body: formUrlEncoded + auth: inherit +} + +body:form-urlencoded { + ~ccri: 0 + ~cdimc: 0 + ~hpwrm: 0 + ~ccalm: 0 + ~cmixm: 0 + ~chrwh: 0 + ~thefs: 0 +} + +docs { + # Colour Settings + + Configure colour rendering and mixing. + + ## Set Parameters + - `ccri`: CRI (0-1: high/standard) + - `cdimc`: Dimmer curve (0-1: linear/square law) + - `hpwrm`: High power mode (0-1) + - `ccalm`: Colour calibration mode (0-1) + - `cmixm`: Colour mixing mode (0-1: RGB/CMY) + - `chrwh`: Chromatic white (0-1) + - `thefs`: Tungsten effect simulation (0-5: various wattages) + + ## Response + - All parameters as strings or on/off + - `status`: 0 if success +} diff --git a/02-configuration/display-settings.bru b/02-configuration/display-settings.bru new file mode 100644 index 0000000..4ebcea5 --- /dev/null +++ b/02-configuration/display-settings.bru @@ -0,0 +1,36 @@ +meta { + name: Display Settings + type: http + seq: 3 +} + +post { + url: {{base_url}}/dis_s + body: formUrlEncoded + auth: inherit +} + +body:form-urlencoded { + ~dint: 5 + ~dsd: 5 + ~dtl: 5 + ~dor: 0 + ~daofft: 0 +} + +docs { + # Display Settings + + Configure display behavior. + + ## Set Parameters + - `dint`: Display intensity (0-9) + - `dsd`: Display screensaver time (0-10) + - `dtl`: Display touchscreen lock (0-10) + - `dor`: Display orientation (0-2: normal/inverted/auto) + - `daofft`: Activate off timer (0-1) + + ## Response + - All parameters with appropriate formats + - `status`: 0 if success +} diff --git a/02-configuration/dmx-address-mode-rdm.bru b/02-configuration/dmx-address-mode-rdm.bru new file mode 100644 index 0000000..c5916df --- /dev/null +++ b/02-configuration/dmx-address-mode-rdm.bru @@ -0,0 +1,35 @@ +meta { + name: DMX Address/Mode/RDM Setup + type: http + seq: 1 +} + +post { + url: {{base_url}}/set_dmx + body: formUrlEncoded + auth: inherit +} + +body:form-urlencoded { + ~dmxa: 1 + ~dmxp: 0 + ~dmxi: 0 + ~rdmn: RDM name +} + +docs { + # DMX Address/Mode/RDM Setup + + Configure DMX and RDM settings. + + ## Set Parameters + - `dmxa`: DMX address (1-512) + - `dmxp`: DMX preset (0-preset count) + - `dmxi`: DMX input (0-max, e.g., wired/wireless) + - `rdmn`: RDM device label (max 32 chars) + + ## Response + - `dmxf`: Preset footprint + - `status`: 0 if success + - `pt`: Device model name + RDM label +} diff --git a/02-configuration/ethernet-settings.bru b/02-configuration/ethernet-settings.bru new file mode 100644 index 0000000..96617dc --- /dev/null +++ b/02-configuration/ethernet-settings.bru @@ -0,0 +1,39 @@ +meta { + name: Ethernet Settings + type: http + seq: 2 +} + +post { + url: {{base_url}}/eth_s + body: formUrlEncoded + auth: inherit +} + +body:form-urlencoded { + ~emod: 1 + ~ee2d: 0 + ~eanu: 0 + ~emau: 1 + ~emas: 1 + ~esau: 1 +} + +docs { + # Ethernet Settings + + Configure ethernet/network mode. + + ## Set Parameters + - `emod`: Ethernet mode (0-4, or 0-2 for Promotion devices) + - Labels: disable/ArtNet/gMA1/gMA2/sACN (or DMX/ArtNet/sACN) + - `ee2d`: Ethernet to DMX (0-1) + - `eanu`: ArtNet universe (0-255) + - `emau`: MANet I/II universe (1-256) + - `emas`: MANet session ID (1-32) + - `esau`: sACN universe (1-32000) + + ## Response + - All set parameters as strings/ints + - `status`: 0 if success +} diff --git a/02-configuration/graphics-engine.bru b/02-configuration/graphics-engine.bru new file mode 100644 index 0000000..f1ae4be --- /dev/null +++ b/02-configuration/graphics-engine.bru @@ -0,0 +1,38 @@ +meta { + name: Graphics Engine Settings + type: http + seq: 11 +} + +post { + url: {{base_url}}/graphe_s + body: formUrlEncoded + auth: inherit +} + +body:form-urlencoded { + ~imgar: 0 + ~edga: 0 + ~gbms: 0 + ~slit: 0 + ~rfrr: 0 + ~optm: 0 +} + +docs { + # Graphics Engine Settings + + Configure graphics and gobo rendering. + + ## Set Parameters + - `imgar`: Image aspect ratio (0-1) + - `edga`: Edge antialiasing (0-1) + - `gbms`: Gobo selection mode (0-1) + - `slit`: Slideshow timer (0-300) + - `rfrr`: Refresh rate (0-6) + - `optm`: Optics module (0-1) + + ## Response + - Various string and integer fields + - `status`: 0 if success +} diff --git a/02-configuration/lamp-settings.bru b/02-configuration/lamp-settings.bru new file mode 100644 index 0000000..e5cd44d --- /dev/null +++ b/02-configuration/lamp-settings.bru @@ -0,0 +1,42 @@ +meta { + name: Lamp Settings + type: http + seq: 9 +} + +post { + url: {{base_url}}/lamp_s + body: formUrlEncoded + auth: inherit +} + +body:form-urlencoded { + ~lonof: 0 + ~lpwr: 0 + ~ligde: 0 + ~llise: 0 + ~lonpon: 0 + ~lofvd: 0 + ~londp: 0 + ~lofdm: 0 +} + +docs { + # Lamp Settings + + Configure lamp behavior and power. + + ## Set Parameters + - `lonof`: Lamp state (0-1: off/on) + - `lpwr`: Lamp power (0-4: eco/standard/1700W/1500W/silent) + - `ligde`: Lamp ignition delay (0-91: off or 1-90s) + - `llise`: Lamp light sensor (0-1) + - `lonpon`: Lamp on power on (0-1) + - `lofvd`: Lamp off via DMX (0-1) + - `londp`: Lamp on when DMX present (0-1) + - `lofdm`: Lamp off when DMX missing (0-1) + + ## Response + - All parameters as strings + - `status`: 0 if success +} diff --git a/02-configuration/led-engine.bru b/02-configuration/led-engine.bru new file mode 100644 index 0000000..fcc8eb7 --- /dev/null +++ b/02-configuration/led-engine.bru @@ -0,0 +1,35 @@ +meta { + name: LED Engine Settings + type: http + seq: 10 +} + +post { + url: {{base_url}}/lede_s + body: formUrlEncoded + auth: inherit +} + +body:form-urlencoded { + ~cprj: 0 + ~rprj: 0 + ~colt: 0 + ~gamc: 0 +} + +docs { + # LED Engine Settings + + Configure LED projection and color. + + ## Set Parameters + - `cprj`: Ceiling projection (0-1) + - `rprj`: Rear projection (0-1) + - `colt`: Color temperature (0-8) + - `gamc`: Gamma curve (0-5) + + ## Response + - `cprj`, `rprj`: Integer values + - `colt`, `gamc`: String labels + - `status`: 0 if success +} diff --git a/02-configuration/other-settings.bru b/02-configuration/other-settings.bru new file mode 100644 index 0000000..2b9b964 --- /dev/null +++ b/02-configuration/other-settings.bru @@ -0,0 +1,46 @@ +meta { + name: Other Settings + type: http + seq: 4 +} + +post { + url: {{base_url}}/oth_s + body: formUrlEncoded + auth: inherit +} + +body:form-urlencoded { + ~mics: 10 + ~fanm: 1 + ~tmpu: 1 + ~wfiap: 0 + ~fsmo: 0 + ~cpm: 0 + ~btns: 0 + ~fannl: 50 + ~them: 0 + ~frq: 0 +} + +docs { + # Other Settings + + Miscellaneous device settings. + + ## Set Parameters + - `mics`: Microphone sensitivity (0-19) + - `fanm`: Fan mode (0-1 or 0-3) + - `tmpu`: Temperature unit (0-1: F/C) + - `wfiap`: WiFi access point (0-1) + - `fsmo`: Followspot mode (0-3) + - `cpm`: Close proximity mode (0-1) + - `btns`: Buttons setting (0-1) + - `fannl`: Fan noise level (0-100) + - `them`: Theater mode (0-1) + - `frq`: Frequency (0-13951) + + ## Response + - All parameters formatted appropriately + - `status`: 0 if success +} diff --git a/02-configuration/pan-tilt-settings.bru b/02-configuration/pan-tilt-settings.bru new file mode 100644 index 0000000..5d05a4c --- /dev/null +++ b/02-configuration/pan-tilt-settings.bru @@ -0,0 +1,36 @@ +meta { + name: Pan/Tilt Settings + type: http + seq: 7 +} + +post { + url: {{base_url}}/pt_s + body: formUrlEncoded + auth: inherit +} + +body:form-urlencoded { + ~pr: 0 + ~tr: 0 + ~ptf: 0 + ~ptm: 0 + ~pte: 0 +} + +docs { + # Pan/Tilt Settings + + Configure pan and tilt behavior. + + ## Set Parameters + - `pr`: Pan reverse (0-1) + - `tr`: Tilt reverse (0-1) + - `ptf`: Pan/tilt feedback (0-1) + - `ptm`: Pan/tilt mode (0-1: time/speed) + - `pte`: Pan/tilt EMS (0-1) + + ## Response + - All parameters as "off"/"on" or mode strings + - `status`: 0 if success +} diff --git a/02-configuration/password-settings.bru b/02-configuration/password-settings.bru new file mode 100644 index 0000000..0c47ec2 --- /dev/null +++ b/02-configuration/password-settings.bru @@ -0,0 +1,31 @@ +meta { + name: Password Settings + type: http + seq: 5 +} + +post { + url: {{base_url}}/set_cfg + body: formUrlEncoded + auth: inherit +} + +body:form-urlencoded { + ~opswd: 2479 + ~npswd: 1234 + ~npsch: 1234 +} + +docs { + # Password Settings + + Change device webserver password. + + ## Set Parameters + - `opswd`: Old password (four digits) + - `npswd`: New password (four digits) + - `npsch`: New password check (four digits) + + ## Response + - `status`: 0 if success +} diff --git a/02-configuration/wireless-module.bru b/02-configuration/wireless-module.bru new file mode 100644 index 0000000..e01b163 --- /dev/null +++ b/02-configuration/wireless-module.bru @@ -0,0 +1,40 @@ +meta { + name: Wireless Module Settings + type: http + seq: 6 +} + +post { + url: {{base_url}}/lwm + body: formUrlEncoded + auth: inherit +} + +body:form-urlencoded { + ~unlink: 1 +} + +docs { + # Wireless Module Settings + + Get wireless module status or unlink the card. + + ## Set Parameters + - `unlink` (optional): Set to 1 to unlink wireless card + + ## Response Variants + + **Linked:** + - `lwc`: "linked" + - `lws`: Signal strength (0-100%) + + **Unlinked:** + - `lwc`: "unlinked" + - `lws`: "..." + + **Not installed:** + - `lwc`: "not installed" + - `lws`: "..." + + - `status`: 0 if success +} diff --git a/03-counters/Device Hours.bru b/03-counters/Device Hours.bru new file mode 100644 index 0000000..9baf526 --- /dev/null +++ b/03-counters/Device Hours.bru @@ -0,0 +1,29 @@ +meta { + name: Device Hours + type: http + seq: 2 +} + +post { + url: {{base_url}}/reset_hours + body: formUrlEncoded + auth: inherit +} + +body:form-urlencoded { + ~index: 0 +} + +docs { + # Device hours + + Get or reset device hours values. + + ## Set Parameters + - `index` (optional): Index of value to reset (0-3) + + ## Response + - `h0-h3`: Value + - `hr0-hr3`: Resetable value + - `status`: 0 if success +} diff --git a/03-counters/device-temperatures.bru b/03-counters/device-temperatures.bru new file mode 100644 index 0000000..1429c80 --- /dev/null +++ b/03-counters/device-temperatures.bru @@ -0,0 +1,30 @@ +meta { + name: Device Temperatures + type: http + seq: 2 +} + +post { + url: {{base_url}}/reset_temps + body: formUrlEncoded + auth: inherit +} + +body:form-urlencoded { + ~index: 0 +} + +docs { + # Device Temperatures + + Get or reset device temperature values. + + ## Set Parameters + - `index` (optional): Index of value to reset (0-3) + + ## Response + - `t0-t3`: Current temperatures (C/F based on unit) + - `tm0-tm3`: Max temperatures + - `tmr0-tmr3`: Max resetable temperatures + - `status`: 0 if success +} diff --git a/03-counters/folder.bru b/03-counters/folder.bru new file mode 100644 index 0000000..2003589 --- /dev/null +++ b/03-counters/folder.bru @@ -0,0 +1,3 @@ +meta { + name: 03-counters +} diff --git a/bruno.json b/bruno.json new file mode 100644 index 0000000..54cc9fa --- /dev/null +++ b/bruno.json @@ -0,0 +1,5 @@ +{ + "version": "1", + "name": "Robe Webserver API", + "type": "collection" +} \ No newline at end of file diff --git a/collection.bru b/collection.bru new file mode 100644 index 0000000..743ca3b --- /dev/null +++ b/collection.bru @@ -0,0 +1,25 @@ +auth { + mode: basic +} + +auth:basic { + username: robe + password: 2479 +} + +vars:pre-request { + base_url: 2.0.0.1 +} + +docs { + # Robe Webserver API + + ## Setup + + 1. **Authentication**: Most endpoints require HTTP Basic Authentication / Configure these in Bruno + - Username: `robe` (fixed, cannot be changed) + - Default Password: `2479` (can be changed via webserver) + + 2. **Environment Variables**: Configure these in Bruno: + - `base_url`: Your device IP (e.g., `http://2.242.1.2`) +}