ESPHome 2026.8.0b4
Loading...
Searching...
No Matches
mitsubishi_cn105_component.h
Go to the documentation of this file.
1#pragma once
2
3#include "mitsubishi_cn105.h"
4
7
8#include <utility>
9#include <optional>
10
12
23
31
33
34struct VaneCall {
35 struct Vertical {
37 const std::optional<VerticalVaneMode> &get_direction() const { return this->direction_; }
38
39 protected:
40 std::optional<VerticalVaneMode> direction_;
41 };
42
43 explicit VaneCall(MitsubishiCN105Component *parent) : parent_(parent) {}
44
46
47 void perform();
48
49 protected:
51};
52
54 public:
55 explicit MitsubishiCN105Component() : hp_(*this) {}
56
57 void setup() override;
58 void loop() override;
59 void dump_config() override;
60
63
66
67 void set_power(bool power_on) { this->hp_.set_power(power_on); }
68 void set_target_temperature(float target_temperature) { this->hp_.set_target_temperature(target_temperature); }
71 void set_vane_mode(MitsubishiCN105::VaneMode vane_mode) { this->hp_.set_vane_mode(vane_mode); }
73 VaneCall make_vane_call() { return VaneCall(this); }
74
75 const MitsubishiCN105::Status &status() const { return this->hp_.status(); }
76 bool is_status_initialized() const { return this->hp_.is_status_initialized(); }
78
79 template<typename F> void add_on_status_callback(F &&callback) {
80 this->status_callback_.add(std::forward<F>(callback));
81 }
82
83 template<typename F> void add_on_vane_state_callback(F &&callback) {
84 this->vane_state_callback_.add(std::forward<F>(callback));
85 }
86
88 if (this->is_status_initialized()) {
90 }
91 }
92
93 protected:
95 this->status_callback_.call();
97 .vertical = {.direction = static_cast<VerticalVaneMode>(this->status().vane_mode)},
98 });
99 }
100
104};
105
106} // namespace esphome::mitsubishi_cn105
BedjetMode mode
BedJet operating mode.
LazyCallbackManager< void(const VaneState &)> vane_state_callback_
void set_wide_vane_mode(MitsubishiCN105::WideVaneMode mode)
void set_vane_mode(MitsubishiCN105::VaneMode vane_mode)
void set_telemetry_request_min_interval(uint32_t interval_ms)
void set_target_temperature(float target_temperature)
void set_update_interval(uint32_t interval_ms)
float target_temperature
Definition climate.h:0
ClimateFanMode fan_mode
Definition climate.h:3
FanDirection direction
Definition fan.h:5
static void uint32_t
const std::optional< VerticalVaneMode > & get_direction() const
VaneCall(MitsubishiCN105Component *parent)
uint16_t temperature
Definition sun_gtil2.cpp:12