@page "/modbus/diagnostics/{DriverInstanceId}"
@using Microsoft.AspNetCore.Components.Web
@using ZB.MOM.WW.OtOpcUa.Admin.Services
@rendermode RenderMode.InteractiveServer
@inject DriverDiagnosticsClient Diagnostics
@*
#154 — operator-facing view of the Server's auto-prohibition state for a Modbus driver.
Fetches via DriverDiagnosticsClient (HttpClient against the Server's HealthEndpointsHost).
Refreshes on demand; auto-refresh is a future task once a SignalR diag channel exists.
*@
Modbus diagnostics — @DriverInstanceId
Modbus auto-prohibitions
Driver instance @DriverInstanceId. Live snapshot of coalesced ranges
the planner has learned to read individually (#148 / #150 / #151 / #152).
@if (_lastRefreshed is not null)
{
Last refreshed @_lastRefreshed.Value.ToLocalTime().ToString("HH:mm:ss")
}
@if (_error is not null)
{
@_error
}
else if (_response is null)
{
Click Refresh to load.
}
else if (_response.Count == 0)
{
No auto-prohibitions. The planner is coalescing freely.
}
else
{
Prohibited ranges
Unit
Region
Start
End
Span
Status
Last probed
@foreach (var r in _response.Ranges.OrderBy(r => r.UnitId).ThenBy(r => r.Region).ThenBy(r => r.StartAddress))
{