fixed input publish and change climate to name
This commit is contained in:
parent
4c77474a94
commit
e1f0fd5651
6 changed files with 55 additions and 14 deletions
|
@ -129,6 +129,16 @@ void ClimateCard::setMode(uint8_t mode)
|
|||
saveStateToFRAM();
|
||||
}
|
||||
|
||||
char* ClimateCard::getModeName()
|
||||
{
|
||||
return (char*)ac.mode_names[state.ac_mode];
|
||||
}
|
||||
|
||||
char* ClimateCard::getFanSpeedName()
|
||||
{
|
||||
return (char*)ac.fan_speed_names[state.ac_fan_speed];
|
||||
}
|
||||
|
||||
void ClimateCard::setFanSpeed(uint8_t fan_speed)
|
||||
{
|
||||
this->state.ac_fan_speed = fan_speed;
|
||||
|
@ -137,6 +147,30 @@ void ClimateCard::setFanSpeed(uint8_t fan_speed)
|
|||
saveStateToFRAM();
|
||||
}
|
||||
|
||||
void ClimateCard::setFanSpeedByName(const char* fan_speed_name)
|
||||
{
|
||||
for (uint8_t i = 0; i < ac.fan_speeds; i++)
|
||||
{
|
||||
if (strcmp(fan_speed_name, ac.fan_speed_names[i]) == 0)
|
||||
{
|
||||
setFanSpeed(i);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ClimateCard::setModeByName(const char* mode_name)
|
||||
{
|
||||
for (uint8_t i = 0; i < ac.modes; i++)
|
||||
{
|
||||
if (strcmp(mode_name, ac.mode_names[i]) == 0)
|
||||
{
|
||||
setMode(i);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t ClimateCard::registerChangeCallback(std::function<void(uint8_t, uint8_t, uint8_t)> callback)
|
||||
{
|
||||
callbacks[callbacks_handler_count] = callback;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue