ESPHome
2026.5.0b1
Loading...
Searching...
No Matches
esphome
components
remote_base
coolix_protocol.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
esphome/core/component.h
"
4
#include "
esphome/core/helpers.h
"
5
#include "
remote_base.h
"
6
7
#include <cinttypes>
8
9
namespace
esphome::remote_base
{
10
11
struct
CoolixData
{
12
CoolixData
() {}
13
CoolixData
(
uint32_t
a) :
first
(a),
second
(a) {}
14
CoolixData
(
uint32_t
a,
uint32_t
b) :
first
(a),
second
(b) {}
15
bool
operator==
(
const
CoolixData
&other)
const
;
16
bool
is_strict
()
const
{
return
this->
first
== this->
second
; }
17
bool
has_second
()
const
{
return
this->
second
!= 0; }
18
uint32_t
first
;
19
uint32_t
second
;
20
};
21
22
class
CoolixProtocol
:
public
RemoteProtocol
<CoolixData> {
23
public
:
24
void
encode
(
RemoteTransmitData
*dst,
const
CoolixData
&data)
override
;
25
optional<CoolixData>
decode
(
RemoteReceiveData
data)
override
;
26
void
dump
(
const
CoolixData
&data)
override
;
27
};
28
29
DECLARE_REMOTE_PROTOCOL(Coolix)
30
31
template
<
typename
... Ts>
class
CoolixAction :
public
RemoteTransmitterActionBase
<Ts...> {
32
TEMPLATABLE_VALUE(
uint32_t
, first)
33
TEMPLATABLE_VALUE(
uint32_t
,
second
)
34
void
encode(
RemoteTransmitData
*dst, Ts...
x
)
override
{
35
CoolixProtocol
().
encode
(dst, {this->first_.value(
x
...), this->second_.value(
x
...)});
36
}
37
};
38
39
}
// namespace esphome::remote_base
esphome::remote_base::CoolixProtocol
Definition
coolix_protocol.h:22
esphome::remote_base::CoolixProtocol::dump
void dump(const CoolixData &data) override
Definition
coolix_protocol.cpp:101
esphome::remote_base::CoolixProtocol::decode
optional< CoolixData > decode(RemoteReceiveData data) override
Definition
coolix_protocol.cpp:91
esphome::remote_base::CoolixProtocol::encode
void encode(RemoteTransmitData *dst, const CoolixData &data) override
Definition
coolix_protocol.cpp:48
esphome::remote_base::RemoteProtocol
Definition
remote_base.h:232
esphome::remote_base::RemoteReceiveData
Definition
remote_base.h:53
esphome::remote_base::RemoteTransmitData
Definition
remote_base.h:20
esphome::remote_base::RemoteTransmitterActionBase
Definition
remote_base.h:286
component.h
second
uint8_t second
Definition
datetime_entity.h:5
helpers.h
esphome::remote_base
Definition
abbwelcome_protocol.cpp:4
remote_base.h
uint32_t
static void uint32_t
Definition
crash_handler.cpp:141
esphome::remote_base::CoolixData
Definition
coolix_protocol.h:11
esphome::remote_base::CoolixData::CoolixData
CoolixData()
Definition
coolix_protocol.h:12
esphome::remote_base::CoolixData::CoolixData
CoolixData(uint32_t a)
Definition
coolix_protocol.h:13
esphome::remote_base::CoolixData::is_strict
bool is_strict() const
Definition
coolix_protocol.h:16
esphome::remote_base::CoolixData::operator==
bool operator==(const CoolixData &other) const
Definition
coolix_protocol.cpp:17
esphome::remote_base::CoolixData::second
uint32_t second
Definition
coolix_protocol.h:19
esphome::remote_base::CoolixData::CoolixData
CoolixData(uint32_t a, uint32_t b)
Definition
coolix_protocol.h:14
esphome::remote_base::CoolixData::first
uint32_t first
Definition
coolix_protocol.h:18
esphome::remote_base::CoolixData::has_second
bool has_second() const
Definition
coolix_protocol.h:17
x
uint16_t x
Definition
tt21100.cpp:5
Generated by
1.12.0