• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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 500 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.
  • M Offline
    mumblebaj Module Developer @sdmydbr9
    last edited by Feb 9, 2023, 8:14 PM

    @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

    S 2 Replies Last reply Feb 10, 2023, 6:35 AM Reply Quote 1
    • S Offline
      sdmydbr9 @mumblebaj
      last edited by Feb 10, 2023, 6:35 AM

      @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 Feb 10, 2023, 6:47 AM

        @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 Feb 10, 2023, 3:14 PM Reply Quote 0
        • S Offline
          sdmydbr9 @sdmydbr9
          last edited by Feb 10, 2023, 3:14 PM

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

          M 1 Reply Last reply Feb 10, 2023, 3:54 PM Reply Quote 0
          • M Offline
            mumblebaj Module Developer @sdmydbr9
            last edited by Feb 10, 2023, 3:54 PM

            @sdmydbr9 Awesome. Glad we could help

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

            1 Reply Last reply Reply Quote 0
            • 1 / 1
            1 / 1
            • First post
              6/6
              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