MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    MMM-Rest & pimatic REST-API

    Scheduled Pinned Locked Moved Troubleshooting
    1 Posts 1 Posters 794 Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ? Offline
      A Former User
      last edited by

      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?

      1 Reply Last reply Reply Quote 0
      • 1 / 1
      • First post
        Last post
      Enjoying MagicMirror? Please consider a donation!
      MagicMirror created by Michael Teeuw.
      Forum managed by Sam, technical setup by Karsten.
      This forum is using NodeBB as its core | Contributors
      Contact | Privacy Policy