58 lines
1.2 KiB
Java
58 lines
1.2 KiB
Java
package de.ph87.home.knx.group;
|
|
|
|
import de.ph87.home.property.State;
|
|
import de.ph87.home.web.IWebSocketMessage;
|
|
import jakarta.annotation.Nullable;
|
|
import lombok.Getter;
|
|
import lombok.NonNull;
|
|
import lombok.ToString;
|
|
|
|
import java.time.ZonedDateTime;
|
|
import java.util.List;
|
|
|
|
@Getter
|
|
@ToString
|
|
public class GroupDto implements IWebSocketMessage {
|
|
|
|
@ToString.Exclude
|
|
private final List<Object> websocketTopic = List.of("Knx", "Group");
|
|
|
|
@NonNull
|
|
@ToString.Exclude
|
|
private final String id;
|
|
|
|
@NonNull
|
|
private final String address;
|
|
|
|
@NonNull
|
|
private final String name;
|
|
|
|
@NonNull
|
|
@ToString.Exclude
|
|
private final String description;
|
|
|
|
@NonNull
|
|
private final String dpt;
|
|
|
|
@ToString.Exclude
|
|
private final long puid;
|
|
|
|
@Nullable
|
|
private final State<?> state;
|
|
|
|
@Nullable
|
|
private final ZonedDateTime lastValueChange;
|
|
|
|
public GroupDto(@NonNull final Group group) {
|
|
this.id = group.getId();
|
|
this.address = group.getAddress().toString();
|
|
this.name = group.getName();
|
|
this.description = group.getDescription();
|
|
this.dpt = group.getDpt().toString();
|
|
this.puid = group.getPuid();
|
|
this.state = group.getState();
|
|
this.lastValueChange = group.getLastValueChange();
|
|
}
|
|
|
|
}
|