Ejemplo n.º 1
0
        protected override CustomListExecuteReturnContext ExecuteFunctionOverride(CustomListData data, CustomListExecuteParameterContext context)
        {
            data.Properties.TryGetValue("Hostname", StringComparison.OrdinalIgnoreCase, out var Hostname);
            data.Properties.TryGetValue("User", StringComparison.OrdinalIgnoreCase, out var User);
            data.Properties.TryGetValue("Password", StringComparison.OrdinalIgnoreCase, out var Password);

            Log?.Info(string.Format("The function {0} has been called with {1} parameters", context.FunctionName, context.Values.Count));
            var returnContext = default(CustomListExecuteReturnContext);
            var fh            = new FritzHelper();
            var thermostat    = fh.GetThermostats(Hostname, User, Password).First(t => t.Name.Equals(context.Values[0].StringValue));

            if (context.FunctionName.Equals("settemperature"))
            {
                fh.SetThermostatTemperature(Hostname, User, Password, thermostat, double.Parse(context.Values[1].StringValue, CultureInfo.InvariantCulture));
            }

            return(returnContext);
        }