ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
aeha_protocol.h
Go to the documentation of this file.
1#pragma once
2
3#include "remote_base.h"
4
5#include <vector>
6
7namespace esphome::remote_base {
8
9struct AEHAData {
10 uint16_t address;
11 std::vector<uint8_t> data;
12
13 bool operator==(const AEHAData &rhs) const { return address == rhs.address && data == rhs.data; }
14};
15
16class AEHAProtocol : public RemoteProtocol<AEHAData> {
17 public:
18 void encode(RemoteTransmitData *dst, const AEHAData &data) {
19 this->encode(dst, data.address, data.data.data(), data.data.size());
20 }
22 void encode(RemoteTransmitData *dst, uint16_t address, const uint8_t *data, size_t len);
23 void encode(RemoteTransmitData *dst, uint16_t address, const std::vector<uint8_t> &data) {
24 this->encode(dst, address, data.data(), data.size());
25 }
26 optional<AEHAData> decode(RemoteReceiveData src);
27 void dump(const AEHAData &data);
28
29 private:
30 std::string format_data_(const std::vector<uint8_t> &data);
31};
32
33DECLARE_REMOTE_PROTOCOL(AEHA)
34
35} // namespace esphome::remote_base
uint8_t address
Definition bl0906.h:4
optional< AEHAData > decode(RemoteReceiveData src)
void encode(RemoteTransmitData *dst, uint16_t address, const std::vector< uint8_t > &data)
void encode(RemoteTransmitData *dst, const AEHAData &data)
void dump(const AEHAData &data)
const void size_t len
Definition hal.h:68
const void * src
Definition hal.h:68
std::vector< uint8_t > data
bool operator==(const AEHAData &rhs) const