SinricPro Library
SinricProAirQualitySensor.h
1 /*
2  * Copyright (c) 2019 Sinric. All rights reserved.
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
4  *
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
6  */
7 
8 #ifndef _SINRICAIRQUALITYSENSOR_H_
9 #define _SINRICAIRQUALITYSENSOR_H_
10 
11 #include "SinricProDevice.h"
12 
18  public:
19  SinricProAirQualitySensor(const char* deviceId, unsigned long eventWaitTime=100);
20  String getProductType() { return SinricProDevice::getProductType() + String("AIR_QUALITY_SENSOR"); }
21 
22  // event
23  bool sendAirQualityEvent(int pm1=0, int pm2_5=0, int pm10=0, String cause = "PERIODIC_POLL");
24  private:
25 };
26 
27 SinricProAirQualitySensor::SinricProAirQualitySensor(const char* deviceId, unsigned long eventWaitTime) : SinricProDevice(deviceId, eventWaitTime) {}
28 
40 bool SinricProAirQualitySensor::sendAirQualityEvent(int pm1, int pm2_5, int pm10, String cause) {
41  DynamicJsonDocument eventMessage = prepareEvent(deviceId, "airQuality", cause.c_str());
42  JsonObject event_value = eventMessage["payload"]["value"];
43 
44  event_value["pm1"] = limitValue(pm1, 0, 999);
45  event_value["pm2_5"] = limitValue(pm2_5, 0, 999);
46  event_value["pm10"] = limitValue(pm10, 0, 999);
47 
48  return sendEvent(eventMessage);
49 }
50 
51 #endif
52 
SinricProAirQualitySensor::sendAirQualityEvent
bool sendAirQualityEvent(int pm1=0, int pm2_5=0, int pm10=0, String cause="PERIODIC_POLL")
Sending air quality to SinricPro server.
Definition: SinricProAirQualitySensor.h:40
SinricProAirQualitySensor
Device to report air quality events.
Definition: SinricProAirQualitySensor.h:17
SinricProDevice
Base class for all device types.
Definition: SinricProDevice.h:23