Fixed equals method and refactored vue folder

This commit is contained in:
Ziver Koc 2025-10-24 01:10:58 +02:00
parent c96a00333b
commit ac97ca8068
13 changed files with 111 additions and 29 deletions

View file

@ -41,6 +41,8 @@ import zutil.parser.json.JSONWriter;
import java.io.IOException;
import java.net.MalformedURLException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
@ -59,8 +61,6 @@ public class EcoSenseCloudAPIClient {
private static final String USER_POOL_REGION = "us-west-2";
private static final String API_URL = "https://api.cloud.ecosense.io/api";
private static SimpleDateFormat DATE_PARSER = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); //2025-10-22T14:09:29.691533
private String username;
private String password;
/** The authenticated Amazon Cognito ID token. */
@ -147,8 +147,8 @@ public class EcoSenseCloudAPIClient {
ecoSenseDevice.wifiName = deviceNode.getString("wifi_name");
try {
ecoSenseDevice.lastRadonUpdateTime = DATE_PARSER.parse(deviceNode.getString("last_radon_update_time")).getTime();
ecoSenseDevice.lastUpdateTime = DATE_PARSER.parse(deviceNode.getString("last_update_time")).getTime();
ecoSenseDevice.lastRadonUpdateTime = LocalDateTime.parse(deviceNode.getString("last_radon_update_time")).toInstant(ZoneOffset.UTC).toEpochMilli();
ecoSenseDevice.lastUpdateTime = LocalDateTime.parse(deviceNode.getString("last_update_time")).toInstant(ZoneOffset.UTC).toEpochMilli();
} catch (Exception e) {
logger.log(Level.WARNING, "Was unable to parse timestamp from EcoSense API.", e);
}

View file

@ -30,6 +30,8 @@ import se.hal.intf.HalSensorData;
import se.hal.plugin.vendor.ecosense.EcoSenseController;
import se.hal.struct.devicedata.RadonSensorData;
import java.util.Objects;
/**
* A sensor that calculate current radon level
*/
@ -63,7 +65,15 @@ public class EccoCubeRadonSensor implements HalSensorConfig {
}
@Override
public boolean equals(Object obj) {
return false;
public final boolean equals(Object o) {
if (!(o instanceof EccoCubeRadonSensor)) return false;
EccoCubeRadonSensor that = (EccoCubeRadonSensor) o;
return Objects.equals(serialNumber, that.serialNumber);
}
@Override
public int hashCode() {
return Objects.hashCode(serialNumber);
}
}