Looks like payload isn't null terminated.
Not quite sure how to add it to the end.
void callback(const char* topic, byte* payload, unsigned int length) {
byte* nullTermPayload[16];
for(int i = 0; i < length; i++){
nullTermPayload[i] = payload[i];
}
nullTermPayload[length] = "\0";
};
gives
WemosD1MiniCloudMQTT.ino: In function 'void callback(const char*, byte*, unsigned int)':
WemosD1MiniCloudMQTT:102: error: invalid conversion from 'byte {aka unsigned char}' to 'byte* {aka unsigned char*}' [-fpermissive]
nullTermPayload[i] = payload[i];
^
WemosD1MiniCloudMQTT:104: error: invalid conversion from 'const char*' to 'byte* {aka unsigned char*}' [-fpermissive]
nullTermPayload[length] = "\0";
^
exit status 1
And this
void callback(const char* topic, byte* payload, unsigned int length) {
char nullTermPayload[16];
for(int i = 0; i < length; i++){
nullTermPayload[i] = payload[i];
}
nullTermPayload[length] = "\0";
};
In function 'void callback(const char*, byte*, unsigned int)':
WemosD1MiniCloudMQTT:104: error: invalid conversion from 'const char*' to 'char' [-fpermissive]
nullTermPayload[length] = "\0";
^
exit status 1
invalid conversion from 'const char*' to 'char' [-fpermissive]