Former-commit-id: 149761da76261805f86e464241f08748ea8eb3ea
TangShanKaiPing
wanggang 6 years ago
parent de19cccb06
commit 79e6837571

@ -94,7 +94,9 @@ namespace Application.Domain.Entities
} }
else else
{ {
oldData.Name = data.Name;
oldData.Value = data.Value; oldData.Value = data.Value;
oldData.Unit = data.Unit;
oldData.Description = data.Description; oldData.Description = data.Description;
} }
return oldData; return oldData;

@ -185,25 +185,32 @@ namespace IoTCenter.Controllers
var dbName = "iot"; var dbName = "iot";
var measurementName = "data"; var measurementName = "data";
var list = new List<object>(); var list = new List<object>();
var labels = new List<string>();
using (var client = new InfluxClient(new Uri(url), usr, pwd)) using (var client = new InfluxClient(new Uri(url), usr, pwd))
{ {
var fileds = String.Join(',', device.Data.Where(o => o.Type == DeviceDataType.Int || o.Type == DeviceDataType.Float).Select(o => o.Key)); var fileds = String.Join(',', device.Data.Where(o => o.Type == DeviceDataType.Int || o.Type == DeviceDataType.Float).Select(o => o.Key));
var query = $"select {fileds} from {measurementName} where time>now()-{time} and DeviceNumber = '{device.Number}' limit 10000"; if (!string.IsNullOrEmpty(fileds))
var result = client.ReadAsync<DynamicInfluxRow>(dbName, query).Result;
var rows = result.Results.FirstOrDefault()?
.Series.FirstOrDefault()?
.Rows;
foreach (var data in device.Data.Where(o => o.Type == DeviceDataType.Int || o.Type == DeviceDataType.Float))
{ {
list.Add(new var query = $"select {fileds} from {measurementName} where time>now()-{time} and DeviceNumber = '{device.Number}' limit 10000";
var result = client.ReadAsync<DynamicInfluxRow>(dbName, query).Result;
var rows = result.Results.FirstOrDefault()?
.Series.FirstOrDefault()?
.Rows;
foreach (var data in device.Data.Where(o => o.Type == DeviceDataType.Int || o.Type == DeviceDataType.Float))
{ {
label = data.Name, list.Add(new
data = rows != null ? rows.Where(o => o.Fields.ContainsKey(data.Key)).Select(o => o.GetField(data.Key)).ToList() : new List<object>(), {
backgroundColor = this.GetColor(data.Key), label = data.Name,
fill = false data = rows != null ? rows.Where(o => o.Fields.ContainsKey(data.Key)).Select(o => o.GetField(data.Key)).ToList() : new List<object>(),
}); backgroundColor = this.GetColor(data.Key),
fill = false
});
}
if (rows != null)
{
labels = rows.Select(o => o.Timestamp.Value).Select(o => o.ToString("MM-dd HH:mm")).Distinct().ToList();
}
} }
var labels = rows != null ? rows.Select(o => o.Timestamp.Value).Select(o => o.ToString("MM-dd HH:mm")).ToList().Distinct() : new List<string>();
var model = new var model = new
{ {
datasets = list, datasets = list,

@ -701,7 +701,7 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-6" v-for="device in GetChartDevices()"> <div class="col-md-6" v-for="device in GetChartDevices()">
<div class="card" style="height:220px;"> <div class="card" style="height:306px;">
<div class="card-header"> <div class="card-header">
<div class="card-title"> <div class="card-title">
{{device.DisplayName}} {{device.DisplayName}}

Binary file not shown.

@ -513,6 +513,9 @@ namespace IoTNode.DeviceServices.FBee
device.AddorUpdateData(device.CreateData(Keys.Battery, battery, DeviceDataType.Int, Keys.Battery, hidden: true)); device.AddorUpdateData(device.CreateData(Keys.Battery, battery, DeviceDataType.Int, Keys.Battery, hidden: true));
var epCount = ms.ReadByte(); var epCount = ms.ReadByte();
device.AddorUpdateData(device.CreateData(Keys.EndPointCount, battery, DeviceDataType.Int, Keys.EndPointCount, hidden: true)); device.AddorUpdateData(device.CreateData(Keys.EndPointCount, battery, DeviceDataType.Int, Keys.EndPointCount, hidden: true));
if (device.Name == "光强检测器")
{
}
var historyData = ms.ReadHexString(4); var historyData = ms.ReadHexString(4);
device.AddorUpdateData(device.CreateData(Keys.Data, historyData, DeviceDataType.String, Keys.Data, hidden: true)); device.AddorUpdateData(device.CreateData(Keys.Data, historyData, DeviceDataType.String, Keys.Data, hidden: true));
device.AddorUpdateData(device.CreateData(Keys.ZoneType, zoneType, DeviceDataType.String, Keys.ZoneType, hidden: true)); device.AddorUpdateData(device.CreateData(Keys.ZoneType, zoneType, DeviceDataType.String, Keys.ZoneType, hidden: true));
@ -1245,7 +1248,7 @@ namespace IoTNode.DeviceServices.FBee
} }
else if (clusterId == ClusterId.voltage) else if (clusterId == ClusterId.voltage)
{ {
var data1 = device.CreateData(Keys.Voltage, props[0x21][0] / 2f, DeviceDataType.Float, "电量"); var data1 = device.CreateData(Keys.Voltage, props[0x21][0] / 2f, DeviceDataType.Float, "电量", hidden: true);
device.AddorUpdateData(data1); device.AddorUpdateData(data1);
var dto1 = data1.To<EditDataModel>(); var dto1 = data1.To<EditDataModel>();
dataList.Add(dto1); dataList.Add(dto1);

@ -12,8 +12,10 @@ using System.Linq;
namespace IoTNode.Services namespace IoTNode.Services
{ {
public class IoTNodeEventHandler : public class IoTNodeEventHandler :
IEventHander<EntityInsertedEvent<IoTTimer>>,
IEventHander<EntityUpdatedEvent<IoTTimer>>, IEventHander<EntityUpdatedEvent<IoTTimer>>,
IEventHander<EntityDeletedEvent<IoTTimer>>, IEventHander<EntityDeletedEvent<IoTTimer>>,
IEventHander<EntityInsertedEvent<IoTTigger>>,
IEventHander<EntityUpdatedEvent<IoTTigger>>, IEventHander<EntityUpdatedEvent<IoTTigger>>,
IEventHander<EntityDeletedEvent<IoTTigger>>, IEventHander<EntityDeletedEvent<IoTTigger>>,
IEventHander<EntityUpdatedEvent<Data>> IEventHander<EntityUpdatedEvent<Data>>
@ -26,6 +28,11 @@ namespace IoTNode.Services
this._sp = sp; this._sp = sp;
} }
public void Handle(EntityInsertedEvent<IoTTimer> message)
{
RecurringJob.AddOrUpdate<IoTNodeJob>(message.Data.Id.ToString(), o => o.TimerHanle(message.Data.Id), message.Data.Cron);
}
public void Handle(EntityUpdatedEvent<IoTTimer> message) public void Handle(EntityUpdatedEvent<IoTTimer> message)
{ {
RecurringJob.AddOrUpdate<IoTNodeJob>(message.Data.Id.ToString(), o => o.TimerHanle(message.Data.Id), message.Data.Cron); RecurringJob.AddOrUpdate<IoTNodeJob>(message.Data.Id.ToString(), o => o.TimerHanle(message.Data.Id), message.Data.Cron);
@ -36,6 +43,11 @@ namespace IoTNode.Services
RecurringJob.RemoveIfExists(message.Data.Id.ToString()); RecurringJob.RemoveIfExists(message.Data.Id.ToString());
} }
public void Handle(EntityInsertedEvent<IoTTigger> message)
{
Tiggers.TryAdd(message.Data.Id, message.Data);
}
public void Handle(EntityUpdatedEvent<IoTTigger> message) public void Handle(EntityUpdatedEvent<IoTTigger> message)
{ {
Tiggers.TryRemove(message.Data.Id, out IoTTigger tigger); Tiggers.TryRemove(message.Data.Id, out IoTTigger tigger);

Binary file not shown.
Loading…
Cancel
Save