def test_schedule_ruleset_from_week_daily_values(): """Test the initialization of ScheduleRuleset from_week_daily_values.""" weekday = [ 0, 0, 0, 0, 0, 0, 0, 0.1, 0.25, 1, 1, 1, 0.5, 1, 1, 1, 1, 0.5, 0.5, 0.25, 0, 0, 0, 0 ] sat = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0 ] sun = [0 for i in range(24)] schedule = ScheduleRuleset.from_week_daily_values( 'Office Occ', sun, weekday, weekday, weekday, weekday, weekday, sat, sun, schedule_type_limit=schedule_types.fractional) assert schedule.identifier == 'Office Occ' assert len(schedule.schedule_rules) == 2 assert schedule.summer_designday_schedule.values_at_timestep() == weekday assert schedule.winter_designday_schedule.values_at_timestep() == sun sch_week_vals = schedule.values(end_date=Date(1, 7)) assert sch_week_vals == sun + weekday + weekday + weekday + weekday + weekday + sat
def build_weekly_hb_schedule(_rm_name, _type, _input_list ): name = '{}_{}'.format(_rm_name, _type) sun = _input_list mon = _input_list tue = _input_list wed = _input_list thu = _input_list fri = _input_list sat = _input_list hol = _input_list type_limit = schedule_type_limit_by_identifier('Fractional') schedule = ScheduleRuleset.from_week_daily_values( name, sun, mon, tue, wed, thu, fri, sat, hol, timestep=1, schedule_type_limit=type_limit, summer_designday_values=None, winter_designday_values=None ) return schedule
# get the ScheduleTypeLimit object if _type_limit_ is None: _type_limit_ = schedule_type_limit_by_identifier('Fractional') elif isinstance(_type_limit_, str): _type_limit_ = schedule_type_limit_by_identifier(_type_limit_) # create the schedule object name = clean_and_id_ep_string('WeeklySchedule') if _name_ is None else \ clean_ep_string(_name_) schedule = ScheduleRuleset.from_week_daily_values( name, _sun, _mon, _tue, _wed, _thu, _fri, _sat, _holiday_, timestep=1, schedule_type_limit=_type_limit_, summer_designday_values=_summer_des_, winter_designday_values=_winter_des_) if _name_ is not None: schedule.display_name = _name_ # get the idf strings of the schedule idf_year, idf_week = schedule.to_idf() idf_days = [ day_sch.to_idf(_type_limit_) for day_sch in schedule.day_schedules ]