public void LoadConfig()
        {
            log.Debug("LoadConfig()");
            //clear the existing interface
            GPIOService.CloseGpio();
            Solenoids.Clear();

            List <Solenoid> solenoids = DataService.Proxy.GetSolenoids(device.Id);

            foreach (Solenoid s in solenoids)
            {
                DeviceSolenoid sol = new DeviceSolenoid(s);
                Solenoids.Add(sol);
                log.DebugFormat("Solenoid Id:{0}", sol.Id);
                if (device.PumpSolenoidId == sol.Id)
                {
                    Pump = sol;
                    log.DebugFormat("Found pump solenoid {0}", Pump.Id);
                }
            }

            Analogs.Clear();
            List <Analog> analogs = DataService.Proxy.GetAnalogs(device.Id);

            foreach (Analog a in analogs)
            {
                DeviceAnalog an = new DeviceAnalog(a);
                Analogs.Add(an);
            }

            Alarms.Clear();
            List <Alarm> alarms = DataService.Proxy.GetAlarms(device.Id);

            foreach (Alarm a in alarms)
            {
                DeviceAlarm al = new DeviceAlarm(a);
                Alarms.Add(al);
            }

            Schedules = DataService.Proxy.GetSchedules(device.Id);
        }