Do not define the floor attribute at initialization time
define the floor attribute as modifiable
diff --git a/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/discovery/TemperaturesGeneratorDiscoveryPacket.java b/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/discovery/TemperaturesGeneratorDiscoveryPacket.java
index 2c0fba4..fd38083 100644
--- a/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/discovery/TemperaturesGeneratorDiscoveryPacket.java
+++ b/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/discovery/TemperaturesGeneratorDiscoveryPacket.java
@@ -14,23 +14,17 @@
public class TemperaturesGeneratorDiscoveryPacket extends TemperaturesGeneratorPacket {
private final String location;
- private int floor;
/**
* @param serviceProviderId the id of the device
* @param value the value of the sensor
*/
- public TemperaturesGeneratorDiscoveryPacket(String serviceProviderId, String location, int floor, double value) {
+ public TemperaturesGeneratorDiscoveryPacket(String serviceProviderId, String location, double value) {
super(serviceProviderId,value);
this.location = location;
- this.floor = floor;
}
public String getLocation() {
return this.location;
}
-
- public int getFloor() {
- return this.floor;
- }
}
diff --git a/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/discovery/TemperaturesGeneratorDiscoveryPacketReader.java b/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/discovery/TemperaturesGeneratorDiscoveryPacketReader.java
index 8b08eb3..709ce1a 100644
--- a/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/discovery/TemperaturesGeneratorDiscoveryPacketReader.java
+++ b/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/discovery/TemperaturesGeneratorDiscoveryPacketReader.java
@@ -33,13 +33,7 @@
super.setServiceId("admin");
super.setResourceId("location");
super.setData(((TemperaturesGeneratorDiscoveryPacket) packet).getLocation());
- super.configure();
- super.setServiceProviderId(((TemperaturesGeneratorPacket) packet).getServiceProvider());
- super.setServiceId("sensor");
- super.setResourceId("temperature");
- super.setAttributeId("floor");
- super.setData(((TemperaturesGeneratorDiscoveryPacket) packet).getFloor());
- super.configure();
+ super.configure();
super.setServiceProviderId(((TemperaturesGeneratorDiscoveryPacket) packet).getServiceProvider());
super.setServiceId("sensor");
super.setResourceId("temperature");
diff --git a/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/osgi/Activator.java b/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/osgi/Activator.java
index e2ab27c..1de1bad 100644
--- a/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/osgi/Activator.java
+++ b/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/osgi/Activator.java
@@ -26,7 +26,7 @@
import java.util.Collections;
public class Activator extends AbstractActivator<Mediator> {
- @Property(name = "org.eclipse.sensinact.simulated.generator.amount", defaultValue = "30")
+ @Property(name = "org.eclipse.sensinact.simulated.generator.amount", defaultValue = "10")
Integer DEVICES_NUMBER;
private LocalProtocolStackEndpoint<TemperaturesGeneratorPacket> connector;
private ExtModelConfiguration<TemperaturesGeneratorPacket> manager;
diff --git a/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/parser/DataParser.java b/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/parser/DataParser.java
index ba68146..0bf60df 100644
--- a/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/parser/DataParser.java
+++ b/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/parser/DataParser.java
@@ -37,7 +37,7 @@
try {
for (int i = 0; i < number; i++) {
BufferedReader reader = new BufferedReader(new InputStreamReader(mediator.getContext().getBundle().getResource("data.csv").openStream()));
- DeviceInfo deviceInfo = choose(new BufferedReader(reader),i%3);
+ DeviceInfo deviceInfo = choose(i, new BufferedReader(reader));
if (!map.containsKey(deviceInfo.getServiceProviderId())) {
map.put(deviceInfo.getServiceProviderId(), 0);
}
@@ -51,7 +51,7 @@
return deviceInfoSet;
}
- private static DeviceInfo choose(BufferedReader reader, int floor) throws IOException {
+ private static DeviceInfo choose(int nb, BufferedReader reader) throws IOException {
DeviceInfo result = null;
Random rand = new Random();
Integer sleepTimeRandom = new Random().nextInt(60000) + 1000;
@@ -64,7 +64,7 @@
for (int i = 0; i < 12; i++) {
temperatures[i] = Double.parseDouble(splittedLine[i + 2]);
}
- DeviceInfo deviceInfo = new DeviceInfo(splittedLine[0], splittedLine[1] + "," + splittedLine[2], floor, temperatures, sleepTimeRandom);
+ DeviceInfo deviceInfo = new DeviceInfo(String.valueOf(nb), splittedLine[1] + "," + splittedLine[2], temperatures, sleepTimeRandom);
if (rand.nextInt(n) == 0) {
result = deviceInfo;
}
diff --git a/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/parser/DeviceInfo.java b/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/parser/DeviceInfo.java
index 1049513..89c870a 100644
--- a/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/parser/DeviceInfo.java
+++ b/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/parser/DeviceInfo.java
@@ -18,14 +18,12 @@
private String location;
private double[] temperatures;
private long sleepTime;
- private int floor;
- public DeviceInfo(String serviceProviderId, String location, int floor, double[] temperatures, long sleepTime) {
+ public DeviceInfo(String serviceProviderId, String location, double[] temperatures, long sleepTime) {
this.serviceProviderId = DEVICE_NAME + serviceProviderId;
this.location = location;
this.temperatures = temperatures;
this.sleepTime = sleepTime;
- this.floor = floor;
}
public String getServiceProviderId() {
@@ -43,11 +41,7 @@
public long getSleepTime() {
return sleepTime;
}
-
- public int getFloor() {
- return floor;
- }
-
+
public String toString() {
return "DeviceInfo{" + "serviceProviderId='" + serviceProviderId + '\'' + ", location='" + location + '\'' + ", temperatures=" + Arrays.toString(temperatures) + ", sleepTime=" + sleepTime + '}';
}
diff --git a/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/thread/TemperaturesGeneratorThread.java b/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/thread/TemperaturesGeneratorThread.java
index f42767b..43ff083 100644
--- a/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/thread/TemperaturesGeneratorThread.java
+++ b/simulated-devices/temperatures-generator/src/main/java/org/eclipse/sensinact/gateway/simulated/temperature/generator/thread/TemperaturesGeneratorThread.java
@@ -24,7 +24,7 @@
this.connector = connector;
this.deviceInfo = deviceInfo;
try {
- this.connector.process(new TemperaturesGeneratorDiscoveryPacket(deviceInfo.getServiceProviderId(), deviceInfo.getLocation(), deviceInfo.getFloor(), deviceInfo.getTemperatures()[0]));
+ this.connector.process(new TemperaturesGeneratorDiscoveryPacket(deviceInfo.getServiceProviderId(), deviceInfo.getLocation(), deviceInfo.getTemperatures()[0]));
} catch (InvalidPacketException e) {
e.printStackTrace();
}
diff --git a/simulated-devices/temperatures-generator/src/main/resources/temperature-resource.xml b/simulated-devices/temperatures-generator/src/main/resources/temperature-resource.xml
index 5a0dbe7..31cc775 100644
--- a/simulated-devices/temperatures-generator/src/main/resources/temperature-resource.xml
+++ b/simulated-devices/temperatures-generator/src/main/resources/temperature-resource.xml
@@ -15,7 +15,7 @@
<identifier xsi:type="stringContent">TEMPERATURE</identifier>
<attributes>
<attribute name="value" type="double"></attribute>
- <attribute name="floor" type="int"></attribute>
+ <attribute name="floor" type="int" modifiable="MODIFIABLE"></attribute>
</attributes>
</resourceInfo>
</resourceInfos>
\ No newline at end of file