Remote Management commands reference

What is Remote Management?
Firmware compatibility list

Remote Management works with MQTT messages. Devices will subscribe to the topic specified on “Remote config Command Topic” to receive commands, and after executing the given command will publish the result in the topic specified on “Remote config Result Topic“.

Messages for sending command must be sent to device in JSON format with the following sintax:

{"pwd":"[password]", "command":"[command]","param1":"[param1Value]","param2":"[param2Value]"}

Changes made with update commands will remain only until device is restarted, if saveConfig command is not executed afterwards. So after making updates, saveConfig command needs to be submited in order to make changes persistant.

Command availability depends on the device model and its current firmware version. The complete list is the following:

getAllParams

Returns the deviceID, all configurable device parameters and their current values

Example: {“pwd”:”coiaca”, “command”:”getAllParams”}


getConfigVersion

Returns the deviceID and the current firmware version running on the device

Example: {“pwd”:”coiaca “, “command”:”getConfigVersion”}


getStatus

Returns the deviceID and the current state of switches or dimmers

Example: {“pwd”:”coiaca”, “command”:”getStatus”}


getData

Returns the deviceID and the current values from sensors

Example: {“pwd”:”coiaca”, “command”:”getData”}


triggerSendStatus

Force to publish main functionality states

Example: {“pwd”:”coiaca”, “command”:”triggerSendStatus”}


switchAction

Returns the deviceID and force the switch specified on param1 to change to the state specified on param2. param1 is mandatory even for controling single switch devices and should be SWx where x is the switch numer (SW1, for instance). param2 is also mandatory and the actions could be as follows:

  • turnOn: turns on the swith
  • turnOff: turns off the switch
  • toogle: change the state of the switch to the oposite regardless the current state.

Example: {“pwd”:”coiaca”, “command”:”switchAction”,”param1″:”SW1″,”param2″:”turnOn”}


simulateButtonPush

Simulate a user pressing a button and perform the same action. Returns deviceID.

param1 is mandatory and should be PBx where x is the number of the button to simulate.

Example: {“pwd”:”coiaca”, “command”:”simulateButtonPush”,”param1″:”PB1″}


getMqttConnStatus

Returns deviceID and the current main MQTT server connection status.

Example: {“pwd”:”coiaca”, “command”:”getMqttConnStatus”}


saveConfig

Write configuration changes made to device EEPROM to make them persist and reset device.

Example: {“pwd”:”coiaca”, “command”:”saveConfig”}


reset

Restart the device

Example: {“pwd”:”coiaca”, “command”:”reset”}


getMqttServer

Returns the current MQTT server URL

Example: {“pwd”:”coiaca”, “command”:”getMqttServer”}


updateMqttServer

Set the MQTT server URL.

param1 is mandatory and should be the new MQTT server URL as string.

Example: {“pwd”:”coiaca”, “command”:”updateMqttServer”,”param1″:”mqtt.coiaca.com”}


getMqttPort

Returns the current MQTT server port

Example: {“pwd”:”coiaca”, “command”:”getMqttPort”}


updateMqttPort

Set the MQTT server Port.

param1 is mandatory and should be the new MQTT server Port.

Example: {“pwd”:”coiaca”, “command”:”updateMqttPort”,”param1″:”8883″}


getMqttClientID

Returns the current MQTT Client ID

Example: {“pwd”:”coiaca”, “command”:”getMqttClientID”}


updateMqttClientID

Set the MQTT Client ID.

param1 is mandatory and should be the new MQTT Client ID.

Example: {“pwd”:”coiaca”, “command”:”updateMqttClientID”,”param1″:”AABCCDDEEFFJJ”}


getMqttUserName

Returns the current username used to connect to the MQTT server (for main functionality, not for Remote Management)

Example: {“pwd”:”coiaca”, “command”:”getMqttUserName”}


updateMqttUserName

Set the username to connect to the MQTT server (for main funtionality, not for Remote Management)

param1 is mandatory and should be the new user name.

Example: {“pwd”:”coiaca”, “command”:”updateMqttUserName”,”param1″:”myusername”}


getMqttUserPassword

Returns the current password used to connect to the MQTT server (for main functionality, not for Remote Management)

Example: {“pwd”:”coiaca”, “command”:”getMqttUserPassword”}


updateMqttUserPassword

Set the password to connect to the MQTT server (for main funtionality, not for Remote Management)

param1 is mandatory and should be the new password.

Example: {“pwd”:”coiaca”, “command”:”updateMqttUserPassword”,”param1″:”thepassword”}


getEnableMqttDebug

Returns the current status of MQTT debug feature.

Status could be 0 (off) or 1 (on)

Example: {“pwd”:”coiaca”, “command”:”getEnableMqttDebug”}


updateEnableMqttDebug

Switch on or off the MQTT debug feature

param1 is mandatory and should be the target status: 0 (off) or 1 (on).

Example: {“pwd”:”coiaca”, “command”:”updateEnableMqttDebug”,”param1″:1}


getMqttDebugTopic

Returns the curren topic for publishing MQTT debug messages.

Example: {“pwd”:”coiaca”, “command”:”getMqttDebugTopic”}


updateMqttDebugTopic

Set the topic for publishing the MQTT debug messages.

param1 is mandatory and should be the new topic for MQTT debugging.

Example: {“pwd”:”coiaca”, “command”:”updateMqttDebugTopic “,”param1″:”RDebug/deviceid/”}


getIP

Returns the current private IP, network mask and gateway.

Example: {“pwd”:”coiaca”, “command”:”getIP”}


getUpdateInterval

Returns the deviceID and the time interval in seconds that the status or data is published.

Example: {“pwd”:”coiaca”, “command”:”getUpdateInterval”}


updateUpdateInterval

Returns the deviceID and sets the time interval in seconds that the status or data is published.

param1 is mandatory and should be the new time interval in seconds.

Example: {“pwd”:”coiaca”, “command”:”updateUpdateInterval “,”param1”: 60}


getTelemetrySecs

Returns the deviceID and the time interval in seconds that the status or data is published on the telemetry topic on the Remote Management MQTT broker. (If 0 (zero) Telemetry feature is disabled)

Example: {“pwd”:”coiaca”, “command”:”getTelemetrySecs”}


updateTelemetrySecs

Returns the deviceID and sets the time interval in seconds that the status or data is published on the telemetry topic on the Remote Management MQTT broker. (If set to 0 (zero) Telemetry feature is disabled)

param1 is mandatory and should be the new time interval in seconds.

Example: {“pwd”:”coiaca”, “command”:”updateUpdateInterval “,”param1”: 90}


getTelemetryTopic

Returns the deviceID and the current topic for publishing telemetry messages on the Remote Management MQTT broker.

Example: {“pwd”:”coiaca”, “command”:”getTelemetryTopic”}


updateTelemetryTopic

Returns the deviceID and sets the topic for publishing telemetry messages on the Remote Management MQTT broker.

param1 is mandatory and should be the new time topic.

Example: {“pwd”:”coiaca”, “command”:”updateTelemetryTopic “,”param1”: “new/telemetry/topic”}


This Page is under development. All other commands will be described soon. The following is a complete list of commands and the firmware version compliness:

Commands and Firmware versions compatibility list

 1S_v1.2.9d1S3_v1.2.9d2S_v1.2.xdDSC_v0.6.0TH_v1.2.5dTH_v1.2.6 
Release date   Aug 8 2019 Jun 27 2019 
getConfigVersionYesYesYesYesYesYes 
getAllParamsNoNoNoNoNoNo 
getStatusYesYesYesNot applicableNot applicableNot applicable 
getDataNo applicableNo applicableNo applicableNot applicableYesYes 
triggerSendStatusYesYesYesYesYesYes 
getUpdateIntervalYesYesYesYesYesYes 
updateUpdateIntervalYesYesYesYesYesYes 
switchActionYesYesYesNoNot applicableNot applicable 
simulateButtonPushYesYesYesNoNot applicableNot applicable 
getMqttConnStatusYesYesYesYesYesYes 
getIPYesYesYesYesYesYes 
saveConfigYesYesYesYesYesYes 
resetYesYesYesYesYesYes 
getMqttServerYesYesYesYesYesYes 
updateMqttServerYesYesYesYesYesYes 
getMqttPortYesYesYesYesYesYes 
updateMqttPortYesYesYesYesYesYes 
getMqttClientIDYesYesYesYesYesYes 
updateMqttClientIDYesYesYesYesYesYes 
getMqttUserNameYesYesYesYesYesYes 
updateMqttUserNameYesYesYesYesYesYes 
getMqttUserPasswordYesYesYesYesYesYes 
updateMqttUserPasswordYesYesYesYesYesYes 
getMqttRetainYesYesYesYesYesYes 
updateMqttRetainYesYesYesYesYesYes 
getMqttQoSYesYesYesYesYesYes 
updateMqttQoSYesYesYesYesYesYes 
getMqttDataTopicYesYesYesNoYesYes 
updateMqttDataTopicYesYesYesNoYesYes 
getSwitchCommandTopicYesYesYesNoNot applicableNot applicable 
updateSwitchCommandTopicYesYesYesNoNot applicableNot applicable 
getSwitchStateTopicYesYesYesNoNot applicableNot applicable 
updateSwitchStateTopicYesYesYesNoNot applicableNot applicable 
getSwitchONPayloadYesYesYesNoNot applicableNot applicable 
updateSwitchONPayloadYesYesYesNoNot applicableNot applicable 
getSwitchOFFPayloadYesYesYesNoNot applicableNot applicable 
updateGetSwitchOFFPayloadYesYesYesNoNot applicableNot applicable 
getInitialStateYesYesYesNoNot applicableNot applicable 
updateInitialStateYesYesYesNoNot applicableNot applicable 
getTiMerStatusNoNoNoYesNot applicableNot applicable 
updateTiMerStatusNoNoNoYesNot applicableNot applicable 
getTiMerStringNoNoNoYesNot applicableNot applicable 
updateTiMerStringNoNoNoYesNot applicableNot applicable 
getPublishTimerStringNoNoNoYesNoNo 
updatePublishTimerStringNoNoNoYesNoNo 
getNtpServerNoNoNoYesNoNo 
updateNtpServerNoNoNoYesNoNo 
getNtpUpdateIntervalNoNoNoYesNoNo 
updateNtpUpdateIntervalNoNoNoYesNoNo 
getTimeZoneNoNoNoYesNoNo 
updateTimeZoneNoNoNoYesNoNo 
getTimeDSTNoNoNoYesNoNo 
updateTimeDSTNoNoNoYesNoNo 
getButtonTopicYesYesYesNoNot applicableNot applicable 
updateButtonTopicYesYesYesNoNot applicableNot applicable 
getButtonPayloadOnYesYesYesNoNot applicableNot applicable 
updateButtonPayloadOnYesYesYesNoNot applicableNot applicable 
getButtonPayloadOffYesYesYesNoNot applicableNot applicable 
updateButtonPayloadOffYesYesYesNoNot applicableNot applicable 
getLocalSwitchYesYesYesNoNot applicableNot applicable 
updateLocalSwitchYesYesYesNoNot applicableNot applicable 
getOnSecsYesYesYesNoNot applicableNot applicable 
updateOnSecsYesYesYesNoNot applicableNot applicable 
disableRConfigNoNoNoYesNoNo 
getRemoteConfigMqttServerYesYesYesYesYesYes 
updateRemoteConfigMqttServerYesYesYesYesYesYes 
getRemoteConfigMqttPortYesYesYesYesYesYes 
updateRemoteConfigMqttPortYesYesYesYesYesYes 
getRemoteConfigMqttUserYesYesYesYesYesYes 
updateRemoteConfigMqttUserYesYesYesYesYesYes 
getRemoteConfigMqttPwdYesYesYesYesYesYes 
updateRemoteConfigMqttPwdYesYesYesYesYesYes 
getForceSecureAllTrafficNoNoNoYesYesYes 
updateForceSecureAllTrafficNoNoNoYesYesYes 
getRemoteConfigPwdNoNoNoNoNoNo 
updateRemoteConfigPwdYesYesYesYesYesYes 
getRemoteConfigTopicYesYesYesYesYesYes 
updateRemoteConfigTopicYesYesYesYesYesYes 
getRemoteConfigResultTopicYesYesYesYesYesYes 
updateRemoteConfigResultTopicYesYesYesYesYesYes 
getTelemetrySecsYesYesYesNoYesYes 
updateTelemetrySecsYesYesYesNoYesYes 
getTelemetryTopicYesYesYesNoYesYes 
updateTelemetryTopicYesYesYesNoYesYes 
getRemoteConfigRetainYesYesYesYesYesYes 
updateRemoteConfigRetainYesYesYesYesYesYes 
getRemoteConfigQoSYesYesYesYesYesYes 
updateRemoteConfigQoSYesYesYesYesYesYes 
getEnableMqttDebugYesYesYesYesYesYes 
updateEnableMqttDebugYesYesYesYesYesYes 
getMqttDebugTopicYesYesYesYesYesYes 
updateMqttDebugTopicYesYesYesYesYesYes 
getHideSSIDNoNoNoNoNoNo 
updateHideSSIDNoNoNoNoNoNo 
updateDeviceIDNoNoNoYesNoNo 
updateAccessCodeNot applicableNot applicableNot applicableYesNot applicableNo applicable 
getMqttStatusTopicNoNoNoYes Yes 
updateMqttStatusTopicNoNoNoYes Yes 
getMqttBirthMessageNoNoNoYes Yes 
updateMqttBirthMessageNoNoNoYes Yes 
getMqttLwtMessageNoNoNoYes Yes 
updateMqttLwtMessageNoNoNoYes Yes 
getMqttNoDSCNot applicableNot applicableNot applicableYesNot applicableNo applicable 
updateMqttNoDSCNot applicableNot applicableNot applicableYesNot applicableNo applicable 
getMqttPartitionTopicNot applicableNot applicableNot applicableYesNot applicableNo applicable 
updateMqttPartitionTopicNot applicableNot applicableNot applicableYesNot applicableNo applicable 
getMqttActivePartitionTopicNot applicableNot applicableNot applicableYesNot applicableNo applicable 
updateMqttActivePartitionTopicNot applicableNot applicableNot applicableYesNot applicableNo applicable 
getMqttZoneTopicNot applicableNot applicableNot applicableYesNot applicableNo applicable 
updateMqttZoneTopicNot applicableNot applicableNot applicableYesNot applicableNo applicable 
getMqttFireTopicNot applicableNot applicableNot applicableYesNot applicableNo applicable 
updateMqttFireTopicNot applicableNot applicableNot applicableYesNot applicableNo applicable 
getMqttTroubleTopicNot applicableNot applicableNot applicableYesNot applicableNo applicable 
updateMqttTroubleTopicNot applicableNot applicableNot applicableYesNot applicableNo applicable 
getMqttCommandTopicNot applicableNot applicableNot applicableYes No applicable 
updateMqttCommandTopicNot applicableNot applicableNot applicableYes No applicable 
getMqttKeepAliveTopicNot applicableNot applicableNot applicableYes No applicable 
updateMqttKeepAliveTopicNot applicableNot applicableNot applicableYes No applicable 
getEnableMonitoringNot applicableNot applicableNot applicableYesNot applicableNo applicable 
updateEnableMonitoringNot applicableNot applicableNot applicableYesNot applicableNo applicable 
getMonitoringTopicNot applicableNot applicableNot applicableYesNot applicableNo applicable 
updateMonitoringTopicNot applicableNot applicableNot applicableYesNot applicableNo applicable