Update
Update a device record
Update will alter the device record in Meshblu. Allows the use of $set, $inc, $push, etc. operators as documented in the MongoDB API
var ws = new WebSocket("wss://meshblu.octoblu.com/ws/v2");
ws.send(JSON.stringify([
"update",
[
{
"uuid":"26de691f-8068-4cdc-907a-4cb5961a1aba",
"token":"2e924d1a9cad175ba91f120ede720d50010cd966"
},
{
"$set": {
"color": "blue"
}
}
]
]));
var MeshbluWebsocket = require('meshblu-websocket');
var MeshbluConfig = require('meshblu-config');
var meshbluConfig = new MeshbluConfig().toJSON();
var meshblu = new MeshbluWebsocket(meshbluConfig);
meshblu.connect(function(error){
if (error) {
console.error(error.message);
}
meshblu.subscribe({uuid: meshbluConfig.uuid});
meshblu.on('config', function(data){
console.log('config', data);
});
meshblu.updateDangerously({
uuid: meshbluConfig.uuid,
token: meshbluConfig.token
}, {
'$push': {
stuff: {
foo: 'bar'
}
}
});
});
Risk of Token Deletion
If a request is made without any operators prefixed by '$', it is assumed to be the new, full representation of the device. This means that all operators that are not mentioned, such as the token, will be unset.
var ws = new WebSocket("wss://meshblu.octoblu.com/ws/v2");
ws.send(JSON.stringify([
"update",
[
{
"uuid":"26de691f-8068-4cdc-907a-4cb5961a1aba",
"token":"2e924d1a9cad175ba91f120ede720d50010cd966"
},
{
"name": "in deep, deep trouble"
}
]
]));
# This will unset the token and owner, making the device completely unaccessible!
Success
If you successfully update you will receive a config
and an updated
message
Subscribe Required
Be sure to subscribe in order to receive the
config
message.
[
"config",
{
"uuid":"26de691f-8068-4cdc-907a-4cb5961a1aba",
"token":"2e924d1a9cad175ba91f120ede720d50010cd966",
"status":200
}
]
[
"updated",
{
"uuid":"26de691f-8068-4cdc-907a-4cb5961a1aba"
}
]
Failure
On update failure, you will receive a error
message
[
"error",
{
"frame":["config",{"uuid":"26de691f-8068-4cdc-907a-4cb5961a1aba","token":"2e924d1a9cad175ba91f120ede720d50010cd966","status":200}],
"message": "failed to update"
}
]
Updated less than a minute ago