npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

grdf-api

v0.3.0

Published

Unofficial API client of GRDF

Downloads

13

Readme

grdf-api

view on npm GitHub CI npm

Support non-officiel de l'API GRDF.
Ce module permet de gérer et récupérer la consommation des compteurs communicants Gazpar en utilisant l'API du site de GRDF. Leur site internet étant en perpétuelle mutation, ce module devra être mis à jour régulièrement.

[!WARNING]

Disclaimer

  • Il est clairement mentionné que cette librairie n'est pas officiellement éditée par GRDF.
  • Ce module n'est pas une contrefaçon car il n'existe pas de module similaire édité officiellement.
  • Les utilisateurs ne peuvent accéder qu'à leurs propres données. Ils sont soumis au même processus d'authentification que celui implémenté dans l'espace client GRDF et imposé par le serveur API.
  • Les données des utilisateurs ne sont pas davantage exposées puisqu'un utilisateur ne peut accéder qu'à ses propres données. Personne n'a le contrôle sur cette limitation qui est inhérente au fonctionnement de l'API des serveurs de GRDF.
  • Cette librairie ne se suffit pas à elle-même pour fonctionner. Il est nécessaire de l'importer dans un projet et l'utilisateur est le seul responsable de son code et des éventuelles conséquences.
  • Tout utilisateur de cette librairie a a priori lu et approuvé l'entièreté du fichier de licence GPLv3 disponible publiquement LICENSE ainsi que de ce présent fichier de présentation.
  • Tout utilisateur de cette librairie a a priori lu et compris l'entièreté du code de ce projet avant toute utilisation.
  • L'auteur de ce projet n'agit pas en tant qu'intermédiaire de traitement des données au sens du RGPD. Les utilisateurs sont responsables de leur propre conformité au RGPD lors de l'utilisation de cette librairie. Ils doivent s'assurer que leur utilisation de cette librairie est conforme aux exigences du RGPD et de toute autre législation applicable en matière de protection des données.
  • Eu égard l'ensemble de ces remarques, les contributeurs et a fortiori l'auteur du projet ne peuvent être tenus responsables de tout dommage potentiel.

GRDF

Kind: global class

new GRDF(token)

| Param | Type | Description | | --- | --- | --- | | token | string | Jeton d'accès obtenu avec la méthode GRDF.login(email, password) |

Example

const { GRDF, ConsommationType } = require('grdf-api')
const pce = '01234567890123'
GRDF.login('email', 'password').then(async token => {
    const user = new GRDF(token)
    const consommation = await user.getPCEConsumption(ConsommationType.informatives, [pce], '2021-09-01', '2021-12-01')
    console.log(consommation[pce].releves)
})

grdF.getPCEList(details) ⇒ Promise.<Array.<PCE>>

Liste des PCE associés à l'utilisateur

Kind: instance method of GRDF

| Param | Type | Default | Description | | --- | --- | --- | --- | | details | boolean | true | Récupérer les détails |

grdF.getPCEAddress(pce) ⇒ Promise.<Adresse>

Adresse d'un PCE spécifique

Kind: instance method of GRDF

| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant du PCE |

grdF.getPCEDetails(pce) ⇒ Promise.<PCE>

Détails d'un PCE

Kind: instance method of GRDF

| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant du PCE |

~~grdF.getPCEDetailsPlus() ⇒ Promise.<Array.<PCE>>~~

Deprecated

Informations les plus détaillées sur les PCE associés à l'utilisateur

Kind: instance method of GRDF

grdF.getPCECoefficient(pce) ⇒ Promise.<PCECoefficient>

Kind: instance method of GRDF

| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant du PCE |

grdF.getPCEMeteo(pce, dateFinPeriode, nbJours) ⇒

Kind: instance method of GRDF
Returns: Objet dont les clés sont les dates et les valeurs sont les températures associées

| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant du PCE | | dateFinPeriode | string | Date de fin au format YYYY-MM-DD | | nbJours | number | Nombre de jours |

grdF.getPCEConsoRef(pce) ⇒ Promise.<Array.<ConsommationReference>>

Consommation annuelle de référence

Kind: instance method of GRDF

| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant du PCE |

grdF.getPCEConsumption(type, pceList, dateDebut, dateFin) ⇒ Promise.<Consommation>

Relevés de consommation

Kind: instance method of GRDF

| Param | Type | Description | | --- | --- | --- | | type | ConsommationType | informatives: les plus détaillés, publiees: destinées à la facturation | | pceList | Array.<string> | Liste des numéros de PCE | | dateDebut | string | Date de début au format YYYY-MM-DD | | dateFin | string | Date de fin au format YYYY-MM-DD |

grdF.getConsumptionSheet(type, pceList, frequence, dateDebut, dateFin) ⇒ Promise.<stream>

Stream d'une feuille de calcul déjà formatée contenant les relevés

Kind: instance method of GRDF

| Param | Type | Description | | --- | --- | --- | | type | ConsommationType | informatives: les plus détaillés, publiees: destinées à la facturation | | pceList | Array.<string> | Liste des numéros de PCE | | frequence | Frequency | Fréquence des relevés (Mensuel|Hebdomadaire|Journalier|Horaire) | | dateDebut | string | Date de début au format YYYY-MM-DD | | dateFin | string | Date de fin au format YYYY-MM-DD |

Example

const { GRDF, ConsommationType, Frequency } = require('grdf-api');
const fs = require('fs');

const pce = '01234567890123';
GRDF.login('email', 'password').then(async token => {
    const user = new GRDF(token);
    const stream = fs.createWriteStream('./sheet.xlsx');
    (await user.getConsumptionSheet(ConsommationType.informatives, [pce], Frequency.WEEKLY, '2022-06-01', '2022-10-10')).pipe(stream);
})

grdF.putPCE(pce, partialPCE) ⇒ Promise.<PCE>

Effectuer des changements sur le PCE (changement de l'alias par exemple)

Kind: instance method of GRDF

| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant du PCE | | partialPCE | | Informations à remplacer dans la description du PCE |

grdF.getPCESeuils(pce, frequence) ⇒ Promise.<Seuils>

Liste des seuils programmés

Kind: instance method of GRDF

| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant du PCE | | frequence | Frequency | Type de seuil (Journalier|Mensuel|Annuel) |

grdF.postPCESeuils(pce, seuils) ⇒ Promise.<SeuilsCreated>

Remplacer les seuils

Kind: instance method of GRDF

| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant du PCE | | seuils | Seuils | Seuils à poster |

grdF.putPCESeuils(pce, seuils) ⇒ Promise.<Seuils>

Modifier un seuil (préciser les identifiants)

Kind: instance method of GRDF

| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant du PCE | | seuils | Seuils | Seuils à muter |

grdF.getUserInfo() ⇒ Promise.<UserInfo>

Informations générales sur l'utilisateur connecté

Kind: instance method of GRDF

grdF.getUserDetails(id) ⇒ Promise.<UserInfo>

Détails sur un utilisateur

Kind: instance method of GRDF

| Param | Type | Description | | --- | --- | --- | | id | number | Identifiant de l'utilisateur |

grdF.putUserDetails(id, userInfoDetails) ⇒ Promise.<UserInfo>

Mise à jour du profil de l'utilisateur

Kind: instance method of GRDF

| Param | Type | Description | | --- | --- | --- | | id | number | Identifiant de l'utilisateur | | userInfoDetails | UserInfoDetails | Les informations de l'utilisateur à modifier |

grdF.getConsultationHistory() ⇒ Promise.<Array.<HistoriqueConsultation>>

Historique de consultation des informations des PCE

Kind: instance method of GRDF

grdF.putConsultationHistory(data)

Mise à jour de la date de dernière consultation du PCE

Kind: instance method of GRDF

| Param | Type | | --- | --- | | data | HistoriqueConsultationRequest |

grdF.getUserAccreditation() ⇒ Promise.<Array.<Accreditation>>

Liste des accreditations demandées

Kind: instance method of GRDF

grdF.putUserAccreditation(pce, partialPCE) ⇒ Promise.<PCE>

Mise à jour de l'accréditation (changement de l'alias par exemple)

Kind: instance method of GRDF

| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant du PCE | | partialPCE | | L'objet PCE revendiqué |

grdF.getInfoLogements() ⇒ Promise.<Array.<InfoLogement>>

Informations sur le logement

Kind: instance method of GRDF

grdF.getInfoLogementPCE(pce) ⇒ Promise.<InfoLogement>

Informations sur le logement d'un PCE

Kind: instance method of GRDF

| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant PCE |

grdF.getConnaissancesClient(pce) ⇒ Promise.<ConnaissancesClient>

Informations sur le client (type de logement, surface, mode de chauffage, etc.)

Kind: instance method of GRDF

| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant PCE |

grdF.patchConnaissancesClient(id, data) ⇒ Promise.<ConnaissancesClient>

Mettre à jour le formulaire de connaissances client (type de logement, surface, mode de chauffage, etc.)

Kind: instance method of GRDF

| Param | Type | Description | | --- | --- | --- | | id | number | Identifiant du formulaire | | data | ConnaissancesClient | Données partielles à mettre à jour dans le formulaire |

GRDF.login(email, password) ⇒ Promise.<string>

Obtention d'un jeton d'accès auprès de l'API

Attention: ne JAMAIS transmettre ce jeton à un tier, il vous est strictement personnel !

Kind: static method of GRDF
Returns: Promise.<string> - Le jeton d'accès

| Param | Type | Description | | --- | --- | --- | | email | string | Courriel de connexion de l'utilisateur | | password | string | Mot de passe |