tibber-api
Version:
Node.js module for connecting to Tibber API and extract data from your connected homes, including realtime data from Tibber Pulse.
39 lines • 1.65 kB
JavaScript
;
// Uncomment the following line to include tibber-api NPM package instead.
// const TibberQuery = require("tibber-api").TibberQuery;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const index_1 = require("../src/index");
const http_1 = __importDefault(require("http"));
const hostname = '127.0.0.1';
const port = 3000;
// Config object needed when instantiating TibberQuery
const config = {
active: true,
apiEndpoint: {
apiKey: '5K4MVS-OjfWhK_4yrjOlFe1F6kJXPVf7eQYggo8ebAE', // Demo token
queryUrl: 'https://api.tibber.com/v1-beta/gql',
},
};
// GraphQL query
const queryHomes = 'query{viewer{homes{id size appNickname appAvatar address{address1 address2 address3 postalCode city country latitude longitude}}}}';
// Instance of TibberQuery
const tibberQuery = new index_1.TibberQuery(config);
// Simple web server.
const server = http_1.default.createServer(async (req, res) => {
// Call the Tibber API and return the result.
const result = await tibberQuery.query(queryHomes);
res.statusCode = 200;
res.setHeader('Content-Type', 'text/html');
res.write('<html><body><h1>Hello Tibber API</h1>');
res.write('Home Id: ' + result.viewer.homes[0].id);
res.write('<br/>Address: ' + result.viewer.homes[0].address.address1);
res.end('</body></html>');
});
// Start web server.
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
//# sourceMappingURL=get-homes.js.map