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 847 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

      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

      With your input, this post could be even better 💗

      Register Login
      • 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