fix: esp8266 compatibility

This commit is contained in:
GrKoR
2024-10-26 23:25:08 +03:00
parent 3ca873450d
commit 9c2daf0615

View File

@@ -6,9 +6,6 @@
#include <stdarg.h>
#include <cinttypes>
#ifndef F
#define F(string_literal) (string_literal)
#endif
#include "esphome.h"
#include "esphome/components/binary_sensor/binary_sensor.h"
@@ -19,6 +16,11 @@
#include "esphome/core/component.h"
#include "esphome/core/helpers.h"
#ifndef USE_ARDUINO
using String = std::string;
#define F(string_literal) (string_literal)
#endif
// весь функционал сохранения пресетов прячу под дефайн
// #define PRESETS_SAVING
#ifdef PRESETS_SAVING
@@ -1667,7 +1669,7 @@ namespace esphome
* msg - сообщение, выводимое в лог
* line - строка, на которой произошел вызов (удобно при отладке)
*/
void _debugMsg(const std::string &msg, uint8_t dbgLevel = ESPHOME_LOG_LEVEL_DEBUG, unsigned int line = 0, ...)
void _debugMsg(const String &msg, uint8_t dbgLevel = ESPHOME_LOG_LEVEL_DEBUG, unsigned int line = 0, ...)
{
if (dbgLevel < ESPHOME_LOG_LEVEL_NONE)
dbgLevel = ESPHOME_LOG_LEVEL_NONE;
@@ -1708,7 +1710,7 @@ namespace esphome
if ((!notAPacket) && (!HOLMES_WORKS))
return;
std::string st = "";
String st = "";
char textBuf[11];
// заполняем время получения пакета
@@ -3548,7 +3550,7 @@ namespace esphome
}
// устанавливает ограничение мощности сплита на нужный уровень
bool powerLimitationSetSequence(uint8_t power_limit, bool set_on=false)
bool powerLimitationSetSequence(uint8_t power_limit, bool set_on = false)
{
// нет смысла в последовательности, если нет коннекта с кондиционером
if (!get_has_connection())
@@ -3563,7 +3565,7 @@ namespace esphome
return false;
}
if(power_limit != this->_power_limitation_value_normalise(power_limit))
if (power_limit != this->_power_limitation_value_normalise(power_limit))
{
_debugMsg(F("powerLimitationSetSequence: incorrect power limit value."), ESPHOME_LOG_LEVEL_WARN, __LINE__);
return false;
@@ -3584,7 +3586,9 @@ namespace esphome
if (set_on)
{
_debugMsg(F("powerLimitationSetSequence: loaded (state = %02X, power limit = %02X)"), ESPHOME_LOG_LEVEL_VERBOSE, __LINE__, cmd.power_lim_state, power_limit);
} else {
}
else
{
_debugMsg(F("powerLimitationSetSequence: loaded (power limit = %02X)"), ESPHOME_LOG_LEVEL_VERBOSE, __LINE__, power_limit);
}
return true;
@@ -3609,9 +3613,12 @@ namespace esphome
// формируем команду
ac_command_t cmd;
_clearCommand(&cmd); // не забываем очищать, а то будет мусор
if(enable_limit){
if (enable_limit)
{
cmd.power_lim_state = AC_POWLIMSTAT_ON; // включить ограничение мощности
} else {
}
else
{
cmd.power_lim_state = AC_POWLIMSTAT_OFF; // отключить ограничение мощности
}
// добавляем команду в последовательность