@ -15,23 +15,26 @@
# define API_KEY_MQTT_TLS "mqtls"
# define API_KEY_MQTT_TLS "mqtls"
# define API_KEY_MQTT_USER "mquser"
# define API_KEY_MQTT_USER "mquser"
# define API_KEY_MQTT_PASS "mqpass"
# define API_KEY_MQTT_PASS "mqpass"
# define API_KEY_CA_CERT "cacert"
# define API_KEY_OV_DEVNAME "ovdn"
# define API_KEY_CUSTOM_DEVNAME "cdn"
# define UNUSED(x) (void)(x)
# define UNUSED(x) (void)(x)
# define RESP_BUF_SIZE 10 24
# define RESP_BUF_SIZE 20 48
char responseBuffer [ RESP_BUF_SIZE ] ;
char responseBuffer [ RESP_BUF_SIZE ] ;
static void handleKvPair ( const char * key , const char * value , const void * userData , bool * done )
static void handleKvPair ( const char * key , const char * value , const void * userData , bool * done )
{
{
printf ( " LED display settings update; Key: %s, Value: %s\n " , key , value ) ;
printf ( " App settings update; Key: %s, Value: %s\n " , key , value ) ;
AppSettings * settings = nxGetAppSettings ( ) ;
AppSettings * settings = nxGetAppSettings ( ) ;
if ( strcmp ( key , API_KEY_RESTORE ) = = 0 ) {
if ( strcmp ( key , API_KEY_RESTORE ) = = 0 ) {
nxRestoreAppDefaultSettings ( ) ;
nxRestoreAppDefaultSettings ( ) ;
}
}
else if ( strcmp ( key , API_KEY_MQTT_HOST ) = = 0 ) {
else if ( strcmp ( key , API_KEY_MQTT_HOST ) = = 0 ) {
strcpy ( settings - > mqttHost , value ) ;
strcpy ( settings - > mqttHost , value ) ;
}
}
else if ( strcmp ( key , API_KEY_MQTT_API_URI ) = = 0 ) {
else if ( strcmp ( key , API_KEY_MQTT_API_URI ) = = 0 ) {
strcpy ( settings - > mqttApiUri , value ) ;
strcpy ( settings - > mqttApiUri , value ) ;
@ -46,10 +49,19 @@ static void handleKvPair(const char* key, const char* value, const void* userDat
strcpy ( settings - > mqttPassword , value ) ;
strcpy ( settings - > mqttPassword , value ) ;
}
}
else if ( strcmp ( key , API_KEY_MQTT_HB_SEC ) = = 0 ) {
else if ( strcmp ( key , API_KEY_MQTT_HB_SEC ) = = 0 ) {
settings - > mqttHbIntervalSec = atoi ( value ) ;
settings - > mqttHbIntervalSec = atoi ( value ) ;
}
}
else if ( strcmp ( key , API_KEY_MQTT_TLS ) = = 0 ) {
else if ( strcmp ( key , API_KEY_MQTT_TLS ) = = 0 ) {
settings - > mqttUseTls = atoi ( value ) ;
settings - > mqttUseTls = atoi ( value ) ;
}
else if ( strcmp ( key , API_KEY_CA_CERT ) = = 0 ) {
strcpy ( settings - > caCert , value ) ;
}
else if ( strcmp ( key , API_KEY_CUSTOM_DEVNAME ) = = 0 ) {
strcpy ( settings - > customDevName , value ) ;
}
else if ( strcmp ( key , API_KEY_OV_DEVNAME ) = = 0 ) {
settings - > overrideDevName = atoi ( value ) ;
}
}
else {
else {
fprintf ( stderr , " Unknown key: %s \n " , key ) ;
fprintf ( stderr , " Unknown key: %s \n " , key ) ;
@ -59,7 +71,7 @@ static void handleKvPair(const char* key, const char* value, const void* userDat
// --------- Public API --------- //
// --------- Public API --------- //
void nxApiGetAppSettings ( const uint8_t * msg , size_t msgLen ,
void nxApiGetAppSettings ( const uint8_t * msg , size_t msgLen ,
const char * * response , size_t * respLen )
const char * * response , size_t * respLen )
{
{
UNUSED ( msg ) ; UNUSED ( msgLen ) ;
UNUSED ( msg ) ; UNUSED ( msgLen ) ;
memset ( responseBuffer , 0 , RESP_BUF_SIZE ) ;
memset ( responseBuffer , 0 , RESP_BUF_SIZE ) ;
@ -72,14 +84,18 @@ void nxApiGetAppSettings(const uint8_t* msg, size_t msgLen,
" \" %s \" : \" %s \" , "
" \" %s \" : \" %s \" , "
" \" %s \" :%i, " // hb interval
" \" %s \" :%i, " // hb interval
" \" %s \" :%i, "
" \" %s \" :%i, "
" \" %s \" : \" %s \" " // mqtt user
" \" %s \" : \" %s \" , " // mqtt user
" \" %s \" :%i, " // ovdn
" \" %s \" : \" %s \" " // cdn
" } " ,
" } " ,
API_KEY_MQTT_HOST , settings - > mqttHost ,
API_KEY_MQTT_HOST , settings - > mqttHost ,
API_KEY_MQTT_API_URI , settings - > mqttApiUri ,
API_KEY_MQTT_API_URI , settings - > mqttApiUri ,
API_KEY_MQTT_HB_URI , settings - > mqttHbUri ,
API_KEY_MQTT_HB_URI , settings - > mqttHbUri ,
API_KEY_MQTT_HB_SEC , settings - > mqttHbIntervalSec ,
API_KEY_MQTT_HB_SEC , settings - > mqttHbIntervalSec ,
API_KEY_MQTT_TLS , settings - > mqttUseTls ,
API_KEY_MQTT_TLS , settings - > mqttUseTls ,
API_KEY_MQTT_USER , settings - > mqttUser
API_KEY_MQTT_USER , settings - > mqttUser ,
API_KEY_OV_DEVNAME , settings - > overrideDevName ,
API_KEY_CUSTOM_DEVNAME , settings - > customDevName
) ;
) ;
* response = responseBuffer ;
* response = responseBuffer ;
* respLen = strlen ( responseBuffer ) ;
* respLen = strlen ( responseBuffer ) ;