grdf-api

Unofficial API client of GRDF

https://github.com/maelgangloff/grdf-api

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (6.2%) to scientific vocabulary

Keywords

api energy-consumption gazpar grdf javascript nodejs
Last synced: 6 months ago · JSON representation ·

Repository

Unofficial API client of GRDF

Basic Info
Statistics
  • Stars: 7
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 6
Topics
api energy-consumption gazpar grdf javascript nodejs
Created about 4 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Contributing Funding License Code of conduct Citation Security

README.md

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.

[!TIP] Un wiki est disponible, celui-ci rassemble davantage d'informations sur le fonctionnement de l'API.
Ce wiki est disponible ici.

Disclaimer

[!WARNING] - 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
js 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
```js 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 |

Owner

  • Name: Maël Gangloff
  • Login: maelgangloff
  • Kind: user
  • Location: Nancy, France
  • Company: Polytech Nancy | @PolytechSN

Student at Polytech Nancy - University of Lorraine, France | Discord: maelgangloff#1907

Citation (CITATION.cff)

cff-version: 1.2.0
title: GRDF API
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Maël
    family-names: Gangloff
    email: contact@maelgangloff.fr
    orcid: 'https://orcid.org/0000-0002-7729-724X'
identifiers:
  - type: url
    value: >-
      https://github.com/maelgangloff/grdf-api
    description: GRDF-API, le client non-officiel de l'API GRDF
repository-code: 'https://github.com/maelgangloff/grdf-api'
abstract: Unofficial API client of GRDF
keywords:
  - GRDF
  - Gaz
  - Gazpar
  - API
license: GPL-3.0-or-later
date-released: '2024-04-30'
license-url: 'https://github.com/maelgangloff/grdf-api/blob/master/LICENSE'

GitHub Events

Total
  • Issues event: 2
  • Watch event: 2
Last Year
  • Issues event: 2
  • Watch event: 2

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 18
  • Total Committers: 1
  • Avg Commits per committer: 18.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 11
  • Committers: 1
  • Avg Commits per committer: 11.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Maël Gangloff c****t@m****r 18
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 2
  • Total pull requests: 0
  • Average time to close issues: about 2 hours
  • Average time to close pull requests: N/A
  • Total issue authors: 2
  • Total pull request authors: 0
  • Average comments per issue: 2.5
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: 3 minutes
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • malys (1)
  • 0rsa (1)
Pull Request Authors
Top Labels
Issue Labels
bug (2)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • npm 12 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 0
  • Total versions: 9
  • Total maintainers: 1
npmjs.org: grdf-api

Unofficial API client of GRDF

  • Versions: 9
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 12 Last month
Rankings
Stargazers count: 14.6%
Dependent packages count: 16.2%
Forks count: 17.4%
Average: 19.0%
Downloads: 21.5%
Dependent repos count: 25.3%
Maintainers (1)
Last synced: 6 months ago

Dependencies

package.json npm
  • @types/node ^17.0.5 development
  • @types/qs ^6.9.7 development
  • @typescript-eslint/eslint-plugin ^5.8.1 development
  • @typescript-eslint/parser ^5.8.1 development
  • eslint ^8.5.0 development
  • jsdoc-to-markdown ^7.1.0 development
  • ts-standard ^11.0.0 development
  • typescript ^4.5.4 development
  • axios ^0.24.0
  • qs ^6.10.2
yarn.lock npm
  • 335 dependencies
.github/workflows/CI.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-node v1 composite
.github/workflows/Publish.yml actions
  • actions/checkout v4 composite
  • actions/setup-node v4 composite