tibber-api
Version:
Node.js module for connecting to Tibber API and extract data from your connected homes, including realtime data from Tibber Pulse.
98 lines • 3.21 kB
JavaScript
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.FakeTibberQuery = void 0;
const url = __importStar(require("url"));
const index_1 = require("./../src/index");
// Config object needed when instantiating TibberQuery
const config = {
// Endpoint configuration.
active: true,
apiEndpoint: {
apiKey: '5K4MVS-OjfWhK_4yrjOlFe1F6kJXPVf7eQYggo8ebAE', // Demo token
queryUrl: 'https://api.tibber.com/v1-beta/gql',
},
// Query configuration.
homeId: '96a14971-525a-4420-aae9-e5aedaa129ff',
timestamp: true,
power: true,
lastMeterConsumption: true,
accumulatedConsumption: true,
accumulatedProduction: true,
accumulatedCost: true,
accumulatedReward: true,
currency: true,
minPower: true,
averagePower: true,
maxPower: true,
powerProduction: false,
minPowerProduction: false,
maxPowerProduction: false,
lastMeterProduction: false,
powerFactor: true,
voltagePhase1: true,
voltagePhase2: true,
voltagePhase3: true,
currentL1: true,
currentL2: true,
currentL3: true,
signalStrength: true,
};
class FakeTibberQuery extends index_1.TibberQueryBase {
async getWebsocketSubscriptionUrl() {
return new Promise((resolve, reject) => {
resolve(new url.URL('wss://vg.no/'));
});
}
}
exports.FakeTibberQuery = FakeTibberQuery;
const tibberQuery = new index_1.TibberQuery(config);
const tibberFeed = new index_1.TibberFeed(tibberQuery, 5000);
tibberFeed.on('connected', () => {
console.log('Connected to Tibber!');
});
tibberFeed.on('connection_ack', () => {
console.log('Connection acknowledged!');
});
tibberFeed.on('disconnected', async () => {
console.log('Disconnected from Tibber!');
});
tibberFeed.on('error', async (error) => {
console.error(error);
});
tibberFeed.on('warn', warn => {
console.warn(warn);
});
tibberFeed.on('log', log => {
console.log(log);
});
tibberFeed.on('data', data => {
console.log(data);
});
setInterval(async () => {
if (!tibberFeed.connected)
await tibberFeed.connect();
}, 1000);
//# sourceMappingURL=tibber-feed-full.js.map
;