mirror of
https://github.com/GrKoR/esphome_aux_ac_component.git
synced 2026-01-02 06:39:10 +03:00
v.1 beta 1 initial commit
This commit is contained in:
106
components/aux_ac/aircon_common.h
Normal file
106
components/aux_ac/aircon_common.h
Normal file
@@ -0,0 +1,106 @@
|
||||
#pragma once
|
||||
|
||||
#include "esphome/components/climate/climate.h"
|
||||
#include "esphome/core/optional.h"
|
||||
|
||||
namespace esphome
|
||||
{
|
||||
namespace aux_airconditioner
|
||||
{
|
||||
enum ac_mode : uint8_t
|
||||
{
|
||||
AC_MODE_AUTO = 0x00,
|
||||
AC_MODE_COOL = 0x20,
|
||||
AC_MODE_DRY = 0x40,
|
||||
AC_MODE_HEAT = 0x80,
|
||||
AC_MODE_FAN = 0xC0
|
||||
};
|
||||
|
||||
std::string ac_mode_to_string(ac_mode mode);
|
||||
|
||||
using esphome::climate::ClimateMode;
|
||||
ClimateMode ac_mode_to_climate_mode(ac_mode mode);
|
||||
ac_mode climate_mode_to_ac_mode(ClimateMode mode);
|
||||
|
||||
// vertical louvers position in esphome / HA frontend
|
||||
enum vlouver_esphome_position_t : uint8_t
|
||||
{
|
||||
AC_VLOUVER_FRONTEND_SWING = 0x00,
|
||||
AC_VLOUVER_FRONTEND_STOP = 0x01,
|
||||
AC_VLOUVER_FRONTEND_TOP = 0x02,
|
||||
AC_VLOUVER_FRONTEND_MIDDLE_ABOVE = 0x03,
|
||||
AC_VLOUVER_FRONTEND_MIDDLE = 0x04,
|
||||
AC_VLOUVER_FRONTEND_MIDDLE_BELOW = 0x05,
|
||||
AC_VLOUVER_FRONTEND_BOTTOM = 0x06,
|
||||
};
|
||||
|
||||
enum ac_louver_V : uint8_t
|
||||
{
|
||||
AC_LOUVERV_SWING_UPDOWN = 0x00,
|
||||
AC_LOUVERV_TOP = 0x01,
|
||||
AC_LOUVERV_MIDDLE_ABOVE = 0x02,
|
||||
AC_LOUVERV_MIDDLE = 0x03,
|
||||
AC_LOUVERV_MIDDLE_BELOW = 0x04,
|
||||
AC_LOUVERV_BOTTOM = 0x05,
|
||||
// 0x06 tested and doing nothing
|
||||
AC_LOUVERV_OFF = 0x07
|
||||
};
|
||||
|
||||
ac_louver_V vlouver_frontend_to_ac_louver_V(const vlouver_esphome_position_t vlouver_frontend);
|
||||
|
||||
std::string ac_louver_V_to_string(ac_louver_V louver);
|
||||
|
||||
enum ac_louver_H : uint8_t
|
||||
{
|
||||
AC_LOUVERH_SWING_LEFTRIGHT = 0x00,
|
||||
// AC_LOUVERH_OFF_AUX = 0x20, // 0b00100000
|
||||
AC_LOUVERH_OFF = 0xE0 // 0b11100000
|
||||
};
|
||||
|
||||
std::string ac_louver_H_to_string(ac_louver_H louver);
|
||||
|
||||
enum ac_fanspeed : uint8_t
|
||||
{
|
||||
AC_FANSPEED_HIGH = 0x20,
|
||||
AC_FANSPEED_MEDIUM = 0x40,
|
||||
AC_FANSPEED_LOW = 0x60,
|
||||
AC_FANSPEED_AUTO = 0xA0
|
||||
};
|
||||
|
||||
std::string ac_fanspeed_to_string(ac_fanspeed fanspeed);
|
||||
|
||||
using esphome::climate::ClimateFanMode;
|
||||
ClimateFanMode ac_fanspeed_to_climate_fan_mode(ac_fanspeed fanspeed);
|
||||
ac_fanspeed climate_fan_mode_to_ac_fanspeed(ClimateFanMode fanmode);
|
||||
|
||||
enum ac_fanspeed_real : uint8_t
|
||||
{
|
||||
AC_REAL_FAN_OFF = 0x00,
|
||||
AC_REAL_FAN_MUTE = 0x01,
|
||||
AC_REAL_FAN_LOW = 0x02,
|
||||
AC_REAL_FAN_MID = 0x04,
|
||||
AC_REAL_FAN_HIGH = 0x06,
|
||||
AC_REAL_FAN_TURBO = 0x07
|
||||
};
|
||||
|
||||
std::string ac_fanspeed_real_to_string(ac_fanspeed_real real_fanspeed);
|
||||
|
||||
enum command_type_t : uint8_t
|
||||
{
|
||||
COMMAND_TYPE_NONE = 0x00,
|
||||
COMMAND_TYPE_REQUEST_11 = 0x01,
|
||||
COMMAND_TYPE_REQUEST_21 = 0x02,
|
||||
COMMAND_TYPE_SET_STATE = 0x03,
|
||||
};
|
||||
|
||||
enum command_processor_state_t : uint8_t
|
||||
{
|
||||
CMD_PROCESSOR_STATE_NOT_STARTED = 0x00,
|
||||
CMD_PROCESSOR_STATE_WAITING_FOR_F11 = 0x01,
|
||||
CMD_PROCESSOR_STATE_PRECHECK_DONE = 0x02,
|
||||
CMD_PROCESSOR_STATE_CMD_WAS_SENT = 0x03,
|
||||
CMD_PROCESSOR_STATE_POSTCHECK_DONE = 0x04,
|
||||
};
|
||||
|
||||
} // namespace aux_airconditioner
|
||||
} // namespace GrKoR
|
||||
Reference in New Issue
Block a user