This artifact is served by the SHD MCP backend as `ui://shd/controller-observability/v1.html`.
It is a standalone parameterized MCP App. The same UI contract renders controller history, series comparison, expert settings, topology, telemetry health and source audit modes.
It is a standalone parameterized MCP App. The same UI contract renders controller history, series comparison, expert settings, lightweight topology, telemetry health and source audit modes; source inventory is loaded separately through the bounded paginated inventory request.
varT={ru:{history:['История контроллера','Временные точки и происхождение данных.'],compare:['Сравнение рядов','Универсальное сравнение временных рядов на общей шкале.'],settings:['Экспертные настройки','Поля доступны для записи только при явном разрешении источника.'],topology:['Топология контроллеров','Все контроллеры проекта, source inventory и устройства.'],health:['Здоровье telemetry','Состояние нативного источника и Influx/Grafana.'],audit:['Аудит операций','Команды, подтверждения и readback по source-контроллеру.'],refresh:'Обновить',loading:'Загрузка…',empty:'Нет данных для отображения.',records:'записей',native:'Нативный источник',influx:'Influx/Grafana',available:'доступен',unavailable:'недоступен',configured:'настроен',points:'точек',source:'Источник',time:'Время',value:'Значение',name:'Название',controller:'Контроллер',device:'Устройство',room:'Комната',type:'Тип',status:'Статус',error:'Ошибка',readonly:'Только чтение',save:'Сохранить',saved:'Настройки сохранены.',noWritable:'Нет разрешённых writable-параметров.',required:'Обязательное поле',unknown:'Неизвестный формат ответа.',fail:'Не удалось загрузить данные.',id:'ID',action:'Действие',requested:'Запрошено',actual:'Фактически',revision:'Ревизия',checked:'Проверено'},en:{history:['Controller history','Time-series points and data provenance.'],compare:['Series comparison','Universal time-series comparison on one shared scale.'],settings:['Expert settings','Fields are writable only when the source explicitly allows it.'],topology:['Controller topology','All project controllers, source inventory and devices.'],health:['Telemetry health','Native-source and Influx/Grafana status.'],audit:['Operation audit','Commands, confirmations and readback for the source controller.'],refresh:'Refresh',loading:'Loading…',empty:'No data to display.',records:'records',native:'Native source',influx:'Influx/Grafana',available:'available',unavailable:'unavailable',configured:'configured',points:'points',source:'Source',time:'Time',value:'Value',name:'Name',controller:'Controller',device:'Device',room:'Room',type:'Type',status:'Status',error:'Error',readonly:'Read-only',save:'Save',saved:'Settings saved.',noWritable:'No writable parameters are allowed.',required:'Required field',unknown:'Unknown response format.',fail:'Could not load data.',id:'ID',action:'Action',requested:'Requested',actual:'Actual',revision:'Revision',checked:'Checked'}};
varT={ru:{history:['История контроллера','Временные точки и происхождение данных.'],compare:['Сравнение рядов','Универсальное сравнение временных рядов на общей шкале.'],settings:['Экспертные настройки','Поля доступны для записи только при явном разрешении источника.'],topology:['Топология контроллеров','Все контроллеры проекта; inventory устройств загружается отдельно.'],health:['Здоровье telemetry','Состояние нативного источника и Influx/Grafana.'],audit:['Аудит операций','Команды, подтверждения и readback по source-контроллеру.'],inventorySeparate:'Инвентарь устройств загружается отдельным запросом по выбранному контроллеру.',refresh:'Обновить',loading:'Загрузка…',empty:'Нет данных для отображения.',records:'записей',native:'Нативный источник',influx:'Influx/Grafana',available:'доступен',unavailable:'недоступен',configured:'настроен',points:'точек',source:'Источник',time:'Время',value:'Значение',name:'Название',controller:'Контроллер',device:'Устройство',room:'Комната',type:'Тип',status:'Статус',error:'Ошибка',readonly:'Только чтение',save:'Сохранить',saved:'Настройки сохранены.',noWritable:'Нет разрешённых writable-параметров.',required:'Обязательное поле',unknown:'Неизвестный формат ответа.',fail:'Не удалось загрузить данные.',id:'ID',action:'Действие',requested:'Запрошено',actual:'Фактически',revision:'Ревизия',checked:'Проверено'},en:{history:['Controller history','Time-series points and data provenance.'],compare:['Series comparison','Universal time-series comparison on one shared scale.'],settings:['Expert settings','Fields are writable only when the source explicitly allows it.'],topology:['Controller topology','All project controllers; device inventory is loaded separately.'],health:['Telemetry health','Native-source and Influx/Grafana status.'],audit:['Operation audit','Commands, confirmations and readback for the source controller.'],inventorySeparate:'Device inventory is loaded by a separate request for the selected controller.',refresh:'Refresh',loading:'Loading…',empty:'No data to display.',records:'records',native:'Native source',influx:'Influx/Grafana',available:'available',unavailable:'unavailable',configured:'configured',points:'points',source:'Source',time:'Time',value:'Value',name:'Name',controller:'Controller',device:'Device',room:'Room',type:'Type',status:'Status',error:'Error',readonly:'Read-only',save:'Save',saved:'Settings saved.',noWritable:'No writable parameters are allowed.',required:'Required field',unknown:'Unknown response format.',fail:'Could not load data.',id:'ID',action:'Action',requested:'Requested',actual:'Actual',revision:'Revision',checked:'Checked'}};
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.