ESPHome 2026.4.0-dev
Loading...
Searching...
No Matches
brennenstuhl_protocol.h
Go to the documentation of this file.
1#pragma once
2
3#include "remote_base.h"
4
5#include <cinttypes>
6
7namespace esphome::remote_base {
8
11 bool operator==(const BrennenstuhlData &rhs) const { return code == rhs.code; }
12};
13
14class BrennenstuhlProtocol : public RemoteProtocol<BrennenstuhlData> {
15 public:
16 void encode(RemoteTransmitData *dst, const BrennenstuhlData &data) override;
17 optional<BrennenstuhlData> decode(RemoteReceiveData src) override;
18 void dump(const BrennenstuhlData &data) override;
19};
20
21DECLARE_REMOTE_PROTOCOL(Brennenstuhl)
22
23template<typename... Ts> class BrennenstuhlAction : public RemoteTransmitterActionBase<Ts...> {
24 public:
25 TEMPLATABLE_VALUE(uint32_t, code)
26
27 void encode(RemoteTransmitData *dst, Ts... x) override {
28 BrennenstuhlData data{};
29 data.code = this->code_.value(x...);
30 BrennenstuhlProtocol().encode(dst, data);
31 }
32};
33
34} // namespace esphome::remote_base
void dump(const BrennenstuhlData &data) override
optional< BrennenstuhlData > decode(RemoteReceiveData src) override
void encode(RemoteTransmitData *dst, const BrennenstuhlData &data) override
static void uint32_t
bool operator==(const BrennenstuhlData &rhs) const
uint16_t x
Definition tt21100.cpp:5