UNPKG

airthings-consumer-api

Version:

An unofficial Node.js client library for Airthings Air Quality Monitors via the Airthings Consumer API.

39 lines 1.56 kB
import { AirthingsClient, RemoteControlMode, SensorUnits } from './module.js'; /** * Entry point that initializes an Airthings client, validates required * environment variables, and fetches and logs device and sensor data. * * Requires the `AIRTHINGS_CLIENT_ID` and `AIRTHINGS_CLIENT_SECRET` * environment variables to be set for API authentication. */ async function main() { const clientId = process.env.AIRTHINGS_CLIENT_ID; const clientSecret = process.env.AIRTHINGS_CLIENT_SECRET; if (!clientId || !clientSecret) { console.error('Please set the AIRTHINGS_CLIENT_ID and AIRTHINGS_CLIENT_SECRET environment variables.'); process.exit(1); } const client = new AirthingsClient({ clientId: clientId, clientSecret: clientSecret }); const devicesResponse = await client.getDevices(); devicesResponse.devices.forEach((device) => { console.log(device); }); const sensorsResponse = await client.getSensors(SensorUnits.Metric); sensorsResponse.results.forEach((sensor) => { console.log(sensor); }); console.log(client.getSensorsRateLimitMetrics()); const renewDevice = devicesResponse.devices.find(d => d.type === 'AP_1'); if (renewDevice) { const state = await client.getRemoteControl(renewDevice.serialNumber); console.log(state); await client.setRemoteControl(renewDevice.serialNumber, { mode: RemoteControlMode.Auto }); } } main().catch(err => console.error(err)); //# sourceMappingURL=example.js.map