From dd0cc96d58409229d9d67372a43309cbe6cbb3d5 Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Tue, 22 Aug 2023 20:29:29 +0200 Subject: [PATCH] Improved MQTT Unkown device printout --- build.gradle | 2 +- .../device/HalMqttUnknownDeviceConfig.java | 18 +++++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index 8324bd5e..8a49e8c8 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ subprojects { apply plugin: 'java-library' dependencies { - implementation 'se.koc:zutil:1.0.313' + implementation 'se.koc:zutil:1.0.314' //implementation 'se.koc:zutil:1.0.0-SNAPSHOT' testImplementation 'junit:junit:4.12' diff --git a/plugins/hal-mqtt/src/se/hal/plugin/mqtt/device/HalMqttUnknownDeviceConfig.java b/plugins/hal-mqtt/src/se/hal/plugin/mqtt/device/HalMqttUnknownDeviceConfig.java index d6a197f6..21c771a9 100644 --- a/plugins/hal-mqtt/src/se/hal/plugin/mqtt/device/HalMqttUnknownDeviceConfig.java +++ b/plugins/hal-mqtt/src/se/hal/plugin/mqtt/device/HalMqttUnknownDeviceConfig.java @@ -27,15 +27,22 @@ package se.hal.plugin.mqtt.device; import se.hal.intf.HalDeviceData; import se.hal.intf.HalEventController; import se.hal.plugin.mqtt.HalMqttController; +import se.hal.struct.devicedata.TemperatureSensorData; + +import java.nio.charset.StandardCharsets; /** - * Represents a unknown device data type + * Represents an unknown device data type */ public class HalMqttUnknownDeviceConfig extends HalMqttDeviceConfig { + /** Save data so it can be provided to user for analysis, the data will not be used in any other way */ + transient String data; - public HalMqttUnknownDeviceConfig(String topic) { + + public HalMqttUnknownDeviceConfig(String topic, byte[] data) { setTopic(topic); + this.data = new String(data, StandardCharsets.UTF_8); } // -------------------------- @@ -49,7 +56,7 @@ public class HalMqttUnknownDeviceConfig extends HalMqttDeviceConfig { @Override public Class getDeviceDataClass() { - return null; + return TemperatureSensorData.class; // Just return any data class just so we do not get so many error logs } @Override @@ -61,4 +68,9 @@ public class HalMqttUnknownDeviceConfig extends HalMqttDeviceConfig { public AggregationMethod getAggregationMethod() { return AggregationMethod.AVERAGE; } + + @Override + public String toString() { + return "Topic: " + getTopic() + ", Data: " + data; + } }