ESPHome
2026.8.0b4
Loading...
Searching...
No Matches
esphome
components
mitsubishi_cn105
select
mitsubishi_cn105_vane_select_vertical.cpp
Go to the documentation of this file.
1
#include "
mitsubishi_cn105_vane_select_vertical.h
"
2
3
#include <array>
4
5
namespace
esphome::mitsubishi_cn105
{
6
7
// NOTE: This order must match VERTICAL_VANE_DIRECTIONS in the hub's __init__.py.
8
// MitsubishiCN105VerticalVaneDirectionSelect uses the preferred index-based
9
// Select API, so Python option order and this array must stay aligned.
10
static
constexpr
std::array VALUES{
11
MitsubishiCN105::VaneMode::AUTO
,
MitsubishiCN105::VaneMode::POSITION_1
,
MitsubishiCN105::VaneMode::POSITION_2
,
12
MitsubishiCN105::VaneMode::POSITION_3
,
MitsubishiCN105::VaneMode::POSITION_4
,
MitsubishiCN105::VaneMode::POSITION_5
,
13
MitsubishiCN105::VaneMode::SWING
,
14
};
15
16
void
MitsubishiCN105VerticalVaneDirectionSelect::setup
() {
17
this->
parent_
->add_on_status_callback([
this
]() { this->
publish_vane_state
(this->
parent_
->status().vane_mode); });
18
if
(this->
parent_
->is_status_initialized()) {
19
this->
publish_vane_state
(this->
parent_
->status().vane_mode);
20
}
21
}
22
23
void
MitsubishiCN105VerticalVaneDirectionSelect::control
(
size_t
index) {
24
if
(index < VALUES.size()) {
25
this->
parent_
->set_vane_mode(VALUES[index]);
26
this->
parent_
->publish_status();
27
}
28
}
29
30
void
MitsubishiCN105VerticalVaneDirectionSelect::publish_vane_state
(
MitsubishiCN105::VaneMode
mode
) {
31
for
(
size_t
i = 0; i < VALUES.size(); ++i) {
32
if
(VALUES[i] ==
mode
) {
33
this->
publish_state
(i);
34
return
;
35
}
36
}
37
}
38
39
}
// namespace esphome::mitsubishi_cn105
mode
BedjetMode mode
BedJet operating mode.
Definition
bedjet_codec.h:19
esphome::Parented< MitsubishiCN105Component >::parent_
MitsubishiCN105Component * parent_
Definition
helpers.h:1918
esphome::mitsubishi_cn105::MitsubishiCN105::VaneMode
VaneMode
Definition
mitsubishi_cn105.h:35
esphome::mitsubishi_cn105::MitsubishiCN105::VaneMode::POSITION_4
@ POSITION_4
esphome::mitsubishi_cn105::MitsubishiCN105::VaneMode::POSITION_5
@ POSITION_5
esphome::mitsubishi_cn105::MitsubishiCN105::VaneMode::POSITION_3
@ POSITION_3
esphome::mitsubishi_cn105::MitsubishiCN105::VaneMode::SWING
@ SWING
esphome::mitsubishi_cn105::MitsubishiCN105::VaneMode::POSITION_2
@ POSITION_2
esphome::mitsubishi_cn105::MitsubishiCN105::VaneMode::AUTO
@ AUTO
esphome::mitsubishi_cn105::MitsubishiCN105::VaneMode::POSITION_1
@ POSITION_1
esphome::mitsubishi_cn105::MitsubishiCN105VerticalVaneDirectionSelect::control
void control(size_t index) override
Definition
mitsubishi_cn105_vane_select_vertical.cpp:23
esphome::mitsubishi_cn105::MitsubishiCN105VerticalVaneDirectionSelect::setup
void setup() override
Definition
mitsubishi_cn105_vane_select_vertical.cpp:16
esphome::mitsubishi_cn105::MitsubishiCN105VerticalVaneDirectionSelect::publish_vane_state
void publish_vane_state(MitsubishiCN105::VaneMode mode)
Definition
mitsubishi_cn105_vane_select_vertical.cpp:30
esphome::select::Select::publish_state
void publish_state(const std::string &state)
Definition
select.cpp:11
mitsubishi_cn105_vane_select_vertical.h
esphome::mitsubishi_cn105
Definition
automation.h:9
Generated by
1.12.0