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 some advise. Digital Ocean Modules

    Scheduled Pinned Locked Moved Development
    19 Posts 2 Posters 10.6k 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.
    • andrewchumchalA Offline
      andrewchumchal @strawberry 3.141
      last edited by

      @strawberry-3.141 I would like to pull the IP and Name and the Status. and here is a copy of my MMM-Digital-Ocean.js file https://raw.githubusercontent.com/andyipod1437/MMM-Digital-Ocean/master/MMM-Digital-Ocean.js

      1 Reply Last reply Reply Quote 0
      • strawberry 3.141S Offline
        strawberry 3.141 Project Sponsor Module Developer
        last edited by

        this should give you a litte help
        node_helper.js

        const DIGITALOCEAN = require('dropletapi').Droplets;
        const NodeHelper = require('node_helper');
        
        module.exports = NodeHelper.create({
            
            digitalocean: null,
        
            start: function() {
                console.log("Starting module: " + this.name);
            },
        
            socketNotificationReceived: function(notification, payload) {
                if (notification === "CONFIG") {
                    this.config = payload;
                    this.digitalocean = new DIGITALOCEAN(this.config.api_key);
                    setInterval(() => {
                        this.getData();
                    }, this.config.updateInterval);
                    this.getData();
                }
            },
            
            getData: function() {
                this.digitalocean.listDroplets((error, result) => {
                    if (error) {
                        console.log(error);
                    } else {
                        this.sendSocketNotification("DATA", result);
                    }
                });
            }
        });
        

        MMM-Digital-Ocean.js in start method

        this.sendSocketNotification("CONFIG", this.config);
        

        in socketNotificationReceived

        if(notification === "DATA"){
            this.droplets = payload;
        }
        

        in getDom you can iterate over all droplets and build the output you want

        Please create a github issue if you need help, so I can keep track

        andrewchumchalA 1 Reply Last reply Reply Quote 0
        • andrewchumchalA Offline
          andrewchumchal @strawberry 3.141
          last edited by

          @strawberry-3.141

          where do i add the very last part ?

          strawberry 3.141S 1 Reply Last reply Reply Quote 0
          • strawberry 3.141S Offline
            strawberry 3.141 Project Sponsor Module Developer @andrewchumchal
            last edited by

            @andrewchumchal also in MMM-Digital-Ocean.js

            Please create a github issue if you need help, so I can keep track

            andrewchumchalA 1 Reply Last reply Reply Quote 0
            • andrewchumchalA Offline
              andrewchumchal @strawberry 3.141
              last edited by

              @strawberry-3.141

              Any where ? or in a function called socketNotificationReceived

              strawberry 3.141S 1 Reply Last reply Reply Quote 0
              • strawberry 3.141S Offline
                strawberry 3.141 Project Sponsor Module Developer @andrewchumchal
                last edited by

                @andrewchumchal

                socketNotificationReceived: function(notification, payload){
                    if(notification === "DATA"){
                       this.droplets = payload;
                    }
                },
                

                Please create a github issue if you need help, so I can keep track

                andrewchumchalA 2 Replies Last reply Reply Quote 0
                • andrewchumchalA Offline
                  andrewchumchal @strawberry 3.141
                  last edited by

                  @strawberry-3.141
                  Thanks again for all of you help. Now I just need to get the getDom to work :)

                  1 Reply Last reply Reply Quote 0
                  • andrewchumchalA Offline
                    andrewchumchal @strawberry 3.141
                    last edited by

                    @strawberry-3.141

                    Any ideas where i can start? like where i can get the name and status.

                    strawberry 3.141S 1 Reply Last reply Reply Quote 0
                    • strawberry 3.141S Offline
                      strawberry 3.141 Project Sponsor Module Developer @andrewchumchal
                      last edited by

                      @andrewchumchal

                      for(var i = 0; i < this.droplets.droplets.length; i++;){
                          var name = this.droplets.droplets[i].name;
                          var status = this.droplets.droplets[i].status;
                          var ip = '';
                          for(var n = 0; n < this.droplets.droplets[i].networks['v4'].length; n++;){
                              ip += this.droplets.droplets[i].networks['v4'].ip_address + ' | ';
                          }
                          for(var n = 0; n < this.droplets.droplets[i].networks['v6'].length; n++;){
                              ip += this.droplets.droplets[i].networks['v6'].ip_address + ' | ';
                          }
                          ip = ip.replace(/ | $/, '');
                      }
                      
                      

                      Please create a github issue if you need help, so I can keep track

                      andrewchumchalA 1 Reply Last reply Reply Quote 0
                      • andrewchumchalA Offline
                        andrewchumchal @strawberry 3.141
                        last edited by

                        @strawberry-3.141
                        sorry to bug you so much dose that go in the get dom ?

                        strawberry 3.141S 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 1 / 2
                        • 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