public static string ToHomiePayload(this HomieState homieState) { var returnValue = ""; switch (homieState) { case HomieState.Init: returnValue = "init"; break; case HomieState.Ready: returnValue = "ready"; break; case HomieState.Disconnected: returnValue = "disconnected"; break; case HomieState.Sleeping: returnValue = "sleeping"; break; case HomieState.Lost: returnValue = "lost"; break; case HomieState.Alert: returnValue = "alert"; break; } return(returnValue); }
public static bool TryParseHomieState(string stringToParse, out HomieState parsedState) { var isParsed = true; switch (stringToParse) { case "init": parsedState = HomieState.Init; break; case "ready": parsedState = HomieState.Ready; break; case "disconnected": parsedState = HomieState.Disconnected; break; case "sleeping": parsedState = HomieState.Sleeping; break; case "lost": parsedState = HomieState.Lost; break; case "alert": parsedState = HomieState.Alert; break; default: parsedState = HomieState.Lost; isParsed = false; break; } return(isParsed); }
/// <summary> /// Set the state of the Device. Homie convention defines these states: init, ready, disconnected, sleeping, lost, alert. /// </summary> public void SetState(HomieState stateToSet) { State = stateToSet; InternalPropertyPublish("$state", State.ToHomiePayload()); }