|
|
@@ -14,7 +14,7 @@ import java.util.List;
|
|
|
|
|
|
@Slf4j
|
|
|
@Component(MonitorDataProcessor.RS_MG111_WIFI_1)
|
|
|
-public class WifiEvnSevenInOne extends AbsRenkeMonitorDataProcessor{
|
|
|
+public class WifiEvnSevenInOne extends AbsRenkeMonitorDataProcessor {
|
|
|
public WifiEvnSevenInOne(ApplicationEventPublisher applicationEventPublisher) {
|
|
|
super(applicationEventPublisher);
|
|
|
}
|
|
|
@@ -22,34 +22,67 @@ public class WifiEvnSevenInOne extends AbsRenkeMonitorDataProcessor{
|
|
|
@Override
|
|
|
List<SensorData> transRealTimeData2SensorDatas(RealTimeData data) {
|
|
|
List<NodeData> nodeList = data.getNodeList();
|
|
|
- final int numNodes = nodeList.size();
|
|
|
- if (numNodes < 7) {
|
|
|
- log.error("数据节点数量不够,需要7个节点,但只有{}个", nodeList.size());
|
|
|
- return null;
|
|
|
- }
|
|
|
SensorData sensorData = defaultSensorData(data);
|
|
|
- sensorData.setPm10(floatValue(nodeList.get(0).getTem()));
|
|
|
- sensorData.setPm25(floatValue(nodeList.get(0).getHum()));
|
|
|
- sensorData.setHumidity(floatValue(nodeList.get(1).getHum() / 10));
|
|
|
- sensorData.setTemperature(floatValue(nodeList.get(1).getTem() / 10));
|
|
|
- sensorData.setPressure(floatValue(nodeList.get(2).getTem() / 10));
|
|
|
- sensorData.setIlluminance((nodeList.get(3).getSignedInt32Value()));
|
|
|
- sensorData.setTvoc(floatValue(nodeList.get(4).getHum()));
|
|
|
- sensorData.setCo2(floatValue(nodeList.get(5).getTem()));
|
|
|
- sensorData.setCh4o(floatValue(nodeList.get(6).getTem() / 100));
|
|
|
- sensorData.setO3(floatValue(nodeList.get(7).getTem()));
|
|
|
- sensorData.setO2(floatValue(nodeList.get(8).getTem()));
|
|
|
- sensorData.setSo2(floatValue(nodeList.get(9).getTem()));
|
|
|
- sensorData.setCh4(floatValue(nodeList.get(10).getTem()));
|
|
|
- sensorData.setCo(floatValue(nodeList.get(11).getTem()));
|
|
|
- sensorData.setNo2(floatValue(nodeList.get(12).getTem()));
|
|
|
- sensorData.setSo2(floatValue(nodeList.get(13).getTem()));
|
|
|
- sensorData.setH2(floatValue(nodeList.get(14).getTem()));
|
|
|
- sensorData.setNh3(floatValue(nodeList.get(15).getTem()));
|
|
|
- sensorData.setDB(floatValue(nodeList.get(16).getTem()));
|
|
|
- sensorData.setOdor(floatValue(nodeList.get(17).getTem()));
|
|
|
- sensorData.setTsp(floatValue(nodeList.get(18).getTem()));
|
|
|
- sensorData.setSmoke(floatValue(nodeList.get(19).getTem()));
|
|
|
+ for (NodeData nodeData : nodeList) {
|
|
|
+ switch (nodeData.getNodeId()) {
|
|
|
+ case 1:
|
|
|
+ sensorData.setPm10(floatValue(nodeData.getTem()));
|
|
|
+ sensorData.setPm25(floatValue(nodeData.getHum()));
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ sensorData.setTemperature(floatValue(nodeData.getTem()));
|
|
|
+ sensorData.setHumidity(floatValue(nodeData.getHum()));
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ sensorData.setPressure(floatValue(nodeData.getTem() / 10));
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ sensorData.setIlluminance((nodeData.getSignedInt32Value()));
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ sensorData.setTvoc(floatValue(nodeData.getHum()));
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ sensorData.setCo2(floatValue(nodeData.getTem()));
|
|
|
+ break;
|
|
|
+ case 7:
|
|
|
+ sensorData.setCh4o(floatValue(nodeData.getTem() / 100));
|
|
|
+ break;
|
|
|
+ case 8:
|
|
|
+ sensorData.setO3(floatValue(nodeData.getTem()));
|
|
|
+ break;
|
|
|
+ case 9:
|
|
|
+ sensorData.setO2(floatValue(nodeData.getTem()));
|
|
|
+ break;
|
|
|
+ case 10:
|
|
|
+ sensorData.setH2s(floatValue(nodeData.getTem()));
|
|
|
+ break;
|
|
|
+ case 11:
|
|
|
+ sensorData.setCh4(floatValue(nodeData.getTem()));
|
|
|
+ break;
|
|
|
+ case 12:
|
|
|
+ sensorData.setCo(floatValue(nodeData.getTem()));
|
|
|
+ break;
|
|
|
+ case 13:
|
|
|
+ sensorData.setNo2(floatValue(nodeData.getTem()));
|
|
|
+ break;
|
|
|
+ case 14:
|
|
|
+ sensorData.setSo2(floatValue(nodeData.getTem()));
|
|
|
+ break;
|
|
|
+ case 15:
|
|
|
+ sensorData.setH2(floatValue(nodeData.getTem()));
|
|
|
+ break;
|
|
|
+ case 16:
|
|
|
+ sensorData.setNh3(floatValue(nodeData.getTem()));
|
|
|
+ break;
|
|
|
+ case 17:
|
|
|
+ sensorData.setDB(floatValue(nodeData.getTem()));
|
|
|
+ break;
|
|
|
+ case 18:
|
|
|
+ sensorData.setOdor(floatValue(nodeData.getTem()));
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
return Lists.newArrayList(sensorData);
|
|
|
}
|
|
|
|