public void Oven_POST_DelayedBaking(CLP_Connection clp_connection, string clp_user, string clp_token, string clp_auid, int duration, int delay, int temperature, string heater)
        {
            /* string response = clp_connection.ActionStop(clp_user, CLPtokenToString(), AUIDs[0]);
             * Thread.Sleep(1000); */


            // Set step bake 1 baking properties

            Dictionary <string, string> props = new Dictionary <string, string>();

            props.Add("SET_BAKE_TIME_MINUTES", duration.ToString());
            props.Add("SET_OVEN_TEMPERATURE", temperature.ToString());
            props.Add("HEATER_SYSTEM_SUB", heater);

            bool properties_set = false;
            int  count_repeats  = 0;

            while (count_repeats < 5)
            {
                clp_connection.OV_SetBakeSettings(clp_user, clp_token, clp_auid, "OVEN_SET", duration, heater, temperature);

                int count_check = 0;

                while (count_check < 2)
                {
                    if (ArePropertiesSet(clp_connection, clp_user, clp_token, clp_auid, props))
                    {
                        Logger.Log(LogMsgType.INFO, "[" + clp_auid + "] SetStepBakeSettingsStep1 -> action executed", LogAuthor.Adapter);
                        break;
                    }

                    Logger.Log(LogMsgType.INFO, "[" + clp_auid + "] SetStepBakeSettingsStep1 -> properties recheck required", LogAuthor.Adapter);

                    count_check++;

                    Thread.Sleep(750);
                }

                if (count_check < 2)
                {
                    properties_set = true;
                    break;
                }

                count_repeats++;

                Logger.Log(LogMsgType.INFO, "[" + clp_auid + "] SetStepBakeSettingsStep1 -> action re-initiating", LogAuthor.Adapter);

                Thread.Sleep(750);
            }

            if (!properties_set)
            {
                Logger.Log(LogMsgType.ERROR, "[" + clp_auid + "] SetStepBakeSettingsStep1 -> action not executed", LogAuthor.Adapter);

                ArePropertiesSet(clp_connection, clp_user, clp_token, clp_auid, props);

                return;
            }


            Thread.Sleep(750);


            // Set bake delay
            DateTime delay_time = DateTime.Now.AddMinutes(delay);

            clp_connection.OV_SetBakeStartTime(clp_user, clp_token, clp_auid, delay_time.Minute, delay_time.Hour);

            props.Clear();
            props.Add("BAKING_START_TIME_HOUR", delay_time.Hour.ToString());
            props.Add("BAKING_START_TIME_MINUTE", delay_time.Minute.ToString());

            properties_set = false;
            count_repeats  = 0;
            while (count_repeats < 5)
            {
                clp_connection.OV_SetBakeStartTime(clp_user, clp_token, clp_auid, delay_time.Minute, delay_time.Hour);

                int count_check = 0;
                while (count_check < 2)
                {
                    if (ArePropertiesSet(clp_connection, clp_user, clp_token, clp_auid, props))
                    {
                        Logger.Log(LogMsgType.INFO, "[" + clp_auid + "] SetBakeStartTime -> properties OK", LogAuthor.Adapter);
                        break;
                    }

                    Logger.Log(LogMsgType.INFO, "[" + clp_auid + "] SetBakeStartTime -> properties recheck required", LogAuthor.Adapter);

                    count_check++;

                    Thread.Sleep(750);
                }

                if (count_check < 2)
                {
                    properties_set = true;
                    break;
                }

                count_repeats++;

                Logger.Log(LogMsgType.INFO, "[" + clp_auid + "] SetBakeStartTime -> action re-initiating", LogAuthor.Adapter);

                Thread.Sleep(750);
            }

            if (!properties_set)
            {
                Logger.Log(LogMsgType.ERROR, "[" + clp_auid + "] SetBakeStartTime -> action not executed", LogAuthor.Adapter);

                ArePropertiesSet(clp_connection, clp_user, clp_token, clp_auid, props);

                return;
            }
            Thread.Sleep(30000);


            // Start bake action

            clp_connection.OV_ActionStart(clp_user, clp_token, clp_auid);

            Logger.Log(LogMsgType.INFO, "[" + clp_auid + "] SetBake ACTION SET", LogAuthor.Adapter);
        }
        public void Oven_POST_ActionStart(CLP_Connection clp_connection, string clp_user, string clp_token, string clp_auid)
        {
            clp_connection.OV_ActionStart(clp_user, clp_token, clp_auid);

            Logger.Log(LogMsgType.INFO, "[" + clp_auid + "] SetBake ACTION SET", LogAuthor.Adapter);
        }