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”}
Back to Documentation index page
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.9d | 1S3_v1.2.9d | 2S_v1.2.xd | DSC_v0.6.0 | TH_v1.2.5d | TH_v1.2.6 | ||
Release date | Aug 8 2019 | Jun 27 2019 | |||||
getConfigVersion | Yes | Yes | Yes | Yes | Yes | Yes | |
getAllParams | No | No | No | No | No | No | |
getStatus | Yes | Yes | Yes | Not applicable | Not applicable | Not applicable | |
getData | No applicable | No applicable | No applicable | Not applicable | Yes | Yes | |
triggerSendStatus | Yes | Yes | Yes | Yes | Yes | Yes | |
getUpdateInterval | Yes | Yes | Yes | Yes | Yes | Yes | |
updateUpdateInterval | Yes | Yes | Yes | Yes | Yes | Yes | |
switchAction | Yes | Yes | Yes | No | Not applicable | Not applicable | |
simulateButtonPush | Yes | Yes | Yes | No | Not applicable | Not applicable | |
getMqttConnStatus | Yes | Yes | Yes | Yes | Yes | Yes | |
getIP | Yes | Yes | Yes | Yes | Yes | Yes | |
saveConfig | Yes | Yes | Yes | Yes | Yes | Yes | |
reset | Yes | Yes | Yes | Yes | Yes | Yes | |
getMqttServer | Yes | Yes | Yes | Yes | Yes | Yes | |
updateMqttServer | Yes | Yes | Yes | Yes | Yes | Yes | |
getMqttPort | Yes | Yes | Yes | Yes | Yes | Yes | |
updateMqttPort | Yes | Yes | Yes | Yes | Yes | Yes | |
getMqttClientID | Yes | Yes | Yes | Yes | Yes | Yes | |
updateMqttClientID | Yes | Yes | Yes | Yes | Yes | Yes | |
getMqttUserName | Yes | Yes | Yes | Yes | Yes | Yes | |
updateMqttUserName | Yes | Yes | Yes | Yes | Yes | Yes | |
getMqttUserPassword | Yes | Yes | Yes | Yes | Yes | Yes | |
updateMqttUserPassword | Yes | Yes | Yes | Yes | Yes | Yes | |
getMqttRetain | Yes | Yes | Yes | Yes | Yes | Yes | |
updateMqttRetain | Yes | Yes | Yes | Yes | Yes | Yes | |
getMqttQoS | Yes | Yes | Yes | Yes | Yes | Yes | |
updateMqttQoS | Yes | Yes | Yes | Yes | Yes | Yes | |
getMqttDataTopic | Yes | Yes | Yes | No | Yes | Yes | |
updateMqttDataTopic | Yes | Yes | Yes | No | Yes | Yes | |
getSwitchCommandTopic | Yes | Yes | Yes | No | Not applicable | Not applicable | |
updateSwitchCommandTopic | Yes | Yes | Yes | No | Not applicable | Not applicable | |
getSwitchStateTopic | Yes | Yes | Yes | No | Not applicable | Not applicable | |
updateSwitchStateTopic | Yes | Yes | Yes | No | Not applicable | Not applicable | |
getSwitchONPayload | Yes | Yes | Yes | No | Not applicable | Not applicable | |
updateSwitchONPayload | Yes | Yes | Yes | No | Not applicable | Not applicable | |
getSwitchOFFPayload | Yes | Yes | Yes | No | Not applicable | Not applicable | |
updateGetSwitchOFFPayload | Yes | Yes | Yes | No | Not applicable | Not applicable | |
getInitialState | Yes | Yes | Yes | No | Not applicable | Not applicable | |
updateInitialState | Yes | Yes | Yes | No | Not applicable | Not applicable | |
getTiMerStatus | No | No | No | Yes | Not applicable | Not applicable | |
updateTiMerStatus | No | No | No | Yes | Not applicable | Not applicable | |
getTiMerString | No | No | No | Yes | Not applicable | Not applicable | |
updateTiMerString | No | No | No | Yes | Not applicable | Not applicable | |
getPublishTimerString | No | No | No | Yes | No | No | |
updatePublishTimerString | No | No | No | Yes | No | No | |
getNtpServer | No | No | No | Yes | No | No | |
updateNtpServer | No | No | No | Yes | No | No | |
getNtpUpdateInterval | No | No | No | Yes | No | No | |
updateNtpUpdateInterval | No | No | No | Yes | No | No | |
getTimeZone | No | No | No | Yes | No | No | |
updateTimeZone | No | No | No | Yes | No | No | |
getTimeDST | No | No | No | Yes | No | No | |
updateTimeDST | No | No | No | Yes | No | No | |
getButtonTopic | Yes | Yes | Yes | No | Not applicable | Not applicable | |
updateButtonTopic | Yes | Yes | Yes | No | Not applicable | Not applicable | |
getButtonPayloadOn | Yes | Yes | Yes | No | Not applicable | Not applicable | |
updateButtonPayloadOn | Yes | Yes | Yes | No | Not applicable | Not applicable | |
getButtonPayloadOff | Yes | Yes | Yes | No | Not applicable | Not applicable | |
updateButtonPayloadOff | Yes | Yes | Yes | No | Not applicable | Not applicable | |
getLocalSwitch | Yes | Yes | Yes | No | Not applicable | Not applicable | |
updateLocalSwitch | Yes | Yes | Yes | No | Not applicable | Not applicable | |
getOnSecs | Yes | Yes | Yes | No | Not applicable | Not applicable | |
updateOnSecs | Yes | Yes | Yes | No | Not applicable | Not applicable | |
disableRConfig | No | No | No | Yes | No | No | |
getRemoteConfigMqttServer | Yes | Yes | Yes | Yes | Yes | Yes | |
updateRemoteConfigMqttServer | Yes | Yes | Yes | Yes | Yes | Yes | |
getRemoteConfigMqttPort | Yes | Yes | Yes | Yes | Yes | Yes | |
updateRemoteConfigMqttPort | Yes | Yes | Yes | Yes | Yes | Yes | |
getRemoteConfigMqttUser | Yes | Yes | Yes | Yes | Yes | Yes | |
updateRemoteConfigMqttUser | Yes | Yes | Yes | Yes | Yes | Yes | |
getRemoteConfigMqttPwd | Yes | Yes | Yes | Yes | Yes | Yes | |
updateRemoteConfigMqttPwd | Yes | Yes | Yes | Yes | Yes | Yes | |
getForceSecureAllTraffic | No | No | No | Yes | Yes | Yes | |
updateForceSecureAllTraffic | No | No | No | Yes | Yes | Yes | |
getRemoteConfigPwd | No | No | No | No | No | No | |
updateRemoteConfigPwd | Yes | Yes | Yes | Yes | Yes | Yes | |
getRemoteConfigTopic | Yes | Yes | Yes | Yes | Yes | Yes | |
updateRemoteConfigTopic | Yes | Yes | Yes | Yes | Yes | Yes | |
getRemoteConfigResultTopic | Yes | Yes | Yes | Yes | Yes | Yes | |
updateRemoteConfigResultTopic | Yes | Yes | Yes | Yes | Yes | Yes | |
getTelemetrySecs | Yes | Yes | Yes | No | Yes | Yes | |
updateTelemetrySecs | Yes | Yes | Yes | No | Yes | Yes | |
getTelemetryTopic | Yes | Yes | Yes | No | Yes | Yes | |
updateTelemetryTopic | Yes | Yes | Yes | No | Yes | Yes | |
getRemoteConfigRetain | Yes | Yes | Yes | Yes | Yes | Yes | |
updateRemoteConfigRetain | Yes | Yes | Yes | Yes | Yes | Yes | |
getRemoteConfigQoS | Yes | Yes | Yes | Yes | Yes | Yes | |
updateRemoteConfigQoS | Yes | Yes | Yes | Yes | Yes | Yes | |
getEnableMqttDebug | Yes | Yes | Yes | Yes | Yes | Yes | |
updateEnableMqttDebug | Yes | Yes | Yes | Yes | Yes | Yes | |
getMqttDebugTopic | Yes | Yes | Yes | Yes | Yes | Yes | |
updateMqttDebugTopic | Yes | Yes | Yes | Yes | Yes | Yes | |
getHideSSID | No | No | No | No | No | No | |
updateHideSSID | No | No | No | No | No | No | |
updateDeviceID | No | No | No | Yes | No | No | |
updateAccessCode | Not applicable | Not applicable | Not applicable | Yes | Not applicable | No applicable | |
getMqttStatusTopic | No | No | No | Yes | Yes | ||
updateMqttStatusTopic | No | No | No | Yes | Yes | ||
getMqttBirthMessage | No | No | No | Yes | Yes | ||
updateMqttBirthMessage | No | No | No | Yes | Yes | ||
getMqttLwtMessage | No | No | No | Yes | Yes | ||
updateMqttLwtMessage | No | No | No | Yes | Yes | ||
getMqttNoDSC | Not applicable | Not applicable | Not applicable | Yes | Not applicable | No applicable | |
updateMqttNoDSC | Not applicable | Not applicable | Not applicable | Yes | Not applicable | No applicable | |
getMqttPartitionTopic | Not applicable | Not applicable | Not applicable | Yes | Not applicable | No applicable | |
updateMqttPartitionTopic | Not applicable | Not applicable | Not applicable | Yes | Not applicable | No applicable | |
getMqttActivePartitionTopic | Not applicable | Not applicable | Not applicable | Yes | Not applicable | No applicable | |
updateMqttActivePartitionTopic | Not applicable | Not applicable | Not applicable | Yes | Not applicable | No applicable | |
getMqttZoneTopic | Not applicable | Not applicable | Not applicable | Yes | Not applicable | No applicable | |
updateMqttZoneTopic | Not applicable | Not applicable | Not applicable | Yes | Not applicable | No applicable | |
getMqttFireTopic | Not applicable | Not applicable | Not applicable | Yes | Not applicable | No applicable | |
updateMqttFireTopic | Not applicable | Not applicable | Not applicable | Yes | Not applicable | No applicable | |
getMqttTroubleTopic | Not applicable | Not applicable | Not applicable | Yes | Not applicable | No applicable | |
updateMqttTroubleTopic | Not applicable | Not applicable | Not applicable | Yes | Not applicable | No applicable | |
getMqttCommandTopic | Not applicable | Not applicable | Not applicable | Yes | No applicable | ||
updateMqttCommandTopic | Not applicable | Not applicable | Not applicable | Yes | No applicable | ||
getMqttKeepAliveTopic | Not applicable | Not applicable | Not applicable | Yes | No applicable | ||
updateMqttKeepAliveTopic | Not applicable | Not applicable | Not applicable | Yes | No applicable | ||
getEnableMonitoring | Not applicable | Not applicable | Not applicable | Yes | Not applicable | No applicable | |
updateEnableMonitoring | Not applicable | Not applicable | Not applicable | Yes | Not applicable | No applicable | |
getMonitoringTopic | Not applicable | Not applicable | Not applicable | Yes | Not applicable | No applicable | |
updateMonitoringTopic | Not applicable | Not applicable | Not applicable | Yes | Not applicable | No applicable | |