diff --git a/src/hasp/hasp_dispatch.cpp b/src/hasp/hasp_dispatch.cpp index 0eb6bf8a..0adf6799 100644 --- a/src/hasp/hasp_dispatch.cpp +++ b/src/hasp/hasp_dispatch.cpp @@ -242,8 +242,8 @@ static void dispatch_output(const char* topic, const char* payload) JsonVariant brightness = json[F("brightness")]; // Check if the state needs to change - if(!state.isNull() && power_state != state.as()) { - power_state = state.as(); + if(!state.isNull() && power_state != Parser::is_true(state.as())) { + power_state = Parser::is_true(state.as()); updated = true; } @@ -257,7 +257,7 @@ static void dispatch_output(const char* topic, const char* payload) // Set new state if(updated && gpio_set_pin_state(pin, power_state, state_value)) { - return; // value was set and state output already + return; // value was set and state output already in gpio_set_pin_state } else { // output the new state to the log }