Application for the MMM-Remote-Control module.
Works only on Wi-Fi networks.
Inaccuracies with the translation into English are possible, please advise how the translation could be corrected. I will also be glad to have ideas for new features or widgets and translations.
Implemented:
Power and monitor management;
Displaying system information about the raspberry pi; (changes are required in the MMM-Remote-Control module)
VNC launch; (changes are required in the MMM-Remote-Control module)
Widgets for switching profiles, timer, stopwatch, breathing exercises, installed modules (test widget);
The widget displays the module required for installation;
2 languages: Russian (main), English (additional)
Shortcuts;
Working with multiple mirrors;
Switching pages;
Custom commands.
Password for admin mode Admin






Changes in the MMM-Remote-Control module
api.js add to line 109 (after this.configOnHd.modules.filter(mod => skippedModules )
//системный монитор
		getStats: function() { 
            var fs =  require('fs');
            var os =  require('os');
            var stats = ''
            var temperature = fs.readFileSync("/sys/class/thermal/thermal_zone0/temp");
            temperature = ((temperature/1000).toPrecision(3));
            var cpu = fs.readFileSync("/proc/loadavg");
            cpu = cpu.slice(0,4);
            var upTime = fs.readFileSync("/proc/uptime");
                            
            stats = 'temp: '+temperature+'; '+'cpu: '+cpu+'/'+os.cpus().length+'; '+'ram: '+Math.floor(os.freemem()/os.totalmem()*100)+'; '+'uptime: '+os.uptime()+';';//+'memory: '+memory+';';
                
                
            return stats;
		},
        
        //запуск VNC
		startVNC: function() { 
            var exec = require('child_process').exec;
            exec('vncserver-x11 -showstatus');  
            return 'OK';
		},
api.js add to line 156 (after this.expressRouter.route([‘/test’,‘/’]) )
this.expressRouter.route(['/systemStats']) // //системный монитор без apiKey
            .get((req, res) => {
                if (!this.checkInititialized(res)) { return; }
                res.json({ data: this.getStats() });
            });
api.js add to line 226 (after this.expressRouter.route([
‘/refresh/:delayed?’, )
this.expressRouter.route(['/startVNC']) // запуск VNC
            .get((req, res) => {
                if(!this.apiKey && this.secureEndpoints) return res.status(403).json({ success: false, message: "Forbidden: API Key Not Provided in Config! Use secureEndpoints to bypass this message" });
                if (!this.checkInititialized(res)) { return; }
                res.json({ data: this.startVNC()});
            });
