From 858ec579f8beed6b63c4cec148fa1b8fbddc3327 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Preu=C3=9F?= Date: Tue, 27 Jan 2026 12:08:08 +0100 Subject: [PATCH 1/5] Adding SMOKE_DETECTOR --- src/main/java/de/eq3/plugin/serialization/DeviceType.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/de/eq3/plugin/serialization/DeviceType.java b/src/main/java/de/eq3/plugin/serialization/DeviceType.java index efe733f..a813570 100644 --- a/src/main/java/de/eq3/plugin/serialization/DeviceType.java +++ b/src/main/java/de/eq3/plugin/serialization/DeviceType.java @@ -49,6 +49,9 @@ public enum DeviceType { @TypeValueDocumentation(description = "Type for smoke detecting devices.") SMOKE_ALARM(Set.of(Feature.SMOKE_ALARM), Set.of(Feature.MAINTENANCE)), + @TypeValueDocumentation(description = "Type for smoke detecting devices.") + SMOKE_DETECTOR(Set.of(Feature.SMOKE_ALARM), Set.of(Feature.MAINTENANCE)), + @TypeValueDocumentation( description = "Type for devices that can be triggered to send out single switch signals to the system, " + "like buttons.") From 08667fa2186551ad8344c7e7e313a90953db66e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Preu=C3=9F?= Date: Tue, 27 Jan 2026 12:24:47 +0100 Subject: [PATCH 2/5] Adding some missing path objects --- src/main/java/de/eq3/plugin/path/Client.java | 77 ++++++ src/main/java/de/eq3/plugin/path/Device.java | 123 ++++++++++ .../path/ExternalServiceAccountLinking.java | 41 ++++ .../java/de/eq3/plugin/path/FriendlyName.java | 45 ++++ .../de/eq3/plugin/path/FunctionalChannel.java | 144 ++++++++++++ .../de/eq3/plugin/path/FunctionalHome.java | 211 +++++++++++++++++ src/main/java/de/eq3/plugin/path/Group.java | 187 +++++++++++++++ .../java/de/eq3/plugin/path/GroupChannel.java | 45 ++++ .../de/eq3/plugin/path/HmipSystemState.java | 54 +++++ src/main/java/de/eq3/plugin/path/Home.java | 219 ++++++++++++++++++ .../de/eq3/plugin/path/HomeExtension.java | 118 ++++++++++ .../de/eq3/plugin/path/LightSceneEntry.java | 57 +++++ .../de/eq3/plugin/path/LiveOTAUStatus.java | 45 ++++ .../java/de/eq3/plugin/path/Location.java | 49 ++++ .../de/eq3/plugin/path/MassStorageDevice.java | 61 +++++ .../de/eq3/plugin/path/PluginInformation.java | 54 +++++ .../de/eq3/plugin/path/PluginUserMessage.java | 62 +++++ .../path/SystemUpdateConfiguration.java | 55 +++++ .../de/eq3/plugin/path/SystemUpdateState.java | 53 +++++ .../eq3/plugin/path/VoiceControlSettings.java | 47 ++++ src/main/java/de/eq3/plugin/path/Weather.java | 73 ++++++ 21 files changed, 1820 insertions(+) create mode 100644 src/main/java/de/eq3/plugin/path/Client.java create mode 100644 src/main/java/de/eq3/plugin/path/Device.java create mode 100644 src/main/java/de/eq3/plugin/path/ExternalServiceAccountLinking.java create mode 100644 src/main/java/de/eq3/plugin/path/FriendlyName.java create mode 100644 src/main/java/de/eq3/plugin/path/FunctionalChannel.java create mode 100644 src/main/java/de/eq3/plugin/path/FunctionalHome.java create mode 100644 src/main/java/de/eq3/plugin/path/Group.java create mode 100644 src/main/java/de/eq3/plugin/path/GroupChannel.java create mode 100644 src/main/java/de/eq3/plugin/path/HmipSystemState.java create mode 100644 src/main/java/de/eq3/plugin/path/Home.java create mode 100644 src/main/java/de/eq3/plugin/path/HomeExtension.java create mode 100644 src/main/java/de/eq3/plugin/path/LightSceneEntry.java create mode 100644 src/main/java/de/eq3/plugin/path/LiveOTAUStatus.java create mode 100644 src/main/java/de/eq3/plugin/path/Location.java create mode 100644 src/main/java/de/eq3/plugin/path/MassStorageDevice.java create mode 100644 src/main/java/de/eq3/plugin/path/PluginInformation.java create mode 100644 src/main/java/de/eq3/plugin/path/PluginUserMessage.java create mode 100644 src/main/java/de/eq3/plugin/path/SystemUpdateConfiguration.java create mode 100644 src/main/java/de/eq3/plugin/path/SystemUpdateState.java create mode 100644 src/main/java/de/eq3/plugin/path/VoiceControlSettings.java create mode 100644 src/main/java/de/eq3/plugin/path/Weather.java diff --git a/src/main/java/de/eq3/plugin/path/Client.java b/src/main/java/de/eq3/plugin/path/Client.java new file mode 100644 index 0000000..b517a24 --- /dev/null +++ b/src/main/java/de/eq3/plugin/path/Client.java @@ -0,0 +1,77 @@ +/** + * Copyright 2014-2025 eQ-3 AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.eq3.plugin.path; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import de.eq3.plugin.documentation.FieldDocumentation; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.jackson.Jacksonized; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Builder +@Jacksonized +public class Client { + + @JsonProperty("clientType") + @FieldDocumentation(description = "Client type", example = "PLUGIN", nullable = true) + private String clientType; + + @JsonProperty("id") + @FieldDocumentation(description = "Client ID", nullable = true) + private String id; + + @JsonProperty("label") + @FieldDocumentation(description = "Client label", nullable = true) + private String label; + + @JsonProperty("homeId") + @FieldDocumentation(description = "Home ID", nullable = true) + private String homeId; + + @JsonProperty("createdAtTimestamp") + @FieldDocumentation(description = "Created at timestamp", nullable = false) + private long createdAtTimestamp; + + @JsonProperty("lastSeenAtTimestamp") + @FieldDocumentation(description = "Last seen at timestamp", nullable = false) + private long lastSeenAtTimestamp; + + @JsonProperty("pluginId") + @FieldDocumentation(description = "Plugin ID", nullable = true) + private String pluginId; + + @JsonProperty("friendlyName") + @FieldDocumentation(description = "Friendly name", nullable = true) + private FriendlyName friendlyName; + + @JsonProperty("visible") + @FieldDocumentation(description = "Whether client is visible", nullable = false) + private boolean visible; + + @JsonProperty("adminInitializationRequired") + @FieldDocumentation(description = "Whether admin initialization is required", nullable = true) + private Boolean adminInitializationRequired; +} diff --git a/src/main/java/de/eq3/plugin/path/Device.java b/src/main/java/de/eq3/plugin/path/Device.java new file mode 100644 index 0000000..7cfd747 --- /dev/null +++ b/src/main/java/de/eq3/plugin/path/Device.java @@ -0,0 +1,123 @@ +/** + * Copyright 2014-2025 eQ-3 AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.eq3.plugin.path; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import de.eq3.plugin.documentation.FieldDocumentation; +import de.eq3.plugin.serialization.DeviceType; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.jackson.Jacksonized; +import java.util.Map; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Builder +@Jacksonized +public class Device { + + @JsonProperty("id") + @FieldDocumentation(description = "Device ID", nullable = true) + private String id; + + @JsonProperty("type") + @FieldDocumentation(description = "Device type", nullable = true) + private DeviceType type; + + @JsonProperty("homeId") + @FieldDocumentation(description = "Home ID", nullable = true) + private String homeId; + + @JsonProperty("lastStatusUpdate") + @FieldDocumentation(description = "Last status update timestamp", nullable = false) + private long lastStatusUpdate; + + @JsonProperty("label") + @FieldDocumentation(description = "Device label", nullable = true) + private String label; + + @JsonProperty("functionalChannels") + @FieldDocumentation(description = "Map of functional channels", nullable = true) + private Map functionalChannels; + + @JsonProperty("deviceArchetype") + @FieldDocumentation(description = "Device archetype", example = "HMIP", nullable = true) + private String deviceArchetype; + + @JsonProperty("manuallyUpdateForced") + @FieldDocumentation(description = "Whether manually update is forced", nullable = false) + private boolean manuallyUpdateForced; + + @JsonProperty("manufacturerCode") + @FieldDocumentation(description = "Manufacturer code", nullable = false) + private int manufacturerCode; + + @JsonProperty("oem") + @FieldDocumentation(description = "OEM", example = "eQ-3", nullable = true) + private String oem; + + @JsonProperty("measuredAttributes") + @FieldDocumentation(description = "Map of measured attributes", nullable = true) + private Map measuredAttributes; + + @JsonProperty("updateState") + @FieldDocumentation(description = "Update state", example = "UP_TO_DATE", nullable = true) + private String updateState; + + @JsonProperty("modelType") + @FieldDocumentation(description = "Model type", nullable = true) + private String modelType; + + @JsonProperty("firmwareVersion") + @FieldDocumentation(description = "Firmware version", nullable = true) + private String firmwareVersion; + + @JsonProperty("modelId") + @FieldDocumentation(description = "Model ID", nullable = false) + private int modelId; + + @JsonProperty("connectionType") + @FieldDocumentation(description = "Connection type", example = "HMIP_RF", nullable = true) + private String connectionType; + + @JsonProperty("liveUpdateState") + @FieldDocumentation(description = "Live update state", nullable = true) + private String liveUpdateState; + + @JsonProperty("availableFirmwareVersion") + @FieldDocumentation(description = "Available firmware version", nullable = true) + private String availableFirmwareVersion; + + @JsonProperty("firmwareVersionInteger") + @FieldDocumentation(description = "Firmware version as integer", nullable = false) + private int firmwareVersionInteger; + + @JsonProperty("serializedGlobalTradeItemNumber") + @FieldDocumentation(description = "Serialized Global Trade Item Number", nullable = true) + private String serializedGlobalTradeItemNumber; + + @JsonProperty("permanentlyReachable") + @FieldDocumentation(description = "Whether device is permanently reachable", nullable = false) + private boolean permanentlyReachable; +} diff --git a/src/main/java/de/eq3/plugin/path/ExternalServiceAccountLinking.java b/src/main/java/de/eq3/plugin/path/ExternalServiceAccountLinking.java new file mode 100644 index 0000000..dc1e374 --- /dev/null +++ b/src/main/java/de/eq3/plugin/path/ExternalServiceAccountLinking.java @@ -0,0 +1,41 @@ +/** + * Copyright 2014-2025 eQ-3 AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.eq3.plugin.path; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import de.eq3.plugin.documentation.FieldDocumentation; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.jackson.Jacksonized; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Builder +@Jacksonized +public class ExternalServiceAccountLinking { + + @JsonProperty("externalService") + @FieldDocumentation(description = "External service name", example = "PLUGIN", nullable = true) + private String externalService; +} diff --git a/src/main/java/de/eq3/plugin/path/FriendlyName.java b/src/main/java/de/eq3/plugin/path/FriendlyName.java new file mode 100644 index 0000000..36f30b9 --- /dev/null +++ b/src/main/java/de/eq3/plugin/path/FriendlyName.java @@ -0,0 +1,45 @@ +/** + * Copyright 2014-2025 eQ-3 AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.eq3.plugin.path; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import de.eq3.plugin.documentation.FieldDocumentation; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.jackson.Jacksonized; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Builder +@Jacksonized +public class FriendlyName { + + @JsonProperty("en") + @FieldDocumentation(description = "English friendly name", nullable = true) + private String en; + + @JsonProperty("de") + @FieldDocumentation(description = "German friendly name", nullable = true) + private String de; +} diff --git a/src/main/java/de/eq3/plugin/path/FunctionalChannel.java b/src/main/java/de/eq3/plugin/path/FunctionalChannel.java new file mode 100644 index 0000000..a0eae36 --- /dev/null +++ b/src/main/java/de/eq3/plugin/path/FunctionalChannel.java @@ -0,0 +1,144 @@ +/** + * Copyright 2014-2025 eQ-3 AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.eq3.plugin.path; + +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import de.eq3.plugin.documentation.FieldDocumentation; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.jackson.Jacksonized; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Builder +@Jacksonized +public class FunctionalChannel { + + @JsonProperty("label") + @FieldDocumentation(description = "Channel label", nullable = true) + private String label; + + @JsonProperty("deviceId") + @FieldDocumentation(description = "Device ID", nullable = true) + private String deviceId; + + @JsonProperty("index") + @FieldDocumentation(description = "Channel index", nullable = false) + private int index; + + @JsonProperty("groupIndex") + @FieldDocumentation(description = "Group index", nullable = false) + private int groupIndex; + + @JsonProperty("functionalChannelType") + @FieldDocumentation(description = "Functional channel type", nullable = true) + private String functionalChannelType; + + @JsonProperty("groups") + @FieldDocumentation(description = "List of group IDs", nullable = true) + private List groups; + + @JsonProperty("unreach") + @FieldDocumentation(description = "Whether channel is unreachable", nullable = true) + private Boolean unreach; + + @JsonProperty("lowBat") + @FieldDocumentation(description = "Whether battery is low", nullable = true) + private Boolean lowBat; + + @JsonProperty("routerModuleEnabled") + @FieldDocumentation(description = "Whether router module is enabled", nullable = true) + private Boolean routerModuleEnabled; + + @JsonProperty("multicastRoutingEnabled") + @FieldDocumentation(description = "Whether multicast routing is enabled", nullable = true) + private Boolean multicastRoutingEnabled; + + @JsonProperty("routerModuleSupported") + @FieldDocumentation(description = "Whether router module is supported", nullable = true) + private Boolean routerModuleSupported; + + @JsonProperty("rssiDeviceValue") + @FieldDocumentation(description = "RSSI device value", nullable = true) + private Integer rssiDeviceValue; + + @JsonProperty("configPending") + @FieldDocumentation(description = "Whether configuration is pending", nullable = true) + private Boolean configPending; + + @JsonProperty("dutyCycle") + @FieldDocumentation(description = "Duty cycle", nullable = true) + private Boolean dutyCycle; + + @JsonProperty("deviceOverloaded") + @FieldDocumentation(description = "Whether device is overloaded", nullable = true) + private Boolean deviceOverloaded; + + @JsonProperty("coProUpdateFailure") + @FieldDocumentation(description = "Whether co-processor update failed", nullable = true) + private Boolean coProUpdateFailure; + + @JsonProperty("coProFaulty") + @FieldDocumentation(description = "Whether co-processor is faulty", nullable = true) + private Boolean coProFaulty; + + @JsonProperty("coProRestartNeeded") + @FieldDocumentation(description = "Whether co-processor restart is needed", nullable = true) + private Boolean coProRestartNeeded; + + @JsonProperty("deviceUndervoltage") + @FieldDocumentation(description = "Whether device has undervoltage", nullable = true) + private Boolean deviceUndervoltage; + + @JsonProperty("deviceOverheated") + @FieldDocumentation(description = "Whether device is overheated", nullable = true) + private Boolean deviceOverheated; + + @JsonProperty("temperatureOutOfRange") + @FieldDocumentation(description = "Whether temperature is out of range", nullable = true) + private Boolean temperatureOutOfRange; + + @JsonProperty("devicePowerFailureDetected") + @FieldDocumentation(description = "Whether device power failure is detected", nullable = true) + private Boolean devicePowerFailureDetected; + + @JsonProperty("supportedOptionalFeatures") + @FieldDocumentation(description = "Map of supported optional features", nullable = true) + private Map supportedOptionalFeatures; + + @JsonProperty("defaultLinkedGroup") + @FieldDocumentation(description = "Default linked group", nullable = true) + private List defaultLinkedGroup; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + public Object getAdditionalProperty(String name) { + return additionalProperties.get(name); + } +} diff --git a/src/main/java/de/eq3/plugin/path/FunctionalHome.java b/src/main/java/de/eq3/plugin/path/FunctionalHome.java new file mode 100644 index 0000000..44ce236 --- /dev/null +++ b/src/main/java/de/eq3/plugin/path/FunctionalHome.java @@ -0,0 +1,211 @@ +/** + * Copyright 2014-2025 eQ-3 AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.eq3.plugin.path; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import de.eq3.plugin.documentation.FieldDocumentation; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.jackson.Jacksonized; +import java.util.List; +import java.util.Map; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Builder +@Jacksonized +public class FunctionalHome { + + @JsonProperty("functionalGroups") + @FieldDocumentation(description = "List of functional group IDs", nullable = true) + private List functionalGroups; + + @JsonProperty("solution") + @FieldDocumentation(description = "Solution type", nullable = true) + private String solution; + + @JsonProperty("active") + @FieldDocumentation(description = "Whether functional home is active", nullable = false) + private boolean active; + + @JsonProperty("extendedLinkedSwitchingGroups") + @FieldDocumentation(description = "List of extended linked switching groups", nullable = true) + private List extendedLinkedSwitchingGroups; + + @JsonProperty("extendedLinkedShutterGroups") + @FieldDocumentation(description = "List of extended linked shutter groups", nullable = true) + private List extendedLinkedShutterGroups; + + @JsonProperty("switchingProfileGroups") + @FieldDocumentation(description = "List of switching profile groups", nullable = true) + private List switchingProfileGroups; + + @JsonProperty("shutterProfileGroups") + @FieldDocumentation(description = "List of shutter profile groups", nullable = true) + private List shutterProfileGroups; + + @JsonProperty("lightSceneEntries") + @FieldDocumentation(description = "List of light scene entries", nullable = true) + private List lightSceneEntries; + + @JsonProperty("extendedLinkedNotificationGroups") + @FieldDocumentation(description = "List of extended linked notification groups", nullable = true) + private List extendedLinkedNotificationGroups; + + @JsonProperty("alarmActive") + @FieldDocumentation(description = "Whether alarm is active", nullable = true) + private Boolean alarmActive; + + @JsonProperty("safetyAlarmActive") + @FieldDocumentation(description = "Whether safety alarm is active", nullable = true) + private Boolean safetyAlarmActive; + + @JsonProperty("intrusionAlarmActive") + @FieldDocumentation(description = "Whether intrusion alarm is active", nullable = true) + private Boolean intrusionAlarmActive; + + @JsonProperty("securityZones") + @FieldDocumentation(description = "Map of security zones", nullable = true) + private Map securityZones; + + @JsonProperty("securitySwitchingGroups") + @FieldDocumentation(description = "Map of security switching groups", nullable = true) + private Map securitySwitchingGroups; + + @JsonProperty("zoneActivationDelay") + @FieldDocumentation(description = "Zone activation delay", nullable = true) + private Double zoneActivationDelay; + + @JsonProperty("intrusionAlertThroughSmokeDetectors") + @FieldDocumentation(description = "Whether intrusion alert through smoke detectors", nullable = true) + private Boolean intrusionAlertThroughSmokeDetectors; + + @JsonProperty("securityZoneActivationMode") + @FieldDocumentation(description = "Security zone activation mode", nullable = true) + private String securityZoneActivationMode; + + @JsonProperty("deviceChannelSpecificFunction") + @FieldDocumentation(description = "Map of device channel specific functions", nullable = true) + private Map deviceChannelSpecificFunction; + + @JsonProperty("waterAlarmGroups") + @FieldDocumentation(description = "List of water alarm groups", nullable = true) + private List waterAlarmGroups; + + @JsonProperty("activationInProgress") + @FieldDocumentation(description = "Whether activation is in progress", nullable = true) + private Boolean activationInProgress; + + @JsonProperty("accessAuthorizationProfileGroups") + @FieldDocumentation(description = "List of access authorization profile groups", nullable = true) + private List accessAuthorizationProfileGroups; + + @JsonProperty("doorLockAuthorizationProfileGroups") + @FieldDocumentation(description = "List of door lock authorization profile groups", nullable = true) + private List doorLockAuthorizationProfileGroups; + + @JsonProperty("lockProfileGroups") + @FieldDocumentation(description = "List of lock profile groups", nullable = true) + private List lockProfileGroups; + + @JsonProperty("autoRelockProfileGroups") + @FieldDocumentation(description = "List of auto relock profile groups", nullable = true) + private List autoRelockProfileGroups; + + @JsonProperty("extendedLinkedGarageDoorGroups") + @FieldDocumentation(description = "List of extended linked garage door groups", nullable = true) + private List extendedLinkedGarageDoorGroups; + + @JsonProperty("absenceType") + @FieldDocumentation(description = "Absence type", nullable = true) + private String absenceType; + + @JsonProperty("floorHeatingSpecificGroups") + @FieldDocumentation(description = "Map of floor heating specific groups", nullable = true) + private Map floorHeatingSpecificGroups; + + @JsonProperty("ecoTemperature") + @FieldDocumentation(description = "Eco temperature", nullable = true) + private Double ecoTemperature; + + @JsonProperty("coolingEnabled") + @FieldDocumentation(description = "Whether cooling is enabled", nullable = true) + private Boolean coolingEnabled; + + @JsonProperty("ecoDuration") + @FieldDocumentation(description = "Eco duration", nullable = true) + private String ecoDuration; + + @JsonProperty("optimumStartStopEnabled") + @FieldDocumentation(description = "Whether optimum start/stop is enabled", nullable = true) + private Boolean optimumStartStopEnabled; + + @JsonProperty("extendedLinkedVentilationGroups") + @FieldDocumentation(description = "List of extended linked ventilation groups", nullable = true) + private List extendedLinkedVentilationGroups; + + @JsonProperty("ventilationProfileGroups") + @FieldDocumentation(description = "List of ventilation profile groups", nullable = true) + private List ventilationProfileGroups; + + @JsonProperty("demandControlledVentilationGroups") + @FieldDocumentation(description = "List of demand controlled ventilation groups", nullable = true) + private List demandControlledVentilationGroups; + + @JsonProperty("demandControlledVentilationSpecificGroups") + @FieldDocumentation(description = "Map of demand controlled ventilation specific groups", nullable = true) + private Map demandControlledVentilationSpecificGroups; + + @JsonProperty("notSelectableDemandControlledVentilationModes") + @FieldDocumentation(description = "List of not selectable demand controlled ventilation modes", nullable = true) + private List notSelectableDemandControlledVentilationModes; + + @JsonProperty("extendedLinkedWateringGroups") + @FieldDocumentation(description = "List of extended linked watering groups", nullable = true) + private List extendedLinkedWateringGroups; + + @JsonProperty("wateringProfileGroups") + @FieldDocumentation(description = "List of watering profile groups", nullable = true) + private List wateringProfileGroups; + + @JsonProperty("energyDashboardChannels") + @FieldDocumentation(description = "List of energy dashboard channels", nullable = true) + private List energyDashboardChannels; + + @JsonProperty("consumptionCurtailmentChannels") + @FieldDocumentation(description = "List of consumption curtailment channels", nullable = true) + private List consumptionCurtailmentChannels; + + @JsonProperty("productionCurtailmentChannels") + @FieldDocumentation(description = "List of production curtailment channels", nullable = true) + private List productionCurtailmentChannels; + + @JsonProperty("productionCurtailed") + @FieldDocumentation(description = "Whether production is curtailed", nullable = true) + private Boolean productionCurtailed; + + @JsonProperty("consumptionCurtailed") + @FieldDocumentation(description = "Whether consumption is curtailed", nullable = true) + private Boolean consumptionCurtailed; +} diff --git a/src/main/java/de/eq3/plugin/path/Group.java b/src/main/java/de/eq3/plugin/path/Group.java new file mode 100644 index 0000000..230f00f --- /dev/null +++ b/src/main/java/de/eq3/plugin/path/Group.java @@ -0,0 +1,187 @@ +/** + * Copyright 2014-2025 eQ-3 AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.eq3.plugin.path; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import de.eq3.plugin.documentation.FieldDocumentation; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.jackson.Jacksonized; +import java.util.List; +import java.util.Map; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Builder +@Jacksonized +public class Group { + + @JsonProperty("id") + @FieldDocumentation(description = "Group ID", nullable = true) + private String id; + + @JsonProperty("homeId") + @FieldDocumentation(description = "Home ID", nullable = true) + private String homeId; + + @JsonProperty("label") + @FieldDocumentation(description = "Group label", nullable = true) + private String label; + + @JsonProperty("lastStatusUpdate") + @FieldDocumentation(description = "Last status update timestamp", nullable = false) + private long lastStatusUpdate; + + @JsonProperty("type") + @FieldDocumentation(description = "Group type", nullable = true) + private String type; + + @JsonProperty("channels") + @FieldDocumentation(description = "List of group channels", nullable = true) + private List channels; + + @JsonProperty("active") + @FieldDocumentation(description = "Whether group is active", nullable = true) + private Boolean active; + + @JsonProperty("silent") + @FieldDocumentation(description = "Whether group is silent", nullable = true) + private Boolean silent; + + @JsonProperty("ignorableDeviceChannels") + @FieldDocumentation(description = "List of ignorable device channels", nullable = true) + private List ignorableDeviceChannels; + + @JsonProperty("metaGroupId") + @FieldDocumentation(description = "Meta group ID", nullable = true) + private String metaGroupId; + + @JsonProperty("unreach") + @FieldDocumentation(description = "Whether group is unreachable", nullable = true) + private Boolean unreach; + + @JsonProperty("lowBat") + @FieldDocumentation(description = "Whether battery is low", nullable = true) + private Boolean lowBat; + + @JsonProperty("dutyCycle") + @FieldDocumentation(description = "Duty cycle", nullable = true) + private Boolean dutyCycle; + + @JsonProperty("windowState") + @FieldDocumentation(description = "Window state", nullable = true) + private String windowState; + + @JsonProperty("sabotage") + @FieldDocumentation(description = "Whether sabotage is detected", nullable = true) + private Boolean sabotage; + + @JsonProperty("zoneAssignmentIndex") + @FieldDocumentation(description = "Zone assignment index", nullable = true) + private String zoneAssignmentIndex; + + @JsonProperty("onTime") + @FieldDocumentation(description = "On time", nullable = true) + private Double onTime; + + @JsonProperty("signalAcoustic") + @FieldDocumentation(description = "Acoustic signal type", nullable = true) + private String signalAcoustic; + + @JsonProperty("signalOptical") + @FieldDocumentation(description = "Optical signal type", nullable = true) + private String signalOptical; + + @JsonProperty("acousticFeedbackEnabled") + @FieldDocumentation(description = "Whether acoustic feedback is enabled", nullable = true) + private Boolean acousticFeedbackEnabled; + + @JsonProperty("supportedOptionalFeatures") + @FieldDocumentation(description = "Map of supported optional features", nullable = true) + private Map supportedOptionalFeatures; + + @JsonProperty("profileId") + @FieldDocumentation(description = "Profile ID", nullable = true) + private String profileId; + + @JsonProperty("autoRelockDelay") + @FieldDocumentation(description = "Auto relock delay", nullable = true) + private Double autoRelockDelay; + + @JsonProperty("triggered") + @FieldDocumentation(description = "Whether group is triggered", nullable = true) + private Boolean triggered; + + @JsonProperty("groups") + @FieldDocumentation(description = "List of sub-group IDs", nullable = true) + private List groups; + + @JsonProperty("configPending") + @FieldDocumentation(description = "Whether configuration is pending", nullable = true) + private Boolean configPending; + + @JsonProperty("groupIcon") + @FieldDocumentation(description = "Group icon", nullable = true) + private String groupIcon; + + @JsonProperty("pumpLeadTime") + @FieldDocumentation(description = "Pump lead time", nullable = true) + private Integer pumpLeadTime; + + @JsonProperty("pumpFollowUpTime") + @FieldDocumentation(description = "Pump follow-up time", nullable = true) + private Integer pumpFollowUpTime; + + @JsonProperty("pumpProtectionDuration") + @FieldDocumentation(description = "Pump protection duration", nullable = true) + private Integer pumpProtectionDuration; + + @JsonProperty("pumpProtectionSwitchingInterval") + @FieldDocumentation(description = "Pump protection switching interval", nullable = true) + private Integer pumpProtectionSwitchingInterval; + + @JsonProperty("clientIds") + @FieldDocumentation(description = "List of client IDs", nullable = true) + private List clientIds; + + @JsonProperty("groupVisibility") + @FieldDocumentation(description = "Group visibility", nullable = true) + private String groupVisibility; + + @JsonProperty("authorizationPinAssigned") + @FieldDocumentation(description = "Whether authorization PIN is assigned", nullable = true) + private Boolean authorizationPinAssigned; + + @JsonProperty("authorized") + @FieldDocumentation(description = "Whether group is authorized", nullable = true) + private Boolean authorized; + + @JsonProperty("sensorSpecificParameters") + @FieldDocumentation(description = "Map of sensor specific parameters", nullable = true) + private Map sensorSpecificParameters; + + @JsonProperty("smokeDetectorAlarmType") + @FieldDocumentation(description = "Smoke detector alarm type", nullable = true) + private String smokeDetectorAlarmType; +} diff --git a/src/main/java/de/eq3/plugin/path/GroupChannel.java b/src/main/java/de/eq3/plugin/path/GroupChannel.java new file mode 100644 index 0000000..f4488cf --- /dev/null +++ b/src/main/java/de/eq3/plugin/path/GroupChannel.java @@ -0,0 +1,45 @@ +/** + * Copyright 2014-2025 eQ-3 AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.eq3.plugin.path; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import de.eq3.plugin.documentation.FieldDocumentation; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.jackson.Jacksonized; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Builder +@Jacksonized +public class GroupChannel { + + @JsonProperty("deviceId") + @FieldDocumentation(description = "Device ID", nullable = true) + private String deviceId; + + @JsonProperty("channelIndex") + @FieldDocumentation(description = "Channel index", nullable = false) + private int channelIndex; +} diff --git a/src/main/java/de/eq3/plugin/path/HmipSystemState.java b/src/main/java/de/eq3/plugin/path/HmipSystemState.java new file mode 100644 index 0000000..42aaca3 --- /dev/null +++ b/src/main/java/de/eq3/plugin/path/HmipSystemState.java @@ -0,0 +1,54 @@ +/** + * Copyright 2014-2025 eQ-3 AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.eq3.plugin.path; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import de.eq3.plugin.documentation.FieldDocumentation; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.jackson.Jacksonized; +import java.util.Map; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Builder +@Jacksonized +public class HmipSystemState { + + @JsonProperty("home") + @FieldDocumentation(description = "Home information", nullable = true) + private Home home; + + @JsonProperty("groups") + @FieldDocumentation(description = "Map of groups by ID", nullable = true) + private Map groups; + + @JsonProperty("devices") + @FieldDocumentation(description = "Map of devices by ID", nullable = true) + private Map devices; + + @JsonProperty("clients") + @FieldDocumentation(description = "Map of clients by ID", nullable = true) + private Map clients; +} diff --git a/src/main/java/de/eq3/plugin/path/Home.java b/src/main/java/de/eq3/plugin/path/Home.java new file mode 100644 index 0000000..f7f9cb5 --- /dev/null +++ b/src/main/java/de/eq3/plugin/path/Home.java @@ -0,0 +1,219 @@ +/** + * Copyright 2014-2025 eQ-3 AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.eq3.plugin.path; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import de.eq3.plugin.documentation.FieldDocumentation; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.jackson.Jacksonized; +import java.util.List; +import java.util.Map; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Builder +@Jacksonized +public class Home { + + @JsonProperty("weather") + @FieldDocumentation(description = "Weather information", nullable = true) + private Weather weather; + + @JsonProperty("metaGroups") + @FieldDocumentation(description = "List of meta group IDs", nullable = true) + private List metaGroups; + + @JsonProperty("clients") + @FieldDocumentation(description = "List of client IDs", nullable = true) + private List clients; + + @JsonProperty("connected") + @FieldDocumentation(description = "Whether home is connected", example = "true", nullable = false) + private boolean connected; + + @JsonProperty("currentAPVersion") + @FieldDocumentation(description = "Current access point version", nullable = true) + private String currentAPVersion; + + @JsonProperty("availableAPVersion") + @FieldDocumentation(description = "Available access point version", nullable = true) + private String availableAPVersion; + + @JsonProperty("timeZoneId") + @FieldDocumentation(description = "Time zone ID", example = "Europe/Berlin", nullable = true) + private String timeZoneId; + + @JsonProperty("location") + @FieldDocumentation(description = "Home location", nullable = true) + private Location location; + + @JsonProperty("pinAssigned") + @FieldDocumentation(description = "Whether PIN is assigned", example = "false", nullable = false) + private boolean pinAssigned; + + @JsonProperty("userRightsManagementActive") + @FieldDocumentation(description = "Whether user rights management is active", example = "false", nullable = false) + private boolean userRightsManagementActive; + + @JsonProperty("liveUpdateSupported") + @FieldDocumentation(description = "Whether live updates are supported", example = "true", nullable = false) + private boolean liveUpdateSupported; + + @JsonProperty("dutyCycle") + @FieldDocumentation(description = "Duty cycle", example = "0.5", nullable = false) + private double dutyCycle; + + @JsonProperty("carrierSense") + @FieldDocumentation(description = "Carrier sense", example = "0.0", nullable = false) + private double carrierSense; + + @JsonProperty("updateState") + @FieldDocumentation(description = "Update state", example = "UP_TO_DATE", nullable = true) + private String updateState; + + @JsonProperty("powerMeterUnitPrice") + @FieldDocumentation(description = "Power meter unit price", example = "0.0", nullable = false) + private double powerMeterUnitPrice; + + @JsonProperty("powerMeterCurrency") + @FieldDocumentation(description = "Power meter currency", example = "EUR", nullable = true) + private String powerMeterCurrency; + + @JsonProperty("deviceUpdateStrategy") + @FieldDocumentation(description = "Device update strategy", nullable = true) + private String deviceUpdateStrategy; + + @JsonProperty("lastReadyForUpdateTimestamp") + @FieldDocumentation(description = "Last ready for update timestamp", example = "0", nullable = false) + private long lastReadyForUpdateTimestamp; + + @JsonProperty("functionalHomes") + @FieldDocumentation(description = "Map of functional homes", nullable = true) + private Map functionalHomes; + + @JsonProperty("inboxGroup") + @FieldDocumentation(description = "Inbox group ID", nullable = true) + private String inboxGroup; + + @JsonProperty("apExchangeState") + @FieldDocumentation(description = "AP exchange state", nullable = true) + private String apExchangeState; + + @JsonProperty("voiceControlSettings") + @FieldDocumentation(description = "Voice control settings", nullable = true) + private VoiceControlSettings voiceControlSettings; + + @JsonProperty("ruleGroups") + @FieldDocumentation(description = "List of rule group IDs", nullable = true) + private List ruleGroups; + + @JsonProperty("ruleMetaDatas") + @FieldDocumentation(description = "Map of rule metadata", nullable = true) + private Map ruleMetaDatas; + + @JsonProperty("liveOTAUStatus") + @FieldDocumentation(description = "Live OTAU status", nullable = true) + private LiveOTAUStatus liveOTAUStatus; + + @JsonProperty("accessPointUpdateStates") + @FieldDocumentation(description = "Map of access point update states", nullable = true) + private Map accessPointUpdateStates; + + @JsonProperty("accountLinkingStatuses") + @FieldDocumentation(description = "Map of account linking statuses", nullable = true) + private Map accountLinkingStatuses; + + @JsonProperty("linkedExternalServices") + @FieldDocumentation(description = "List of linked external services", nullable = true) + private List linkedExternalServices; + + @JsonProperty("accountLinkingStatusSet") + @FieldDocumentation(description = "Set of account linking statuses", nullable = true) + private List accountLinkingStatusSet; + + @JsonProperty("externalServiceAccountLinkings") + @FieldDocumentation(description = "List of external service account linkings", nullable = true) + private List externalServiceAccountLinkings; + + @JsonProperty("pluginInformationMap") + @FieldDocumentation(description = "Map of plugin information", nullable = true) + private Map pluginInformationMap; + + @JsonProperty("pendingDeviceExchanges") + @FieldDocumentation(description = "Map of pending device exchanges", nullable = true) + private Map pendingDeviceExchanges; + + @JsonProperty("deviceExchangeErrors") + @FieldDocumentation(description = "Map of device exchange errors", nullable = true) + private Map deviceExchangeErrors; + + @JsonProperty("deviceExchangeHistoryEntries") + @FieldDocumentation(description = "List of device exchange history entries", nullable = true) + private List deviceExchangeHistoryEntries; + + @JsonProperty("notEntireExcludedAccessPoints") + @FieldDocumentation(description = "Map of not entire excluded access points", nullable = true) + private Map notEntireExcludedAccessPoints; + + @JsonProperty("homeExtension") + @FieldDocumentation(description = "Home extension", nullable = true) + private HomeExtension homeExtension; + + @JsonProperty("fixedDefaultGroups") + @FieldDocumentation(description = "Map of fixed default groups", nullable = true) + private Map fixedDefaultGroups; + + @JsonProperty("residentGroups") + @FieldDocumentation(description = "List of resident groups", nullable = true) + private List residentGroups; + + @JsonProperty("geofenceLocations") + @FieldDocumentation(description = "List of geofence locations", nullable = true) + private List geofenceLocations; + + @JsonProperty("supportedOptionalFeatures") + @FieldDocumentation(description = "Map of supported optional features", nullable = true) + private Map supportedOptionalFeatures; + + @JsonProperty("externalServiceSupportingMap") + @FieldDocumentation(description = "Map of external service support", nullable = true) + private Map externalServiceSupportingMap; + + @JsonProperty("userRightsManagementSupported") + @FieldDocumentation(description = "Whether user rights management is supported", example = "true", nullable = false) + private boolean userRightsManagementSupported; + + @JsonProperty("hueLinkingSupported") + @FieldDocumentation(description = "Whether Hue linking is supported", example = "false", nullable = false) + private boolean hueLinkingSupported; + + @JsonProperty("measuringBaseURL") + @FieldDocumentation(description = "Measuring base URL", nullable = true) + private String measuringBaseURL; + + @JsonProperty("id") + @FieldDocumentation(description = "Home ID", nullable = true) + private String id; +} diff --git a/src/main/java/de/eq3/plugin/path/HomeExtension.java b/src/main/java/de/eq3/plugin/path/HomeExtension.java new file mode 100644 index 0000000..ea10906 --- /dev/null +++ b/src/main/java/de/eq3/plugin/path/HomeExtension.java @@ -0,0 +1,118 @@ +/** + * Copyright 2014-2025 eQ-3 AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.eq3.plugin.path; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import de.eq3.plugin.documentation.FieldDocumentation; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.jackson.Jacksonized; +import java.util.Map; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Builder +@Jacksonized +public class HomeExtension { + + @JsonProperty("homeExtensionType") + @FieldDocumentation(description = "Home extension type", example = "CONTROL_UNIT", nullable = true) + private String homeExtensionType; + + @JsonProperty("connectivityMode") + @FieldDocumentation(description = "Connectivity mode", example = "ONLINE", nullable = true) + private String connectivityMode; + + @JsonProperty("commissioningResponseReceived") + @FieldDocumentation(description = "Whether commissioning response was received", nullable = false) + private boolean commissioningResponseReceived; + + @JsonProperty("initialUpdateDone") + @FieldDocumentation(description = "Whether initial update was done", nullable = false) + private boolean initialUpdateDone; + + @JsonProperty("initializationDone") + @FieldDocumentation(description = "Whether initialization is done", nullable = false) + private boolean initializationDone; + + @JsonProperty("systemPasswordAssigned") + @FieldDocumentation(description = "Whether system password is assigned", nullable = false) + private boolean systemPasswordAssigned; + + @JsonProperty("massStorageDeviceMap") + @FieldDocumentation(description = "Map of mass storage devices", nullable = true) + private Map massStorageDeviceMap; + + @JsonProperty("systemUpdateConfiguration") + @FieldDocumentation(description = "System update configuration", nullable = true) + private SystemUpdateConfiguration systemUpdateConfiguration; + + @JsonProperty("systemUpdateState") + @FieldDocumentation(description = "System update state", nullable = true) + private SystemUpdateState systemUpdateState; + + @JsonProperty("remoteClientCreationEnabled") + @FieldDocumentation(description = "Whether remote client creation is enabled", nullable = false) + private boolean remoteClientCreationEnabled; + + @JsonProperty("remoteClientCreationTimeoutTimestamp") + @FieldDocumentation(description = "Remote client creation timeout timestamp", nullable = false) + private long remoteClientCreationTimeoutTimestamp; + + @JsonProperty("wiredLanConnectionState") + @FieldDocumentation(description = "Wired LAN connection state", example = "UP", nullable = true) + private String wiredLanConnectionState; + + @JsonProperty("wiFiConnectionState") + @FieldDocumentation(description = "WiFi connection state", example = "DOWN", nullable = true) + private String wiFiConnectionState; + + @JsonProperty("wiFiSsid") + @FieldDocumentation(description = "WiFi SSID", nullable = true) + private String wiFiSsid; + + @JsonProperty("wiFiApActive") + @FieldDocumentation(description = "Whether WiFi AP is active", nullable = false) + private boolean wiFiApActive; + + @JsonProperty("developerModeActive") + @FieldDocumentation(description = "Whether developer mode is active", nullable = false) + private boolean developerModeActive; + + @JsonProperty("developerModeDeactivationAllowed") + @FieldDocumentation(description = "Whether developer mode deactivation is allowed", nullable = false) + private boolean developerModeDeactivationAllowed; + + @JsonProperty("pluginApiExposed") + @FieldDocumentation(description = "Whether plugin API is exposed", nullable = false) + private boolean pluginApiExposed; + + @JsonProperty("developerModeActivationTimestamp") + @FieldDocumentation(description = "Developer mode activation timestamp", nullable = false) + private long developerModeActivationTimestamp; + + @JsonProperty("telemetryEnabled") + @FieldDocumentation(description = "Telemetry enabled status", example = "DEFAULT_DISABLED", nullable = true) + private String telemetryEnabled; +} diff --git a/src/main/java/de/eq3/plugin/path/LightSceneEntry.java b/src/main/java/de/eq3/plugin/path/LightSceneEntry.java new file mode 100644 index 0000000..7993936 --- /dev/null +++ b/src/main/java/de/eq3/plugin/path/LightSceneEntry.java @@ -0,0 +1,57 @@ +/** + * Copyright 2014-2025 eQ-3 AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.eq3.plugin.path; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import de.eq3.plugin.documentation.FieldDocumentation; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.jackson.Jacksonized; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Builder +@Jacksonized +public class LightSceneEntry { + + @JsonProperty("id") + @FieldDocumentation(description = "Scene ID", nullable = false) + private int id; + + @JsonProperty("sortingIndex") + @FieldDocumentation(description = "Sorting index", nullable = false) + private int sortingIndex; + + @JsonProperty("type") + @FieldDocumentation(description = "Scene type", nullable = true) + private String type; + + @JsonProperty("state") + @FieldDocumentation(description = "Scene state", nullable = true) + private String state; + + @JsonProperty("interrupt") + @FieldDocumentation(description = "Whether scene can be interrupted", nullable = false) + private boolean interrupt; +} diff --git a/src/main/java/de/eq3/plugin/path/LiveOTAUStatus.java b/src/main/java/de/eq3/plugin/path/LiveOTAUStatus.java new file mode 100644 index 0000000..8381642 --- /dev/null +++ b/src/main/java/de/eq3/plugin/path/LiveOTAUStatus.java @@ -0,0 +1,45 @@ +/** + * Copyright 2014-2025 eQ-3 AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.eq3.plugin.path; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import de.eq3.plugin.documentation.FieldDocumentation; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.jackson.Jacksonized; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Builder +@Jacksonized +public class LiveOTAUStatus { + + @JsonProperty("liveOTAUState") + @FieldDocumentation(description = "Live OTAU state", nullable = true) + private String liveOTAUState; + + @JsonProperty("progress") + @FieldDocumentation(description = "OTAU progress", example = "0.0", nullable = false) + private double progress; +} diff --git a/src/main/java/de/eq3/plugin/path/Location.java b/src/main/java/de/eq3/plugin/path/Location.java new file mode 100644 index 0000000..03e421a --- /dev/null +++ b/src/main/java/de/eq3/plugin/path/Location.java @@ -0,0 +1,49 @@ +/** + * Copyright 2014-2025 eQ-3 AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.eq3.plugin.path; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import de.eq3.plugin.documentation.FieldDocumentation; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.jackson.Jacksonized; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Builder +@Jacksonized +public class Location { + + @JsonProperty("city") + @FieldDocumentation(description = "City information", example = "44263,Dortmund,Deutschland", nullable = true) + private String city; + + @JsonProperty("latitude") + @FieldDocumentation(description = "Latitude", example = "51.491165", nullable = true) + private String latitude; + + @JsonProperty("longitude") + @FieldDocumentation(description = "Longitude", example = "7.50396", nullable = true) + private String longitude; +} diff --git a/src/main/java/de/eq3/plugin/path/MassStorageDevice.java b/src/main/java/de/eq3/plugin/path/MassStorageDevice.java new file mode 100644 index 0000000..7909660 --- /dev/null +++ b/src/main/java/de/eq3/plugin/path/MassStorageDevice.java @@ -0,0 +1,61 @@ +/** + * Copyright 2014-2025 eQ-3 AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.eq3.plugin.path; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import de.eq3.plugin.documentation.FieldDocumentation; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.jackson.Jacksonized; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Builder +@Jacksonized +public class MassStorageDevice { + + @JsonProperty("id") + @FieldDocumentation(description = "Device ID", nullable = true) + private String id; + + @JsonProperty("label") + @FieldDocumentation(description = "Device label", nullable = true) + private String label; + + @JsonProperty("mountingStatus") + @FieldDocumentation(description = "Mounting status", example = "MOUNTED", nullable = true) + private String mountingStatus; + + @JsonProperty("mountingStatusChangedTimestamp") + @FieldDocumentation(description = "Mounting status changed timestamp", nullable = false) + private long mountingStatusChangedTimestamp; + + @JsonProperty("discUsageStatus") + @FieldDocumentation(description = "Disc usage status", example = "LESSER_THRESHOLDS", nullable = true) + private String discUsageStatus; + + @JsonProperty("discUsageStatusChangedTimestamp") + @FieldDocumentation(description = "Disc usage status changed timestamp", nullable = false) + private long discUsageStatusChangedTimestamp; +} diff --git a/src/main/java/de/eq3/plugin/path/PluginInformation.java b/src/main/java/de/eq3/plugin/path/PluginInformation.java new file mode 100644 index 0000000..400ed77 --- /dev/null +++ b/src/main/java/de/eq3/plugin/path/PluginInformation.java @@ -0,0 +1,54 @@ +/** + * Copyright 2014-2025 eQ-3 AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.eq3.plugin.path; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import de.eq3.plugin.documentation.FieldDocumentation; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.jackson.Jacksonized; +import java.util.Map; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Builder +@Jacksonized +public class PluginInformation { + + @JsonProperty("id") + @FieldDocumentation(description = "Plugin ID", nullable = true) + private String id; + + @JsonProperty("localizedLabels") + @FieldDocumentation(description = "Map of localized plugin labels", nullable = true) + private Map localizedLabels; + + @JsonProperty("pluginRuntimeStatus") + @FieldDocumentation(description = "Plugin runtime status", nullable = true) + private String pluginRuntimeStatus; + + @JsonProperty("pluginUserMessageMap") + @FieldDocumentation(description = "Map of plugin user messages", nullable = true) + private Map pluginUserMessageMap; +} diff --git a/src/main/java/de/eq3/plugin/path/PluginUserMessage.java b/src/main/java/de/eq3/plugin/path/PluginUserMessage.java new file mode 100644 index 0000000..5919b09 --- /dev/null +++ b/src/main/java/de/eq3/plugin/path/PluginUserMessage.java @@ -0,0 +1,62 @@ +/** + * Copyright 2014-2025 eQ-3 AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.eq3.plugin.path; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import de.eq3.plugin.documentation.FieldDocumentation; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.jackson.Jacksonized; +import java.util.Map; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Builder +@Jacksonized +public class PluginUserMessage { + + @JsonProperty("userMessageId") + @FieldDocumentation(description = "User message ID", nullable = true) + private String userMessageId; + + @JsonProperty("timestamp") + @FieldDocumentation(description = "Message timestamp", nullable = false) + private long timestamp; + + @JsonProperty("category") + @FieldDocumentation(description = "Message category", example = "INFO", nullable = true) + private String category; + + @JsonProperty("behaviorType") + @FieldDocumentation(description = "Message behavior type", nullable = true) + private String behaviorType; + + @JsonProperty("localizedTitles") + @FieldDocumentation(description = "Map of localized message titles", nullable = true) + private Map localizedTitles; + + @JsonProperty("localizedMessages") + @FieldDocumentation(description = "Map of localized messages", nullable = true) + private Map localizedMessages; +} diff --git a/src/main/java/de/eq3/plugin/path/SystemUpdateConfiguration.java b/src/main/java/de/eq3/plugin/path/SystemUpdateConfiguration.java new file mode 100644 index 0000000..0335a38 --- /dev/null +++ b/src/main/java/de/eq3/plugin/path/SystemUpdateConfiguration.java @@ -0,0 +1,55 @@ +/** + * Copyright 2014-2025 eQ-3 AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.eq3.plugin.path; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import de.eq3.plugin.documentation.FieldDocumentation; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.jackson.Jacksonized; +import java.util.List; +import java.util.Map; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Builder +@Jacksonized +public class SystemUpdateConfiguration { + + @JsonProperty("systemUpdateMode") + @FieldDocumentation(description = "System update mode", example = "AUTOMATIC", nullable = true) + private String systemUpdateMode; + + @JsonProperty("updatePeriods") + @FieldDocumentation(description = "Map of update periods per day", nullable = true) + private Map> updatePeriods; + + @JsonProperty("updateDuringSecurityMode") + @FieldDocumentation(description = "Whether to update during security mode", nullable = false) + private boolean updateDuringSecurityMode; + + @JsonProperty("updatePeriodsEmpty") + @FieldDocumentation(description = "Whether update periods are empty", nullable = false) + private boolean updatePeriodsEmpty; +} diff --git a/src/main/java/de/eq3/plugin/path/SystemUpdateState.java b/src/main/java/de/eq3/plugin/path/SystemUpdateState.java new file mode 100644 index 0000000..d93ce99 --- /dev/null +++ b/src/main/java/de/eq3/plugin/path/SystemUpdateState.java @@ -0,0 +1,53 @@ +/** + * Copyright 2014-2025 eQ-3 AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.eq3.plugin.path; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import de.eq3.plugin.documentation.FieldDocumentation; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.jackson.Jacksonized; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Builder +@Jacksonized +public class SystemUpdateState { + + @JsonProperty("currentVersion") + @FieldDocumentation(description = "Current system version", example = "1.5.16", nullable = true) + private String currentVersion; + + @JsonProperty("updateState") + @FieldDocumentation(description = "Update state", example = "UP_TO_DATE", nullable = true) + private String updateState; + + @JsonProperty("updateActionState") + @FieldDocumentation(description = "Update action state", example = "OPEN", nullable = true) + private String updateActionState; + + @JsonProperty("updateConfirmationNotificationSent") + @FieldDocumentation(description = "Whether update confirmation notification was sent", nullable = false) + private boolean updateConfirmationNotificationSent; +} diff --git a/src/main/java/de/eq3/plugin/path/VoiceControlSettings.java b/src/main/java/de/eq3/plugin/path/VoiceControlSettings.java new file mode 100644 index 0000000..f84289f --- /dev/null +++ b/src/main/java/de/eq3/plugin/path/VoiceControlSettings.java @@ -0,0 +1,47 @@ +/** + * Copyright 2014-2025 eQ-3 AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.eq3.plugin.path; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import de.eq3.plugin.documentation.FieldDocumentation; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.jackson.Jacksonized; +import java.util.List; +import java.util.Map; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Builder +@Jacksonized +public class VoiceControlSettings { + + @JsonProperty("allowedActiveSecurityZoneIds") + @FieldDocumentation(description = "List of allowed active security zone IDs", nullable = true) + private List allowedActiveSecurityZoneIds; + + @JsonProperty("stateReportEnabled") + @FieldDocumentation(description = "Map of state report settings", nullable = true) + private Map stateReportEnabled; +} diff --git a/src/main/java/de/eq3/plugin/path/Weather.java b/src/main/java/de/eq3/plugin/path/Weather.java new file mode 100644 index 0000000..9c8d299 --- /dev/null +++ b/src/main/java/de/eq3/plugin/path/Weather.java @@ -0,0 +1,73 @@ +/** + * Copyright 2014-2025 eQ-3 AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.eq3.plugin.path; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import de.eq3.plugin.documentation.FieldDocumentation; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.jackson.Jacksonized; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Builder +@Jacksonized +public class Weather { + + @JsonProperty("temperature") + @FieldDocumentation(description = "Current temperature in Celsius", example = "0.8", nullable = false) + private double temperature; + + @JsonProperty("weatherCondition") + @FieldDocumentation(description = "Weather condition", example = "FOGGY", nullable = true) + private String weatherCondition; + + @JsonProperty("weatherDayTime") + @FieldDocumentation(description = "Weather day time", example = "DAY", nullable = true) + private String weatherDayTime; + + @JsonProperty("minTemperature") + @FieldDocumentation(description = "Minimum temperature", example = "0.16", nullable = false) + private double minTemperature; + + @JsonProperty("maxTemperature") + @FieldDocumentation(description = "Maximum temperature", example = "1.99", nullable = false) + private double maxTemperature; + + @JsonProperty("humidity") + @FieldDocumentation(description = "Humidity in percent", example = "95", nullable = false) + private int humidity; + + @JsonProperty("windSpeed") + @FieldDocumentation(description = "Wind speed", example = "9.252", nullable = false) + private double windSpeed; + + @JsonProperty("windDirection") + @FieldDocumentation(description = "Wind direction in degrees", example = "30", nullable = false) + private int windDirection; + + @JsonProperty("vaporAmount") + @FieldDocumentation(description = "Vapor amount", example = "4.866", nullable = false) + private double vaporAmount; +} From ae8b56b5bb678e1051334c50a643782652aba26a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Preu=C3=9F?= Date: Tue, 27 Jan 2026 12:56:26 +0100 Subject: [PATCH 3/5] Adding missing pre-processor definition for lombok --- pom.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pom.xml b/pom.xml index 806f6e1..d772fa7 100644 --- a/pom.xml +++ b/pom.xml @@ -33,6 +33,13 @@ ${maven.compiler.source} ${maven.compiler.target} + + + org.projectlombok + lombok + 1.18.28 + + From 44e4c6fbe57cedb6a20f22c7c3e2afe617b97e74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Preu=C3=9F?= Date: Tue, 27 Jan 2026 12:56:52 +0100 Subject: [PATCH 4/5] Automatical date update after build --- src/main/java/de/eq3/plugin/Headers.java | 2 +- src/main/java/de/eq3/plugin/domain/Body.java | 2 +- src/main/java/de/eq3/plugin/domain/Error.java | 2 +- .../java/de/eq3/plugin/domain/config/ConfigTemplateRequest.java | 2 +- .../de/eq3/plugin/domain/config/ConfigTemplateResponse.java | 2 +- .../java/de/eq3/plugin/domain/config/ConfigUpdateRequest.java | 2 +- .../java/de/eq3/plugin/domain/config/ConfigUpdateResponse.java | 2 +- .../de/eq3/plugin/domain/config/ConfigUpdateResponseStatus.java | 2 +- src/main/java/de/eq3/plugin/domain/config/GroupTemplate.java | 2 +- src/main/java/de/eq3/plugin/domain/config/PropertyTemplate.java | 2 +- src/main/java/de/eq3/plugin/domain/config/PropertyType.java | 2 +- src/main/java/de/eq3/plugin/domain/control/ControlRequest.java | 2 +- src/main/java/de/eq3/plugin/domain/control/ControlResponse.java | 2 +- .../java/de/eq3/plugin/domain/control/HmipSystemRequest.java | 2 +- .../java/de/eq3/plugin/domain/control/HmipSystemResponse.java | 2 +- src/main/java/de/eq3/plugin/domain/device/Device.java | 2 +- .../java/de/eq3/plugin/domain/discover/DiscoverRequest.java | 2 +- .../java/de/eq3/plugin/domain/discover/DiscoverResponse.java | 2 +- src/main/java/de/eq3/plugin/domain/error/Error.java | 2 +- src/main/java/de/eq3/plugin/domain/error/ErrorResponse.java | 2 +- .../java/de/eq3/plugin/domain/features/ActualTemperature.java | 2 +- src/main/java/de/eq3/plugin/domain/features/BatteryState.java | 2 +- .../java/de/eq3/plugin/domain/features/CO2Concentration.java | 2 +- .../de/eq3/plugin/domain/features/ClimateOperationMode.java | 2 +- src/main/java/de/eq3/plugin/domain/features/Color.java | 2 +- .../java/de/eq3/plugin/domain/features/ColorTemperature.java | 2 +- .../java/de/eq3/plugin/domain/features/ContactSensorState.java | 2 +- .../de/eq3/plugin/domain/features/CoolingTemperatureOffset.java | 2 +- src/main/java/de/eq3/plugin/domain/features/CurrentPower.java | 2 +- src/main/java/de/eq3/plugin/domain/features/Dimming.java | 2 +- src/main/java/de/eq3/plugin/domain/features/EnergyCounter.java | 2 +- .../de/eq3/plugin/domain/features/HeatingTemperatureOffset.java | 2 +- src/main/java/de/eq3/plugin/domain/features/HotWaterBoost.java | 2 +- src/main/java/de/eq3/plugin/domain/features/Humidity.java | 2 +- src/main/java/de/eq3/plugin/domain/features/IFeature.java | 2 +- src/main/java/de/eq3/plugin/domain/features/Illumination.java | 2 +- src/main/java/de/eq3/plugin/domain/features/Maintenance.java | 2 +- .../java/de/eq3/plugin/domain/features/MoistureDetected.java | 2 +- src/main/java/de/eq3/plugin/domain/features/OnTime.java | 2 +- .../java/de/eq3/plugin/domain/features/ParticulateMassOne.java | 2 +- .../java/de/eq3/plugin/domain/features/ParticulateMassTen.java | 2 +- .../eq3/plugin/domain/features/ParticulateMassTwoPointFive.java | 2 +- .../de/eq3/plugin/domain/features/ParticulateTypicalSize.java | 2 +- .../java/de/eq3/plugin/domain/features/PresenceDetected.java | 2 +- src/main/java/de/eq3/plugin/domain/features/PresenceMode.java | 2 +- src/main/java/de/eq3/plugin/domain/features/RainCount.java | 2 +- src/main/java/de/eq3/plugin/domain/features/Raining.java | 2 +- .../java/de/eq3/plugin/domain/features/SetPointTemperature.java | 2 +- .../java/de/eq3/plugin/domain/features/ShutterDirection.java | 2 +- src/main/java/de/eq3/plugin/domain/features/ShutterLevel.java | 2 +- src/main/java/de/eq3/plugin/domain/features/SlatsLevel.java | 2 +- src/main/java/de/eq3/plugin/domain/features/SmokeAlarm.java | 2 +- src/main/java/de/eq3/plugin/domain/features/Storm.java | 2 +- src/main/java/de/eq3/plugin/domain/features/Sunshine.java | 2 +- .../java/de/eq3/plugin/domain/features/SunshineDuration.java | 2 +- .../java/de/eq3/plugin/domain/features/SupplyTemperature.java | 2 +- src/main/java/de/eq3/plugin/domain/features/SwitchState.java | 2 +- src/main/java/de/eq3/plugin/domain/features/VehicleRange.java | 2 +- .../java/de/eq3/plugin/domain/features/WaterlevelDetected.java | 2 +- src/main/java/de/eq3/plugin/domain/features/WindDirection.java | 2 +- src/main/java/de/eq3/plugin/domain/features/WindSpeed.java | 2 +- .../java/de/eq3/plugin/domain/inclusion/ExclusionEvent.java | 2 +- .../java/de/eq3/plugin/domain/inclusion/InclusionEvent.java | 2 +- .../java/de/eq3/plugin/domain/plugin/PluginReadinessStatus.java | 2 +- .../java/de/eq3/plugin/domain/plugin/PluginStateRequest.java | 2 +- .../java/de/eq3/plugin/domain/plugin/PluginStateResponse.java | 2 +- src/main/java/de/eq3/plugin/domain/status/HmipSystemEvent.java | 2 +- src/main/java/de/eq3/plugin/domain/status/StatusEvent.java | 2 +- src/main/java/de/eq3/plugin/domain/status/StatusRequest.java | 2 +- src/main/java/de/eq3/plugin/domain/status/StatusResponse.java | 2 +- .../java/de/eq3/plugin/domain/system/SystemInfoRequest.java | 2 +- .../java/de/eq3/plugin/domain/system/SystemInfoResponse.java | 2 +- src/main/java/de/eq3/plugin/domain/user/message/AckType.java | 2 +- .../java/de/eq3/plugin/domain/user/message/BehaviorType.java | 2 +- .../plugin/domain/user/message/CreateUserMessageRequest.java | 2 +- .../plugin/domain/user/message/CreateUserMessageResponse.java | 2 +- .../plugin/domain/user/message/DeleteUserMessageRequest.java | 2 +- .../plugin/domain/user/message/DeleteUserMessageResponse.java | 2 +- .../eq3/plugin/domain/user/message/ListUserMessagesRequest.java | 2 +- .../plugin/domain/user/message/ListUserMessagesResponse.java | 2 +- .../java/de/eq3/plugin/domain/user/message/MessageCategory.java | 2 +- .../domain/user/message/UserMessageAcknowledgementEvent.java | 2 +- src/main/java/de/eq3/plugin/path/Client.java | 2 +- src/main/java/de/eq3/plugin/path/Device.java | 2 +- .../java/de/eq3/plugin/path/ExternalServiceAccountLinking.java | 2 +- src/main/java/de/eq3/plugin/path/FriendlyName.java | 2 +- src/main/java/de/eq3/plugin/path/FunctionalChannel.java | 2 +- src/main/java/de/eq3/plugin/path/FunctionalHome.java | 2 +- src/main/java/de/eq3/plugin/path/Group.java | 2 +- src/main/java/de/eq3/plugin/path/GroupChannel.java | 2 +- src/main/java/de/eq3/plugin/path/HmipSystemState.java | 2 +- src/main/java/de/eq3/plugin/path/Home.java | 2 +- src/main/java/de/eq3/plugin/path/HomeExtension.java | 2 +- src/main/java/de/eq3/plugin/path/LightSceneEntry.java | 2 +- src/main/java/de/eq3/plugin/path/LiveOTAUStatus.java | 2 +- src/main/java/de/eq3/plugin/path/Location.java | 2 +- src/main/java/de/eq3/plugin/path/MassStorageDevice.java | 2 +- src/main/java/de/eq3/plugin/path/PluginInformation.java | 2 +- src/main/java/de/eq3/plugin/path/PluginUserMessage.java | 2 +- src/main/java/de/eq3/plugin/path/SystemUpdateConfiguration.java | 2 +- src/main/java/de/eq3/plugin/path/SystemUpdateState.java | 2 +- src/main/java/de/eq3/plugin/path/VoiceControlSettings.java | 2 +- src/main/java/de/eq3/plugin/path/Weather.java | 2 +- .../java/de/eq3/plugin/serialization/DeviceDeserializer.java | 2 +- src/main/java/de/eq3/plugin/serialization/DeviceType.java | 2 +- src/main/java/de/eq3/plugin/serialization/Feature.java | 2 +- .../java/de/eq3/plugin/serialization/FeatureDeserializer.java | 2 +- .../java/de/eq3/plugin/serialization/PluginErrorMessage.java | 2 +- src/main/java/de/eq3/plugin/serialization/PluginMessage.java | 2 +- .../de/eq3/plugin/serialization/PluginMessageDeserializer.java | 2 +- .../eq3/plugin/serialization/PluginMessageFormatException.java | 2 +- .../java/de/eq3/plugin/serialization/PluginMessageType.java | 2 +- src/test/java/de/eq3/plugin/test/TestDeserializer.java | 2 +- 113 files changed, 113 insertions(+), 113 deletions(-) diff --git a/src/main/java/de/eq3/plugin/Headers.java b/src/main/java/de/eq3/plugin/Headers.java index a979a01..91ea8f3 100644 --- a/src/main/java/de/eq3/plugin/Headers.java +++ b/src/main/java/de/eq3/plugin/Headers.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/Body.java b/src/main/java/de/eq3/plugin/domain/Body.java index 004d9b0..45939ad 100644 --- a/src/main/java/de/eq3/plugin/domain/Body.java +++ b/src/main/java/de/eq3/plugin/domain/Body.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/Error.java b/src/main/java/de/eq3/plugin/domain/Error.java index e5fa6a1..b9c55da 100644 --- a/src/main/java/de/eq3/plugin/domain/Error.java +++ b/src/main/java/de/eq3/plugin/domain/Error.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/config/ConfigTemplateRequest.java b/src/main/java/de/eq3/plugin/domain/config/ConfigTemplateRequest.java index dfe49d1..daed8a3 100644 --- a/src/main/java/de/eq3/plugin/domain/config/ConfigTemplateRequest.java +++ b/src/main/java/de/eq3/plugin/domain/config/ConfigTemplateRequest.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/config/ConfigTemplateResponse.java b/src/main/java/de/eq3/plugin/domain/config/ConfigTemplateResponse.java index 07af810..5f6e59d 100644 --- a/src/main/java/de/eq3/plugin/domain/config/ConfigTemplateResponse.java +++ b/src/main/java/de/eq3/plugin/domain/config/ConfigTemplateResponse.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/config/ConfigUpdateRequest.java b/src/main/java/de/eq3/plugin/domain/config/ConfigUpdateRequest.java index 983e18e..6920b10 100644 --- a/src/main/java/de/eq3/plugin/domain/config/ConfigUpdateRequest.java +++ b/src/main/java/de/eq3/plugin/domain/config/ConfigUpdateRequest.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/config/ConfigUpdateResponse.java b/src/main/java/de/eq3/plugin/domain/config/ConfigUpdateResponse.java index 04a8b10..f18cbb0 100644 --- a/src/main/java/de/eq3/plugin/domain/config/ConfigUpdateResponse.java +++ b/src/main/java/de/eq3/plugin/domain/config/ConfigUpdateResponse.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/config/ConfigUpdateResponseStatus.java b/src/main/java/de/eq3/plugin/domain/config/ConfigUpdateResponseStatus.java index 439987b..f59e439 100644 --- a/src/main/java/de/eq3/plugin/domain/config/ConfigUpdateResponseStatus.java +++ b/src/main/java/de/eq3/plugin/domain/config/ConfigUpdateResponseStatus.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/config/GroupTemplate.java b/src/main/java/de/eq3/plugin/domain/config/GroupTemplate.java index 815c115..9629a5d 100644 --- a/src/main/java/de/eq3/plugin/domain/config/GroupTemplate.java +++ b/src/main/java/de/eq3/plugin/domain/config/GroupTemplate.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/config/PropertyTemplate.java b/src/main/java/de/eq3/plugin/domain/config/PropertyTemplate.java index 8a3d929..9ffa728 100644 --- a/src/main/java/de/eq3/plugin/domain/config/PropertyTemplate.java +++ b/src/main/java/de/eq3/plugin/domain/config/PropertyTemplate.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/config/PropertyType.java b/src/main/java/de/eq3/plugin/domain/config/PropertyType.java index 05d5c2a..d54d125 100644 --- a/src/main/java/de/eq3/plugin/domain/config/PropertyType.java +++ b/src/main/java/de/eq3/plugin/domain/config/PropertyType.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/control/ControlRequest.java b/src/main/java/de/eq3/plugin/domain/control/ControlRequest.java index d0511a2..620326d 100644 --- a/src/main/java/de/eq3/plugin/domain/control/ControlRequest.java +++ b/src/main/java/de/eq3/plugin/domain/control/ControlRequest.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/control/ControlResponse.java b/src/main/java/de/eq3/plugin/domain/control/ControlResponse.java index 13bf236..eaa194e 100644 --- a/src/main/java/de/eq3/plugin/domain/control/ControlResponse.java +++ b/src/main/java/de/eq3/plugin/domain/control/ControlResponse.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/control/HmipSystemRequest.java b/src/main/java/de/eq3/plugin/domain/control/HmipSystemRequest.java index 8ab13de..095daaa 100644 --- a/src/main/java/de/eq3/plugin/domain/control/HmipSystemRequest.java +++ b/src/main/java/de/eq3/plugin/domain/control/HmipSystemRequest.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/control/HmipSystemResponse.java b/src/main/java/de/eq3/plugin/domain/control/HmipSystemResponse.java index 10dbd90..2ca222f 100644 --- a/src/main/java/de/eq3/plugin/domain/control/HmipSystemResponse.java +++ b/src/main/java/de/eq3/plugin/domain/control/HmipSystemResponse.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/device/Device.java b/src/main/java/de/eq3/plugin/domain/device/Device.java index ee4256c..438ca1f 100644 --- a/src/main/java/de/eq3/plugin/domain/device/Device.java +++ b/src/main/java/de/eq3/plugin/domain/device/Device.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/discover/DiscoverRequest.java b/src/main/java/de/eq3/plugin/domain/discover/DiscoverRequest.java index c5fb8de..78a993f 100644 --- a/src/main/java/de/eq3/plugin/domain/discover/DiscoverRequest.java +++ b/src/main/java/de/eq3/plugin/domain/discover/DiscoverRequest.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/discover/DiscoverResponse.java b/src/main/java/de/eq3/plugin/domain/discover/DiscoverResponse.java index 1ffe211..c3ad399 100644 --- a/src/main/java/de/eq3/plugin/domain/discover/DiscoverResponse.java +++ b/src/main/java/de/eq3/plugin/domain/discover/DiscoverResponse.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/error/Error.java b/src/main/java/de/eq3/plugin/domain/error/Error.java index d338ec3..5bca523 100644 --- a/src/main/java/de/eq3/plugin/domain/error/Error.java +++ b/src/main/java/de/eq3/plugin/domain/error/Error.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/error/ErrorResponse.java b/src/main/java/de/eq3/plugin/domain/error/ErrorResponse.java index bc83349..b49b4d5 100644 --- a/src/main/java/de/eq3/plugin/domain/error/ErrorResponse.java +++ b/src/main/java/de/eq3/plugin/domain/error/ErrorResponse.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/ActualTemperature.java b/src/main/java/de/eq3/plugin/domain/features/ActualTemperature.java index 4cf8b98..525b301 100644 --- a/src/main/java/de/eq3/plugin/domain/features/ActualTemperature.java +++ b/src/main/java/de/eq3/plugin/domain/features/ActualTemperature.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/BatteryState.java b/src/main/java/de/eq3/plugin/domain/features/BatteryState.java index 0d0d95c..ed11534 100644 --- a/src/main/java/de/eq3/plugin/domain/features/BatteryState.java +++ b/src/main/java/de/eq3/plugin/domain/features/BatteryState.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/CO2Concentration.java b/src/main/java/de/eq3/plugin/domain/features/CO2Concentration.java index 9693f1e..f36934a 100644 --- a/src/main/java/de/eq3/plugin/domain/features/CO2Concentration.java +++ b/src/main/java/de/eq3/plugin/domain/features/CO2Concentration.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/ClimateOperationMode.java b/src/main/java/de/eq3/plugin/domain/features/ClimateOperationMode.java index e9604ee..aecd18d 100644 --- a/src/main/java/de/eq3/plugin/domain/features/ClimateOperationMode.java +++ b/src/main/java/de/eq3/plugin/domain/features/ClimateOperationMode.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/Color.java b/src/main/java/de/eq3/plugin/domain/features/Color.java index 069449b..d4612cc 100644 --- a/src/main/java/de/eq3/plugin/domain/features/Color.java +++ b/src/main/java/de/eq3/plugin/domain/features/Color.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/ColorTemperature.java b/src/main/java/de/eq3/plugin/domain/features/ColorTemperature.java index 7fe786c..230bfc5 100644 --- a/src/main/java/de/eq3/plugin/domain/features/ColorTemperature.java +++ b/src/main/java/de/eq3/plugin/domain/features/ColorTemperature.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/ContactSensorState.java b/src/main/java/de/eq3/plugin/domain/features/ContactSensorState.java index d422643..8f433d1 100644 --- a/src/main/java/de/eq3/plugin/domain/features/ContactSensorState.java +++ b/src/main/java/de/eq3/plugin/domain/features/ContactSensorState.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/CoolingTemperatureOffset.java b/src/main/java/de/eq3/plugin/domain/features/CoolingTemperatureOffset.java index 2643248..f1a729d 100644 --- a/src/main/java/de/eq3/plugin/domain/features/CoolingTemperatureOffset.java +++ b/src/main/java/de/eq3/plugin/domain/features/CoolingTemperatureOffset.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/CurrentPower.java b/src/main/java/de/eq3/plugin/domain/features/CurrentPower.java index 642f897..8ad928a 100644 --- a/src/main/java/de/eq3/plugin/domain/features/CurrentPower.java +++ b/src/main/java/de/eq3/plugin/domain/features/CurrentPower.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/Dimming.java b/src/main/java/de/eq3/plugin/domain/features/Dimming.java index d96f178..998ba34 100644 --- a/src/main/java/de/eq3/plugin/domain/features/Dimming.java +++ b/src/main/java/de/eq3/plugin/domain/features/Dimming.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/EnergyCounter.java b/src/main/java/de/eq3/plugin/domain/features/EnergyCounter.java index 1cb5a86..142f51c 100644 --- a/src/main/java/de/eq3/plugin/domain/features/EnergyCounter.java +++ b/src/main/java/de/eq3/plugin/domain/features/EnergyCounter.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/HeatingTemperatureOffset.java b/src/main/java/de/eq3/plugin/domain/features/HeatingTemperatureOffset.java index c6cfbc2..adac43f 100644 --- a/src/main/java/de/eq3/plugin/domain/features/HeatingTemperatureOffset.java +++ b/src/main/java/de/eq3/plugin/domain/features/HeatingTemperatureOffset.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/HotWaterBoost.java b/src/main/java/de/eq3/plugin/domain/features/HotWaterBoost.java index f99320a..62e850f 100644 --- a/src/main/java/de/eq3/plugin/domain/features/HotWaterBoost.java +++ b/src/main/java/de/eq3/plugin/domain/features/HotWaterBoost.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/Humidity.java b/src/main/java/de/eq3/plugin/domain/features/Humidity.java index 380bf6c..94e63f1 100644 --- a/src/main/java/de/eq3/plugin/domain/features/Humidity.java +++ b/src/main/java/de/eq3/plugin/domain/features/Humidity.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/IFeature.java b/src/main/java/de/eq3/plugin/domain/features/IFeature.java index 2e483bd..ab38f31 100644 --- a/src/main/java/de/eq3/plugin/domain/features/IFeature.java +++ b/src/main/java/de/eq3/plugin/domain/features/IFeature.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/Illumination.java b/src/main/java/de/eq3/plugin/domain/features/Illumination.java index 1bb20da..dd485a9 100644 --- a/src/main/java/de/eq3/plugin/domain/features/Illumination.java +++ b/src/main/java/de/eq3/plugin/domain/features/Illumination.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/Maintenance.java b/src/main/java/de/eq3/plugin/domain/features/Maintenance.java index f586b87..42a5123 100644 --- a/src/main/java/de/eq3/plugin/domain/features/Maintenance.java +++ b/src/main/java/de/eq3/plugin/domain/features/Maintenance.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/MoistureDetected.java b/src/main/java/de/eq3/plugin/domain/features/MoistureDetected.java index fd63613..dca05ab 100644 --- a/src/main/java/de/eq3/plugin/domain/features/MoistureDetected.java +++ b/src/main/java/de/eq3/plugin/domain/features/MoistureDetected.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/OnTime.java b/src/main/java/de/eq3/plugin/domain/features/OnTime.java index c27fbe5..f983a25 100644 --- a/src/main/java/de/eq3/plugin/domain/features/OnTime.java +++ b/src/main/java/de/eq3/plugin/domain/features/OnTime.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/ParticulateMassOne.java b/src/main/java/de/eq3/plugin/domain/features/ParticulateMassOne.java index 2476ece..2705da0 100644 --- a/src/main/java/de/eq3/plugin/domain/features/ParticulateMassOne.java +++ b/src/main/java/de/eq3/plugin/domain/features/ParticulateMassOne.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/ParticulateMassTen.java b/src/main/java/de/eq3/plugin/domain/features/ParticulateMassTen.java index d545c1b..0e3e8d7 100644 --- a/src/main/java/de/eq3/plugin/domain/features/ParticulateMassTen.java +++ b/src/main/java/de/eq3/plugin/domain/features/ParticulateMassTen.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/ParticulateMassTwoPointFive.java b/src/main/java/de/eq3/plugin/domain/features/ParticulateMassTwoPointFive.java index fbb9547..5a1b8b9 100644 --- a/src/main/java/de/eq3/plugin/domain/features/ParticulateMassTwoPointFive.java +++ b/src/main/java/de/eq3/plugin/domain/features/ParticulateMassTwoPointFive.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/ParticulateTypicalSize.java b/src/main/java/de/eq3/plugin/domain/features/ParticulateTypicalSize.java index 85037ee..1d948f9 100644 --- a/src/main/java/de/eq3/plugin/domain/features/ParticulateTypicalSize.java +++ b/src/main/java/de/eq3/plugin/domain/features/ParticulateTypicalSize.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/PresenceDetected.java b/src/main/java/de/eq3/plugin/domain/features/PresenceDetected.java index 9ce5500..4af5c84 100644 --- a/src/main/java/de/eq3/plugin/domain/features/PresenceDetected.java +++ b/src/main/java/de/eq3/plugin/domain/features/PresenceDetected.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/PresenceMode.java b/src/main/java/de/eq3/plugin/domain/features/PresenceMode.java index 139e5e0..fa65de7 100644 --- a/src/main/java/de/eq3/plugin/domain/features/PresenceMode.java +++ b/src/main/java/de/eq3/plugin/domain/features/PresenceMode.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/RainCount.java b/src/main/java/de/eq3/plugin/domain/features/RainCount.java index 852ee6f..c44d93e 100644 --- a/src/main/java/de/eq3/plugin/domain/features/RainCount.java +++ b/src/main/java/de/eq3/plugin/domain/features/RainCount.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/Raining.java b/src/main/java/de/eq3/plugin/domain/features/Raining.java index 08ca9a5..3356639 100644 --- a/src/main/java/de/eq3/plugin/domain/features/Raining.java +++ b/src/main/java/de/eq3/plugin/domain/features/Raining.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/SetPointTemperature.java b/src/main/java/de/eq3/plugin/domain/features/SetPointTemperature.java index 6b2eb9c..b99aee5 100644 --- a/src/main/java/de/eq3/plugin/domain/features/SetPointTemperature.java +++ b/src/main/java/de/eq3/plugin/domain/features/SetPointTemperature.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/ShutterDirection.java b/src/main/java/de/eq3/plugin/domain/features/ShutterDirection.java index ed97acb..dcf95ea 100644 --- a/src/main/java/de/eq3/plugin/domain/features/ShutterDirection.java +++ b/src/main/java/de/eq3/plugin/domain/features/ShutterDirection.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/ShutterLevel.java b/src/main/java/de/eq3/plugin/domain/features/ShutterLevel.java index 6bee69b..e2adc49 100644 --- a/src/main/java/de/eq3/plugin/domain/features/ShutterLevel.java +++ b/src/main/java/de/eq3/plugin/domain/features/ShutterLevel.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/SlatsLevel.java b/src/main/java/de/eq3/plugin/domain/features/SlatsLevel.java index 897dc17..f7f1664 100644 --- a/src/main/java/de/eq3/plugin/domain/features/SlatsLevel.java +++ b/src/main/java/de/eq3/plugin/domain/features/SlatsLevel.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/SmokeAlarm.java b/src/main/java/de/eq3/plugin/domain/features/SmokeAlarm.java index a4b2962..3b0eccc 100644 --- a/src/main/java/de/eq3/plugin/domain/features/SmokeAlarm.java +++ b/src/main/java/de/eq3/plugin/domain/features/SmokeAlarm.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/Storm.java b/src/main/java/de/eq3/plugin/domain/features/Storm.java index fb5f2c2..9f742d8 100644 --- a/src/main/java/de/eq3/plugin/domain/features/Storm.java +++ b/src/main/java/de/eq3/plugin/domain/features/Storm.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/Sunshine.java b/src/main/java/de/eq3/plugin/domain/features/Sunshine.java index 4d80fa5..d49ccad 100644 --- a/src/main/java/de/eq3/plugin/domain/features/Sunshine.java +++ b/src/main/java/de/eq3/plugin/domain/features/Sunshine.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/SunshineDuration.java b/src/main/java/de/eq3/plugin/domain/features/SunshineDuration.java index 4edbc7c..b61974c 100644 --- a/src/main/java/de/eq3/plugin/domain/features/SunshineDuration.java +++ b/src/main/java/de/eq3/plugin/domain/features/SunshineDuration.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/SupplyTemperature.java b/src/main/java/de/eq3/plugin/domain/features/SupplyTemperature.java index a0e6ac9..a53d25f 100644 --- a/src/main/java/de/eq3/plugin/domain/features/SupplyTemperature.java +++ b/src/main/java/de/eq3/plugin/domain/features/SupplyTemperature.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/SwitchState.java b/src/main/java/de/eq3/plugin/domain/features/SwitchState.java index 8a4ac3d..253f8dd 100644 --- a/src/main/java/de/eq3/plugin/domain/features/SwitchState.java +++ b/src/main/java/de/eq3/plugin/domain/features/SwitchState.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/VehicleRange.java b/src/main/java/de/eq3/plugin/domain/features/VehicleRange.java index b3b8fc4..4677b48 100644 --- a/src/main/java/de/eq3/plugin/domain/features/VehicleRange.java +++ b/src/main/java/de/eq3/plugin/domain/features/VehicleRange.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/WaterlevelDetected.java b/src/main/java/de/eq3/plugin/domain/features/WaterlevelDetected.java index 7c64b23..c77b76f 100644 --- a/src/main/java/de/eq3/plugin/domain/features/WaterlevelDetected.java +++ b/src/main/java/de/eq3/plugin/domain/features/WaterlevelDetected.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/WindDirection.java b/src/main/java/de/eq3/plugin/domain/features/WindDirection.java index a55c383..7e881c9 100644 --- a/src/main/java/de/eq3/plugin/domain/features/WindDirection.java +++ b/src/main/java/de/eq3/plugin/domain/features/WindDirection.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/features/WindSpeed.java b/src/main/java/de/eq3/plugin/domain/features/WindSpeed.java index 3e9b7c1..6b58b62 100644 --- a/src/main/java/de/eq3/plugin/domain/features/WindSpeed.java +++ b/src/main/java/de/eq3/plugin/domain/features/WindSpeed.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/inclusion/ExclusionEvent.java b/src/main/java/de/eq3/plugin/domain/inclusion/ExclusionEvent.java index edfdf76..b8ab8b6 100644 --- a/src/main/java/de/eq3/plugin/domain/inclusion/ExclusionEvent.java +++ b/src/main/java/de/eq3/plugin/domain/inclusion/ExclusionEvent.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/inclusion/InclusionEvent.java b/src/main/java/de/eq3/plugin/domain/inclusion/InclusionEvent.java index f45a274..a34893f 100644 --- a/src/main/java/de/eq3/plugin/domain/inclusion/InclusionEvent.java +++ b/src/main/java/de/eq3/plugin/domain/inclusion/InclusionEvent.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/plugin/PluginReadinessStatus.java b/src/main/java/de/eq3/plugin/domain/plugin/PluginReadinessStatus.java index dffe502..27133bc 100644 --- a/src/main/java/de/eq3/plugin/domain/plugin/PluginReadinessStatus.java +++ b/src/main/java/de/eq3/plugin/domain/plugin/PluginReadinessStatus.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/plugin/PluginStateRequest.java b/src/main/java/de/eq3/plugin/domain/plugin/PluginStateRequest.java index cda95c8..b4b5592 100644 --- a/src/main/java/de/eq3/plugin/domain/plugin/PluginStateRequest.java +++ b/src/main/java/de/eq3/plugin/domain/plugin/PluginStateRequest.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/plugin/PluginStateResponse.java b/src/main/java/de/eq3/plugin/domain/plugin/PluginStateResponse.java index 9bbf0d1..002fad6 100644 --- a/src/main/java/de/eq3/plugin/domain/plugin/PluginStateResponse.java +++ b/src/main/java/de/eq3/plugin/domain/plugin/PluginStateResponse.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/status/HmipSystemEvent.java b/src/main/java/de/eq3/plugin/domain/status/HmipSystemEvent.java index 0dd57a8..db03884 100644 --- a/src/main/java/de/eq3/plugin/domain/status/HmipSystemEvent.java +++ b/src/main/java/de/eq3/plugin/domain/status/HmipSystemEvent.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/status/StatusEvent.java b/src/main/java/de/eq3/plugin/domain/status/StatusEvent.java index c2a33d1..bbd7fd7 100644 --- a/src/main/java/de/eq3/plugin/domain/status/StatusEvent.java +++ b/src/main/java/de/eq3/plugin/domain/status/StatusEvent.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/status/StatusRequest.java b/src/main/java/de/eq3/plugin/domain/status/StatusRequest.java index db5e1fd..72b5268 100644 --- a/src/main/java/de/eq3/plugin/domain/status/StatusRequest.java +++ b/src/main/java/de/eq3/plugin/domain/status/StatusRequest.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/status/StatusResponse.java b/src/main/java/de/eq3/plugin/domain/status/StatusResponse.java index 7fe6f76..aa2d0eb 100644 --- a/src/main/java/de/eq3/plugin/domain/status/StatusResponse.java +++ b/src/main/java/de/eq3/plugin/domain/status/StatusResponse.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/system/SystemInfoRequest.java b/src/main/java/de/eq3/plugin/domain/system/SystemInfoRequest.java index 08eeb0e..fa0280a 100644 --- a/src/main/java/de/eq3/plugin/domain/system/SystemInfoRequest.java +++ b/src/main/java/de/eq3/plugin/domain/system/SystemInfoRequest.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/system/SystemInfoResponse.java b/src/main/java/de/eq3/plugin/domain/system/SystemInfoResponse.java index e25b60c..100967c 100644 --- a/src/main/java/de/eq3/plugin/domain/system/SystemInfoResponse.java +++ b/src/main/java/de/eq3/plugin/domain/system/SystemInfoResponse.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/user/message/AckType.java b/src/main/java/de/eq3/plugin/domain/user/message/AckType.java index 1227494..c1120fc 100644 --- a/src/main/java/de/eq3/plugin/domain/user/message/AckType.java +++ b/src/main/java/de/eq3/plugin/domain/user/message/AckType.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/user/message/BehaviorType.java b/src/main/java/de/eq3/plugin/domain/user/message/BehaviorType.java index a77ae98..6cbfed5 100644 --- a/src/main/java/de/eq3/plugin/domain/user/message/BehaviorType.java +++ b/src/main/java/de/eq3/plugin/domain/user/message/BehaviorType.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/user/message/CreateUserMessageRequest.java b/src/main/java/de/eq3/plugin/domain/user/message/CreateUserMessageRequest.java index 393c060..708a452 100644 --- a/src/main/java/de/eq3/plugin/domain/user/message/CreateUserMessageRequest.java +++ b/src/main/java/de/eq3/plugin/domain/user/message/CreateUserMessageRequest.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/user/message/CreateUserMessageResponse.java b/src/main/java/de/eq3/plugin/domain/user/message/CreateUserMessageResponse.java index 90381af..81e05ab 100644 --- a/src/main/java/de/eq3/plugin/domain/user/message/CreateUserMessageResponse.java +++ b/src/main/java/de/eq3/plugin/domain/user/message/CreateUserMessageResponse.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/user/message/DeleteUserMessageRequest.java b/src/main/java/de/eq3/plugin/domain/user/message/DeleteUserMessageRequest.java index 14bd62c..d1dec1d 100644 --- a/src/main/java/de/eq3/plugin/domain/user/message/DeleteUserMessageRequest.java +++ b/src/main/java/de/eq3/plugin/domain/user/message/DeleteUserMessageRequest.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/user/message/DeleteUserMessageResponse.java b/src/main/java/de/eq3/plugin/domain/user/message/DeleteUserMessageResponse.java index 0ff5add..8115f15 100644 --- a/src/main/java/de/eq3/plugin/domain/user/message/DeleteUserMessageResponse.java +++ b/src/main/java/de/eq3/plugin/domain/user/message/DeleteUserMessageResponse.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/user/message/ListUserMessagesRequest.java b/src/main/java/de/eq3/plugin/domain/user/message/ListUserMessagesRequest.java index 29511dd..212a3f7 100644 --- a/src/main/java/de/eq3/plugin/domain/user/message/ListUserMessagesRequest.java +++ b/src/main/java/de/eq3/plugin/domain/user/message/ListUserMessagesRequest.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/user/message/ListUserMessagesResponse.java b/src/main/java/de/eq3/plugin/domain/user/message/ListUserMessagesResponse.java index efe5283..273f08d 100644 --- a/src/main/java/de/eq3/plugin/domain/user/message/ListUserMessagesResponse.java +++ b/src/main/java/de/eq3/plugin/domain/user/message/ListUserMessagesResponse.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/user/message/MessageCategory.java b/src/main/java/de/eq3/plugin/domain/user/message/MessageCategory.java index 6c1c0e5..1b2cd7f 100644 --- a/src/main/java/de/eq3/plugin/domain/user/message/MessageCategory.java +++ b/src/main/java/de/eq3/plugin/domain/user/message/MessageCategory.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/domain/user/message/UserMessageAcknowledgementEvent.java b/src/main/java/de/eq3/plugin/domain/user/message/UserMessageAcknowledgementEvent.java index 45e69cc..be560ae 100644 --- a/src/main/java/de/eq3/plugin/domain/user/message/UserMessageAcknowledgementEvent.java +++ b/src/main/java/de/eq3/plugin/domain/user/message/UserMessageAcknowledgementEvent.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/path/Client.java b/src/main/java/de/eq3/plugin/path/Client.java index b517a24..328e5a5 100644 --- a/src/main/java/de/eq3/plugin/path/Client.java +++ b/src/main/java/de/eq3/plugin/path/Client.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/path/Device.java b/src/main/java/de/eq3/plugin/path/Device.java index 7cfd747..90aa899 100644 --- a/src/main/java/de/eq3/plugin/path/Device.java +++ b/src/main/java/de/eq3/plugin/path/Device.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/path/ExternalServiceAccountLinking.java b/src/main/java/de/eq3/plugin/path/ExternalServiceAccountLinking.java index dc1e374..995a75e 100644 --- a/src/main/java/de/eq3/plugin/path/ExternalServiceAccountLinking.java +++ b/src/main/java/de/eq3/plugin/path/ExternalServiceAccountLinking.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/path/FriendlyName.java b/src/main/java/de/eq3/plugin/path/FriendlyName.java index 36f30b9..bf8c13e 100644 --- a/src/main/java/de/eq3/plugin/path/FriendlyName.java +++ b/src/main/java/de/eq3/plugin/path/FriendlyName.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/path/FunctionalChannel.java b/src/main/java/de/eq3/plugin/path/FunctionalChannel.java index a0eae36..d4ea18f 100644 --- a/src/main/java/de/eq3/plugin/path/FunctionalChannel.java +++ b/src/main/java/de/eq3/plugin/path/FunctionalChannel.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/path/FunctionalHome.java b/src/main/java/de/eq3/plugin/path/FunctionalHome.java index 44ce236..f1d2e8b 100644 --- a/src/main/java/de/eq3/plugin/path/FunctionalHome.java +++ b/src/main/java/de/eq3/plugin/path/FunctionalHome.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/path/Group.java b/src/main/java/de/eq3/plugin/path/Group.java index 230f00f..8a06f1c 100644 --- a/src/main/java/de/eq3/plugin/path/Group.java +++ b/src/main/java/de/eq3/plugin/path/Group.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/path/GroupChannel.java b/src/main/java/de/eq3/plugin/path/GroupChannel.java index f4488cf..33f4017 100644 --- a/src/main/java/de/eq3/plugin/path/GroupChannel.java +++ b/src/main/java/de/eq3/plugin/path/GroupChannel.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/path/HmipSystemState.java b/src/main/java/de/eq3/plugin/path/HmipSystemState.java index 42aaca3..8ded9eb 100644 --- a/src/main/java/de/eq3/plugin/path/HmipSystemState.java +++ b/src/main/java/de/eq3/plugin/path/HmipSystemState.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/path/Home.java b/src/main/java/de/eq3/plugin/path/Home.java index f7f9cb5..a0b39f5 100644 --- a/src/main/java/de/eq3/plugin/path/Home.java +++ b/src/main/java/de/eq3/plugin/path/Home.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/path/HomeExtension.java b/src/main/java/de/eq3/plugin/path/HomeExtension.java index ea10906..0c01241 100644 --- a/src/main/java/de/eq3/plugin/path/HomeExtension.java +++ b/src/main/java/de/eq3/plugin/path/HomeExtension.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/path/LightSceneEntry.java b/src/main/java/de/eq3/plugin/path/LightSceneEntry.java index 7993936..93b325c 100644 --- a/src/main/java/de/eq3/plugin/path/LightSceneEntry.java +++ b/src/main/java/de/eq3/plugin/path/LightSceneEntry.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/path/LiveOTAUStatus.java b/src/main/java/de/eq3/plugin/path/LiveOTAUStatus.java index 8381642..da6b579 100644 --- a/src/main/java/de/eq3/plugin/path/LiveOTAUStatus.java +++ b/src/main/java/de/eq3/plugin/path/LiveOTAUStatus.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/path/Location.java b/src/main/java/de/eq3/plugin/path/Location.java index 03e421a..e625cba 100644 --- a/src/main/java/de/eq3/plugin/path/Location.java +++ b/src/main/java/de/eq3/plugin/path/Location.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/path/MassStorageDevice.java b/src/main/java/de/eq3/plugin/path/MassStorageDevice.java index 7909660..615e1e5 100644 --- a/src/main/java/de/eq3/plugin/path/MassStorageDevice.java +++ b/src/main/java/de/eq3/plugin/path/MassStorageDevice.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/path/PluginInformation.java b/src/main/java/de/eq3/plugin/path/PluginInformation.java index 400ed77..76f6722 100644 --- a/src/main/java/de/eq3/plugin/path/PluginInformation.java +++ b/src/main/java/de/eq3/plugin/path/PluginInformation.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/path/PluginUserMessage.java b/src/main/java/de/eq3/plugin/path/PluginUserMessage.java index 5919b09..2f7fb68 100644 --- a/src/main/java/de/eq3/plugin/path/PluginUserMessage.java +++ b/src/main/java/de/eq3/plugin/path/PluginUserMessage.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/path/SystemUpdateConfiguration.java b/src/main/java/de/eq3/plugin/path/SystemUpdateConfiguration.java index 0335a38..87792ba 100644 --- a/src/main/java/de/eq3/plugin/path/SystemUpdateConfiguration.java +++ b/src/main/java/de/eq3/plugin/path/SystemUpdateConfiguration.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/path/SystemUpdateState.java b/src/main/java/de/eq3/plugin/path/SystemUpdateState.java index d93ce99..336f0cc 100644 --- a/src/main/java/de/eq3/plugin/path/SystemUpdateState.java +++ b/src/main/java/de/eq3/plugin/path/SystemUpdateState.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/path/VoiceControlSettings.java b/src/main/java/de/eq3/plugin/path/VoiceControlSettings.java index f84289f..e231e1f 100644 --- a/src/main/java/de/eq3/plugin/path/VoiceControlSettings.java +++ b/src/main/java/de/eq3/plugin/path/VoiceControlSettings.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/path/Weather.java b/src/main/java/de/eq3/plugin/path/Weather.java index 9c8d299..35025fc 100644 --- a/src/main/java/de/eq3/plugin/path/Weather.java +++ b/src/main/java/de/eq3/plugin/path/Weather.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/serialization/DeviceDeserializer.java b/src/main/java/de/eq3/plugin/serialization/DeviceDeserializer.java index 11c4fc7..7366703 100644 --- a/src/main/java/de/eq3/plugin/serialization/DeviceDeserializer.java +++ b/src/main/java/de/eq3/plugin/serialization/DeviceDeserializer.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/serialization/DeviceType.java b/src/main/java/de/eq3/plugin/serialization/DeviceType.java index a813570..03446df 100644 --- a/src/main/java/de/eq3/plugin/serialization/DeviceType.java +++ b/src/main/java/de/eq3/plugin/serialization/DeviceType.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/serialization/Feature.java b/src/main/java/de/eq3/plugin/serialization/Feature.java index 7ae02b4..9f67094 100644 --- a/src/main/java/de/eq3/plugin/serialization/Feature.java +++ b/src/main/java/de/eq3/plugin/serialization/Feature.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/serialization/FeatureDeserializer.java b/src/main/java/de/eq3/plugin/serialization/FeatureDeserializer.java index b18b6a6..4309ed9 100644 --- a/src/main/java/de/eq3/plugin/serialization/FeatureDeserializer.java +++ b/src/main/java/de/eq3/plugin/serialization/FeatureDeserializer.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/serialization/PluginErrorMessage.java b/src/main/java/de/eq3/plugin/serialization/PluginErrorMessage.java index ba3e8b9..9d423e0 100644 --- a/src/main/java/de/eq3/plugin/serialization/PluginErrorMessage.java +++ b/src/main/java/de/eq3/plugin/serialization/PluginErrorMessage.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/serialization/PluginMessage.java b/src/main/java/de/eq3/plugin/serialization/PluginMessage.java index ba6fd5c..8e20787 100644 --- a/src/main/java/de/eq3/plugin/serialization/PluginMessage.java +++ b/src/main/java/de/eq3/plugin/serialization/PluginMessage.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/serialization/PluginMessageDeserializer.java b/src/main/java/de/eq3/plugin/serialization/PluginMessageDeserializer.java index 3aac4dc..0d2038d 100644 --- a/src/main/java/de/eq3/plugin/serialization/PluginMessageDeserializer.java +++ b/src/main/java/de/eq3/plugin/serialization/PluginMessageDeserializer.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/serialization/PluginMessageFormatException.java b/src/main/java/de/eq3/plugin/serialization/PluginMessageFormatException.java index 8c50e1a..833ad1a 100644 --- a/src/main/java/de/eq3/plugin/serialization/PluginMessageFormatException.java +++ b/src/main/java/de/eq3/plugin/serialization/PluginMessageFormatException.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/de/eq3/plugin/serialization/PluginMessageType.java b/src/main/java/de/eq3/plugin/serialization/PluginMessageType.java index 78e631f..f078c06 100644 --- a/src/main/java/de/eq3/plugin/serialization/PluginMessageType.java +++ b/src/main/java/de/eq3/plugin/serialization/PluginMessageType.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/de/eq3/plugin/test/TestDeserializer.java b/src/test/java/de/eq3/plugin/test/TestDeserializer.java index ad60cdd..a3af3d9 100644 --- a/src/test/java/de/eq3/plugin/test/TestDeserializer.java +++ b/src/test/java/de/eq3/plugin/test/TestDeserializer.java @@ -1,5 +1,5 @@ /** - * Copyright 2014-2025 eQ-3 AG + * Copyright 2014-2026 eQ-3 AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. From 1df0e22c9178089a90e9462f408e775574f8fe0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Preu=C3=9F?= Date: Tue, 27 Jan 2026 14:25:43 +0100 Subject: [PATCH 5/5] Adding missing devices --- .../de/eq3/plugin/serialization/DeviceType.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/eq3/plugin/serialization/DeviceType.java b/src/main/java/de/eq3/plugin/serialization/DeviceType.java index 03446df..d3f9a0b 100644 --- a/src/main/java/de/eq3/plugin/serialization/DeviceType.java +++ b/src/main/java/de/eq3/plugin/serialization/DeviceType.java @@ -16,6 +16,9 @@ package de.eq3.plugin.serialization; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashSet; import java.util.Set; import de.eq3.plugin.documentation.TypeDocumentation; @@ -57,7 +60,19 @@ public enum DeviceType { + "like buttons.") SWITCH_INPUT(Set.of(), Set.of(Feature.MAINTENANCE)), - @TypeValueDocumentation( + @TypeValueDocumentation( + description = "Type for access points.") + ACCESS_POINT(Set.of(), Set.of(Feature.MAINTENANCE)), + + @TypeValueDocumentation( + description = "Type for shutter contacts.") + SHUTTER_CONTACT(Set.of(Feature.CONTACT_SENSOR_STATE), Set.of(Feature.MAINTENANCE)), + + @TypeValueDocumentation( + description = "Type for door locks.") + DOOR_LOCK_DRIVE(Set.of(Feature.SWITCH_STATE),Set.of(Feature.MAINTENANCE, Feature.CONTACT_SENSOR_STATE)), + + @TypeValueDocumentation( description = "Type for contact sensors detecting, for example, if a window is opened or closed.") CONTACT_SENSOR(Set.of(Feature.CONTACT_SENSOR_STATE), Set.of(Feature.MAINTENANCE)),