// @ts-check const { log } = require('cozy-konnector-libs') /** * Query SGE in order to get info * @param {number} pointId * @param {string} userLogin * @param {string} startDt * @param {string} endDt * @returns {string} */ function userMesureDetailles( pointId, userLogin, startDt, endDt, mesureType = 'ENERGIE', unit = 'EA' ) { log( 'info', `Query data ${mesureType}/${unit} between ${startDt} and ${endDt}` ) return `<?xml version='1.0' encoding='utf-8'?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://www.enedis.fr/sge/b2b/services/consultationmesuresdetaillees/v2.0" xmlns:v1="http://www.enedis.fr/sge/b2b/technique/v1.0"> <soapenv:Header/> <soapenv:Body> <v2:consulterMesuresDetaillees> <demande> <initiateurLogin>${userLogin}</initiateurLogin> <pointId>${pointId}</pointId> <mesuresTypeCode>${mesureType}</mesuresTypeCode> <grandeurPhysique>${unit}</grandeurPhysique> <soutirage>true</soutirage> <injection>false</injection> <dateDebut>${startDt}</dateDebut> <dateFin>${endDt}</dateFin> <mesuresCorrigees>false</mesuresCorrigees> <accordClient>true</accordClient> </demande> </v2:consulterMesuresDetaillees> </soapenv:Body> </soapenv:Envelope> ` } /** * Get user technical data * @param {number} pointId * @param {string} userLogin * @returns {string} */ function userTechnicalData(pointId, userLogin) { log('info', `Query userMesureDetailles`) return `<?xml version='1.0' encoding='utf-8'?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://www.enedis.fr/sge/b2b/services/consulterdonneestechniquescontractuelles/v1.0" xmlns:v1="http://www.enedis.fr/sge/b2b/technique/v1.0"> <soapenv:Header/> <soapenv:Body> <v2:consulterDonneesTechniquesContractuelles> <pointId>${pointId}</pointId> <loginUtilisateur>${userLogin}</loginUtilisateur> <autorisationClient>true</autorisationClient> </v2:consulterDonneesTechniquesContractuelles> </soapenv:Body> </soapenv:Envelope> ` } /** * Get user max power * @param {number} pointId * @param {string} userLogin * @param {string} startDt * @param {string} endDt * @returns {string} */ function userMaxPower(pointId, userLogin, startDt, endDt) { log('info', `Query userMesureDetailles`) return `<?xml version='1.0' encoding='utf-8'?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://www.enedis.fr/sge/b2b/services/consultationmesuresdetaillees/v2.0" xmlns:v1="http://www.enedis.fr/sge/b2b/technique/v1.0"> <soapenv:Header/> <soapenv:Body> <v2:consulterMesuresDetaillees> <demande> <initiateurLogin>${userLogin}</initiateurLogin> <pointId>${pointId}</pointId> <mesuresTypeCode>PMAX</mesuresTypeCode> <grandeurPhysique>PMA</grandeurPhysique> <soutirage>true</soutirage> <injection>false</injection> <dateDebut>${startDt}</dateDebut> <dateFin>${endDt}</dateFin> <mesuresPas>P1D</mesuresPas> <mesuresCorrigees>false</mesuresCorrigees> <accordClient>true</accordClient> </demande> </v2:consulterMesuresDetaillees> </soapenv:Body> </soapenv:Envelope> ` } module.exports = { userTechnicalData, userMaxPower, userMesureDetailles, }