Model A | Model B | Model C | Model D | Model E
help
###########
help <param>
   <param> is any legal command keyword
   result: usage instructions are printed
           for the command named <arg>
###########
exit
###########
exit
      exits CONFIG mode and begins OPERATIONAL mode.
###########
get
###########
get <param>
      <param> is one of:
      settings - displays all viewable settings
      mac - the MAC address of the ESP8266
      method - the Wi-Fi connection method
      ssid - the Wi-Fi SSID to connect to
      pwd - lol, sorry, that's not happening!
      security - the Wi-Fi security mode
      ipmode - the Wi-Fi IP-address mode
      mqttsrv - MQTT server name
      mqttport - MQTT server port
      mqttuser - MQTT username
      mqttpwd - lol, sorry, that's not happening either!
      mqttid - MQTT client ID
      mqttauth - MQTT authentication enabled?
      updatesrv - Update server name
      updatefile - Update filename (no extension)
      pm_off - PM sensors offset [V]
      temp_off - Temperature sensor reporting offset [degC] (subtracted)
      hum_off - Humidity sensor reporting offset [%] (subtracted)
      key - lol, sorry, that's also not happening!
      opmode - the Operational Mode the Egg is configured for
      tempunit - the unit of measure Temperature is reported in (F or C)
      backlight - the backlight behavior settings (duration, mode)
      timestamp - the current timestamp in the format m/d/y h:m:s
      sampleint - the sensor sampling interval in seconds
      reportint - the reporting sampling interval in seconds
      avgint - the sensor averaging interval in seconds
      altitude - the altitude of the sensor in meters above sea level
      ntpsrv - the NTP server name
      tz_off - the timezone offset for use with NTP in decimal hours
      pm_blv - the no2 baseline voltage characterization
      result: the current, human-readable, value of <param>
              is printed to the console.


###########
init
###########
init <param>
      <param> is one of:
      mac         - retrieves the mac address from
                       the ESP8266 and stores it in EEPROM
###########
restore
###########
restore <param>
      <param> is one of:
      defaults -   performs:
                     method direct
                     security wpa2
                     use dhcp
                     opmode normal
                     tempunit C
                     altitude -1
                     backlight 60
                     backlight initon
                     mqttsrv mqtt.opensensors.io
                     mqttport 1883
                     mqttauth enable
                     mqttuser wickeddevice
                     mqttprefix /orgs/wd/aqe/
                     sampling 5, 30, 5
                     mqttsuffix enable
                     ntpsrv disable
                     ntpsrv pool.ntp.org
                     restore tz_off
                     restore temp_off
                     restore hum_off
                     restore mac
                     restore mqttpwd
                     restore mqttid
                     restore updatesrv
                     restore updatefile
                     restore key
                     restore pm'
                     clears the SSID from memory
                     clears the Network Password from memory
      mac        - retrieves the mac address from BACKUP
      mqttpwd    - restores the MQTT password from BACKUP 
      mqttid     - restores the MQTT client ID
      updatesrv  - restores the Update server name
      updatefile - restores the Update filename
      key        - restores the Private Key from BACKUP 
      pm         - restores the PM calibration parameters from BACKUP 
      temp_off   - restores the Temperature reporting offset from BACKUP 
      hum_off    - restores the Humidity reporting offset from BACKUP
###########
mac
###########
mac <address>
      <address> is a MAC address of the form:
                   08:ab:73:DA:8f:00
   warning: Using this command incorrectly can prevent your device
            from connecting to your network.

###########
method
###########
method <type>
      <type> is one of:
      direct - use parameters entered in CONFIG mode
   warning: Using this command incorrectly can prevent your device
            from connecting to your network.

###########
ssid
###########
ssid <string>
      <string> is the SSID of the network the device should connect to.
   warning: Using this command incorrectly can prevent your device
            from connecting to your network.

###########
pwd
###########
pwd <string>
      <string> is the network password for 
      the SSID that the device should connect to.
   warning: Using this command incorrectly can prevent your device
            from connecting to your network.

###########
security
###########
security <mode>
      <mode> is one of:
      open - the network is unsecured
      wep  - the network WEP security
      wpa  - the network WPA Personal security
      wpa2 - the network WPA2 Personal security
      auto - determine during first network successful scan
   warning: Using this command incorrectly can prevent your device
            from connecting to your network.

###########
staticip
###########
staticip <config>
   <config> is four ip addresses separated by spaces
      <param1> static ip address, e.g. 192.168.1.17
      <param2> netmask, e.g. 255.255.255.0
      <param3> default gateway ip address, e.g. 192.168.1.1
      <param4> dns server ip address, e.g. 8.8.8.8
      result: The entered static network parameters will be used by the ESP8266
      note:   To configure DHCP use command 'use dhcp'
   warning: Using this command incorrectly can prevent your device
            from connecting to your network.

###########
use
###########
use <param>
      <param> is one of:
      dhcp - wipes the Static IP address from the EEPROM
      ntp - enables NTP capabilities
   warning: Using this command incorrectly can prevent your device
            from connecting to your network.

###########
mqttsrv
###########
mqttsrv <string>
      <string> is the DNS name of the MQTT server.
   note:    Unless you *really* know what you're doing, you should
            probably not be using this command.
   warning: Using this command incorrectly can prevent your device
            from publishing data to the internet.

###########
mqttport
###########
mqttport <number>
      <number> is the a number between 1 and 65535 inclusive
   note:    Unless you *really* know what you're doing, you should
            probably not be using this command.
   warning: Using this command incorrectly can prevent your device
            from publishing data to the internet.

###########
mqttuser
###########
mqttuser <string>
      <string> is the username used to connect to the MQTT server.
   note:    Unless you *really* know what you're doing, you should
            probably not be using this command.
   warning: Using this command incorrectly can prevent your device
            from publishing data to the internet.
###########
mqttpwd
###########
mqttpwd <string>
      <string> is the password the device will use to connect 
      to the MQTT server.
   note:    Unless you *really* know what you're doing, you should
            probably not be using this command.
   warning: Using this command incorrectly can prevent your device
            from publishing data to the internet.

###########
mqttid
###########
mqttid <string>
      <string> is the Client ID used to connect to the MQTT server.
      Must be between 1 and 23 characters long per MQTT v3.1 spec.
   note:    Unless you *really* know what you're doing, you should
            probably not be using this command.
   warning: Using this command incorrectly can prevent your device
            from publishing data to the internet.

###########
mqttauth
###########
mqttauth <string>
      <string> is the one of 'enable' or 'disable'
   note:    Unless you *really* know what you're doing, you should
            probably not be using this command.
   warning: Using this command incorrectly can prevent your device
            from publishing data to the internet.

###########
mqttprefix
###########
mqttprefix <string>
      <string> is pre-pended to the logical topic for each sensor
   note:    Unless you *really* know what you're doing, you should
            probably not be using this command.
   warning: Using this command incorrectly can prevent your device
            from publishing data to the internet.

###########
mqttsuffix
###########
mqttsuffix <string>
      <string> is 'enable' or 'disable'
      if enabled, appends the device ID to each topic
   note:    Unless you *really* know what you're doing, you should
            probably not be using this command.
   warning: Using this command incorrectly can prevent your device
            from publishing data to the internet.
###########

updatesrv
###########
updatesrv <string>
      <string> is the DNS name of the Update server.
      note: to disable internet firmware updates type 'updatesrv disable'
            to re-enable internet firmware updates type 'restore updatesrv'
      warning: Using this command incorrectly can prevent your device
               from getting firmware updates over the internet.
###########
backup
###########
backup <param>
      <param> is one of:
      mqttpwd  - backs up the MQTT password
      mac      - backs up the ESP8266 MAC address
      key      - backs up the 256-bit private key
      pm       - backs up the PM calibration parameters
      temp     - backs up the Temperature calibration parameters
      hum      - backs up the Humidity calibration parameters
      tz       - backs up the Timezone offset for NTP
      all      - does all of the above

###########
pm_off
###########
pm_off <number>
   <number> is the decimal value of PM sensor offset [V]


###########
temp_off
###########
temp_off <number>
      <number> is the decimal value of Temperature sensor reporting offset [degC] (subtracted)

###########
hum_off
###########
hum_off <number>
      <number> is the decimal value of Humidity sensor reporting offset [%] (subtracted)

###########
key
###########
key <string>
      <string> is a 64-character string representing 
      a 32-byte (256-bit) hexadecimal value of the private key

###########
opmode
###########
opmode <mode>
      <mode> is one of:
      normal - publish data to MQTT server over Wi-Fi
      offline - this mode writes data to an installed microSD card, creating one file per hour, 
                named by convention YYMMDDHH.csv, intended to be used in conjunction with RTC module

###########
tempunit
###########
tempunit <unit>
      <unit> is one of:
      C - report temperature in Celsius
      F - report temperature in Fahrenheit

###########
updatefile
###########
updatefile <string>
      <string> is the filename to load from the Update server, excluding the extension.
      note:    Unless you *really* know what you're doing, you should
               probably not be using this command.
      warning: Using this command incorrectly can prevent your device
               from getting firmware updates over the internet.

###########
force
###########
force <param>
      <param> is one of:
      update - invalidates the firmware signature, 
               configures for normal mode, and exits config mode, 
               and should initiate firmware update after connecting to wi-fi.

###########
backlight
###########
backlight <config>
      <config> is one of:
      <seconds> - the whole number interval, in seconds, to keep the backlight on for when engaged
      initoff - makes the backlight off at startup
      initon - makes the backlight on at startup
      alwayson - makes the backlight always on
      alwaysoff - makes the backlight always off

###########
datetime
###########
datetime <csv-date-time>
      <csv-date-time> is a comma separated date in the order year, month, day, hours, minutes, seconds

###########
list
###########
list <param>
      <param> is one of:
      files - lists all files on the sd card (if inserted)

###########
download
###########
download <filename>
      prints the contents of the named file to the console.
download <YYMMDDHH> <YYMMDDHH>
      prints the contents of files from start to end dates inclusive.

###########
delete
###########
delete <filename>
      deletes the named file from the SD card.
delete <YYMMDDHH> <YYMMDDHH>
      deletes the files from start to end dates inclusive.

###########
sampling
###########
sampling <sampling_interval>, <averaging_interval>, <reporting_interval>
      <sampling_interval> is the duration between sensor samples, in integer seconds (at least 3)
      <averaging_interval> is the duration that is averaged in reporting, in seconds (multiple of sample interval)
      <reporting_interval> is the duration between sensor reports (wifi/console/sd/etc.), in seconds (multiple of sample interval)

###########
altitude
###########
altitude <number>
      <number> is the height above sea level where the Egg is [meters]
      Note: -1 is a special value meaning do not apply pressure compensation

###########
ntpsrv
###########
ntpsrv <string>
      <string> is the DNS name of the Update server.
      note: to disable NTP type 'ntpsrv disable'

###########
tz_off
###########
tz_off <number>
      <number> is the decimal value of the timezone offset in hours from GMT
###########
pm_blv
###########
      <sub-command> is one of 'add', 'clear', 'show'
      pm_blv add [temperature] [slope] [intercept]
          adds a row to the characterization table
      pm_blv show
          displays the current characterization table
      pm_blv clear
          erases the contents of the characterization table

###########
pm_off2
###########
pm_off <number>
   <number> is the decimal value of PM sensor offset [V]

###########