示例#1
0
        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);
        }
示例#2
0
        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());
 }