ESP3D/docs/espXXX.md
Luc cda276e2e6
Settings validation refactoring (#964)
* Rewrite the setting API to use same API as ESP3D-TFT or at least close enough to be improved - WIP

* Add isValidXXX setting API

* Factorize dispatch_setting for ESP400

* ESP400 refactoring
2023-11-09 10:29:13 +08:00

34 KiB

+++ archetype = "section" title = "[ESP100]" weight = 800 +++

Set / Display Station SSID

Input

[ESP100]<SSID> json=<no> pwd=<admin/user password>

  • json=no the output format
    can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • SSID

    • if SSID is empty, it will display current SSID
    • if SSID is not empty, it will set the SSID

Output

  • In json format
{
   "cmd":"100",
   "status":"ok",
   "data":"esp3d"
}
  • cmd Id of requested command, should be 100
  • status status of command, should be ok
  • data content of response, here the SSID

+++ archetype = "section" title = "[ESP101]" weight = 800 +++ Set Station Password

Input

[ESP101]<password> <NOPASSWORD> json=<no> pwd=<admin/user password>

  • json=no the output format
    can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • password

    • if password is not empty, it will set the password
  • NOPASSWORD

    • if NOPASSWORD is present, it will remove the password
  • if password is empty and NOPASSWORD is not present, it will raise error: `Password not displayable``

Output

  • In json format
{
   "cmd":"101",
   "status":"ok",
   "data":"ok"
}
  • cmd Id of requested command, should be 101
  • status status of command, should be ok
  • data content of response, here ok

if error :

json format :
{
"cmd":"101",
"status":"error",
"data":"Password not displayable"
}
plain text : `error: Password not displayable`

+++ archetype = "section" title = "[ESP102]" weight = 800 +++ Set / Display Station IP mode

Input

[ESP102]<mode> json=<no> pwd=<admin/user password>

  • json=no the output format
    can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • mode

    • if mode is empty, it will display current mode
    • if mode is not empty, it will set the setting mode: DHCP or STATIC

Output

  • In json format
{
   "cmd":"102",
   "status":"ok",
   "data":"DHCP"
}
  • cmd Id of requested command, should be 102
  • status status of command, should be ok
  • data content of response, here the mode

+++ archetype = "section" title = "[ESP103]" weight = 800 +++ Set / Display Station IP address

Input

[ESP103]IP=<IP> MSK=<IP> GW=<IP> DNS=<IP> json=<no> pwd=<admin/user password>

  • json=no the output format
    can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • IP

    • if IP is empty, it will display defined IP
    • if IP is not empty, it will set the IP
  • MSK

    • if MSK is empty, it will display defined Network Mask
    • if MSK is not empty, it will set the Network Mask
  • GW

    • if GW is empty, it will display defined Gateway
    • if GW is not empty, it will set the Gateway
  • DNS

    • if DNS is empty, it will display defined DNS
    • if DNS is not empty, it will set the DNS

Output

  • In json format
{
 "cmd": "103",
 "status": "ok",
 "data": {
  "ip": "192.168.0.1",
  "gw": "192.168.0.1",
  "msk": "255.255.255.0",
  "dns": "192.168.0.1"
 }
}
  • cmd Id of requested command, should be 103
  • status status of command, should be ok
  • data content of response, here the IP, GW, MSK and DNS

+++ archetype = "section" title = "[ESP104]" weight = 800 +++ Set station fallback mode state at boot which can be BT, WIFI-AP, OFF

Input

[ESP104]<mode> json=<no> pwd=<admin/user password>

  • json=no the output format
    can be in JSON or plain text

  • pwd=

the admin password if authentication is enabled

  • mode
    • if mode is empty, it will display current mode
    • if mode is not empty, it will set the setting mode: BT, WIFI-AP or OFF

Output

  • In json format
{
   "cmd":"104",
   "status":"ok",
   "data":"OFF"
}
  • cmd Id of requested command, should be 104
  • status status of command, should be ok
  • data content of response, here the mode

+++ archetype = "section" title = "[ESP104]" weight = 800 +++ Set station fallback mode state at boot which can be BT, WIFI-SETUP, OFF

Input

[ESP104]<mode> json=<no> pwd=<admin/user password>

  • json=no the output format
    can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • mode

    • if mode is empty, it will display current mode
    • if mode is not empty, it will set the setting mode: BT, WIFI-SETUP or OFF

Output

  • In json format
{
   "cmd":"104",
   "status":"ok",
   "data":"OFF"
}

+++ archetype = "section" title = "[ESP105]" weight = 800 +++ Set / Display Access point SSID

Input

[ESP105]<SSID> json=<no> pwd=<admin/user password>

  • json=no the output format
    can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • SSID

    • if SSID is empty, it will display current SSID
    • if SSID is not empty, it will set the SSID

Output

  • In json format
{
   "cmd":"105",
   "status":"ok",
   "data":"esp3d"
}
  • cmd Id of requested command, should be 105
  • status status of command, should be ok
  • data content of response, here the SSID

+++ archetype = "section" title = "[ESP106]" weight = 800 +++ Set Access point password

Input

[ESP106]<password> <NOPASSWORD> json=<no> pwd=<admin/user password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • password

    • if password is not empty, it will set the password
  • NOPASSWORD

    • if NOPASSWORD is present, it will remove the password
  • if password is empty and NOPASSWORD is not present, it will raise error: `Password not displayable``

Output

  • In json format
{
   "cmd":"106",
   "status":"ok",
   "data":"ok"
}
  • cmd Id of requested command, should be 106
  • status status of command, should be ok
  • data content of response, here ok

+++ archetype = "section" title = "[ESP107]" weight = 800 +++ Set / Display Access point IP value

Input

[ESP107]<IP> json=<no> pwd=<admin/user password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • IP

    • if IP is empty, it will display defined IP
    • if IP is not empty, it will set the IP

Output

  • In json format
{
   "cmd":"107",
   "status":"ok",
   "data":"192.168.0.1"
}
  • cmd Id of requested command, should be 107
  • status status of command, should be ok
  • data content of response, here the IP

+++ archetype = "section" title = "[ESP108]" weight = 800 +++ Set / Display Access point channel value

Input

[ESP108]<channel> json=<no> pwd=<admin/user password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • channel

    • if channel is empty, it will display defined channel
    • if channel is not empty, it will set the channel

Output

  • In json format
{
   "cmd":"108",
   "status":"ok",
   "data":"1"
}
  • cmd Id of requested command, should be 108
  • status status of command, should be ok
  • data content of response, here the channel

+++ archetype = "section" title = "[ESP110]" weight = 800 +++ Set radio state at boot which can be BT, WIFI-STA, WIFI-AP, ETH-STA, OFF

Input

[ESP110]<mode> json=<no> pwd=<admin/user password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • mode

    • if mode is empty, it will display current mode
    • if mode is not empty, it will set the setting mode: BT, WIFI-STA, WIFI-AP, ETH-STA or OFF

Output

  • In json format
{
   "cmd":"110",
   "status":"ok",
   "data":"OFF"
}
  • cmd Id of requested command, should be 110
  • status status of command, should be ok
  • data content of response, here the mode

+++ archetype = "section" title = "[ESP111]" weight = 800 +++ Display current IP

Input

[ESP111]<OUTPUT=PRINTER> json=<no> pwd=<admin/user password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • OUTPUT

    • if OUTPUT is empty, it will display current IP as text 192.168.0.1
    • if OUTPUT is PRINTER, it will display current IP in printer format M117 192.168.0.1

Output

  • In json format
{
   "cmd":"111",
   "status":"ok",
   "data":"192.168.0.1"
}
  • cmd Id of requested command, should be 111
  • status status of command, should be ok
  • data content of response, here the IP

+++ archetype = "section" title = "[ESP112]" weight = 800 +++ Set / Display Hostname

Input

[ESP112]<hostname> json=<no> pwd=<admin/user password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • hostname

    • if hostname is empty, it will display current hostname
    • if hostname is not empty, it will set the hostname

Output

  • In json format
{
   "cmd":"112",
   "status":"ok",
   "data":"esp3d"
}
  • cmd Id of requested command, should be 112
  • status status of command, should be ok
  • data content of response, here the hostname

+++ archetype = "section" title = "[ESP114]" weight = 800 +++ Get/Set Boot radio state which can be ON, OFF

Input

[ESP114]<mode> json=<no> pwd=<admin/user password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • mode

    • if mode is empty, it will display current mode
    • if mode is not empty, it will set the setting mode: ON or OFF

Output

  • In json format
{
   "cmd":"114",
   "status":"ok",
   "data":"OFF"
}
  • cmd Id of requested command, should be 114
  • status status of command, should be ok
  • data content of response, here the mode

+++ archetype = "section" title = "[ESP115]" weight = 800 +++ Get/Set immediate Network (WiFi/BT/Ethernet) state which can be ON, OFF

Input

[ESP115]<mode> json=<no> pwd=<admin/user password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • mode

    • if mode is empty, it will display current mode
    • if mode is not empty, it will set the setting mode: ON or OFF

Output

  • In json format
{
   "cmd":"115",
   "status":"ok",
   "data":"OFF"
}
  • cmd Id of requested command, should be 115
  • status status of command, should be ok
  • data content of response, here the mode

+++ archetype = "section" title = "[ESP120]" weight = 800 +++ Get/Set HTTP state which can be ON, OFF

Input

[ESP120]<mode> json=<no> pwd=<admin/user password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • mode

    • if mode is empty, it will display current mode
    • if mode is not empty, it will set the setting mode: ON or OFF

Output

  • In json format
{
   "cmd":"120",
   "status":"ok",
   "data":"OFF"
}
  • cmd Id of requested command, should be 120
  • status status of command, should be ok
  • data content of response, here the mode

+++ archetype = "section" title = "[ESP121]" weight = 800 +++ Get/Set HTTP port

Input

[ESP121]<port> json=<no> pwd=<admin/user password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • port

    • if port is empty, it will display current port
    • if port is not empty, it will set the port

Output

  • In json format
{
   "cmd":"121",
   "status":"ok",
   "data":"80"
}
  • cmd Id of requested command, should be 121
  • status status of command, should be ok
  • data content of response, here the port

+++ archetype = "section" title = "[ESP130]" weight = 800 +++ Get/Set TELNET state which can be ON, OFF, CLOSE

Input

[ESP130]<mode> json=<no> pwd=<admin/user password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • mode

    • if mode is empty, it will display current mode
    • if mode is not empty, it will set the setting mode: ON, OFF or CLOSE

Output

  • In json format
{
   "cmd":"130",
   "status":"ok",
   "data":"OFF"
}
  • cmd Id of requested command, should be 130
  • status status of command, should be ok
  • data content of response, here the mode

+++ archetype = "section" title = "[ESP131]" weight = 800 +++ Get/Set TELNET port

Input

[ESP131]<port> json=<no> pwd=<admin/user password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • port

    • if port is empty, it will display current port
    • if port is not empty, it will set the port

Output

  • In json format
{
   "cmd":"131",
   "status":"ok",
   "data":"23"
}
  • cmd Id of requested command, should be 131
  • status status of command, should be ok
  • data content of response, here the port

+++ archetype = "section" title = "[ESP140]" weight = 800 +++ Sync / Set / Get current time

Input

[ESP140]<SYNC> <srv1=XXXXX> <srv2=XXXXX> <srv3=XXXXX> <tzone=+HH:SS> <ntp=YES/NO> <time=YYYY-MM-DDTHH:mm:ss> NOW json=<no> pwd=<admin password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • srv1 / srv2 / srv3

    • if srv1 / srv2 / srv3 are empty, it will display current NTP servers
    • if srv1 / srv2 / srv3 are not empty, it will set the NTP servers
  • tzone

    • if tzone is empty, it will display current time zone
    • if tzone is not empty, it will set the time zone
  • time

    • if time is empty, it will display current time
    • if time is not empty, it will set the time
  • ntp

    • if ntp is empty, it will display current NTP state
    • if ntp is not empty, it will set the NTP state
  • SYNC

    • if SYNC, it will restart NTP service to sync time
  • NOW

    • if NOW, it will display current time in ISO 8601 format with time zone

Output

  • In json format
{
   "cmd":"140",
   "status":"ok",
   "data":"2020-01-01T00:00:00 (+08:00)"
}
  • cmd Id of requested command, should be 140
  • status status of command, should be ok
  • data content of response, here the time

+++ archetype = "section" title = "[ESP150]" weight = 800 +++ Get/Set display/set boot delay in ms / Verbose boot

Input

[ESP150]<delay=time in milliseconds> <verbose=ON/OFF> json=<no> pwd=<admin/user password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • delay

    • if delay is empty, it will display current delay
    • if delay is not empty, it will set the delay
  • verbose

    • if verbose is empty, it will display current verbose state
    • if verbose is not empty, it will set the verbose state

Output

  • In json format
{
   "cmd":"150",
   "status":"ok",
   "data": {
      "delay": "100",
      "verbose": "OFF"
    }
}
  • cmd Id of requested command, should be 150
  • status status of command, should be ok
  • data content of response, here the delay and verbose state

+++ archetype = "section" title = "[ESP160]" weight = 800 +++ Get/Set WebSocket state which can be ON, OFF, CLOSE

Input

[ESP160]<mode> json=<no> pwd=<admin/user password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • mode

    • if mode is empty, it will display current mode
    • if mode is not empty, it will set the setting mode: ON, OFF or CLOSE

Output

  • In json format
{
   "cmd":"160",
   "status":"ok",
   "data":"OFF"
}
  • cmd Id of requested command, should be 160
  • status status of command, should be ok
  • data content of response, here the mode

+++ archetype = "section" title = "[ESP161]" weight = 800 +++ Get/Set WebSocket port

Input

[ESP161]<port> json=<no> pwd=<admin/user password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • port

    • if port is empty, it will display current port
    • if port is not empty, it will set the port

Output

  • In json format
{
   "cmd":"161",
   "status":"ok",
   "data":"81"
}
  • cmd Id of requested command, should be 161
  • status status of command, should be ok
  • data content of response, here the port

+++ archetype = "section" title = "[ESP170]" weight = 800 +++ Set Camera command value / list all values in JSON/plain text

Input

[ESP170]<label=value> <json=no> pwd=<admin password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • label

    • if label is empty, it will display current value
    • if label is not empty, it will set the value

    label can be: light/framesize/quality/contrast/brightness/saturation/gainceiling/colorbar/awb/agc/aec/hmirror/vflip/awb_gain/agc_gain/aec_value/aec2/cw/bpc/wpc/raw_gma/lenc/special_effect/wb_mode/ae_level
    value depend on label

Output

  • In json format
{
   "cmd":"170",
   "status":"ok",
   "data":"ok"
}
  • cmd Id of requested command, should be 170
  • status status of command, should be ok
  • data content of response, here ok

+++ archetype = "section" title = "[ESP171]" weight = 800 +++ Save frame to target path and filename (default target = today date, default name=timestamp.jpg)

Input

[ESP171]<json=no> path=<target path> filename=<target filename> pwd=<admin/user password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • path

    • if path is not empty, it will set the path
  • filename

    • if filename is not empty, it will set the filename

Output

  • In json format
{
   "cmd":"171",
   "status":"ok",
   "data":"Snapshot taken"
}
  • cmd Id of requested command, should be 171
  • status status of command, should be ok
  • data content of response, here Snapshot taken

+++ archetype = "section" title = "[ESP180]" weight = 800 +++ Get/Set Ftp state which can be ON, OFF, CLOSE

Input

[ESP180]<state> json=<no> pwd=<admin password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • state

    • if state is empty, it will display current state
    • if state is not empty, it will set the state ON, OFF, CLOSE

Output

  • In json format
{
   "cmd":"180",
   "status":"ok",
   "data":"OFF"
}
  • cmd Id of requested command, should be 180
  • status status of command, should be ok
  • data content of response, here the state

+++ archetype = "section" title = "[ESP181]" weight = 800 +++ Get/Set Ftp ports

Input

ESP181]ctrl=<port> active=<port> passive=<port> json=<no> pwd=<admin password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • ctrl

    • if ctrl is empty, it will display current ctrl port
    • if ctrl is not empty, it will set the ctrl port
  • active

    • if active is empty, it will display current active port
    • if active is not empty, it will set the active port
  • passive

    • if passive is empty, it will display current passive port
    • if passive is not empty, it will set the passive port

+++ archetype = "section" title = "[ESP190]" weight = 800 +++ Set WebDav state which can be ON, OFF, CLOSE

Input

[ESP190]<state> json=<no> pwd=<admin password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • state

    • if state is empty, it will display current state
    • if state is not empty, it will set the state ON, OFF, CLOSE

Output

  • In json format
{
   "cmd":"190",
   "status":"ok",
   "data":"OFF"
}
  • cmd Id of requested command, should be 190
  • status status of command, should be ok
  • data content of response, here the state

+++ archetype = "section" title = "[ESP191]" weight = 800 +++ Get/Set WebDav port

Input

[ESP191]<port> json=<no> pwd=<admin password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

    • port
      • if port is empty, it will display current port
      • if port is not empty, it will set the port

Output

  • In json format
{
   "cmd":"191",
   "status":"ok",
   "data":"80"
}
  • cmd Id of requested command, should be 191
  • status status of command, should be ok
  • data content of response, here the port

+++ archetype = "section" title = "[ESP200]" weight = 800 +++ Get/Set SD state

Input

[ESP200] json=<YES/NO> <RELEASESD> <REFRESH> pwd=<user/admin password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

    • RELEASESD

      • if RELEASESD is present, it will release SD card
    • REFRESH

      • if REFRESH is present, it will refresh SD card

Output

  • In json format
{
   "cmd":"200",
   "status":"ok",
   "data":"ok"
}

states can be : Busy. "Not available, ok, No SD card

  • cmd Id of requested command, should be 200
  • status status of command, should be ok
  • data content of response, here ok

+++ archetype = "section" title = "[ESP201]" weight = 800 +++ Get/Set pin value

Input

[ESP201]P=<pin> V=<value> <json=YES/NO> <PULLUP=YES> <RAW=YES> <ANALOG=NO> <ANALOG_RANGE=255> pwd=<admin password> Range can be 255 / 1024 / 2047 / 4095 / 8191

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

    • P

      • if P is not empty, it will use the pin value
    • V

      • if V is empty, it will display current pin value
      • if V is not empty, it will set the pin value
  • RAW

    • if RAW is present, it will not set the pin mode
  • PULLUP

    • if PULLUP is present, it will set the pin mode to pullup
  • ANALOG

    • if ANALOG is present, it will set the pin ANALOG
  • ANALOG_RANGE

    • if ANALOG_RANGE is not empty, it will set the ANALOG_RANGE

Output

  • In json format
{
   "cmd":"201",
   "status":"ok",
   "data":"1"
}
  • cmd Id of requested command, should be 201
  • status status of command, should be ok
  • data content of response, here the pin value is 1 or High

+++ archetype = "section" title = "[ESP202]" weight = 800 +++ Get/Set SD card Speed factor 1 2 4 6 8 16 32

Input

[ESP202]SPEED=<factor> json=<no> pwd=<admin password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • SPEED=

    • if factor is empty, it will display current factor
    • if factor is not empty, it will set the factor

Output

  • In json format
{
   "cmd":"202",
   "status":"ok",
   "data":"1"
}
  • cmd Id of requested command, should be 202
  • status status of command, should be ok
  • data content of response, here the current SPI factor

+++ archetype = "section" title = "[ESP210]" weight = 800 +++ Get Sensor Value / type/Set Sensor type

Input

[ESP210]<type=NONE/xxx> <interval=XXX in millisec> json=<no> pwd=<admin password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

    • type

      • if type is empty, it will display current type
      • if type is not empty, it will set the type
    • interval

      • if interval is empty, it will display current interval
      • if interval is not empty, it will set the interval

Output

  • In json format
{
   "cmd":"210",
   "status":"ok",
   "data":"ok"
}
  • cmd Id of requested command, should be 210
  • status status of command, should be ok
  • data content of response, here ok

+++ archetype = "section" title = "[ESP214]" weight = 800 +++ Output to esp screen status

Input

[ESP214]<Text> json=<no> pwd=<admin password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • Text

    • if Text is not empty, it will set the Text
    • if Text is empty, it will clear current Text

Output

  • In json format
{
   "cmd":"214",
   "status":"ok",
   "data":"ok"
}
  • cmd Id of requested command, should be 214
  • status status of command, should be ok
  • data content of response, here ok

+++ archetype = "section" title = "[ESP215]" weight = 800 +++ Start a Touch Calibration

Input

[ESP215]<CALIBRATE> json=<no> pwd=<admin password>

  • json=no the output format

  • pwd= the admin password if authentication is enabled

  • CALIBRATE

    • if CALIBRATE is present, it will start the calibration

Output

  • In json format
{
   "cmd":"215",
   "status":"ok",
   "data":"ok"
}
  • cmd Id of requested command, should be 215
  • status status of command, should be ok
  • data content of response, here ok

+++ archetype = "section" title = "[ESP220]" weight = 800 +++ Get ESP pins definition

Input

[ESP220] json=<no> pwd=<admin password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

Output

  • In json format
{
 "cmd": "220",
 "status": "ok",
 "data": [
  {
   "id": "SD CS",
   "value": "13"
  },
  {
   "id": "SD MOSI",
   "value": "15"
  },
  {
   "id": "SD MISO",
   "value": "2"
  },
  {
   "id": "SD SCK",
   "value": "14"
  },
  {
   "id": "SD DETECT",
   "value": "-1"
  },
  {
   "id": "SD SWITCH",
   "value": "26"
  }
 ]
}
  • cmd Id of requested command, should be 220
  • status status of command, should be ok
  • data content of response, here the pins definitions
  • plain text format
SD CS: 13
SD MOSI: 15
SD MISO: 2
SD SCK: 14
SD DETECT: -1
SD SWITCH: 26

+++ archetype = "section" title = "[ESP250]" weight = 800 +++ Play sound

Input

[ESP250]F=<frequency> D=<duration> json=<no> pwd=<user password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • F

    • if F is empty, it will use current frequency
    • if F is not empty, it will use the frequency
  • D

    • if D is empty, it will use current duration
    • if D is not empty, it will use the duration

Output

  • In json format
{
   "cmd":"250",
   "status":"ok",
   "data":"ok"
}
  • cmd Id of requested command, should be 250
  • status status of command, should be ok
  • data content of response, here ok

+++ archetype = "section" title = "[ESP290]" weight = 800 +++ Delay/Pause command

Input

[ESP290]<delay in ms> json=<no> pwd=<user password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

  • delay

    • if delay is empty, it will use 0 delay
    • if delay is not empty, it will use the delay

Output

  • In json format
{
   "cmd":"290",
   "status":"ok",
   "data":"ok"
}
  • cmd Id of requested command, should be 290
  • status status of command, should be ok
  • data content of response, here ok

+++ archetype = "section" title = "[ESP400]" weight = 800 +++ Get full ESP3D settings

Input

[ESP400] json=<no> pwd=<admin password>

  • json=no the output format can be in JSON or plain text

  • pwd= the admin password if authentication is enabled

Output

Passwords are not displayed and replaced by ********

  • if json
{"cmd":"400","status":"ok","data":[
{"F":"network/network","P":"130","T":"S","R":"1","V":"esp3d","H":"hostname" ,"S":"32", "M":"1"},
{"F":"network/network","P":"0","T":"B","R":"1","V":"1","H":"radio mode","O":[{"none":"0"},
{"sta":"1"},
{"ap":"2"},
{"setup":"5"}]},
{"F":"network/network","P":"1034","T":"B","R":"1","V":"1","H":"radio_boot","O":[{"no":"0"},
{"yes":"1"}]},
{"F":"network/sta","P":"1","T":"S","V":"Luc-Lab","S":"32","H":"SSID","M":"1"},
{"F":"network/sta","P":"34","T":"S","N":"1","MS":"0","R":"1","V":"********","S":"64","H":"pwd","M":"8"},
{"F":"network/sta","P":"99","T":"B","R":"1","V":"1","H":"ip mode","O":[{"dhcp":"1"},
{"static":"0"}]},
{"F":"network/sta","P":"100","T":"A","R":"1","V":"192.168.0.1","H":"ip"},
{"F":"network/sta","P":"108","T":"A","R":"1","V":"192.168.0.1","H":"gw"},
{"F":"network/sta","P":"104","T":"A","R":"1","V":"255.255.255.0","H":"msk"},
{"F":"network/sta","P":"1029","T":"A","R":"1","V":"192.168.0.1","H":"DNS"},
{"F":"network/sta","P":"1035","T":"B","R":"0","V":"5","H":"sta fallback mode","O":[{"none":"0"},
{"setup":"5"}]},
{"F":"network/ap","P":"218","T":"S","R":"1","V":"ESP3D","S":"32","H":"SSID","M":"1"},
{"F":"network/ap","P":"251","T":"S","N":"1","MS":"0","R":"1","V":"********","S":"64","H":"pwd","M":"8"},
{"F":"network/ap","P":"316","T":"A","R":"1","V":"192.168.0.1","H":"ip"},
{"F":"network/ap","P":"118","T":"B","R":"1","V":"11","H":"channel","O":[{"1":"1"},
{"2":"2"},
{"3":"3"},
{"4":"4"},
{"5":"5"},
{"6":"6"},
{"7":"7"},
{"8":"8"},
{"9":"9"},
{"10":"10"},
{"11":"11"},
{"12":"12"},
{"13":"13"},
{"14":"14"}]},
{"F":"service/http","P":"328","T":"B","R":"1","V":"1","H":"enable","O":[{"no":"0"},{"yes":"1"}]},
{"F":"service/http","P":"121","T":"I","R":"1","V":"8181","H":"port","S":"65001","M":"1"},
{"F":"service/telnetp","P":"329","T":"B","R":"1","V":"1","H":"enable","O":[{"no":"0"},{"yes":"1"}]},
{"F":"service/telnetp","P":"125","T":"I","R":"1","V":"23","H":"port","S":"65001","M":"1"},
{"F":"service/webdavp","P":"1024","T":"B","R":"1","V":"1","H":"enable","O":[{"no":"0"},{"yes":"1"}]},
{"F":"service/webdavp","P":"1025","T":"I","R":"1","V":"80","H":"port","S":"65001","M":"1"},
{"F":"service/time","P":"120","T":"B","V":"1","H":"i-time","O":[{"no":"0"},{"yes":"1"}]},
{"F":"service/time","P":"1042","T":"S","R":"1","V":"+08:00","H":"tzone","O":[{"-12:00":"-12:00"},
{"-11:00":"-11:00"},
{"-10:00":"-10:00"},
{"-09:00":"-09:00"},
{"-08:00":"-08:00"},
{"-07:00":"-07:00"},
{"-06:00":"-06:00"},
{"-05:00":"-05:00"},
{"-04:00":"-04:00"},
{"-03:30":"-03:30"},
{"-03:00":"-03:00"},
{"-02:00":"-02:00"},
{"-01:00":"-01:00"},
{"+00:00":"+00:00"},
{"+01:00":"+01:00"},
{"+02:00":"+02:00"},
{"+03:00":"+03:00"},
{"+03:30":"+03:30"},
{"+04:00":"+04:00"},
{"+04:30":"+04:30"},
{"+05:00":"+05:00"},
{"+05:30":"+05:30"},
{"+05:45":"+05:45"},
{"+06:00":"+06:00"},
{"+06:30":"+06:30"},
{"+07:00":"+07:00"},
{"+08:00":"+08:00"},
{"+08:45":"+08:45"},
{"+09:00":"+09:00"},
{"+09:30":"+09:30"},
{"+10:00":"+10:00"},
{"+10:30":"+10:30"},
{"+11:00":"+11:00"},
{"+12:00":"+12:00"},
{"+12:45":"+12:45"},
{"+13:00":"+13:00"},
{"+14:00":"+14:00"}]},
{"F":"service/time","P":"464","T":"S","R":"1","V":"time.windows.com","S":"128","H":"t-server","M":"0"},
{"F":"service/time","P":"593","T":"S","R":"1","V":"time.google.com","S":"128","H":"t-server","M":"0"},
{"F":"service/time","P":"722","T":"S","R":"1","V":"0.pool.ntp.org","S":"128","H":"t-server","M":"0"},
{"F":"service/notification","P":"1022","T":"B","R":"1","V":"1","H":"auto notif","O":[{"no":"0"},{"yes":"1"}]},
{"F":"service/notification","P":"116","T":"B","R":"1","V":"0","H":"notification","O":[{"none":"0"},
{"pushover":"1"},
{"email":"2"},
{"line":"3"},
{"telegram":"4"},
{"IFTTT":"5"}]},
{"F":"service/notification","P":"332","T":"S","R":"1","V":"********","S":"63","H":"t1","M":"0"},
{"F":"service/notification","P":"396","T":"S","R":"1","V":"********","S":"63","H":"t2","M":"0"},
{"F":"service/notification","P":"856","T":"S","R":"1","V":" ","S":"128","H":"ts","M":"0"},
{"F":"system/system","P":"461","T":"B","V":"0","H":"targetfw","O":[{"repetier":"50"},
{"marlin":"20"},
{"smoothieware":"40"},
{"grbl":"10"},
{"unknown":"0"}]},
{"F":"system/system","P":"112","T":"I","V":"115200","H":"baud","O":[{"9600":"9600"},
{"19200":"19200"},
{"38400":"38400"},
{"57600":"57600"},
{"74880":"74880"},
{"115200":"115200"},
{"230400":"230400"},
{"250000":"250000"},
{"500000":"500000"},
{"921600":"921600"},
{"1958400":"1958400"}]},
{"F":"system/boot","P":"320","T":"I","V":"100","H":"bootdelay","S":"40000","M":"0"},
{"F":"system/boot","P":"1023","T":"B","V":"0","H":"verbose","O":[{"no":"0"},{"yes":"1"}]},
{"F":"system/outputmsg","P":"129","T":"B","V":"1","H":"serial","O":[{"no":"0"},{"yes":"1"}]},
{"F":"system/outputmsg","P":"851","T":"B","V":"1","H":"M117","O":[{"no":"0"},{"yes":"1"}]},
{"F":"system/outputmsg","P":"1006","T":"B","V":"1","H":"telnet","O":[{"no":"0"},{"yes":"1"}]
}]}

1 - key : Settings
2 - value: array of data formated like this
{"F":"network/network","P":"130","T":"S","V":"esp3d","H":"hostname","S":"32","M":"1"}
or
{"F":"service/notification","P":"1004","T":"B","V":"1","H":"auto notif","O":[{"no":"0"},{"yes":"1"}]}

-   F: is filter formated as section/sub-section, if section is same as sub-section, it means no sub-section
-   P: is id (also position reference so it is unique)
-   T: is type of data which can be:
    -   S: for string
    -   I: for integer
    -   B: for Byte
    -   A: for IP address / Mask
    -   F: for float (only grblHAL)
    -   M: for bits mask (only grblHAL)
    -   X: for exclusive bitsfield (only grblHAL)
-   V: is current value, if type is string and value is `********`, (8 stars) then it is a password
-   E: is integer for exactess / precision of float/double value (only grblHAL)
-   U: is text unit of value (only grblHAL)
-   H: is text label of value
-   S: is max size if type is string, and max possible value if value is number (byte, integer)
-   M: is min size if type is string, and min possible value if value is number (byte, integer)
-   MS: is additionnal min size if type is string (e.g for password can be 0 or 8, so need additional min size), M should be the more minimal value
    so MS value must be between M and S
-   O: is an array of {label:value} used for possible values in selection or bits labels list
-   R: need restart to be applied

Note: if Type M and X use O entry to define the label / position, if O is [] then axis label are used according need X, Y, Z, A, B, C
Note2 : the 2.1 Flag type is no more used, several entries are used instead grouped by sub-section

If no json the list is limited to a list of <help>: <value>


Settings:
network/network/hostname: esp3d
network/network/mdns: 1