|
|
|
@ -8,6 +8,7 @@ using Microsoft.EntityFrameworkCore;
|
|
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections;
|
|
|
|
|
using System.Collections.Concurrent;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
@ -386,9 +387,9 @@ namespace IoTNode.DeviceServices.FBee
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
var battery = ms.ReadByte();
|
|
|
|
|
this.UpdateIoTData(device.Id, DataKeys.Battery, battery);
|
|
|
|
|
//this.UpdateIoTData(device.Id, DataKeys.Battery, battery/100f);
|
|
|
|
|
var epCount = ms.ReadByte();
|
|
|
|
|
this.UpdateIoTData(device.Id, DataKeys.EndPointCount, battery);
|
|
|
|
|
this.UpdateIoTData(device.Id, DataKeys.EndPointCount, epCount);
|
|
|
|
|
|
|
|
|
|
if (device.Name == "光强检测器")
|
|
|
|
|
{
|
|
|
|
@ -527,14 +528,11 @@ namespace IoTNode.DeviceServices.FBee
|
|
|
|
|
}
|
|
|
|
|
else if (clusterId == ClusterId.alarm)
|
|
|
|
|
{
|
|
|
|
|
var state = BitConverter.ToInt16(props[0x0080]);
|
|
|
|
|
this.UpdateIoTData(device.Id, DataKeys.Warning, state);
|
|
|
|
|
|
|
|
|
|
//var data2 = device.CreateData(Keys.UnderVoltage, new BitArray(props[0x0080])[3], DeviceDataType.Int, "低电量");
|
|
|
|
|
//device.AddorUpdateData(data2);
|
|
|
|
|
//var dto2 = data2.To<EditDataModel>();
|
|
|
|
|
//dto2.DeviceNumber = device.Number;
|
|
|
|
|
//dataList.Add(dto2);
|
|
|
|
|
var state = new BitArray(props[0x0080]);
|
|
|
|
|
var status = state[0] ? 1 : 0;
|
|
|
|
|
var voltage = state[3] ? 1 : 0;
|
|
|
|
|
this.UpdateIoTData(device.Id, DataKeys.Warning, status);
|
|
|
|
|
this.UpdateIoTData(device.Id, DataKeys.LowVoltage, voltage);
|
|
|
|
|
}
|
|
|
|
|
else if (clusterId == ClusterId.pm25)
|
|
|
|
|
{
|
|
|
|
@ -560,7 +558,14 @@ namespace IoTNode.DeviceServices.FBee
|
|
|
|
|
}
|
|
|
|
|
else if (clusterId == ClusterId.voltage)
|
|
|
|
|
{
|
|
|
|
|
this.UpdateIoTData(device.Id, DataKeys.Voltage, props[0x21][0] / 2f);
|
|
|
|
|
if (props.ContainsKey(0x0021))
|
|
|
|
|
{
|
|
|
|
|
this.UpdateIoTData(device.Id, DataKeys.Battery,Convert.ToInt32(props[0x21][0])/100f);
|
|
|
|
|
}
|
|
|
|
|
else if (props.ContainsKey(0x003e))
|
|
|
|
|
{
|
|
|
|
|
this.UpdateIoTData(device.Id, DataKeys.LowVoltage, Convert.ToInt32(props[0x003e]) == 1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (clusterId == ClusterId.socket)
|
|
|
|
|
{
|
|
|
|
@ -1045,8 +1050,14 @@ namespace IoTNode.DeviceServices.FBee
|
|
|
|
|
{
|
|
|
|
|
this.UpdateIoTData(device.Id, DataKeys.PowerState, switchState);
|
|
|
|
|
}
|
|
|
|
|
else if(endpoint==0x0b)
|
|
|
|
|
{
|
|
|
|
|
//调色灯
|
|
|
|
|
this.UpdateIoTData(device.Id, DataKeys.PowerState, switchState);
|
|
|
|
|
}
|
|
|
|
|
else if (endpoint == 0x0e)
|
|
|
|
|
{
|
|
|
|
|
//窗帘电机
|
|
|
|
|
this.UpdateIoTData(device.Id, DataKeys.CurtainState, switchState);
|
|
|
|
|
}
|
|
|
|
|
else if (endpoint == 0x10)
|
|
|
|
|