Datadis NodeJs Client
A simple client for Datadis API written in node.js Typescript.
Learn by example :)
const username = 'username';
const password = 'password';
async function main() {
const client = new DatadisClient(username, password);
const login = await client.login();
console.log(login);
// {
// _account: Account {
// name: 'defaults_to_username',
// username: 'username',
// password: 'password'
// },
// token: 'eyJhbG....dslñfkjañlsdjfas'
// }
const supplies = await client.getSupplies();
console.log(supplies);
// [
// Supply {
// address: 'Full postal address',
// cups: 'ES0021AAAAAAAAA',
// postalCode: '28050',
// province: 'Madrid',
// municipality: 'MADRID',
// distributor: 'I-DE REDES ELÉCTRICAS INTELIGENTES, S.A.U.',
// validDateFrom: '',
// validDateTo: '',
// pointType: 5,
// distributorCode: '8',
// validFrom: null,
// validTo: null,
// distributorObj: Distributor {
// code: '8',
// name: 'I-DE REDES ELÉCTRICAS INTELIGENTES, S.A.U.'
// }
// }
// ]
const contract = await client.getContractDetail(supplies[0]);
console.log(contract);
// [
// ContractDetail {
// cups: 'ES0021AAAAAAAAA',
// distributor: 'I-DE REDES ELÉCTRICAS INTELIGENTES, S.A.U.',
// marketer: 'FuckTURGY',
// tension: 'Baja tensión',
// accessFare: 'BAJA TENSION y POTENCIA <= 15 kW',
// province: 'Madrid',
// municipality: 'MADRID',
// postalCode: '28050',
// contractedPowerkW: [ 3.45, 3.45 ],
// timeDiscrimination: '',
// modePowerControl: 'ICP',
// startDate: 2024-12-22T23:00:00.000Z,
// endDate: null,
// codeFare: '2T',
// selfConsumptionTypeCode: '41',
// selfConsumptionTypeDesc: 'Con excedentes y compensación Individual',
// section: '2',
// subsection: null,
// partitionCoefficient: 0,
// cau: 'ES0021AAAAAAAAA',
// installedCapacity: 3600,
// dateOwner: [
// ...
// ],
// lastMarketerDate: null,
// maxPowerInstall: null
// }
// ]
const maxPower = await client.getMaxPower(supplies[0]);
console.log(maxPower);
const consumptions = await client.getConsumptionData(supplies[0]);
console.log(consumptions);
// [
// ConsumptionData {
// cups: 'ES0021AAAAAAAAA',
// date: '2025/03/01',
// time: '01:00',
// consumptionKWh: 1.646,
// obtainMethod: '',
// surplusEnergyKWh: null,
// generationEnergyKWh: null,
// selfConsumptionEnergyKWh: null,
// when: 2025-03-01T00:00:00.000Z
// },
// ConsumptionData {
// cups: 'ES0021AAAAAAAAA',
// date: '2025/03/01',
// time: '02:00',
// consumptionKWh: 1.336,
// obtainMethod: '',
// surplusEnergyKWh: null,
// generationEnergyKWh: null,
// selfConsumptionEnergyKWh: null,
// when: 2025-03-01T01:00:00.000Z
// },
// ...
// ]
}
main();If you want to have a look to the autogenerated documentation (classes, params, types, etc.) just go here.