diff --git a/src/main/angular/src/app/api/property/property.service.ts b/src/main/angular/src/app/api/property/property.service.ts
index 3656e62..d8c867f 100644
--- a/src/main/angular/src/app/api/property/property.service.ts
+++ b/src/main/angular/src/app/api/property/property.service.ts
@@ -9,6 +9,7 @@ export class Property {
constructor(
public name: string,
+ public type: string,
public title: string,
public value: number | null,
public valueTimestamp: Date | null,
@@ -26,6 +27,7 @@ export class Property {
static fromJson(json: any): Property {
return new Property(
validateStringNotEmptyNotNull(json['name']),
+ validateStringNotEmptyNotNull(json['type']),
validateStringNotEmptyNotNull(json['title']),
validateNumberAllowNull(json['value']),
validateDateAllowNull(json['valueTimestamp']),
diff --git a/src/main/angular/src/app/api/schedule/Schedule.ts b/src/main/angular/src/app/api/schedule/Schedule.ts
index 837788f..68e768f 100644
--- a/src/main/angular/src/app/api/schedule/Schedule.ts
+++ b/src/main/angular/src/app/api/schedule/Schedule.ts
@@ -1,5 +1,6 @@
-import {validateBooleanNotNull, validateListOrEmpty, validateNumberNotNull, validateStringNotEmptyNotNull, validateStringNullToEmpty} from "../validators";
+import {validateBooleanNotNull, validateListOrEmpty, validateNumberNotNull, validateStringNotEmptyNotNull} from "../validators";
import {ScheduleEntry} from "./entry/ScheduleEntry";
+import {Property} from "../property/property.service";
export class Schedule {
@@ -7,8 +8,7 @@ export class Schedule {
public id: number,
public enabled: boolean,
public title: string,
- public propertyName: string,
- public propertyType: string,
+ public property: Property | null,
public entries: ScheduleEntry[],
) {
// nothing
@@ -19,8 +19,7 @@ export class Schedule {
validateNumberNotNull(json['id']),
validateBooleanNotNull(json['enabled']),
validateStringNotEmptyNotNull(json['title']),
- validateStringNullToEmpty(json['propertyName']),
- validateStringNullToEmpty(json['propertyType']),
+ Property.fromJsonAllowNull(json['property']),
validateListOrEmpty(json['entries'], ScheduleEntry.fromJson, ScheduleEntry.compare),
);
}
diff --git a/src/main/angular/src/app/pages/schedule/schedule.component.html b/src/main/angular/src/app/pages/schedule/schedule.component.html
index d3c65eb..dbe8bea 100644
--- a/src/main/angular/src/app/pages/schedule/schedule.component.html
+++ b/src/main/angular/src/app/pages/schedule/schedule.component.html
@@ -14,15 +14,10 @@
@@ -137,20 +132,10 @@
|
- 0 ? 0 : 1)">
+ | 0 ? 0 : 1)">
{{entry.value ? "An" : "Aus"}}
|
-
-
- |
-
-
- |
-
+ |
|
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
diff --git a/src/main/java/de/ph87/homeautomation/DemoDataService.java b/src/main/java/de/ph87/homeautomation/DemoDataService.java
index ce54e9e..4f0b36a 100644
--- a/src/main/java/de/ph87/homeautomation/DemoDataService.java
+++ b/src/main/java/de/ph87/homeautomation/DemoDataService.java
@@ -8,8 +8,8 @@ import de.ph87.homeautomation.knx.group.KnxGroup;
import de.ph87.homeautomation.knx.group.KnxGroupReadService;
import de.ph87.homeautomation.property.Property;
import de.ph87.homeautomation.property.PropertyRepository;
+import de.ph87.homeautomation.property.PropertyType;
import de.ph87.homeautomation.schedule.Schedule;
-import de.ph87.homeautomation.schedule.SchedulePropertyType;
import de.ph87.homeautomation.schedule.ScheduleRepository;
import de.ph87.homeautomation.schedule.entry.ScheduleEntry;
import de.ph87.homeautomation.schedule.entry.ScheduleEntryType;
@@ -42,16 +42,16 @@ public class DemoDataService {
private final KnxGroupReadService knxGroupReadService;
public void insertDemoData() {
- final Property ambiente_eg = createProperty("ambiente.eg", "Ambiente EG", knx(0, 3, 81), knx(0, 3, 80));
- final Property ambiente_og = createProperty("ambiente.og", "Ambiente OG", knx(0, 6, 2), knx(0, 6, 3));
- final Property bad_licht = createProperty("bad.licht", "Bad Licht", knx(0, 5, 19), knx(0, 3, 73));
- final Property bad_licht_mitte = createProperty("bad.licht.mitte", "Bad Licht Mitte", knx(0, 3, 30), knx(0, 3, 29));
- final Property flur_eg_licht = createProperty("flur.eg.licht", "Flur EG Licht", knx(0, 4, 8), knx(0, 5, 14));
- final Property wohnzimmer_rollladen = createProperty("wohnzimmer.rollladen", "Wohnzimmer Rollladen", null, knx(0, 4, 24));
- final Property schlafzimmer_rollladen = createProperty("schlafzimmer_rollladen", "Schlafzimmer Rollladen", null, knx(0, 3, 3));
- final Property flur_og_rollladen = createProperty("flur_og_rollladen", "Flur OG Rollladen", null, knx(0, 5, 13));
- final Property helligkeit = createProperty("helligkeit", "Helligkeit", knx(0, 5, 6), null);
- final Property szene_haus = createProperty("szene_haus", "Szene Haus ", null, knx(0, 0, 21));
+ final Property ambiente_eg = createProperty("ambiente.eg", PropertyType.SWITCH, "Ambiente EG", knx(0, 3, 81), knx(0, 3, 80));
+ final Property ambiente_og = createProperty("ambiente.og", PropertyType.SWITCH, "Ambiente OG", knx(0, 6, 2), knx(0, 6, 3));
+ final Property bad_licht = createProperty("bad.licht", PropertyType.SWITCH, "Bad Licht", knx(0, 5, 19), knx(0, 3, 73));
+ final Property bad_licht_mitte = createProperty("bad.licht.mitte", PropertyType.SWITCH, "Bad Licht Mitte", knx(0, 3, 30), knx(0, 3, 29));
+ final Property flur_eg_licht = createProperty("flur.eg.licht", PropertyType.SWITCH, "Flur EG Licht", knx(0, 4, 8), knx(0, 5, 14));
+ final Property wohnzimmer_rollladen = createProperty("wohnzimmer.rollladen", PropertyType.SHUTTER, "Wohnzimmer Rollladen", null, knx(0, 4, 24));
+ final Property schlafzimmer_rollladen = createProperty("schlafzimmer_rollladen", PropertyType.SHUTTER, "Schlafzimmer Rollladen", null, knx(0, 3, 3));
+ final Property flur_og_rollladen = createProperty("flur_og_rollladen", PropertyType.SHUTTER, "Flur OG Rollladen", null, knx(0, 5, 13));
+ final Property helligkeit = createProperty("helligkeit", PropertyType.LUX, "Helligkeit", knx(0, 5, 6), null);
+ final Property szene_haus = createProperty("szene_haus", PropertyType.SCENE, "Szene Haus ", null, knx(0, 0, 21));
if (deviceRepository.count() == 0) {
deviceWriteService.createDeviceSwitch("Ambiente EG", ambiente_eg);
@@ -63,7 +63,7 @@ public class DemoDataService {
}
if (scheduleRepository.count() == 0) {
- final Schedule scheduleEgFlurLicht = createSchedule(true, "EG Flur Licht", flur_eg_licht, SchedulePropertyType.SWITCH);
+ final Schedule scheduleEgFlurLicht = createSchedule(true, "EG Flur Licht", flur_eg_licht);
createTime(scheduleEgFlurLicht, true, 1, 0, 0, MIN30, true);
createTime(scheduleEgFlurLicht, true, 2, 0, 0, MIN30, false);
createTime(scheduleEgFlurLicht, true, 7, 30, 0, MIN30, true);
@@ -74,36 +74,36 @@ public class DemoDataService {
createTime(scheduleEgFlurLicht, true, 20, 0, 0, MIN30, false);
scheduleRepository.save(scheduleEgFlurLicht);
- final Schedule scheduleEgAmbiente = createSchedule(false, "Ambiente EG", ambiente_eg, SchedulePropertyType.SWITCH);
+ final Schedule scheduleEgAmbiente = createSchedule(false, "Ambiente EG", ambiente_eg);
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(false, "Ambiente OG", ambiente_og, SchedulePropertyType.SWITCH);
+ final Schedule scheduleOgAmbiente = createSchedule(false, "Ambiente OG", ambiente_og);
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(true, "Rollläden Wohnzimmer", wohnzimmer_rollladen, SchedulePropertyType.SHUTTER);
+ final Schedule scheduleWohnzimmerRollladen = createSchedule(true, "Rollläden Wohnzimmer", wohnzimmer_rollladen);
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(true, "Rollläden Schlafzimmer", schlafzimmer_rollladen, SchedulePropertyType.SHUTTER);
+ final Schedule scheduleSchlafzimmerRollladen = createSchedule(true, "Rollläden Schlafzimmer", schlafzimmer_rollladen);
createTime(scheduleSchlafzimmerRollladen, true, 7, 0, 0, 0, 0);
createSunset(scheduleSchlafzimmerRollladen, true, BETWEEN_OFFICIAL_AND_CIVIL, 0, 100);
scheduleRepository.save(scheduleSchlafzimmerRollladen);
- final Schedule scheduleFlurRollladen = createSchedule(true, "Rollladen Flur", flur_og_rollladen, SchedulePropertyType.SHUTTER);
+ final Schedule scheduleFlurRollladen = createSchedule(true, "Rollladen Flur", flur_og_rollladen);
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(false, "Bad Licht Mitte", bad_licht_mitte, SchedulePropertyType.SWITCH);
+ final Schedule scheduleBadLichtMitte = createSchedule(false, "Bad Licht Mitte", bad_licht_mitte);
createTime(scheduleBadLichtMitte, true, 10, 30, 0, MIN30, true);
createTime(scheduleBadLichtMitte, true, 11, 30, 0, MIN30, false);
createTime(scheduleBadLichtMitte, true, 15, 30, 0, MIN30, true);
@@ -114,7 +114,7 @@ public class DemoDataService {
createTime(scheduleBadLichtMitte, true, 1, 0, 0, MIN30, false);
scheduleRepository.save(scheduleBadLichtMitte);
- final Schedule scheduleSzeneHaus = createSchedule(true, "Dekoration", szene_haus, SchedulePropertyType.SCENE);
+ final Schedule scheduleSzeneHaus = createSchedule(true, "Dekoration", szene_haus);
createTime(scheduleSzeneHaus, true, 6, 0, 0, 0, 31);
createTime(scheduleSzeneHaus, true, 8, 30, 0, 0, 30);
createSunset(scheduleSzeneHaus, true, Zenith.OFFICIAL, 0, 31);
@@ -127,20 +127,19 @@ public class DemoDataService {
return knxGroupReadService.getByAddress(main, mid, sub);
}
- private Property createProperty(final String name, final String title, final Channel readChannel, final Channel writeChannel) {
- final Property property = propertyRepository.findByName(name).orElseGet(() -> propertyRepository.save(new Property(name)));
+ private Property createProperty(final String name, final PropertyType type, final String title, final Channel readChannel, final Channel writeChannel) {
+ final Property property = propertyRepository.findByName(name).orElseGet(() -> propertyRepository.save(new Property(name, type)));
property.setTitle(title);
property.setReadChannel(readChannel);
property.setWriteChannel(writeChannel);
return property;
}
- private Schedule createSchedule(final boolean enabled, final String title, final Property property, final SchedulePropertyType propertyType) {
+ private Schedule createSchedule(final boolean enabled, final String title, final Property property) {
final Schedule schedule = new Schedule();
schedule.setEnabled(enabled);
schedule.setTitle(title);
schedule.setProperty(property);
- schedule.setPropertyType(propertyType);
return schedule;
}
diff --git a/src/main/java/de/ph87/homeautomation/property/Property.java b/src/main/java/de/ph87/homeautomation/property/Property.java
index 672026e..d05c1d1 100644
--- a/src/main/java/de/ph87/homeautomation/property/Property.java
+++ b/src/main/java/de/ph87/homeautomation/property/Property.java
@@ -18,6 +18,10 @@ public final class Property {
@Setter(AccessLevel.NONE)
private Long id;
+ @Column(nullable = false)
+ @Enumerated(EnumType.STRING)
+ private PropertyType type;
+
@Column(nullable = false)
private String name;
@@ -34,8 +38,9 @@ public final class Property {
@ManyToOne
private Channel writeChannel;
- public Property(final String name) {
+ public Property(final String name, final PropertyType type) {
this.name = name;
+ this.type = type;
}
}
diff --git a/src/main/java/de/ph87/homeautomation/property/PropertyController.java b/src/main/java/de/ph87/homeautomation/property/PropertyController.java
index 63ec723..23afaea 100644
--- a/src/main/java/de/ph87/homeautomation/property/PropertyController.java
+++ b/src/main/java/de/ph87/homeautomation/property/PropertyController.java
@@ -3,10 +3,7 @@ package de.ph87.homeautomation.property;
import de.ph87.homeautomation.shared.ISearchController;
import de.ph87.homeautomation.shared.KeyValuePair;
import lombok.RequiredArgsConstructor;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.stream.Collectors;
@@ -42,4 +39,9 @@ public class PropertyController implements ISearchController {
return new KeyValuePair(propertyDto.getName(), propertyDto.getTitle());
}
+ @PostMapping("set/{id}/type")
+ public PropertyDto setPropertyType(@PathVariable final long id, @RequestBody final String propertyType) {
+ return propertyWriteService.set(id, Property::setType, PropertyType.valueOf(propertyType));
+ }
+
}
diff --git a/src/main/java/de/ph87/homeautomation/property/PropertyDto.java b/src/main/java/de/ph87/homeautomation/property/PropertyDto.java
index 4988cb8..87c1cd2 100644
--- a/src/main/java/de/ph87/homeautomation/property/PropertyDto.java
+++ b/src/main/java/de/ph87/homeautomation/property/PropertyDto.java
@@ -10,6 +10,8 @@ public final class PropertyDto implements Serializable {
private final long id;
+ private final PropertyType type;
+
private final String name;
private final String title;
@@ -20,6 +22,7 @@ public final class PropertyDto implements Serializable {
public PropertyDto(final Property property) {
this.id = property.getId();
+ this.type = property.getType();
this.name = property.getName();
this.title = property.getTitle();
this.value = property.getValue();
diff --git a/src/main/java/de/ph87/homeautomation/property/PropertyReadService.java b/src/main/java/de/ph87/homeautomation/property/PropertyReadService.java
index 5f2d02e..3f881db 100644
--- a/src/main/java/de/ph87/homeautomation/property/PropertyReadService.java
+++ b/src/main/java/de/ph87/homeautomation/property/PropertyReadService.java
@@ -34,4 +34,8 @@ public class PropertyReadService {
return propertyMapper.toDto(getByName(name));
}
+ public Property getById(final long id) {
+ return propertyRepository.findById(id).orElseThrow(RuntimeException::new);
+ }
+
}
diff --git a/src/main/java/de/ph87/homeautomation/property/PropertyRepository.java b/src/main/java/de/ph87/homeautomation/property/PropertyRepository.java
index 61449fa..10ba610 100644
--- a/src/main/java/de/ph87/homeautomation/property/PropertyRepository.java
+++ b/src/main/java/de/ph87/homeautomation/property/PropertyRepository.java
@@ -13,4 +13,6 @@ public interface PropertyRepository extends CrudRepository {
List findAllByNameLike(final String like);
+ boolean existsByName(String name);
+
}
diff --git a/src/main/java/de/ph87/homeautomation/property/PropertyType.java b/src/main/java/de/ph87/homeautomation/property/PropertyType.java
new file mode 100644
index 0000000..4cddcb6
--- /dev/null
+++ b/src/main/java/de/ph87/homeautomation/property/PropertyType.java
@@ -0,0 +1,5 @@
+package de.ph87.homeautomation.property;
+
+public enum PropertyType {
+ SWITCH, SHUTTER, BRIGHTNESS, COLOR_TEMPERATURE, LUX, SCENE
+}
diff --git a/src/main/java/de/ph87/homeautomation/property/PropertyWriteService.java b/src/main/java/de/ph87/homeautomation/property/PropertyWriteService.java
index c8c2461..695ce42 100644
--- a/src/main/java/de/ph87/homeautomation/property/PropertyWriteService.java
+++ b/src/main/java/de/ph87/homeautomation/property/PropertyWriteService.java
@@ -10,12 +10,16 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.event.TransactionPhase;
import org.springframework.transaction.event.TransactionalEventListener;
+import java.util.function.BiConsumer;
+
@Slf4j
@Service
@Transactional
@RequiredArgsConstructor
public class PropertyWriteService {
+ private static final String NAME_PREFIX = "NEU ";
+
private final PropertyReadService propertyReadService;
private final ChannelService channelService;
@@ -24,6 +28,8 @@ public class PropertyWriteService {
private final WebSocketService webSocketService;
+ private final PropertyRepository propertyRepository;
+
public void write(final String name, final double value) {
write(propertyReadService.getByName(name), value);
}
@@ -44,4 +50,29 @@ public class PropertyWriteService {
);
}
+ public PropertyDto create() {
+ final Property entry = new Property();
+ entry.setTitle(generateUnusedName());
+ return propertyMapper.toDto(propertyRepository.save(entry));
+ }
+
+ private String generateUnusedName() {
+ int index = 0;
+ String name = null;
+ while (name == null || propertyRepository.existsByName(name)) {
+ name = PropertyWriteService.NAME_PREFIX + ++index;
+ }
+ return name;
+ }
+
+ public PropertyDto set(final long id, final BiConsumer setter, final T value) {
+ final Property property = propertyReadService.getById(id);
+ setter.accept(property, value);
+ return propertyMapper.toDto(property);
+ }
+
+ public void delete(final long id) {
+ propertyRepository.deleteById(id);
+ }
+
}
diff --git a/src/main/java/de/ph87/homeautomation/schedule/Schedule.java b/src/main/java/de/ph87/homeautomation/schedule/Schedule.java
index 364e466..f4965cf 100644
--- a/src/main/java/de/ph87/homeautomation/schedule/Schedule.java
+++ b/src/main/java/de/ph87/homeautomation/schedule/Schedule.java
@@ -30,9 +30,6 @@ public class Schedule {
@ManyToOne
private Property property;
- @Enumerated(EnumType.STRING)
- private SchedulePropertyType propertyType;
-
@ToString.Exclude
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER)
private Set entries = new HashSet<>();
diff --git a/src/main/java/de/ph87/homeautomation/schedule/ScheduleController.java b/src/main/java/de/ph87/homeautomation/schedule/ScheduleController.java
index 0fd1c4c..4e8940c 100644
--- a/src/main/java/de/ph87/homeautomation/schedule/ScheduleController.java
+++ b/src/main/java/de/ph87/homeautomation/schedule/ScheduleController.java
@@ -54,9 +54,4 @@ public class ScheduleController {
return scheduleWriteService.set(id, (schedule, v) -> schedule.setProperty(mapIfNotNull(v, propertyReadService::getByName)), propertyName);
}
- @PostMapping("set/{id}/propertyType")
- public ScheduleDto setPropertyType(@PathVariable final long id, @RequestBody final String propertyType) {
- return scheduleWriteService.set(id, Schedule::setPropertyType, SchedulePropertyType.valueOf(propertyType));
- }
-
}
diff --git a/src/main/java/de/ph87/homeautomation/schedule/ScheduleDto.java b/src/main/java/de/ph87/homeautomation/schedule/ScheduleDto.java
index 9bd9a02..8c88c57 100644
--- a/src/main/java/de/ph87/homeautomation/schedule/ScheduleDto.java
+++ b/src/main/java/de/ph87/homeautomation/schedule/ScheduleDto.java
@@ -1,14 +1,12 @@
package de.ph87.homeautomation.schedule;
-import de.ph87.homeautomation.property.Property;
+import de.ph87.homeautomation.property.PropertyDto;
import de.ph87.homeautomation.schedule.entry.ScheduleEntryDto;
import lombok.Getter;
import java.util.Set;
import java.util.stream.Collectors;
-import static de.ph87.homeautomation.shared.Helpers.mapIfNotNull;
-
@Getter
public class ScheduleDto {
@@ -18,18 +16,15 @@ public class ScheduleDto {
public final String title;
- public final String propertyName;
-
- public final SchedulePropertyType propertyType;
+ public final PropertyDto property;
public final Set entries;
- public ScheduleDto(final Schedule schedule) {
+ public ScheduleDto(final Schedule schedule, final PropertyDto propertyDto) {
this.id = schedule.getId();
this.enabled = schedule.isEnabled();
this.title = schedule.getTitle();
- this.propertyName = mapIfNotNull(schedule.getProperty(), Property::getName);
- this.propertyType = schedule.getPropertyType();
+ this.property = propertyDto;
this.entries = schedule.getEntries().stream().map(ScheduleEntryDto::new).collect(Collectors.toSet());
}
diff --git a/src/main/java/de/ph87/homeautomation/schedule/ScheduleMapper.java b/src/main/java/de/ph87/homeautomation/schedule/ScheduleMapper.java
index 7a81994..835600c 100644
--- a/src/main/java/de/ph87/homeautomation/schedule/ScheduleMapper.java
+++ b/src/main/java/de/ph87/homeautomation/schedule/ScheduleMapper.java
@@ -1,18 +1,23 @@
package de.ph87.homeautomation.schedule;
+import de.ph87.homeautomation.property.PropertyMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import static de.ph87.homeautomation.shared.Helpers.mapIfNotNull;
+
@Slf4j
@Service
@Transactional
@RequiredArgsConstructor
public class ScheduleMapper {
+ private final PropertyMapper propertyMapper;
+
public ScheduleDto toDto(final Schedule schedule) {
- return new ScheduleDto(schedule);
+ return new ScheduleDto(schedule, mapIfNotNull(schedule.getProperty(), propertyMapper::toDto));
}
}
diff --git a/src/main/java/de/ph87/homeautomation/schedule/SchedulePropertyType.java b/src/main/java/de/ph87/homeautomation/schedule/SchedulePropertyType.java
deleted file mode 100644
index 5b19e38..0000000
--- a/src/main/java/de/ph87/homeautomation/schedule/SchedulePropertyType.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package de.ph87.homeautomation.schedule;
-
-public enum SchedulePropertyType {
- SWITCH, PERCENT, SHUTTER, SCENE
-}
|