I need help by my pimatic integration with the MMM-Rest Module.
In the Module docu the url returns a single Integer but my pimatic api returs a string with more informations. like this
curl http://user:user@himbeere/api/variables/dht-01.temperature
{“variable”:{“name”:“dht-01.temperature”,“readonly”:true,“type”:“attribute”,“value”:20,“unit”:“°C”},“success”:true}
what i need ist the value 20
how i can filter the response?
i have found this for an php request but i dont know how i can use it in the node_helper.js
<b>Single value from weather.temperature:</b><br />
php
$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, "http://demo:demo@demo.pimatic.org/api/variables/variable-set.temperature");
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec ($curl);// curl to a variable
curl_close ($curl);
$result = json_decode($result, true);// decode to associative array
$result = $result['variable']['value'];//pick desired value
print "Temperature: ".$result;
$result = Temperature 11.4
node_helper.js
/* Magic Mirror
* Module: MMM-Rest
*
* By Dirk Melchers
* MIT Licensed.
*/
var NodeHelper = require('node_helper');
var request = require('request');
module.exports = NodeHelper.create({
start: function () {
console.log(this.name + ' helper started ...');
},
socketNotificationReceived: function(notification, payload) {
if (notification === 'MMM_REST_REQUEST') {
var that = this;
request({
url: payload.url,
method: 'GET'
}, function(error, response, body) {
// console.log("MMM_REST response:");
if (!error && response.statusCode == 200) {
// console.log("send notification: "+payload.id);
that.sendSocketNotification('MMM_REST_RESPONSE', {
id: payload.id,
data: response
});
}
});
}
}
});
does anyone have an idea how i can integrate the decode in the node_helper.js?