Esempio n. 1
0
 def saveScheduleData(self, p_json):
     """A new/changed schedule is returned.  Process it and update the internal data via schedule.py
     """
     l_json = JsonUnicode().decode_json(p_json)
     l_delete = l_json['Delete']
     l_schedule_ix = int(l_json['Key'])
     if l_delete:
         try:
             del self.m_pyhouse_obj.House.Schedules[l_schedule_ix]
         except AttributeError as e:
             LOG.warning('Failed to delete schedule: {0:}, ix:{1:}').format(e, l_schedule_ix)
         return
     try:
         l_obj = self.m_pyhouse_obj.House.Schedules[l_schedule_ix]
     except KeyError:
         l_obj = ScheduleBaseData()
     l_obj.Name = l_json['Name']
     l_obj.Active = l_json['Active']
     l_obj.Key = l_schedule_ix
     #
     l_obj.ScheduleType = l_json['ScheduleType']
     l_obj.Time = l_json['Time']
     l_obj.DOW = l_json['DOW']
     print('fetched DOW {}'.format(l_obj.DOW))
     l_obj.Mode = l_json['Mode']
     #
     l_obj.Level = int(l_json['Level'])
     l_obj.LightName = l_json['LightName']
     l_obj.Rate = l_json['Rate']
     l_obj.RoomName = l_json['RoomName']
     #
     l_obj._DeleteFlag = l_json['Delete']
     self.m_pyhouse_obj.House.Schedules[l_schedule_ix] = l_obj
     self.m_pyhouse_obj.APIs.House.ScheduleAPI.RestartSchedule()
Esempio n. 2
0
 def _read_one_base_schedule(p_schedule_element):
     """Extract schedule information from a schedule xml element.
     """
     l_obj = ScheduleBaseData()
     XmlConfigTools.read_base_object_xml(l_obj, p_schedule_element)
     l_obj.Time = PutGetXML.get_text_from_xml(p_schedule_element, 'Time')
     l_obj.ScheduleType = PutGetXML.get_text_from_xml(p_schedule_element, 'ScheduleType')
     if l_obj.ScheduleType == 'LightingDevice':
         l_obj.ScheduleType = 'Lighting'
     try:
         l_obj.DOW = PutGetXML.get_int_from_xml(l_obj, 'DayOfWeek', 0x7F)
     except:
         l_obj.DOW = 0x7F
     try:
         l_obj.Mode = PutGetXML.get_int_from_xml(l_obj, 'Mode', 0)
     except:
         l_obj.Mode = 0
     return l_obj