Skip to content

JulianWowra/opensensemap-client

Repository files navigation

openSenseMap Client

Based on API version: v11.3.0

NPM

Install

npm install opensensemap-client
pnpm install opensensemap-client
yarn add opensensemap-client

Usage

Usage in TypeScript (with ES Modules):

import * as client from 'opensensemap-client';

async function start() {
  // Get information about a senseBox
  const r = await client.getBox('57000b8745fd40c8196ad04c').catch((e) => console.error(e));

  console.log(JSON.stringify(r));

  // Post new sensor data
  const data: client.PostNewMeasurementsParamData = [];
  const authToken = 'Your senseBox token';

  data.push({
    sensor: 'Your sensorId',
    value: 'Your data'
  });

  client.postNewMeasurements('Your senseBoxId', data, authToken).catch(console.error);
}

start();

Listed functions according to API documentation of openSenseMap

API Functions Reference

Boxes

Function Description OpenSenseMap API Documentation
getBox() Get one senseBox API Doc
getBoxes() Get all senseBoxes API Doc
postNewBox() Post new senseBox API Doc
updateBox() Update a senseBox API Doc
deleteBox() Mark a senseBox for deletion API Doc
getAllTags() Get all senseBox tags API Doc
claimBox() Claim a senseBox marked for transfer API Doc
getSketch() Download the Arduino script API Doc
getBoxLocations() Get locations of a senseBox API Doc
getTransfer() Get transfer information API Doc
createTransfer() Mark a senseBox for transfer API Doc
removeTransfer() Revoke transfer token API Doc
updateTransfer() Update a transfer token API Doc

Measurements

Function Description OpenSenseMap API Documentation
postNewMeasurement() Post new measurement API Doc
getData() Get latest measurements for a sensor API Doc
deleteMeasurements() Delete measurements of a sensor API Doc
getDataByGroupTag() Get measurements for a grouptag API Doc
getDataMulti() Get measurements for a phenomenon API Doc
getLatestMeasurements() Get latest measurements of a senseBox API Doc
getLatestMeasurementOfSensor() Get latest measurements of a sensor API Doc
postNewMeasurements() Post multiple new measurements API Doc

Users

Function Description OpenSenseMap API Documentation
register() Register new user API Doc
deleteUser() Delete user and all boxes API Doc
getUser() Get user details API Doc
refreshAuth() Refresh Authorization API Doc
signIn() Sign in API Doc
signOut() Sign out API Doc
updateUser() Update user details API Doc
confirmEmail() Confirm email address API Doc
getUserBox() Get specific box of user API Doc
getUserBoxes() List all boxes of user API Doc
resendEmailConfirmation() Resend email confirmation API Doc
requestPasswordReset() Request password reset API Doc
passwordReset() Reset password API Doc

Other Functions

Function Description OpenSenseMap API Documentation
calculateIdw() Get IDW Interpolation API Doc
getStatistics() Get database statistics API Doc
printRoutes() Print all routes API Doc
descriptive() Compute descriptive statistics API Doc

You can find more information in the full documentation 📖.

OpenSenseMap API documentation

This library was created with a lot of work, reading the code from the OpenSenseMap-API by hand. In addition, this library provides an Insomnia file for debugging purposes.

📄 Insomnia file

Import this file into Insomnia, install the plugins customtimestamp and save-variables and configure the environments if you needed. You are ready!


Author

👤 Julian Wowra development@julianwowra.de

🤝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check issues page. You can also take a look at the contributing guide.

About

The library allows and improves type-bassed working with the openSenseMap API

Topics

Resources

License

Contributing

Stars

Watchers

Forks