Contrequarte.SmartPlug.Core.SmartPlug.GetScheduleForWeekDay C# (CSharp) Method

GetScheduleForWeekDay() public method

public GetScheduleForWeekDay ( DayOfWeek dayOfWeek ) : IEnumerable
dayOfWeek DayOfWeek
return IEnumerable
        public IEnumerable<ScheduledEntry> GetScheduleForWeekDay(DayOfWeek dayOfWeek)
        {
            /* expected return looks like that:
             *<SMARTPLUG id="edimax">
             *   <CMD id="get">
             *      <SCHEDULE>
             *         <Device.System.Power.Schedule.0.List>00011-0c0m1-m0mu1-n0nP1</Device.System.Power.Schedule.0.List> 
             *      </SCHEDULE>
             *   </CMD>
             *</SMARTPLUG>
             */

            XDocument plugRequest = SmartPlugMessages.GetScheduledListForDayOfWeek(dayOfWeek);
            XDocument plugResponse = SendMessage(plugRequest);

            string scheduledList = plugResponse.Descendants("SCHEDULE").First().Elements().First().Value;

            return TimePeriod.EdimaxScheduleList2ScheduledEntries(scheduledList);
        }

Usage Example

Exemplo n.º 1
0
 static void ShowSchedule(DayOfWeek dayOfWeek, SmartPlug smartPlug)
 {
     IEnumerable<ScheduledEntry> entriesForDay = smartPlug.GetScheduleForWeekDay(dayOfWeek);
     foreach (ScheduledEntry entry in entriesForDay)
     {
         System.Console.WriteLine(string.Format("Entry\tStart:{0}:{1}\tEnd:{2}:{3}\t{4}",
                                   entry.Period.Begin.Hour.ToString("D2"), entry.Period.Begin.Minute.ToString("D2"),
                                   entry.Period.End.Hour.ToString("D2"), entry.Period.End.Minute.ToString("D2"),
                                   entry.Enabled ? "enabled" : "disabled"));
     }
 }