Beispiel #1
0
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
Beispiel #2
0
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
    ]