const http = require('http') const globalVars = require('../libs/globalVars') const led = require('../libs/led') const common = require('../libs/common') const lcd = require('../libs/lcd') const logger = require('perfect-logger'); module.exports = { getStatus: () => { var rest_options = { host: '192.168.4.5', port: 80, path: '/admin/api.php', method: 'GET' }; logger.info('piHole request') var request = http.request(rest_options, function (response) { var content = ""; // Handle data chunks response.on('data', function (chunk) { content += chunk; }); // Once we're done streaming the response, parse it as json. response.on('end', async function () { var data = JSON.parse(content); let piHoleData = { "domainsBeingBlocked": data.domains_being_blocked, "queriesToday": data.dns_queries_today, "queriesBlockedToday": data.ads_blocked_today, "percentageBlocked": data.ads_percentage_today } lcd.piHolePage(piHoleData.domainsBeingBlocked, piHoleData.queriesToday, piHoleData.queriesBlockedToday, piHoleData.percentageBlocked) }); }) // Report errors request.on('error', function (error) { led.set('green') lcd.heatingStatus('Error No Data') globalVars.heatingOn = 'error' }); request.end(); } }