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.

    Need help creating a module.

    Scheduled Pinned Locked Moved Solved Requests
    6 Posts 2 Posters 707 Views 2 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.
    • mumblebajM Offline
      mumblebaj Module Developer @sdmydbr9
      last edited by

      @sdmydbr9 A few things are missing. Your MMM-LocalNews.js sends a Socket Notification which the node_helper is supposed to listening for and act upon. The node_helper need a socketNotificationReceived in order to start its work. When it is done doing it’s work it needs to send the data back to the MMM-LocalNews.js (sendSocketNotifcation). Have a look at this sample module https://github.com/sdetweil/SampleModule.

      Check out my modules at: https://github.com/mumblebaj?tab=repositories
      Check my blog-post: https://mumblebaj.xyz/

      S 2 Replies Last reply Reply Quote 1
      • S Offline
        sdmydbr9 @mumblebaj
        last edited by

        @mumblebaj so to sum up, the main.is is correct and I need to edit the nodehelper.js script?

        1 Reply Last reply Reply Quote 0
        • S Offline
          sdmydbr9 @mumblebaj
          last edited by

          @mumblebaj
          Here is the updated nodehelper

          
          var https = require("https");
          
          module.exports = NodeHelper.create({
          
            // Override start method.
            start: function() {
              console.log("Starting node helper for: " + this.name);
            },
          
            // Handle the GET_VIDEO_TITLES socket notification.
            socketNotificationReceived: function(notification, payload) {
              if (notification === "GET_VIDEO_TITLES") {
                var apiKey = payload.apiKey;
                var channelId = payload.channelId;
          
                var url = "https://www.googleapis.com/youtube/v3/search?key=" + apiKey + "&channelId=" + channelId + "&part=snippet,id&order=date&maxResults=10";
          
                https.get(url, function(res) {
                  var body = "";
          
                  res.on("data", function(chunk) {
                    body += chunk;
                  });
          
                  res.on("end", function() {
                    var response = JSON.parse(body);
                    var titles = [];
          
                    for (var i = 0; i < response.items.length; i++) {
                      titles.push(response.items[i].snippet.title);
                    }
          
                    // Send the video titles back to the module.
                    this.sendSocketNotification("VIDEO_TITLES", { titles: titles });
                  }.bind(this));
                }.bind(this)).on("error", function(error) {
                  console.log("Error: " + error.message);
                });
              }
            }
          });
          
          
          S 1 Reply Last reply Reply Quote 0
          • S Offline
            sdmydbr9 @sdmydbr9
            last edited by

            @sdmydbr9
            Module has been created and working version has been published in GitHub. Feel free to Check out

            mumblebajM 1 Reply Last reply Reply Quote 0
            • mumblebajM Offline
              mumblebaj Module Developer @sdmydbr9
              last edited by

              @sdmydbr9 Awesome. Glad we could help

              Check out my modules at: https://github.com/mumblebaj?tab=repositories
              Check my blog-post: https://mumblebaj.xyz/

              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