home-automation/hardware/esphome/plant_dashboard/veml6075.h

30 lines
796 B
C++

#include "esphome.h"
#include <SparkFun_VEML6075_Arduino_Library.h>
class VEML6075Sensor : public PollingComponent, public sensor::Sensor {
private:
VEML6075 _uv;
public:
sensor::Sensor *uva_sensor = new sensor::Sensor();
sensor::Sensor *uvb_sensor = new sensor::Sensor();
sensor::Sensor *uv_index_sensor = new sensor::Sensor();
// 4294967295UL == never per sources
VEML6075Sensor() : PollingComponent(60*60*1000) { }
void setup() override {
_uv.begin();
}
void update() override {
double uva_value = _uv.uva();
double uvb_value = _uv.uvb();
double uv_index_value = _uv.index();
uva_sensor->publish_state(uva_value);
uvb_sensor->publish_state(uvb_value);
uv_index_sensor->publish_state(uv_index_value);
}
};