#pragma once #include #include "esphome/core/automation.h" #include "ezo.h" namespace esphome { namespace ezo { class LedTrigger : public Trigger { public: explicit LedTrigger(EZOSensor *ezo) { ezo->add_led_state_callback([this](bool value) { this->trigger(value); }); } }; class CustomTrigger : public Trigger { public: explicit CustomTrigger(EZOSensor *ezo) { ezo->add_custom_callback([this](std::string value) { this->trigger(std::move(value)); }); } }; class TTrigger : public Trigger { public: explicit TTrigger(EZOSensor *ezo) { ezo->add_t_callback([this](std::string value) { this->trigger(std::move(value)); }); } }; class CalibrationTrigger : public Trigger { public: explicit CalibrationTrigger(EZOSensor *ezo) { ezo->add_calibration_callback([this](std::string value) { this->trigger(std::move(value)); }); } }; class SlopeTrigger : public Trigger { public: explicit SlopeTrigger(EZOSensor *ezo) { ezo->add_slope_callback([this](std::string value) { this->trigger(std::move(value)); }); } }; class DeviceInformationTrigger : public Trigger { public: explicit DeviceInformationTrigger(EZOSensor *ezo) { ezo->add_device_infomation_callback([this](std::string value) { this->trigger(std::move(value)); }); } }; } // namespace ezo } // namespace esphome