This commit is contained in:
Patrick Haßel 2021-11-03 12:00:28 +01:00
parent bfa6b7b12b
commit 3d125557e1

View File

@ -72,55 +72,55 @@ public class DemoDataService {
createDeviceShutter("Flur Rollladen", null, flur_og_rollladen_position_anfahren.getProperty());
if (scheduleRepository.count() == 0) {
final Schedule scheduleEgFlurLicht = createSchedule("EG Flur Licht", eg_flur_licht_schalten.getProperty());
createTime(scheduleEgFlurLicht, 11, 30, 0, MIN30, true);
createTime(scheduleEgFlurLicht, 12, 30, 0, MIN30, false);
createTime(scheduleEgFlurLicht, 16, 30, 0, MIN30, true);
createTime(scheduleEgFlurLicht, 17, 30, 0, MIN30, false);
createTime(scheduleEgFlurLicht, 22, 0, 0, MIN30, true);
createTime(scheduleEgFlurLicht, 23, 0, 0, MIN30, false);
createTime(scheduleEgFlurLicht, 1, 0, 0, MIN30, true);
createTime(scheduleEgFlurLicht, 2, 0, 0, MIN30, false);
final Schedule scheduleEgFlurLicht = createSchedule(true, "EG Flur Licht", eg_flur_licht_schalten.getProperty());
createTime(scheduleEgFlurLicht, true, 1, 0, 0, MIN30, true);
createTime(scheduleEgFlurLicht, true, 2, 0, 0, MIN30, false);
createTime(scheduleEgFlurLicht, true, 7, 30, 0, MIN30, true);
createTime(scheduleEgFlurLicht, true, 8, 30, 0, MIN30, false);
createTime(scheduleEgFlurLicht, true, 13, 30, 0, MIN30, true);
createTime(scheduleEgFlurLicht, true, 14, 30, 0, MIN30, false);
createTime(scheduleEgFlurLicht, true, 19, 0, 0, MIN30, true);
createTime(scheduleEgFlurLicht, true, 20, 0, 0, MIN30, false);
scheduleRepository.save(scheduleEgFlurLicht);
final Schedule scheduleEgAmbiente = createSchedule("Ambiente EG", ambiente_eg_schalten.getProperty());
createTime(scheduleEgAmbiente, 7, 15, 0, MIN30, true);
createTime(scheduleEgAmbiente, 9, 30, 0, MIN30, false);
createSunset(scheduleEgAmbiente, Zenith.OFFICIAL, MIN30, true);
createSunset(scheduleEgAmbiente, Zenith.ASTRONOMICAL, MIN30, false);
final Schedule scheduleEgAmbiente = createSchedule(false, "Ambiente EG", ambiente_eg_schalten.getProperty());
createTime(scheduleEgAmbiente, true, 7, 15, 0, MIN30, true);
createTime(scheduleEgAmbiente, true, 9, 30, 0, MIN30, false);
createSunset(scheduleEgAmbiente, true, Zenith.OFFICIAL, MIN30, true);
createSunset(scheduleEgAmbiente, true, Zenith.ASTRONOMICAL, MIN30, false);
scheduleRepository.save(scheduleEgAmbiente);
final Schedule scheduleOgAmbiente = createSchedule("Ambiente OG", ambiente_og_schalten.getProperty());
createTime(scheduleOgAmbiente, 7, 15, 0, MIN30, true);
createTime(scheduleOgAmbiente, 9, 30, 0, MIN30, false);
createSunset(scheduleOgAmbiente, Zenith.OFFICIAL, MIN30, true);
createSunset(scheduleOgAmbiente, Zenith.ASTRONOMICAL, MIN30, false);
final Schedule scheduleOgAmbiente = createSchedule(false, "Ambiente OG", ambiente_og_schalten.getProperty());
createTime(scheduleOgAmbiente, true, 7, 15, 0, MIN30, true);
createTime(scheduleOgAmbiente, true, 9, 30, 0, MIN30, false);
createSunset(scheduleOgAmbiente, true, Zenith.OFFICIAL, MIN30, true);
createSunset(scheduleOgAmbiente, true, Zenith.ASTRONOMICAL, MIN30, false);
scheduleRepository.save(scheduleOgAmbiente);
final Schedule scheduleWohnzimmerRollladen = createSchedule("Rollläden Wohnzimmer", wohnzimmer_rollladen_position_anfahren.getProperty());
createSunrise(scheduleWohnzimmerRollladen, BETWEEN_OFFICIAL_AND_CIVIL, 0, 0);
createSunset(scheduleWohnzimmerRollladen, BETWEEN_OFFICIAL_AND_CIVIL, 0, 100);
final Schedule scheduleWohnzimmerRollladen = createSchedule(true, "Rollläden Wohnzimmer", wohnzimmer_rollladen_position_anfahren.getProperty());
createSunrise(scheduleWohnzimmerRollladen, true, BETWEEN_OFFICIAL_AND_CIVIL, 0, 0);
createSunset(scheduleWohnzimmerRollladen, true, BETWEEN_OFFICIAL_AND_CIVIL, 0, 100);
scheduleRepository.save(scheduleWohnzimmerRollladen);
final Schedule scheduleSchlafzimmerRollladen = createSchedule("Rollläden Schlafzimmer", schlafzimmer_rollladen_position_anfahren.getProperty());
createTime(scheduleSchlafzimmerRollladen, 7, 0, 0, 0, 0);
createSunset(scheduleSchlafzimmerRollladen, BETWEEN_OFFICIAL_AND_CIVIL, 0, 100);
final Schedule scheduleSchlafzimmerRollladen = createSchedule(true, "Rollläden Schlafzimmer", schlafzimmer_rollladen_position_anfahren.getProperty());
createTime(scheduleSchlafzimmerRollladen, true, 7, 0, 0, 0, 0);
createSunset(scheduleSchlafzimmerRollladen, true, BETWEEN_OFFICIAL_AND_CIVIL, 0, 100);
scheduleRepository.save(scheduleSchlafzimmerRollladen);
final Schedule scheduleFlurRollladen = createSchedule("Rollladen Flur", flur_og_rollladen_position_anfahren.getProperty());
createSunrise(scheduleFlurRollladen, BETWEEN_OFFICIAL_AND_CIVIL, 0, 0);
createSunset(scheduleFlurRollladen, BETWEEN_OFFICIAL_AND_CIVIL, 0, 100);
final Schedule scheduleFlurRollladen = createSchedule(true, "Rollladen Flur", flur_og_rollladen_position_anfahren.getProperty());
createSunrise(scheduleFlurRollladen, true, BETWEEN_OFFICIAL_AND_CIVIL, 0, 0);
createSunset(scheduleFlurRollladen, true, BETWEEN_OFFICIAL_AND_CIVIL, 0, 100);
scheduleRepository.save(scheduleFlurRollladen);
final Schedule scheduleBadLichtMitte = createSchedule("Bad Licht Mitte", bad_licht_mitte_schalten.getProperty());
createTime(scheduleBadLichtMitte, 10, 30, 0, MIN30, true);
createTime(scheduleBadLichtMitte, 11, 30, 0, MIN30, false);
createTime(scheduleBadLichtMitte, 15, 30, 0, MIN30, true);
createTime(scheduleBadLichtMitte, 16, 30, 0, MIN30, false);
createTime(scheduleBadLichtMitte, 21, 0, 0, MIN30, true);
createTime(scheduleBadLichtMitte, 22, 0, 0, MIN30, false);
createTime(scheduleBadLichtMitte, 0, 0, 0, MIN30, true);
createTime(scheduleBadLichtMitte, 1, 0, 0, MIN30, false);
final Schedule scheduleBadLichtMitte = createSchedule(false, "Bad Licht Mitte", bad_licht_mitte_schalten.getProperty());
createTime(scheduleBadLichtMitte, true, 10, 30, 0, MIN30, true);
createTime(scheduleBadLichtMitte, true, 11, 30, 0, MIN30, false);
createTime(scheduleBadLichtMitte, true, 15, 30, 0, MIN30, true);
createTime(scheduleBadLichtMitte, true, 16, 30, 0, MIN30, false);
createTime(scheduleBadLichtMitte, true, 21, 0, 0, MIN30, true);
createTime(scheduleBadLichtMitte, true, 22, 0, 0, MIN30, false);
createTime(scheduleBadLichtMitte, true, 0, 0, 0, MIN30, true);
createTime(scheduleBadLichtMitte, true, 1, 0, 0, MIN30, false);
scheduleRepository.save(scheduleBadLichtMitte);
}
}
@ -133,10 +133,10 @@ public class DemoDataService {
return deviceWriteService.createDeviceShutter(title, mapIfNotNull(getPercent, PropertyDto::getName), mapIfNotNull(setPercent, PropertyDto::getName));
}
private Schedule createSchedule(final String s, final PropertyDto propertyDto) {
private Schedule createSchedule(final boolean enabled, final String title, final PropertyDto propertyDto) {
final Schedule schedule = new Schedule();
schedule.setEnabled(true);
schedule.setTitle(s);
schedule.setEnabled(enabled);
schedule.setTitle(title);
schedule.setPropertyName(propertyDto.getName());
schedule.setPropertyType(propertyDto.getPropertyType());
return schedule;
@ -147,26 +147,26 @@ public class DemoDataService {
return knxGroupRepository.findByAddressRaw(address.getRawAddress()).map(KnxGroupDto::new).orElseGet(() -> knxGroupWriteService.create(name, address, dpt, type, readable, multiGroup));
}
private ScheduleEntry createRelative(final Schedule schedule, final int inSeconds, final int fuzzySeconds, final Object value) {
private ScheduleEntry createRelative(final Schedule schedule, final boolean enabled, final int inSeconds, final int fuzzySeconds, final Object value) {
final ZonedDateTime now = ZonedDateTime.now().plusSeconds(inSeconds).withNano(0);
return newScheduleEntry(schedule, ScheduleEntryType.TIME, null, now.getHour(), now.getMinute(), now.getSecond(), fuzzySeconds, value);
return createTime(schedule, enabled, now.getHour(), now.getMinute(), now.getSecond(), fuzzySeconds, value);
}
private ScheduleEntry createTime(final Schedule schedule, final int hour, final int minute, final int second, final int fuzzySeconds, final Object value) {
return newScheduleEntry(schedule, ScheduleEntryType.TIME, null, hour, minute, second, fuzzySeconds, value);
private ScheduleEntry createTime(final Schedule schedule, final boolean enabled, final int hour, final int minute, final int second, final int fuzzySeconds, final Object value) {
return newScheduleEntry(schedule, enabled, ScheduleEntryType.TIME, null, hour, minute, second, fuzzySeconds, value);
}
private ScheduleEntry createSunrise(final Schedule schedule, final Zenith zenith, final int fuzzySeconds, final Object value) {
return newScheduleEntry(schedule, ScheduleEntryType.SUNRISE, zenith, 0, 0, 0, fuzzySeconds, value);
private ScheduleEntry createSunrise(final Schedule schedule, final boolean enabled, final Zenith zenith, final int fuzzySeconds, final Object value) {
return newScheduleEntry(schedule, enabled, ScheduleEntryType.SUNRISE, zenith, 0, 0, 0, fuzzySeconds, value);
}
private ScheduleEntry createSunset(final Schedule schedule, final Zenith zenith, final int fuzzySeconds, final Object value) {
return newScheduleEntry(schedule, ScheduleEntryType.SUNSET, zenith, 0, 0, 0, fuzzySeconds, value);
private ScheduleEntry createSunset(final Schedule schedule, final boolean enabled, final Zenith zenith, final int fuzzySeconds, final Object value) {
return newScheduleEntry(schedule, enabled, ScheduleEntryType.SUNSET, zenith, 0, 0, 0, fuzzySeconds, value);
}
private ScheduleEntry newScheduleEntry(final Schedule schedule, final ScheduleEntryType type, final Zenith zenith, final int hour, final int minute, final int second, final int fuzzySeconds, final Object value) {
private ScheduleEntry newScheduleEntry(final Schedule schedule, final boolean enabled, final ScheduleEntryType type, final Zenith zenith, final int hour, final int minute, final int second, final int fuzzySeconds, final Object value) {
final ScheduleEntry entry = new ScheduleEntry();
entry.setEnabled(true);
entry.setEnabled(enabled);
entry.setType(type);
if (zenith != null) {
entry.setZenith(zenith.degrees().doubleValue());