SinricPro Library
SinricProTemperaturesensor.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 _SINRICTEMPERATURESENSOR_H_
9 #define _SINRICTEMPERATURESENSOR_H_
10 
11 #include "SinricProDevice.h"
12 
18  public:
19  SinricProTemperaturesensor(const DeviceId &deviceId);
20  String getProductType() { return SinricProDevice::getProductType() + String("TEMPERATURESENSOR"); }
21 
22  // event
23  bool sendTemperatureEvent(float temperature, float humidity = -1, String cause = "PERIODIC_POLL");
24  private:
25 };
26 
27 SinricProTemperaturesensor::SinricProTemperaturesensor(const DeviceId &deviceId) : SinricProDevice(deviceId) {}
28 
39 bool SinricProTemperaturesensor::sendTemperatureEvent(float temperature, float humidity, String cause) {
40  DynamicJsonDocument eventMessage = prepareEvent(deviceId, "currentTemperature", cause.c_str());
41  JsonObject event_value = eventMessage["payload"]["value"];
42  event_value["humidity"] = roundf(humidity * 10) / 10.0;
43  event_value["temperature"] = roundf(temperature * 10) / 10.0;
44  return sendEvent(eventMessage);
45 }
46 
47 #endif
48 
SinricProTemperaturesensor::sendTemperatureEvent
bool sendTemperatureEvent(float temperature, float humidity=-1, String cause="PERIODIC_POLL")
Sending current temperature and humidity to SinricPro server.
Definition: SinricProTemperaturesensor.h:39
SinricProTemperaturesensor
Device to report actual temperature and humidity.
Definition: SinricProTemperaturesensor.h:17
SinricProDevice
Base class for all device types.
Definition: SinricProDevice.h:24