ESPHome  2023.5.5
coolix_protocol.h
Go to the documentation of this file.
1 #pragma once
2 
4 #include "esphome/core/helpers.h"
5 #include "remote_base.h"
6 
7 namespace esphome {
8 namespace remote_base {
9 
10 using CoolixData = uint32_t;
11 
12 class CoolixProtocol : public RemoteProtocol<CoolixData> {
13  public:
14  void encode(RemoteTransmitData *dst, const CoolixData &data) override;
16  void dump(const CoolixData &data) override;
17 };
18 
20 
21 template<typename... Ts> class CoolixAction : public RemoteTransmitterActionBase<Ts...> {
22  TEMPLATABLE_VALUE(CoolixData, data)
23  void encode(RemoteTransmitData *dst, Ts... x) override {
24  CoolixData data = this->data_.value(x...);
25  CoolixProtocol().encode(dst, data);
26  }
27 };
28 
29 } // namespace remote_base
30 } // namespace esphome
optional< CoolixData > decode(RemoteReceiveData data) override
DECLARE_REMOTE_PROTOCOL(AEHA) template< typename... Ts > class AEHAAction
Definition: aeha_protocol.h:27
void encode(RemoteTransmitData *dst, const CoolixData &data) override
void dump(const CoolixData &data) override
Definition: a4988.cpp:4