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

View file

@ -57,7 +57,7 @@
// Only update if data has changed // Only update if data has changed
row.dataset.deviceId = deviceData.id; row.dataset.deviceId = deviceData.id;
row.cells[0].innerHTML = "<a href='?id=" + deviceData.id + "'>" + deviceData.name + "</a>"; 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.cells[2].innerHTML = deviceData.data?.valueStr;
row.dataset.timestamp = deviceData.data?.timestamp; row.dataset.timestamp = deviceData.data?.timestamp;
@ -65,7 +65,7 @@
$(row.cells[3]).relTimestamp(); $(row.cells[3]).relTimestamp();
var actionHtml = ""; var actionHtml = "";
switch (deviceData.config?.typeData) { switch (deviceData.dataType) {
case "ColorEventData": case "ColorEventData":
actionHtml = actionHtml =
'<input type="hidden" name="type" value="color">' + '<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); DataNode deviceNode = new DataNode(DataNode.DataType.Map);
deviceNode.set("id", getId()); deviceNode.set("id", getId());
deviceNode.set("name", getName()); deviceNode.set("name", getName());
deviceNode.set("user", getUser().getUsername()); deviceNode.set("owner", getUser().getUsername());
DataNode mapNode = deviceNode.set("map", DataNode.DataType.Map); DataNode mapNode = deviceNode.set("map", DataNode.DataType.Map);
mapNode.set("x", getMapX()); mapNode.set("x", getMapX());
mapNode.set("y", getMapY()); mapNode.set("y", getMapY());
if (getDeviceConfig() != null) { if (getDeviceConfig() != null) {
DataNode configNode = deviceNode.set("config", DataNode.DataType.Map); deviceNode.set("configType", getDeviceConfig().getClass().getSimpleName());
configNode.set("typeConfig", getDeviceConfig().getClass().getSimpleName());
configNode.set("typeData", getDeviceConfig().getDeviceDataClass().getSimpleName());
DataNode configNode = deviceNode.set("config", DataNode.DataType.Map);
for (Configurator.ConfigurationParam param : getDeviceConfigurator().getConfiguration()) { for (Configurator.ConfigurationParam param : getDeviceConfigurator().getConfiguration()) {
configNode.set(param.getName(), param.getString()); configNode.set(param.getName(), param.getString());
} }
} else {
deviceNode.set("configType", (String)null);
} }
if (getDeviceData() != null) { if (getDeviceData() != null) {
deviceNode.set("dataType", getDeviceConfig().getDeviceDataClass().getSimpleName());
DataNode dataNode = deviceNode.set("data", DataNode.DataType.Map); DataNode dataNode = deviceNode.set("data", DataNode.DataType.Map);
dataNode.set("value", getDeviceData().getData()); dataNode.set("value", getDeviceData().getData());
dataNode.set("valueStr", getDeviceData().toString()); dataNode.set("valueStr", getDeviceData().toString());
dataNode.set("timestamp", getDeviceData().getTimestamp()); dataNode.set("timestamp", getDeviceData().getTimestamp());
} else {
deviceNode.set("dataType", (String)null);
} }
return deviceNode; return deviceNode;

View file

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

View file

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