ESPHome 2026.4.0
Loading...
Searching...
No Matches
esphome::mitsubishi_cn105::MitsubishiCN105 Class Reference

#include <mitsubishi_cn105.h>

Data Structures

class  FrameParser
 
struct  Status
 
struct  UpdateFlags
 

Public Types

enum class  Mode : uint8_t {
  HEAT , DRY , COOL , FAN_ONLY ,
  AUTO , UNKNOWN
}
 
enum class  FanMode : uint8_t {
  AUTO , QUIET , SPEED_1 , SPEED_2 ,
  SPEED_3 , SPEED_4 , UNKNOWN
}
 

Public Member Functions

 MitsubishiCN105 (uart::UARTDevice &device)
 
void initialize ()
 
bool update ()
 
uint32_t get_update_interval () const
 
void set_update_interval (uint32_t interval_ms)
 
uint32_t get_room_temperature_min_interval () const
 
bool is_room_temperature_enabled () const
 
void set_room_temperature_min_interval (uint32_t interval_ms)
 
const Statusstatus () const
 
bool is_status_initialized () const
 
void set_power (bool power_on)
 
void set_target_temperature (float target_temperature)
 
void set_mode (Mode mode)
 
void set_fan_mode (FanMode fan_mode)
 

Protected Types

enum class  State : uint8_t {
  NOT_CONNECTED , CONNECTING , CONNECTED , UPDATING_STATUS ,
  STATUS_UPDATED , SCHEDULE_NEXT_STATUS_UPDATE , WAITING_FOR_SCHEDULED_STATUS_UPDATE , APPLYING_SETTINGS ,
  SETTINGS_APPLIED , READ_TIMEOUT
}
 
enum class  UpdateFlag : uint8_t { TEMPERATURE = 1 << 0 , POWER = 1 << 1 , MODE = 1 << 2 , FAN = 1 << 3 }
 

Protected Member Functions

void set_state_ (State new_state)
 
void did_transition_ (State to)
 
bool process_rx_packet_ (uint8_t type, const uint8_t *payload, size_t len)
 
bool process_status_packet_ (const uint8_t *payload, size_t len)
 
bool parse_status_payload_ (uint8_t msg_type, const uint8_t *payload, size_t len)
 
bool parse_status_settings_ (const uint8_t *payload, size_t len)
 
bool parse_status_room_temperature_ (const uint8_t *payload, size_t len)
 
void send_packet_ (const uint8_t *packet, size_t len)
 
void update_status_ ()
 
void cancel_waiting_and_transition_to_ (State state)
 
bool should_request_room_temperature_ () const
 
void apply_settings_ ()
 
template<typename T >
void send_packet_ (const T &packet)
 

Static Protected Member Functions

static bool should_transition (State from, State to)
 
static const LogString * state_to_string (State state)
 

Protected Attributes

uart::UARTDevicedevice_
 
uint32_t update_interval_ms_ {1000}
 
uint32_t room_temperature_min_interval_ms_ {60000}
 
std::optional< uint32_twrite_timeout_start_ms_
 
std::optional< uint32_tstatus_update_start_ms_
 
std::optional< uint32_tlast_room_temperature_update_ms_
 
Status status_ {}
 
State state_ {State::NOT_CONNECTED}
 
UpdateFlags pending_updates_
 
bool use_temperature_encoding_b_ {false}
 
uint8_t current_status_msg_type_ {0}
 
FrameParser frame_parser_
 

Detailed Description

Definition at line 10 of file mitsubishi_cn105.h.

Member Enumeration Documentation

◆ FanMode

Enumerator
AUTO 
QUIET 
SPEED_1 
SPEED_2 
SPEED_3 
SPEED_4 
UNKNOWN 

Definition at line 21 of file mitsubishi_cn105.h.

◆ Mode

Enumerator
HEAT 
DRY 
COOL 
FAN_ONLY 
AUTO 
UNKNOWN 

Definition at line 12 of file mitsubishi_cn105.h.

◆ State

enum class esphome::mitsubishi_cn105::MitsubishiCN105::State : uint8_t
strongprotected
Enumerator
NOT_CONNECTED 
CONNECTING 
CONNECTED 
UPDATING_STATUS 
STATUS_UPDATED 
SCHEDULE_NEXT_STATUS_UPDATE 
WAITING_FOR_SCHEDULED_STATUS_UPDATE 
APPLYING_SETTINGS 
SETTINGS_APPLIED 
READ_TIMEOUT 

Definition at line 65 of file mitsubishi_cn105.h.

◆ UpdateFlag

enum class esphome::mitsubishi_cn105::MitsubishiCN105::UpdateFlag : uint8_t
strongprotected
Enumerator
TEMPERATURE 
POWER 
MODE 
FAN 

Definition at line 93 of file mitsubishi_cn105.h.

Constructor & Destructor Documentation

◆ MitsubishiCN105()

esphome::mitsubishi_cn105::MitsubishiCN105::MitsubishiCN105 ( uart::UARTDevice & device)
inlineexplicit

Definition at line 39 of file mitsubishi_cn105.h.

Member Function Documentation

◆ apply_settings_()

void esphome::mitsubishi_cn105::MitsubishiCN105::apply_settings_ ( )
protected

Definition at line 379 of file mitsubishi_cn105.cpp.

◆ cancel_waiting_and_transition_to_()

void esphome::mitsubishi_cn105::MitsubishiCN105::cancel_waiting_and_transition_to_ ( State state)
protected

Definition at line 241 of file mitsubishi_cn105.cpp.

◆ did_transition_()

void esphome::mitsubishi_cn105::MitsubishiCN105::did_transition_ ( State to)
protected

Definition at line 164 of file mitsubishi_cn105.cpp.

◆ get_room_temperature_min_interval()

uint32_t esphome::mitsubishi_cn105::MitsubishiCN105::get_room_temperature_min_interval ( ) const
inline

Definition at line 47 of file mitsubishi_cn105.h.

◆ get_update_interval()

uint32_t esphome::mitsubishi_cn105::MitsubishiCN105::get_update_interval ( ) const
inline

Definition at line 44 of file mitsubishi_cn105.h.

◆ initialize()

void esphome::mitsubishi_cn105::MitsubishiCN105::initialize ( )

Definition at line 90 of file mitsubishi_cn105.cpp.

◆ is_room_temperature_enabled()

bool esphome::mitsubishi_cn105::MitsubishiCN105::is_room_temperature_enabled ( ) const
inline

Definition at line 48 of file mitsubishi_cn105.h.

◆ is_status_initialized()

bool esphome::mitsubishi_cn105::MitsubishiCN105::is_status_initialized ( ) const
inline

Definition at line 54 of file mitsubishi_cn105.h.

◆ parse_status_payload_()

bool esphome::mitsubishi_cn105::MitsubishiCN105::parse_status_payload_ ( uint8_t msg_type,
const uint8_t * payload,
size_t len )
protected

Definition at line 292 of file mitsubishi_cn105.cpp.

◆ parse_status_room_temperature_()

bool esphome::mitsubishi_cn105::MitsubishiCN105::parse_status_room_temperature_ ( const uint8_t * payload,
size_t len )
protected

Definition at line 333 of file mitsubishi_cn105.cpp.

◆ parse_status_settings_()

bool esphome::mitsubishi_cn105::MitsubishiCN105::parse_status_settings_ ( const uint8_t * payload,
size_t len )
protected

Definition at line 306 of file mitsubishi_cn105.cpp.

◆ process_rx_packet_()

bool esphome::mitsubishi_cn105::MitsubishiCN105::process_rx_packet_ ( uint8_t type,
const uint8_t * payload,
size_t len )
protected

Definition at line 246 of file mitsubishi_cn105.cpp.

◆ process_status_packet_()

bool esphome::mitsubishi_cn105::MitsubishiCN105::process_status_packet_ ( const uint8_t * payload,
size_t len )
protected

Definition at line 265 of file mitsubishi_cn105.cpp.

◆ send_packet_() [1/2]

template<typename T >
void esphome::mitsubishi_cn105::MitsubishiCN105::send_packet_ ( const T & packet)
inlineprotected

Definition at line 122 of file mitsubishi_cn105.h.

◆ send_packet_() [2/2]

void esphome::mitsubishi_cn105::MitsubishiCN105::send_packet_ ( const uint8_t * packet,
size_t len )
protected

Definition at line 230 of file mitsubishi_cn105.cpp.

◆ set_fan_mode()

void esphome::mitsubishi_cn105::MitsubishiCN105::set_fan_mode ( FanMode fan_mode)

Definition at line 369 of file mitsubishi_cn105.cpp.

◆ set_mode()

void esphome::mitsubishi_cn105::MitsubishiCN105::set_mode ( Mode mode)

Definition at line 359 of file mitsubishi_cn105.cpp.

◆ set_power()

void esphome::mitsubishi_cn105::MitsubishiCN105::set_power ( bool power_on)

Definition at line 345 of file mitsubishi_cn105.cpp.

◆ set_room_temperature_min_interval()

void esphome::mitsubishi_cn105::MitsubishiCN105::set_room_temperature_min_interval ( uint32_t interval_ms)
inline

Definition at line 49 of file mitsubishi_cn105.h.

◆ set_state_()

void esphome::mitsubishi_cn105::MitsubishiCN105::set_state_ ( State new_state)
protected

Definition at line 117 of file mitsubishi_cn105.cpp.

◆ set_target_temperature()

void esphome::mitsubishi_cn105::MitsubishiCN105::set_target_temperature ( float target_temperature)

Definition at line 350 of file mitsubishi_cn105.cpp.

◆ set_update_interval()

void esphome::mitsubishi_cn105::MitsubishiCN105::set_update_interval ( uint32_t interval_ms)
inline

Definition at line 45 of file mitsubishi_cn105.h.

◆ should_request_room_temperature_()

bool esphome::mitsubishi_cn105::MitsubishiCN105::should_request_room_temperature_ ( ) const
protected

Definition at line 218 of file mitsubishi_cn105.cpp.

◆ should_transition()

bool esphome::mitsubishi_cn105::MitsubishiCN105::should_transition ( State from,
State to )
staticprotected

Definition at line 129 of file mitsubishi_cn105.cpp.

◆ state_to_string()

const LogString * esphome::mitsubishi_cn105::MitsubishiCN105::state_to_string ( State state)
staticprotected

Definition at line 409 of file mitsubishi_cn105.cpp.

◆ status()

const Status & esphome::mitsubishi_cn105::MitsubishiCN105::status ( ) const
inline

Definition at line 53 of file mitsubishi_cn105.h.

◆ update()

bool esphome::mitsubishi_cn105::MitsubishiCN105::update ( )

Definition at line 92 of file mitsubishi_cn105.cpp.

◆ update_status_()

void esphome::mitsubishi_cn105::MitsubishiCN105::update_status_ ( )
protected

Definition at line 236 of file mitsubishi_cn105.cpp.

Field Documentation

◆ current_status_msg_type_

uint8_t esphome::mitsubishi_cn105::MitsubishiCN105::current_status_msg_type_ {0}
protected

Definition at line 136 of file mitsubishi_cn105.h.

◆ device_

uart::UARTDevice& esphome::mitsubishi_cn105::MitsubishiCN105::device_
protected

Definition at line 126 of file mitsubishi_cn105.h.

◆ frame_parser_

FrameParser esphome::mitsubishi_cn105::MitsubishiCN105::frame_parser_
protected

Definition at line 137 of file mitsubishi_cn105.h.

◆ last_room_temperature_update_ms_

std::optional<uint32_t> esphome::mitsubishi_cn105::MitsubishiCN105::last_room_temperature_update_ms_
protected

Definition at line 131 of file mitsubishi_cn105.h.

◆ pending_updates_

UpdateFlags esphome::mitsubishi_cn105::MitsubishiCN105::pending_updates_
protected

Definition at line 134 of file mitsubishi_cn105.h.

◆ room_temperature_min_interval_ms_

uint32_t esphome::mitsubishi_cn105::MitsubishiCN105::room_temperature_min_interval_ms_ {60000}
protected

Definition at line 128 of file mitsubishi_cn105.h.

◆ state_

State esphome::mitsubishi_cn105::MitsubishiCN105::state_ {State::NOT_CONNECTED}
protected

Definition at line 133 of file mitsubishi_cn105.h.

◆ status_

Status esphome::mitsubishi_cn105::MitsubishiCN105::status_ {}
protected

Definition at line 132 of file mitsubishi_cn105.h.

◆ status_update_start_ms_

std::optional<uint32_t> esphome::mitsubishi_cn105::MitsubishiCN105::status_update_start_ms_
protected

Definition at line 130 of file mitsubishi_cn105.h.

◆ update_interval_ms_

uint32_t esphome::mitsubishi_cn105::MitsubishiCN105::update_interval_ms_ {1000}
protected

Definition at line 127 of file mitsubishi_cn105.h.

◆ use_temperature_encoding_b_

bool esphome::mitsubishi_cn105::MitsubishiCN105::use_temperature_encoding_b_ {false}
protected

Definition at line 135 of file mitsubishi_cn105.h.

◆ write_timeout_start_ms_

std::optional<uint32_t> esphome::mitsubishi_cn105::MitsubishiCN105::write_timeout_start_ms_
protected

Definition at line 129 of file mitsubishi_cn105.h.


The documentation for this class was generated from the following files: