iotdb 设备状态推送
This commit is contained in:
parent
b65118af52
commit
a488400232
@ -12,6 +12,7 @@ using PluginInterface.HuaWeiRoma;
|
|||||||
using PluginInterface.IotDB;
|
using PluginInterface.IotDB;
|
||||||
using PluginInterface.IoTSharp;
|
using PluginInterface.IoTSharp;
|
||||||
using PluginInterface.ThingsBoard;
|
using PluginInterface.ThingsBoard;
|
||||||
|
using System.Xml.Linq;
|
||||||
|
|
||||||
namespace Plugin
|
namespace Plugin
|
||||||
{
|
{
|
||||||
@ -540,7 +541,7 @@ namespace Plugin
|
|||||||
measurements = payload.Values?.Keys.ToList(),
|
measurements = payload.Values?.Keys.ToList(),
|
||||||
values = payload.Values?.Values.ToList()
|
values = payload.Values?.Values.ToList()
|
||||||
};
|
};
|
||||||
await Client.EnqueueAsync(device.DeviceName, JsonConvert.SerializeObject(tsData));
|
await Client.EnqueueAsync(_systemConfig.GatewayName + device.DeviceName, JsonConvert.SerializeObject(tsData));
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -580,6 +581,10 @@ namespace Plugin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private readonly DateTime _tsStartDt = new(1970, 1, 1);
|
||||||
|
private readonly List<string> iotDbOnLineMeasurement = new() { "online" };
|
||||||
|
private readonly List<object> iotDbOnLine = new() { true };
|
||||||
|
private readonly List<object> iotDbOffLine = new() { false };
|
||||||
public async Task DeviceConnected(Device device)
|
public async Task DeviceConnected(Device device)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@ -605,6 +610,17 @@ namespace Plugin
|
|||||||
JsonConvert.SerializeObject(new Dictionary<string, string>
|
JsonConvert.SerializeObject(new Dictionary<string, string>
|
||||||
{ { "device", device.DeviceName } }));
|
{ { "device", device.DeviceName } }));
|
||||||
break;
|
break;
|
||||||
|
case IoTPlatformType.IotDB:
|
||||||
|
IotTsData onlineData = new IotTsData()
|
||||||
|
{
|
||||||
|
device = _systemConfig.GatewayName + device.DeviceName,
|
||||||
|
timestamp = (long)(DateTime.UtcNow - _tsStartDt).TotalMilliseconds,
|
||||||
|
measurements = iotDbOnLineMeasurement,
|
||||||
|
values = iotDbOnLine
|
||||||
|
};
|
||||||
|
await Client.EnqueueAsync(_systemConfig.GatewayName + device.DeviceName,
|
||||||
|
JsonConvert.SerializeObject(onlineData));
|
||||||
|
break;
|
||||||
case IoTPlatformType.HuaWei:
|
case IoTPlatformType.HuaWei:
|
||||||
var deviceOnLine = new HwDeviceOnOffLine()
|
var deviceOnLine = new HwDeviceOnOffLine()
|
||||||
{
|
{
|
||||||
@ -657,6 +673,17 @@ namespace Plugin
|
|||||||
JsonConvert.SerializeObject(new Dictionary<string, string>
|
JsonConvert.SerializeObject(new Dictionary<string, string>
|
||||||
{ { "device", device.DeviceName } }));
|
{ { "device", device.DeviceName } }));
|
||||||
break;
|
break;
|
||||||
|
case IoTPlatformType.IotDB:
|
||||||
|
IotTsData onlineData = new IotTsData()
|
||||||
|
{
|
||||||
|
device = _systemConfig.GatewayName + device.DeviceName,
|
||||||
|
timestamp = (long)(DateTime.UtcNow - _tsStartDt).TotalMilliseconds,
|
||||||
|
measurements = iotDbOnLineMeasurement,
|
||||||
|
values = iotDbOffLine
|
||||||
|
};
|
||||||
|
await Client.EnqueueAsync(_systemConfig.GatewayName + device.DeviceName,
|
||||||
|
JsonConvert.SerializeObject(onlineData));
|
||||||
|
break;
|
||||||
case IoTPlatformType.HuaWei:
|
case IoTPlatformType.HuaWei:
|
||||||
var deviceOnLine = new HwDeviceOnOffLine()
|
var deviceOnLine = new HwDeviceOnOffLine()
|
||||||
{
|
{
|
||||||
@ -684,7 +711,6 @@ namespace Plugin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public async Task DeviceAdded(Device device)
|
public async Task DeviceAdded(Device device)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@ -720,7 +746,6 @@ namespace Plugin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public async Task DeviceDeleted(Device device)
|
public async Task DeviceDeleted(Device device)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
Loading…
Reference in New Issue
Block a user