Former-commit-id: 77ce8b4ce13d586723b8536300b3f1878367dae1
TangShanKaiPing
wanggang 6 years ago
parent 5b12174199
commit 5ac7a2f16a

@ -30,7 +30,6 @@ namespace Application.Domain.Entities
public string Sn { get; set; }
public string Name { get; set; }
public string Number { get; set; }
public string Icon { get; set; }
public int CategoryNumber { get; set; }
public string CategoryName { get; set; }

@ -96,22 +96,30 @@ namespace FBeeService
this.DeviceOnOff(id, 0);
}
private void DeviceOnOff(string id, byte status)
private void DeviceOnOff(string ieee, byte status)
{
var sn = id.Split('-')[0];
var address = id.Split('-')[1];
var list = new List<byte>() { 0x16, 0x00 };
list.AddRange(sn.HexToBytes().Reverse());
list.Add(0xfe);
list.Add(0x82);
list.Add(0x0d);
list.Add(0x02);
list.AddRange(address.HexToBytes());
list.AddRange(new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 });
list.Add(0x01);
list.AddRange(new byte[] { 0x00, 0x00 });
list.Add(status);
this.Clients[sn].Client.GetStream().Write(list.ToArray());
using (var scope = _applicationServices.CreateScope())
{
var repo = scope.ServiceProvider.GetService<IRepository<FBeeDevice>>();
var device = repo.ReadOnlyTable().FirstOrDefault(o => o.Online != 0 && o.IEEE == ieee);
if (device != null)
{
var sn = device.Sn;
var address = device.Address;
var list = new List<byte>() { 0x16, 0x00 };
list.AddRange(sn.HexToBytes().Reverse());
list.Add(0xfe);
list.Add(0x82);
list.Add(0x0d);
list.Add(0x02);
list.AddRange(address.HexToBytes());
list.AddRange(new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 });
list.Add(0x01);
list.AddRange(new byte[] { 0x00, 0x00 });
list.Add(status);
this.Clients[sn].Client.GetStream().Write(list.ToArray());
}
}
}
public void Switch2AllOn(string id)
@ -383,7 +391,6 @@ namespace FBeeService
device = new FBeeDevice
{
Sn = sn,
Number = $"{sn}-{address}",
Name = deviceType.Name,
Icon = deviceType.Icon,
CategoryNumber = deviceType.RawDeviceId,

@ -32,7 +32,7 @@ namespace FBeeService
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Gateway>().HasIndex(o => o.Sn).IsUnique();
modelBuilder.Entity<FBeeDevice>().HasIndex(o => new { o.Sn, o.Number }).IsUnique();
modelBuilder.Entity<FBeeDevice>().HasIndex(o => new { o.Sn, o.IEEE }).IsUnique();
}
public override void Seed(DbContext dbContext, IServiceProvider serviceProvider, IConfiguration configuration)

@ -1,7 +1,7 @@
@model List<FBeeDevice>
<table>
<tr>
<th>编号</th>
<th>IEEE</th>
<th>Sn</th>
<th>地址</th>
<th>开关</th>
@ -10,7 +10,7 @@
@foreach (var item in Model)
{
<tr>
<td>@item.Number</td>
<td>@item.IEEE</td>
<td>@item.Sn</td>
<td>@item.Address</td>
<td>@item.Power</td>

Loading…
Cancel
Save