Skip to content

luixal/datadis-node-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

datadis-node-client

Datadis NodeJs Client

What's this?

A simple client for Datadis API written in node.js Typescript.

How to user

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();

Docs

If you want to have a look to the autogenerated documentation (classes, params, types, etc.) just go here.

About

Datadis NodeJs Client

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published