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