diff --git a/src/main/java/de/ph87/homeautomation/DemoDataService.java b/src/main/java/de/ph87/homeautomation/DemoDataService.java index 4084160..bf36491 100644 --- a/src/main/java/de/ph87/homeautomation/DemoDataService.java +++ b/src/main/java/de/ph87/homeautomation/DemoDataService.java @@ -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());