Configuration parameters
The esthesis device agent supports a plethora of rutime configuration parameters to match your environment and runtime needs. Parameters can be defined either as environment variables or as command line arguments. The following tables lists all available configuration options.
Mandatory parameters
HARDWARE_ID, --hardwareIdThe unique identifier of the device.
(alphanumeric)REGISTRATION_URL, --registrationUrlThe URL of esthesis server to register this device with.
(alphanumeric/URL)
Optional parameters
ATTRIBUTES, --attributesA comma-separated list of key-value pairs to be sent as attributes.
(alphanumeric)AUTO_UPDATE, --autoUpdateA flag indicating whether the device should try to automatically obtain newer firmware once per day.
(boolean, false)DEMO_CATEGORY, --demoCategoryThe category of data posted as demo data.
(alphanumeric, demo)DEMO_INTERVAL, --demoIntervalThe frequency in which demo data is generated (in seconds).
(integer, 0)ENDPOINT_HTTP, --endpointHttpWhether the embedded HTTP server is enabled or not.
(boolean, false)ENDPOINT_HTTP_LISTENING_IP, --endpointHttpListeningIPThe IP address where the embedded HTTP server listens to.
(alphanumeric/IP address, 127.0.0.1)ENDPOINT_HTTP_LISTENING_PORT, --endpointHttpListeningPort</code>The port in which the embedded HTTP server listens to.
(integer, 8080)ENDPOINT_HTTP_AUTH_USERNAME, --endpointHttpAuthUsernameThe username to connect to the embedded HTTP endpoint. If defined, it must be sent as Basic auth together with the password.
(alphanumeric)ENDPOINT_HTTP_AUTH_PASSWORD, --endpointHttpAuthPasswordThe password to connect to the embedded HTTP endpoint. If defined, it must be sent as Basic auth together with its username.
(alphanumeric)ENDPOINT_MQTT, --endpointMqttWhether the embedded MQTT server is enabled or not.
(boolean, false)ENDPOINT_MQTT_LISTENING_IP, --endpointMqttListeningIPThe IP address where the embedded MQTT server listens to.
(IP address, 127.0.0.1)ENDPOINT_MQTT_LISTENING_PORT, --endpointMqttListeningPortThe port in which the embedded MQTT server listens to.
(integer, 1883)ENDPOINT_MQTT_AUTH_USERNAME, --endpointMqttAuthUsernameThe username to connect to the embedded MQTT endpoint.
(alphanumeric)ENDPOINT_MQTT_AUTH_PASSWORD, --endpointMqttAuthPasswordThe password to connect to the embedded MQTT endpoint.
(alphanumeric)HEALTH_REPORT_INTERVAL, --healthReportIntervalThe frequency to send health reports (in seconds).
(integer, 300)HTTP_RETRY, --httpRetryThe number of seconds to wait before retrying a failed HTTP request.
(integer, 60)HTTP_TIMEOUT, --httpTimeoutThe number of seconds after which an HTTP call times out.
(integer, 60)LOG_ABBREVIATION, --logAbbreviationThe characters length to abbreviate log messages to.
(integer, 1024)LOG_LEVEL, --logLevelThe logging level to use [trace, debug, info].
(alphanumeric, info)LUA_HTTP_TELEMETRY_SCRIPT, --luaHttpTelemetryScriptThe filesystem location of a Lua script to transform incoming payloads for telemetry data pushed via the HTTP endpoint.
(alphanumeric)LUA_HTTP_METADATA_SCRIPT, --luaHttpMetadataScriptThe filesystem location of a Lua script to transform incoming payloads for metadata data pushed via the HTTP endpoint.
(alphanumeric)LUA_MQTT_TELEMETRY_SCRIPT, --luaMqttTelemetryScriptThe filesystem location of a Lua script to transform incoming payloads for telemetry data pushed via the MQTT endpoint.
(alphanumeric)LUA_MQTT_METADATA_SCRIPT, --luaMqttMetadataScriptThe filesystem location of a Lua script to transform incoming payloads for metadata data pushed via the MQTT endpoint.
(alphanumeric)--luaExtraMqttTelemetryTopicA custom MQTT telemetry endpoint to be handled by a user-defined Lua script. The first argument of this parameter is the name of the topic, and the second argument is the Lua script to be executed. This parameter can be repeated to define additional topics.
(alphanumeric alphanumeric)--luaExtraMqttMetadataTopicA custom MQTT metadata endpoint to be handled by a user-defined Lua script. The first argument of this parameter is the name of the topic, and the second argument is the Lua script to be executed. This parameter can be repeated to define additional topics.
(alphanumeric alphanumeric)--luaExtraHttpTelemetryEndpointA custom HTTP telemetry endpoint to be handled by a user-defined Lua script. The first argument of this parameter is the name of the endpoint, and the second argument is the Lua script to be executed. This parameter can be repeated to define additional topics.
(alphanumeric alphanumeric)--luaExtraHttpMetadataEndpointA custom HTTP metadata endpoint to be handled by a user-defined Lua script. The first argument of this parameter is the name of the endpoint, and the second argument is the Lua script to be executed. This parameter can be repeated to define additional topics.
(alphanumeric alphanumeric)MQTT_INFLIGHT_TTL_DURATION, --mqttInflightTTLDurationThe number of seconds that a queued inflight message should exist before being purged.
(integer, 60)MQTT_TIMEOUT, --mqttTimeoutThe number of seconds to wait before failing an outgoing MQTT message.
(integer, 60)PAUSE_STARTUP, --pauseStartupA flag indicating whether the device should start paused.
(boolean, false)PING_INTERVAL, --pingIntervalThe frequency to ping esthesis CORE (in seconds)
(integer, 60)PROPERTIES_FILE, --propertiesFileThe file to store the agent’s configuration.
(alphanumeric, $HOME/.esthesis/device/esthesis.properties)PROVISIONING_SCRIPT, --provisioningScriptThe script used to install new provisioning packages.
(alphanumeric, $HOME/.esthesis/device/firmware.sh)REBOOT_SCRIPT, --rebootScriptThe script used to reboot the device.
(alphanumeric, $HOME/.esthesis/device/reboot.sh)REGISTRATION_SECRET, --registrationSecretIf set, the registration request will include it as a header.
(alphanumeric)SECURE_PROPERTIES_FILE, --securePropertiesFileThe secure file to store sensitive parts of the agent's configuration.
(alphanumeric, $HOME/.esthesis/device/secure/esthesis.propertiesSECURE_PROVISIONING, --secureProvisioningA flag indicating whether provisioning requests should be accompanied by a signature token.
(alphanumeric, falseSHUTDOWN_SCRIPT, --shutdownScriptThe script used to shut down the device.
(alphanumeric, $HOME/.esthesis/device/shutdown.sh)SIGNATURE_ALGORITHM, --signatureAlgorithmThe algorithm to use to produce signatures.
(alphanumeric, SHA256WITHRSA)SUPPORTED_COMMANDS, --supportedCommandsThe remote commands this device supports:
e: Execute arbitrary
f: Firmware update
r: Reboot
s: Shutdown
p: Ping
h: Health report
(alphanumeric, efrsph)TAGS, --tagsA comma-separated list of tags to associate with this device. Tag names should only contain letters, numbers, and underscore.
(alphanumeric)TEMP_DIR, --tempDirThe folder to temporarily store provisioning packages.
(alphanumeric, OS default temp directory)TOPIC_COMMAND_REQUEST, --topicCommandRequestThe MQTT topic to use for command request messages.
(alphanumeric, esthesis/command/request)TOPIC_COMMAND_REPLY, --topicCommandReplyThe MQTT topic to use for command reply messages.
(alphanumeric, esthesis/command/reply)TOPIC_DEMO, --topicDemoThe MQTT topic to post demo data.
(alphanumeric, esthesis/telemetry)TOPIC_METADATA, --topicMetadataThe MQTT topic to use for metadata messages.
(alphanumeric, esthesis/metadata)TOPIC_PING, --topicPingThe MQTT topic to use for ping messages.
(alphanumeric, esthesis/ping)TOPIC_TELEMETRY, --topicTelemetryThe MQTT topic to use for telemetry messages.
(alphanumeric, esthesis/telemetry)VERSION_FILE, --versionFileA file with a single line of text depicting the current version of the firmware running on the device.
(alphanumeric, $HOME/.esthesis/device/version)VERSION_REPORT_TOPIC, --versionReportTopicThe MQTT topic to report the firmware version.
(alphanumeric, esthesis/metadata)VERSION_REPORT, --versionReportReport the version number available in the specified version file once during boot.
(alphanumeric, falseTLS_VERIFICATION, --tlsVerificationWhether outgoing HTTPS connections should have TLS verified.
(boolean, true)