Moved around some properties in the API

This commit is contained in:
Ziver Koc 2024-01-24 22:22:20 +01:00
parent 99a61f8ca3
commit c27f1030b6
5 changed files with 35 additions and 28 deletions

View file

@ -19,6 +19,7 @@
"type": "object",
"$ref": "#/components/schemas/dataClass"
},
"dataType": {"type": "string"},
"name": {"type": "string"},
"id": {"type": "integer"},
"map": {
@ -29,7 +30,8 @@
"config": {
"type": "object",
"$ref": "#/components/schemas/configClass"
}
},
"configType": {"type": "string"}
}
},
@ -86,8 +88,6 @@
"configClass": {
"type": "object",
"properties": {
"typeConfig": {"type": "string"},
"typeData": {"type": "string"}
}
},
@ -198,7 +198,7 @@
"type": "string"
},
"in": "query",
"name": "typeConfig",
"name": "configType",
"required": false
},
{
@ -206,7 +206,7 @@
"type": "string"
},
"in": "query",
"name": "typeData",
"name": "dataType",
"required": false
}
]
@ -276,7 +276,7 @@
"type": "string"
},
"in": "query",
"name": "typeConfig",
"name": "configType",
"required": false
},
{
@ -284,7 +284,7 @@
"type": "string"
},
"in": "query",
"name": "typeData",
"name": "dataType",
"required": false
},
{

View file

@ -57,7 +57,7 @@
// Only update if data has changed
row.dataset.deviceId = deviceData.id;
row.cells[0].innerHTML = "<a href='?id=" + deviceData.id + "'>" + deviceData.name + "</a>";
row.cells[1].innerHTML = deviceData.config?.typeConfig;
row.cells[1].innerHTML = deviceData.configType;
row.cells[2].innerHTML = deviceData.data?.valueStr;
row.dataset.timestamp = deviceData.data?.timestamp;
@ -65,7 +65,7 @@
$(row.cells[3]).relTimestamp();
var actionHtml = "";
switch (deviceData.config?.typeData) {
switch (deviceData.dataType) {
case "ColorEventData":
actionHtml =
'<input type="hidden" name="type" value="color">' +

View file

@ -244,27 +244,32 @@ public abstract class HalAbstractDevice<V extends HalAbstractDevice, C extends H
DataNode deviceNode = new DataNode(DataNode.DataType.Map);
deviceNode.set("id", getId());
deviceNode.set("name", getName());
deviceNode.set("user", getUser().getUsername());
deviceNode.set("owner", getUser().getUsername());
DataNode mapNode = deviceNode.set("map", DataNode.DataType.Map);
mapNode.set("x", getMapX());
mapNode.set("y", getMapY());
if (getDeviceConfig() != null) {
DataNode configNode = deviceNode.set("config", DataNode.DataType.Map);
configNode.set("typeConfig", getDeviceConfig().getClass().getSimpleName());
configNode.set("typeData", getDeviceConfig().getDeviceDataClass().getSimpleName());
deviceNode.set("configType", getDeviceConfig().getClass().getSimpleName());
DataNode configNode = deviceNode.set("config", DataNode.DataType.Map);
for (Configurator.ConfigurationParam param : getDeviceConfigurator().getConfiguration()) {
configNode.set(param.getName(), param.getString());
}
} else {
deviceNode.set("configType", (String)null);
}
if (getDeviceData() != null) {
deviceNode.set("dataType", getDeviceConfig().getDeviceDataClass().getSimpleName());
DataNode dataNode = deviceNode.set("data", DataNode.DataType.Map);
dataNode.set("value", getDeviceData().getData());
dataNode.set("valueStr", getDeviceData().toString());
dataNode.set("timestamp", getDeviceData().getTimestamp());
} else {
deviceNode.set("dataType", (String)null);
}
return deviceNode;

View file

@ -39,12 +39,12 @@ public class EventApiEndpoint extends HalApiEndpoint {
// Get Action
// --------------------------------------
String[] req_ids = new String[0];
String[] reqIds = new String[0];
if (request.get("id") != null)
req_ids = request.get("id").split(",");
reqIds = request.get("id").split(",");
String req_typeConfig = request.get("typeConfig");
String req_typeData = request.get("typeData");
String reqConfigType = request.get("configType");
String reqDataType = request.get("dataType");
// Filter devices
@ -53,19 +53,19 @@ public class EventApiEndpoint extends HalApiEndpoint {
boolean filter_match = true;
// id filtering
if (!ObjectUtil.isEmpty((Object) req_ids) && !ArrayUtil.contains(req_ids, "" + event.getId())) {
if (!ObjectUtil.isEmpty((Object) reqIds) && !ArrayUtil.contains(reqIds, "" + event.getId())) {
filter_match = false;
}
// device type filtering
if (!ObjectUtil.isEmpty(req_typeConfig) &&
!event.getDeviceConfig().getClass().getSimpleName().equals(req_typeConfig)) {
if (!ObjectUtil.isEmpty(reqConfigType) &&
!event.getDeviceConfig().getClass().getSimpleName().equals(reqConfigType)) {
filter_match = false;
}
// data type filtering
if (!ObjectUtil.isEmpty(req_typeData) &&
!event.getDeviceConfig().getDeviceDataClass().getSimpleName().equals(req_typeData)) {
if (!ObjectUtil.isEmpty(reqDataType) &&
!event.getDeviceConfig().getDeviceDataClass().getSimpleName().equals(reqDataType)) {
filter_match = false;
}
@ -81,6 +81,7 @@ public class EventApiEndpoint extends HalApiEndpoint {
for (Event event : events) {
DataNode deviceNode = event.getDataNode();
deviceNode.set("type", "Event");
root.add(deviceNode);
}

View file

@ -46,8 +46,8 @@ public class SensorApiEndpoint extends HalApiEndpoint {
if (request.get("id") != null)
reqIds = request.get("id").split(",");
String reqTypeConfig = request.get("typeConfig");
String reqTypeData = request.get("typeData");
String reqConfigType = request.get("configType");
String reqDataType = request.get("dataType");
List<Sensor> sensors = new ArrayList<>();
@ -60,14 +60,14 @@ public class SensorApiEndpoint extends HalApiEndpoint {
}
// device type filtering
if (!ObjectUtil.isEmpty(reqTypeConfig) &&
!sensor.getDeviceConfig().getClass().getSimpleName().equals(reqTypeConfig)) {
if (!ObjectUtil.isEmpty(reqConfigType) &&
!sensor.getDeviceConfig().getClass().getSimpleName().equals(reqConfigType)) {
filter_match = false;
}
// data type filtering
if (!ObjectUtil.isEmpty(reqTypeData) &&
!sensor.getDeviceConfig().getDeviceDataClass().getSimpleName().equals(reqTypeData)) {
if (!ObjectUtil.isEmpty(reqDataType) &&
!sensor.getDeviceConfig().getDeviceDataClass().getSimpleName().equals(reqDataType)) {
filter_match = false;
}
@ -118,6 +118,7 @@ public class SensorApiEndpoint extends HalApiEndpoint {
deviceNode.set("aggregate", aggregateNode);
}
deviceNode.set("type", "Sensor");
root.add(deviceNode);
}