Added more DemoData + Clean up
This commit is contained in:
parent
3a5cfad535
commit
5a74795569
@ -36,7 +36,11 @@ export abstract class Device {
|
|||||||
return item.title;
|
return item.title;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static compareTitle(a: Device, b: Device): number {
|
public static compareTypeThenTitle(a: Device, b: Device): number {
|
||||||
|
const type: number = -a.type.localeCompare(b.type);
|
||||||
|
if (type !== 0) {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
return a.title.localeCompare(b.title);
|
return a.title.localeCompare(b.title);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -35,8 +35,12 @@ export class Property {
|
|||||||
return item.name;
|
return item.name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static compareName(a: Property, b: Property): number {
|
public static compareTypeThenTitle(a: Property, b: Property): number {
|
||||||
return a.name.localeCompare(b.name);
|
const type: number = -a.type.localeCompare(b.type);
|
||||||
|
if (type !== 0) {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
return a.title.localeCompare(b.title);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
<ng-container *ngFor="let device of devices.sort(Device.compareTitle); trackBy: Device.trackBy">
|
<ng-container *ngFor="let device of devices.sort(Device.compareTypeThenTitle); trackBy: Device.trackBy">
|
||||||
<ng-container [ngSwitch]="device.type">
|
<ng-container [ngSwitch]="device.type">
|
||||||
<div class="device" *ngSwitchCase="'DeviceSwitch'" [ngClass]="getSwitchClassList(device)">
|
<div class="device" *ngSwitchCase="'DeviceSwitch'" [ngClass]="getSwitchClassList(device)">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
<th>Wert</th>
|
<th>Wert</th>
|
||||||
<th>Zeitstempel</th>
|
<th>Zeitstempel</th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr *ngFor="let property of properties">
|
<tr *ngFor="let property of properties.sort(Property.compareTypeThenTitle)">
|
||||||
<td>
|
<td>
|
||||||
<app-edit-field [initial]="property.title" (valueChange)="setProperty(property, 'title', $event)"></app-edit-field>
|
<app-edit-field [initial]="property.title" (valueChange)="setProperty(property, 'title', $event)"></app-edit-field>
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
@ -11,6 +11,8 @@ import {SceneService} from "../../api/scene/scene.service";
|
|||||||
})
|
})
|
||||||
export class PropertyListComponent implements OnInit {
|
export class PropertyListComponent implements OnInit {
|
||||||
|
|
||||||
|
Property = Property;
|
||||||
|
|
||||||
properties: Property[] = [];
|
properties: Property[] = [];
|
||||||
|
|
||||||
scenes: Scene[] = [];
|
scenes: Scene[] = [];
|
||||||
@ -23,7 +25,7 @@ export class PropertyListComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.propertyService.findAll(properties => this.properties = properties, Property.compareName);
|
this.propertyService.findAll(properties => this.properties = properties, Property.compareTypeThenTitle);
|
||||||
this.propertyService.subscribe(update => this.updateProperty(update.payload, update.existing));
|
this.propertyService.subscribe(update => this.updateProperty(update.payload, update.existing));
|
||||||
|
|
||||||
this.sceneService.findAll(scenes => this.scenes = scenes, Scene.compareNumber);
|
this.sceneService.findAll(scenes => this.scenes = scenes, Scene.compareNumber);
|
||||||
|
|||||||
@ -48,24 +48,39 @@ public class DemoDataService {
|
|||||||
private final SceneWriteService sceneWriteService;
|
private final SceneWriteService sceneWriteService;
|
||||||
|
|
||||||
public void insertDemoData() {
|
public void insertDemoData() {
|
||||||
|
final Property fernseher = createProperty("fernseher.eg", PropertyType.SWITCH, "Fernseher", knx(0, 0, 20), knx(0, 0, 4));
|
||||||
|
final Property verstaerker = createProperty("verstaerker", PropertyType.SWITCH, "Verstärker", knx(0, 3, 57), knx(0, 3, 56));
|
||||||
|
final Property garten_steckdosen = createProperty("garten.steckdosen", PropertyType.SWITCH, "Garten Steckdosen", knx(0, 4, 12), knx(0, 4, 11));
|
||||||
|
final Property terrasse = createProperty("terrasse", PropertyType.SWITCH, "Terrasse Licht", knx(0, 4, 1), knx(0, 4, 0));
|
||||||
|
|
||||||
final Property ambiente_eg = createProperty("ambiente.eg", PropertyType.SWITCH, "Ambiente EG", knx(0, 3, 81), knx(0, 3, 80));
|
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 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 = 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 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 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 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 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 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));
|
final Property szene_haus = createProperty("szene_haus", PropertyType.SCENE, "Szene Haus ", null, knx(0, 0, 21));
|
||||||
|
|
||||||
if (deviceRepository.count() == 0) {
|
if (deviceRepository.count() == 0) {
|
||||||
deviceWriteService.createDeviceSwitch("Ambiente EG", ambiente_eg);
|
deviceWriteService.createDeviceSwitch(fernseher);
|
||||||
deviceWriteService.createDeviceSwitch("Ambiente OG", ambiente_og);
|
deviceWriteService.createDeviceSwitch(verstaerker);
|
||||||
deviceWriteService.createDeviceSwitch("Bad Licht", bad_licht);
|
deviceWriteService.createDeviceSwitch(garten_steckdosen);
|
||||||
deviceWriteService.createDeviceShutter("Wohnzimmer Rollladen", wohnzimmer_rollladen);
|
deviceWriteService.createDeviceSwitch(terrasse);
|
||||||
deviceWriteService.createDeviceShutter("Schlafzimmer Rollladen", schlafzimmer_rollladen);
|
|
||||||
deviceWriteService.createDeviceShutter("Flur Rollladen", flur_og_rollladen);
|
deviceWriteService.createDeviceSwitch(ambiente_eg);
|
||||||
|
deviceWriteService.createDeviceSwitch(ambiente_og);
|
||||||
|
|
||||||
|
deviceWriteService.createDeviceSwitch(bad_licht);
|
||||||
|
deviceWriteService.createDeviceSwitch(flur_eg_licht);
|
||||||
|
|
||||||
|
deviceWriteService.createDeviceShutter(wohnzimmer_rollladen);
|
||||||
|
deviceWriteService.createDeviceShutter(schlafzimmer_rollladen);
|
||||||
|
deviceWriteService.createDeviceShutter(flur_og_rollladen);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sceneRepository.count() == 0) {
|
if (sceneRepository.count() == 0) {
|
||||||
@ -116,17 +131,6 @@ public class DemoDataService {
|
|||||||
createSunset(scheduleFlurRollladen, true, BETWEEN_OFFICIAL_AND_CIVIL, 0, 100);
|
createSunset(scheduleFlurRollladen, true, BETWEEN_OFFICIAL_AND_CIVIL, 0, 100);
|
||||||
scheduleRepository.save(scheduleFlurRollladen);
|
scheduleRepository.save(scheduleFlurRollladen);
|
||||||
|
|
||||||
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);
|
|
||||||
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);
|
|
||||||
|
|
||||||
final Schedule scheduleSzeneHaus = createSchedule(true, "Dekoration", szene_haus);
|
final Schedule scheduleSzeneHaus = createSchedule(true, "Dekoration", szene_haus);
|
||||||
createTime(scheduleSzeneHaus, true, 6, 0, 0, 0, 31);
|
createTime(scheduleSzeneHaus, true, 6, 0, 0, 0, 31);
|
||||||
createTime(scheduleSzeneHaus, true, 8, 30, 0, 0, 30);
|
createTime(scheduleSzeneHaus, true, 8, 30, 0, 0, 30);
|
||||||
|
|||||||
@ -24,17 +24,25 @@ public class DeviceWriteService {
|
|||||||
|
|
||||||
private final DeviceReadService deviceReadService;
|
private final DeviceReadService deviceReadService;
|
||||||
|
|
||||||
|
public DeviceDto createDeviceSwitch(final Property stateProperty) {
|
||||||
|
return createDeviceSwitch(null, stateProperty);
|
||||||
|
}
|
||||||
|
|
||||||
public DeviceDto createDeviceSwitch(final String title, final Property stateProperty) {
|
public DeviceDto createDeviceSwitch(final String title, final Property stateProperty) {
|
||||||
final DeviceSwitch deviceSwitch = new DeviceSwitch();
|
final DeviceSwitch deviceSwitch = new DeviceSwitch();
|
||||||
deviceSwitch.setTitle(title);
|
deviceSwitch.setTitle(getTitle(title, stateProperty));
|
||||||
deviceSwitch.setStateProperty(stateProperty);
|
deviceSwitch.setStateProperty(stateProperty);
|
||||||
deviceRepository.save(deviceSwitch);
|
deviceRepository.save(deviceSwitch);
|
||||||
return deviceReadService.toDto(deviceSwitch);
|
return deviceReadService.toDto(deviceSwitch);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public DeviceDto createDeviceShutter(final Property positionProperty) {
|
||||||
|
return createDeviceShutter(null, positionProperty);
|
||||||
|
}
|
||||||
|
|
||||||
public DeviceDto createDeviceShutter(final String title, final Property positionProperty) {
|
public DeviceDto createDeviceShutter(final String title, final Property positionProperty) {
|
||||||
final DeviceShutter deviceShutter = new DeviceShutter();
|
final DeviceShutter deviceShutter = new DeviceShutter();
|
||||||
deviceShutter.setTitle(title);
|
deviceShutter.setTitle(getTitle(title, positionProperty));
|
||||||
deviceShutter.setPositionProperty(positionProperty);
|
deviceShutter.setPositionProperty(positionProperty);
|
||||||
deviceRepository.save(deviceShutter);
|
deviceRepository.save(deviceShutter);
|
||||||
return deviceReadService.toDto(deviceShutter);
|
return deviceReadService.toDto(deviceShutter);
|
||||||
@ -71,13 +79,23 @@ public class DeviceWriteService {
|
|||||||
public DeviceDto create(final String type) {
|
public DeviceDto create(final String type) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case "DeviceSwitch":
|
case "DeviceSwitch":
|
||||||
return createDeviceSwitch(generateUnusedTitle(), null);
|
return createDeviceSwitch(null, null);
|
||||||
case "DeviceShutter":
|
case "DeviceShutter":
|
||||||
return createDeviceShutter(generateUnusedTitle(), null);
|
return createDeviceShutter(null, null);
|
||||||
}
|
}
|
||||||
throw new RuntimeException("Not implemented type: " + type);
|
throw new RuntimeException("Not implemented type: " + type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getTitle(final String title, final Property property) {
|
||||||
|
if (title != null) {
|
||||||
|
return title;
|
||||||
|
} else if (property != null) {
|
||||||
|
return property.getTitle();
|
||||||
|
} else {
|
||||||
|
return generateUnusedTitle();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private String generateUnusedTitle() {
|
private String generateUnusedTitle() {
|
||||||
int index = 0;
|
int index = 0;
|
||||||
String title = null;
|
String title = null;
|
||||||
|
|||||||
@ -7,6 +7,13 @@ import java.util.function.Supplier;
|
|||||||
|
|
||||||
public class Helpers {
|
public class Helpers {
|
||||||
|
|
||||||
|
public static <T> T orElseGet(final T value, final T orElse) {
|
||||||
|
if (value == null) {
|
||||||
|
return orElse;
|
||||||
|
}
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
public static <T> T orElseGet(final T value, final Supplier<T> orElseGet) {
|
public static <T> T orElseGet(final T value, final Supplier<T> orElseGet) {
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
return orElseGet.get();
|
return orElseGet.get();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user