Initial source loading

master
Dmitry A. Makarov 2024-10-31 16:54:39 +09:00
parent 876a063be1
commit 2f9d97ef1e
24 changed files with 17011 additions and 1 deletions

5
CHANGELOG.md Normal file
View File

@ -0,0 +1,5 @@
# Changelog
## 1.0.0 (Unreleased)
Initial release.

201
LICENSE Normal file
View File

@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright {yyyy} {name of copyright owner}
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

117
README.md
View File

@ -1,3 +1,118 @@
<<<<<<< HEAD
# grafana_datasource_plugin # grafana_datasource_plugin
Datasource plugin for Grafana with E-CORE REST support Datasource plugin for Grafana with E-CORE REST support
=======
# Grafana data source plugin template
This template is a starting point for building a Data Source Plugin for Grafana.
## What are Grafana data source plugins?
Grafana supports a wide range of data sources, including Prometheus, MySQL, and even Datadog. Theres a good chance you can already visualize metrics from the systems you have set up. In some cases, though, you already have an in-house metrics solution that youd like to add to your Grafana dashboards. Grafana Data Source Plugins enables integrating such solutions with Grafana.
## Getting started
### Frontend
1. Install dependencies
```bash
npm install
```
2. Build plugin in development mode and run in watch mode
```bash
npm run dev
```
3. Build plugin in production mode
```bash
npm run build
```
4. Run the tests (using Jest)
```bash
# Runs the tests and watches for changes, requires git init first
npm run test
# Exits after running all the tests
npm run test:ci
```
5. Spin up a Grafana instance and run the plugin inside it (using Docker)
```bash
npm run server
```
6. Run the E2E tests (using Cypress)
```bash
# Spins up a Grafana instance first that we tests against
npm run server
# Starts the tests
npm run e2e
```
7. Run the linter
```bash
npm run lint
# or
npm run lint:fix
```
# Distributing your plugin
When distributing a Grafana plugin either within the community or privately the plugin must be signed so the Grafana application can verify its authenticity. This can be done with the `@grafana/sign-plugin` package.
_Note: It's not necessary to sign a plugin during development. The docker development environment that is scaffolded with `@grafana/create-plugin` caters for running the plugin without a signature._
## Initial steps
Before signing a plugin please read the Grafana [plugin publishing and signing criteria](https://grafana.com/legal/plugins/#plugin-publishing-and-signing-criteria) documentation carefully.
`@grafana/create-plugin` has added the necessary commands and workflows to make signing and distributing a plugin via the grafana plugins catalog as straightforward as possible.
Before signing a plugin for the first time please consult the Grafana [plugin signature levels](https://grafana.com/legal/plugins/#what-are-the-different-classifications-of-plugins) documentation to understand the differences between the types of signature level.
1. Create a [Grafana Cloud account](https://grafana.com/signup).
2. Make sure that the first part of the plugin ID matches the slug of your Grafana Cloud account.
- _You can find the plugin ID in the `plugin.json` file inside your plugin directory. For example, if your account slug is `acmecorp`, you need to prefix the plugin ID with `acmecorp-`._
3. Create a Grafana Cloud API key with the `PluginPublisher` role.
4. Keep a record of this API key as it will be required for signing a plugin
## Signing a plugin
### Using Github actions release workflow
If the plugin is using the github actions supplied with `@grafana/create-plugin` signing a plugin is included out of the box. The [release workflow](./.github/workflows/release.yml) can prepare everything to make submitting your plugin to Grafana as easy as possible. Before being able to sign the plugin however a secret needs adding to the Github repository.
1. Please navigate to "settings > secrets > actions" within your repo to create secrets.
2. Click "New repository secret"
3. Name the secret "GRAFANA_API_KEY"
4. Paste your Grafana Cloud API key in the Secret field
5. Click "Add secret"
#### Push a version tag
To trigger the workflow we need to push a version tag to github. This can be achieved with the following steps:
1. Run `npm version <major|minor|patch>`
2. Run `git push origin main --follow-tags`
## Learn more
Below you can find source code for existing app plugins and other related documentation.
- [Basic data source plugin example](https://github.com/grafana/grafana-plugin-examples/tree/master/examples/datasource-basic#readme)
- [`plugin.json` documentation](https://grafana.com/developers/plugin-tools/reference/plugin-json)
- [How to sign a plugin?](https://grafana.com/developers/plugin-tools/publish-a-plugin/sign-a-plugin)
>>>>>>> 269e0de (Initial source loading)

24
docker-compose.yml Normal file
View File

@ -0,0 +1,24 @@
version: '3.5'
services:
grafana:
container_name: grafana
image: registry.entcor/common/amd64/grafana:custom
restart: always
user: "1000"
networks:
- e_net
- common_e_proxy
volumes:
- ./dist:/var/lib/grafana/plugins/entcor-entcordemoplugin-datasource
- ./provisioning:/etc/grafana/provisioning
- .:/root/entcor-entcordemoplugin-datasource
environment:
GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS: entcor-entcordemoplugin-datasource
networks:
common_e_proxy:
external: true
e_net:
external: true

2
jest-setup.js Normal file
View File

@ -0,0 +1,2 @@
// Jest setup provided by Grafana scaffolding
import './.config/jest-setup';

8
jest.config.js Normal file
View File

@ -0,0 +1,8 @@
// force timezone to UTC to allow tests to work regardless of local timezone
// generally used by snapshots, but can affect specific tests
process.env.TZ = 'UTC';
module.exports = {
// Jest configuration provided by Grafana scaffolding
...require('./.config/jest.config'),
};

15259
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

74
package.json Normal file
View File

@ -0,0 +1,74 @@
{
"name": "entcor-demo-plugin",
"version": "1.0.0",
"scripts": {
"build": "webpack -c ./.config/webpack/webpack.config.ts --env production",
"dev": "webpack -w -c ./.config/webpack/webpack.config.ts --env development",
"test": "jest --watch --onlyChanged",
"test:ci": "jest --passWithNoTests --maxWorkers 4",
"typecheck": "tsc --noEmit",
"lint": "eslint --cache --ignore-path ./.gitignore --ext .js,.jsx,.ts,.tsx .",
"lint:fix": "npm run lint -- --fix",
"e2e": "playwright test",
"server": "docker compose up --build",
"sign": "npx --yes @grafana/sign-plugin@latest"
},
"author": "Entcor",
"license": "Apache-2.0",
"devDependencies": {
"@babel/core": "^7.21.4",
"@grafana/eslint-config": "^7.0.0",
"@grafana/plugin-e2e": "^1.11.0",
"@grafana/tsconfig": "^2.0.0",
"@playwright/test": "^1.41.2",
"@swc/core": "^1.3.90",
"@swc/helpers": "^0.5.0",
"@swc/jest": "^0.2.26",
"@testing-library/jest-dom": "6.1.4",
"@testing-library/react": "14.0.0",
"@types/jest": "^29.5.0",
"@types/node": "^20.8.7",
"@types/react-router-dom": "^5.2.0",
"@types/testing-library__jest-dom": "5.14.8",
"copy-webpack-plugin": "^11.0.0",
"css-loader": "^6.7.3",
"eslint-plugin-deprecation": "^2.0.0",
"eslint-webpack-plugin": "^4.0.1",
"fork-ts-checker-webpack-plugin": "^8.0.0",
"glob": "^10.2.7",
"identity-obj-proxy": "3.0.0",
"imports-loader": "^5.0.0",
"jest": "^29.5.0",
"jest-environment-jsdom": "^29.5.0",
"prettier": "^2.8.7",
"replace-in-file-webpack-plugin": "^1.0.6",
"sass": "1.63.2",
"sass-loader": "13.3.1",
"semver": "^7.6.3",
"style-loader": "3.3.3",
"swc-loader": "^0.2.3",
"terser-webpack-plugin": "^5.3.10",
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.2.0",
"typescript": "5.5.4",
"webpack": "^5.94.0",
"webpack-cli": "^5.1.4",
"webpack-livereload-plugin": "^3.0.2",
"webpack-subresource-integrity": "^5.1.0",
"webpack-virtual-modules": "^0.6.2"
},
"engines": {
"node": ">=20"
},
"dependencies": {
"@emotion/css": "11.10.6",
"@grafana/data": "^11.3.0",
"@grafana/runtime": "^11.3.0",
"@grafana/ui": "^11.3.0",
"@grafana/schema": "^11.3.0",
"react": "18.2.0",
"react-dom": "18.2.0",
"tslib": "2.5.3"
},
"packageManager": "npm@10.8.2"
}

52
playwright.config.ts Normal file
View File

@ -0,0 +1,52 @@
import type { PluginOptions } from '@grafana/plugin-e2e';
import { defineConfig, devices } from '@playwright/test';
import { dirname } from 'node:path';
const pluginE2eAuth = `${dirname(require.resolve('@grafana/plugin-e2e'))}/auth`;
/**
* Read environment variables from file.
* https://github.com/motdotla/dotenv
*/
// require('dotenv').config();
/**
* See https://playwright.dev/docs/test-configuration.
*/
export default defineConfig<PluginOptions>({
testDir: './tests',
/* Run tests in files in parallel */
fullyParallel: true,
/* Fail the build on CI if you accidentally left test.only in the source code. */
forbidOnly: !!process.env.CI,
/* Retry on CI only */
retries: process.env.CI ? 2 : 0,
/* Opt out of parallel tests on CI. */
workers: process.env.CI ? 1 : undefined,
/* Reporter to use. See https://playwright.dev/docs/test-reporters */
reporter: 'html',
/* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
use: {
/* Base URL to use in actions like `await page.goto('/')`. */
baseURL: process.env.GRAFANA_URL || 'http://localhost:3000',
/* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
trace: 'on-first-retry',
},
/* Configure projects for major browsers */
projects: [
// 1. Login to Grafana and store the cookie on disk for use in other tests.
{
name: 'auth',
testDir: pluginE2eAuth,
testMatch: [/.*\.js/],
},
// 2. Run tests in Google Chrome. Every test will start authenticated as admin user.
{
name: 'chromium',
use: { ...devices['Desktop Chrome'], storageState: 'playwright/.auth/admin.json' },
dependencies: ['auth'],
},
],
});

1
provisioning/README.md Normal file
View File

@ -0,0 +1 @@
For more information see [Provision dashboards and data sources](https://grafana.com/tutorials/provision-dashboards-and-data-sources/)

View File

View File

@ -0,0 +1,14 @@
apiVersion: 1
datasources:
- name: 'Entcor-Demo-Plugin'
type: 'entcor-entcordemoplugin-datasource'
access: proxy
isDefault: false
orgId: 1
version: 1
editable: true
jsonData:
path: '/resources'
secureJsonData:
apiKey: 'api-key'

85
src/DataSource.ts Normal file
View File

@ -0,0 +1,85 @@
import {
CoreApp,
toDataFrame,
DataQueryRequest,
DataQueryResponse,
DataSourceApi,
DataSourceInstanceSettings,
FieldType
} from '@grafana/data';
import { getBackendSrv, isFetchError } from '@grafana/runtime';
import { defaultQuery, MyDataSourceOptions, MyQuery } from './types';
import { lastValueFrom } from 'rxjs';
export class DataSource extends DataSourceApi<MyQuery, MyDataSourceOptions> {
baseUrl: string; path: string;
constructor(instanceSettings: DataSourceInstanceSettings<MyDataSourceOptions>) {
super(instanceSettings);
this.baseUrl = instanceSettings.url!;
this.path = instanceSettings.jsonData.path || '/';
}
getDefaultQuery(_: CoreApp): Partial<MyQuery> {
return defaultQuery;
}
filterQuery(query: MyQuery): boolean {
return !!query.queryText;
}
async query(options: DataQueryRequest<MyQuery>): Promise<DataQueryResponse> {
// const params = 'table=logs&limit=10000&start=2024-09-05 00:00:00&end=2024-09-05 18:00:00&query={"id":["measurement"], "labels":[{"addr":["87"]}]}';
const response = await this.request(this.path, options.targets[0].queryText);
const data = options.targets.map((target, index) => {
return toDataFrame(response.data);
});
return { data };
}
async request(url: string, params?: string) {
const response = getBackendSrv().fetch<DataQueryResponse>({
url: `${this.baseUrl}${url}${params?.length ? `?${params}` : ''}`,
});
return lastValueFrom(response);
}
/**
* Checks whether we can connect to the API.
*/
async testDatasource() {
const defaultErrorMessage = 'Cannot connect to API';
try {
const response = await this.request('/health');
if (response.status === 200) {
return {
status: 'success',
message: 'Success',
};
} else {
return {
status: 'error',
message: response.statusText ? response.statusText : defaultErrorMessage,
};
}
} catch (err) {
let message = defaultErrorMessage;
if (typeof err === 'string') {
message = err;
} else if (isFetchError(err)) {
message = `Fetch error: ${err.data.error?.message ?? err.statusText}`;
}
return {
status: 'error',
message,
};
}
}
}

50
src/README.md Normal file
View File

@ -0,0 +1,50 @@
<!-- This README file is going to be the one displayed on the Grafana.com website for your plugin. Uncomment and replace the content here before publishing.
Remove any remaining comments before publishing as these may be displayed on Grafana.com -->
# Entcor-Demo-Plugin
<!-- To help maximize the impact of your README and improve usability for users, we propose the following loose structure:
**BEFORE YOU BEGIN**
- Ensure all links are absolute URLs so that they will work when the README is displayed within Grafana and Grafana.com
- Be inspired ✨
- [grafana-polystat-panel](https://github.com/grafana/grafana-polystat-panel)
- [volkovlabs-variable-panel](https://github.com/volkovlabs/volkovlabs-variable-panel)
**ADD SOME BADGES**
Badges convey useful information at a glance for users whether in the Catalog or viewing the source code. You can use the generator on [Shields.io](https://shields.io/badges/dynamic-json-badge) together with the Grafana.com API
to create dynamic badges that update automatically when you publish a new version to the marketplace.
- For the URL parameter use `https://grafana.com/api/plugins/your-plugin-id`.
- Example queries:
- Downloads: `$.downloads`
- Catalog Version: `$.version`
- Grafana Dependency: `$.grafanaDependency`
- Signature Type: `$.versionSignatureType`
- Optionally, for the logo parameter use `grafana`.
Full example: ![Dynamic JSON Badge](https://img.shields.io/badge/dynamic/json?logo=grafana&query=$.version&url=https://grafana.com/api/plugins/grafana-polystat-panel&label=Marketplace&prefix=v&color=F47A20)
Consider other [badges](https://shields.io/badges) as you feel appropriate for your project.
## Overview / Introduction
Provide one or more paragraphs as an introduction to your plugin to help users understand why they should use it.
Consider including screenshots:
- in [plugin.json](https://grafana.com/developers/plugin-tools/reference/plugin-json#info) include them as relative links.
- in the README ensure they are absolute URLs.
## Requirements
List any requirements or dependencies they may need to run the plugin.
## Getting Started
Provide a quick start on how to configure and use the plugin.
## Documentation
If your project has dedicated documentation available for users, provide links here. For help in following Grafana's style recommendations for technical documentation, refer to our [Writer's Toolkit](https://grafana.com/docs/writers-toolkit/).
## Contributing
Do you want folks to contribute to the plugin or provide feedback through specific means? If so, tell them how!
-->

View File

@ -0,0 +1,87 @@
import React, { ChangeEvent } from 'react';
import { DataSourceHttpSettings, InlineField, Input, SecretInput } from '@grafana/ui';
import { DataSourcePluginOptionsEditorProps } from '@grafana/data';
import { MyDataSourceOptions, MySecureJsonData } from '../types';
interface Props extends DataSourcePluginOptionsEditorProps<MyDataSourceOptions, MySecureJsonData> {}
export function ConfigEditor(props: Props) {
const { onOptionsChange, options } = props;
const { jsonData, secureJsonFields, secureJsonData } = options;
const onPathChange = (event: ChangeEvent<HTMLInputElement>) => {
onOptionsChange({
...options,
jsonData: {
...jsonData,
path: event.target.value,
},
});
};
// Secure field (only sent to the backend)
const onAPIKeyChange = (event: ChangeEvent<HTMLInputElement>) => {
onOptionsChange({
...options,
secureJsonData: {
apiKey: event.target.value,
},
});
};
const onResetAPIKey = () => {
onOptionsChange({
...options,
secureJsonFields: {
...options.secureJsonFields,
apiKey: false,
},
secureJsonData: {
...options.secureJsonData,
apiKey: '',
},
});
};
const onResolutionChange = (event: ChangeEvent<HTMLInputElement>) => {
const jsonData = {
...options.jsonData,
resolution: parseFloat(event.target.value),
};
onOptionsChange({ ...options, jsonData });
};
return (
<>
<DataSourceHttpSettings
defaultUrl="https://api.example.com"
dataSourceConfig={options}
onChange={onOptionsChange}
/>
<InlineField label="Path" labelWidth={26} interactive tooltip={'Json field returned to frontend'}>
<Input
id="config-editor-path"
onChange={onPathChange}
value={jsonData.path}
placeholder="Enter the path, e.g. /api/v1"
width={40}
/>
</InlineField>
<InlineField label="API Key" labelWidth={26} interactive tooltip={'Secure json field (backend only)'}>
<SecretInput
required
id="config-editor-api-key"
isConfigured={secureJsonFields.apiKey}
value={secureJsonData?.apiKey}
placeholder="Enter your API key"
width={40}
onReset={onResetAPIKey}
onChange={onAPIKeyChange}
/>
</InlineField>
<InlineField label="Resolution" labelWidth={12}>
<Input onChange={onResolutionChange} value={jsonData.resolution || ''} placeholder="Enter a number" width={40} />
</InlineField>
</>
)
}

View File

@ -0,0 +1,126 @@
import React, { ChangeEvent, useState } from 'react';
import { InlineField, Select, Input, Stack, InlineSwitch } from '@grafana/ui';
import { dateTime, QueryEditorProps, SelectableValue } from '@grafana/data';
import { getTemplateSrv } from '@grafana/runtime';
import { DataSource } from '../DataSource';
import { MyDataSourceOptions, MyQuery } from '../types';
import JsonData from './tgk14.json';
type Props = QueryEditorProps<DataSource, MyQuery, MyDataSourceOptions>;
export function QueryEditor({ query, onChange, onRunQuery }: Props) {
const [value, setValue] = useState<SelectableValue<string | number>>([]);
let options = [{}];
JsonData.TI.forEach((item, index, array) => {
let temp = {label: item.name, value: item.addr, description: ""};
options.push(temp);
});
const onQueryTextChange = (event: ChangeEvent<HTMLInputElement>) => {
onChange({ ...query, queryText: event.target.value});
onRunQuery();
};
// let {queryText, tableName = "logs", addr = "87", startDate = dateTime(), endDate = dateTime() } = query;
let { queryText, tableName, addr, ioa, ioaName, startDate, endDate, isAllIOAChecked } = query;
function setQueryText () {
startDate = dateTime (Number(getTemplateSrv().replace("$__from"))).format("YYYY-MM-DD HH-mm-ss");
endDate = dateTime (Number(getTemplateSrv().replace("$__to"))).format("YYYY-MM-DD HH-mm-ss");
queryText = `table=${tableName}&limit=10000&start=${startDate}&end=${endDate}&query={"id":["measurement"], "labels":[{"addr":["${addr}"]}`;
if (isAllIOAChecked) { queryText += `]}`; } else { queryText += `, {"ioa":["${ioa}"]}]}`; }
return;
}
const onTableNameChange = (event: ChangeEvent<HTMLInputElement>) => {
tableName = event.target.value;
setQueryText();
onChange({ ...query, queryText, tableName, addr, ioa, ioaName, startDate, endDate, isAllIOAChecked});
onRunQuery();
};
const onAddrChange = (event: ChangeEvent<HTMLInputElement>) => {
addr = event.target.value;
setQueryText();
onChange({ ...query, queryText, tableName, addr, ioa, ioaName, startDate, endDate, isAllIOAChecked});
onRunQuery();
};
const onIOAChange = (event: ChangeEvent<HTMLInputElement>) => {
ioaName = JsonData.TI[0].name;
ioa = event.target.value;
JsonData.TI.forEach((item, index, array) => {
if (item.addr.toString() === ioa) { ioaName = item.name; }
})
setQueryText();
onChange({ ...query, queryText, tableName, addr, ioa, ioaName, startDate, endDate, isAllIOAChecked});
onRunQuery();
};
const onSelectChange = (v: SelectableValue<string | number>) => {
ioaName = v.label?.toString();
ioa = v.value?.toString();
setQueryText();
onChange({ ...query, queryText, tableName, addr, ioa, ioaName, startDate, endDate, isAllIOAChecked});
onRunQuery();
setValue (v);
};
const onSwitchChange = (event: ChangeEvent<HTMLInputElement>) => {
isAllIOAChecked = !isAllIOAChecked;
setQueryText();
onChange({ ...query, queryText, tableName, addr, ioa, ioaName, startDate, endDate, isAllIOAChecked});
onRunQuery();
};
return (
<>
<Stack direction="row">
<InlineField label="Table" labelWidth={8}>
<Input id="query-editor-tableName" onChange={onTableNameChange} value={tableName} type="string" width={12}/>
</InlineField>
<InlineField label="Addr" labelWidth={8}>
<Input id="query-editor-addr" onChange={onAddrChange} value={addr || ''} width={12}/>
</InlineField>
<InlineField label="IOA" labelWidth={4}>
<Input id="query-editor-name" onChange={onIOAChange} value={ioa || ''} width={12}/>
</InlineField>
<InlineField label="IOA Name" labelWidth={10}>
<Input id="query-editor-name" value={ioaName || ''} width={100}/>
</InlineField>
</Stack>
<Stack direction="column">
<Select
height={20}
options={options}
value={value}
onChange={onSelectChange}
placeholder='Выберите точку измерений'
/>
<InlineField label="Query Text" labelWidth={14} tooltip="Not used yet">
<Input
id="query-editor-query-text"
onChange={onQueryTextChange}
value={queryText}
required
placeholder=''
width={150}
/>
</InlineField>
</Stack>
<Stack direction="row" maxWidth={10} justifyContent={"flex-start"} >
<InlineSwitch label={"Все IOA"} showLabel={true} value={isAllIOAChecked} disabled={false} onChange={onSwitchChange}/>
</Stack>
</>
);
}

776
src/components/tgk14.json Normal file
View File

@ -0,0 +1,776 @@
{
"title": "ТЭЦ-1 - РДУ",
"tiStartAddr": 8192,
"tsStartAddr": 4096,
"TI": [
{"addr":1,"ASDU":57,"name":"1 ГТ Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":2,"ASDU":57,"name":"1 ГТ Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":3,"ASDU":57,"name":"1 ГТ Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":4,"ASDU":57,"name":"1 ГТ Напряжение фазы А","unit":"кВ","control":1,"type":"U","param":"Uа"},
{"addr":5,"ASDU":57,"name":"1 ГТ Напряжение фазы В","unit":"кВ","control":1,"type":"U","param":"Uв"},
{"addr":6,"ASDU":57,"name":"1 ГТ Напряжение фазы С","unit":"кВ","control":1,"type":"U","param":"Uс"},
{"addr":7,"ASDU":57,"name":"1 ГТ Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":8,"ASDU":57,"name":"1 ГТ Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":9,"ASDU":57,"name":"2 ГТ Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":10,"ASDU":57,"name":"2 ГТ Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":11,"ASDU":57,"name":"2 ГТ Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":12,"ASDU":57,"name":"2 ГТ Напряжение фазы А","unit":"кВ","control":1,"type":"U","param":"Uа"},
{"addr":13,"ASDU":57,"name":"2 ГТ Напряжение фазы В","unit":"кВ","control":1,"type":"U","param":"Uв"},
{"addr":14,"ASDU":57,"name":"2 ГТ Напряжение фазы С","unit":"кВ","control":1,"type":"U","param":"Uс"},
{"addr":15,"ASDU":57,"name":"2 ГТ Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":16,"ASDU":57,"name":"2 ГТ Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":17,"ASDU":57,"name":"3 ГТ Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":18,"ASDU":57,"name":"3 ГТ Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":19,"ASDU":57,"name":"3 ГТ Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":20,"ASDU":57,"name":"3 ГТ Напряжение фазы А","unit":"кВ","control":1,"type":"U","param":"Uа"},
{"addr":21,"ASDU":57,"name":"3 ГТ Напряжение фазы В","unit":"кВ","control":1,"type":"U","param":"Uв"},
{"addr":22,"ASDU":57,"name":"3 ГТ Напряжение фазы С","unit":"кВ","control":1,"type":"U","param":"Uс"},
{"addr":23,"ASDU":57,"name":"3 ГТ Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":24,"ASDU":57,"name":"3 ГТ Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":25,"ASDU":57,"name":"4 ГТ Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":26,"ASDU":57,"name":"4 ГТ Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":27,"ASDU":57,"name":"4 ГТ Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":28,"ASDU":57,"name":"4 ГТ Напряжение фазы А","unit":"кВ","control":1,"type":"U","param":"Uа"},
{"addr":29,"ASDU":57,"name":"4 ГТ Напряжение фазы В","unit":"кВ","control":1,"type":"U","param":"Uв"},
{"addr":30,"ASDU":57,"name":"4 ГТ Напряжение фазы С","unit":"кВ","control":1,"type":"U","param":"Uс"},
{"addr":31,"ASDU":57,"name":"4 ГТ Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":32,"ASDU":57,"name":"4 ГТ Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":33,"ASDU":57,"name":"5 ГТ Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":34,"ASDU":57,"name":"5 ГТ Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":35,"ASDU":57,"name":"5 ГТ Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":36,"ASDU":57,"name":"5 ГТ Напряжение фазы А","unit":"кВ","control":1,"type":"U","param":"Uа"},
{"addr":37,"ASDU":57,"name":"5 ГТ Напряжение фазы В","unit":"кВ","control":1,"type":"U","param":"Uв"},
{"addr":38,"ASDU":57,"name":"5 ГТ Напряжение фазы С","unit":"кВ","control":1,"type":"U","param":"Uс"},
{"addr":39,"ASDU":57,"name":"5 ГТ Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":40,"ASDU":57,"name":"5 ГТ Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":41,"ASDU":57,"name":"6 ГТ Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":42,"ASDU":57,"name":"6 ГТ Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":43,"ASDU":57,"name":"6 ГТ Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":44,"ASDU":57,"name":"6 ГТ Напряжение фазы А","unit":"кВ","control":1,"type":"U","param":"Uа"},
{"addr":45,"ASDU":57,"name":"6 ГТ Напряжение фазы В","unit":"кВ","control":1,"type":"U","param":"Uв"},
{"addr":46,"ASDU":57,"name":"6 ГТ Напряжение фазы С","unit":"кВ","control":1,"type":"U","param":"Uс"},
{"addr":47,"ASDU":57,"name":"6 ГТ Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":48,"ASDU":57,"name":"6 ГТ Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":49,"ASDU":57,"name":"ВЛ 201 Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":50,"ASDU":57,"name":"ВЛ 201 Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":51,"ASDU":57,"name":"ВЛ 201 Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":52,"ASDU":57,"name":"ВЛ 201 Напряжение фазы А","unit":"кВ","control":2,"type":"U","param":"Uа"},
{"addr":53,"ASDU":57,"name":"ВЛ 201 Напряжение фазы В","unit":"кВ","control":2,"type":"U","param":"Uв"},
{"addr":54,"ASDU":57,"name":"ВЛ 201 Напряжение фазы С","unit":"кВ","control":2,"type":"U","param":"Uс"},
{"addr":55,"ASDU":57,"name":"ВЛ 201 Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":56,"ASDU":57,"name":"ВЛ 201 Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":57,"ASDU":57,"name":"ВЛ 202 Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":58,"ASDU":57,"name":"ВЛ 202 Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":59,"ASDU":57,"name":"ВЛ 202 Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":60,"ASDU":57,"name":"ВЛ 202 Напряжение фазы А","unit":"кВ","control":2,"type":"U","param":"Uа"},
{"addr":61,"ASDU":57,"name":"ВЛ 202 Напряжение фазы В","unit":"кВ","control":2,"type":"U","param":"Uв"},
{"addr":62,"ASDU":57,"name":"ВЛ 202 Напряжение фазы С","unit":"кВ","control":2,"type":"U","param":"Uс"},
{"addr":63,"ASDU":57,"name":"ВЛ 202 Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":64,"ASDU":57,"name":"ВЛ 202 Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":65,"ASDU":57,"name":"ВЛ 293 Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":66,"ASDU":57,"name":"ВЛ 293 Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":67,"ASDU":57,"name":"ВЛ 293 Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":68,"ASDU":57,"name":"ВЛ 293 Напряжение фазы А","unit":"кВ","control":2,"type":"U","param":"Uа"},
{"addr":69,"ASDU":57,"name":"ВЛ 293 Напряжение фазы В","unit":"кВ","control":2,"type":"U","param":"Uв"},
{"addr":70,"ASDU":57,"name":"ВЛ 293 Напряжение фазы С","unit":"кВ","control":2,"type":"U","param":"Uс"},
{"addr":71,"ASDU":57,"name":"ВЛ 293 Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":72,"ASDU":57,"name":"ВЛ 293 Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":73,"ASDU":57,"name":"ВЛ 296 Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":74,"ASDU":57,"name":"ВЛ 296 Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":75,"ASDU":57,"name":"ВЛ 296 Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":76,"ASDU":57,"name":"ВЛ 296 Напряжение фазы А","unit":"кВ","control":2,"type":"U","param":"Uа"},
{"addr":77,"ASDU":57,"name":"ВЛ 296 Напряжение фазы В","unit":"кВ","control":2,"type":"U","param":"Uв"},
{"addr":78,"ASDU":57,"name":"ВЛ 296 Напряжение фазы С","unit":"кВ","control":2,"type":"U","param":"Uс"},
{"addr":79,"ASDU":57,"name":"ВЛ 296 Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":80,"ASDU":57,"name":"ВЛ 296 Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":81,"ASDU":57,"name":"4 АТ Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":82,"ASDU":57,"name":"4 АТ Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":83,"ASDU":57,"name":"4 АТ Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":84,"ASDU":57,"name":"4 АТ Напряжение фазы А","unit":"кВ","type":"U","param":"Uа"},
{"addr":85,"ASDU":57,"name":"4 АТ Напряжение фазы В","unit":"кВ","type":"U","param":"Uв"},
{"addr":86,"ASDU":57,"name":"4 АТ Напряжение фазы С","unit":"кВ","type":"U","param":"Uс"},
{"addr":87,"ASDU":57,"name":"4 АТ Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":88,"ASDU":57,"name":"4 АТ Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":89,"ASDU":57,"name":"1 АТ (со стороны 110 кВ) Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":90,"ASDU":57,"name":"1 АТ (со стороны 110 кВ) Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":91,"ASDU":57,"name":"1 АТ (со стороны 110 кВ) Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":92,"ASDU":57,"name":"1 АТ (со стороны 110 кВ) Напряжение фазы А","unit":"кВ","type":"U","param":"Uа"},
{"addr":93,"ASDU":57,"name":"1 АТ (со стороны 110 кВ) Напряжение фазы В","unit":"кВ","type":"U","param":"Uв"},
{"addr":94,"ASDU":57,"name":"1 АТ (со стороны 110 кВ) Напряжение фазы С","unit":"кВ","type":"U","param":"Uс"},
{"addr":95,"ASDU":57,"name":"1 АТ (со стороны 110 кВ) Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":96,"ASDU":57,"name":"1 АТ (со стороны 110 кВ) Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":97,"ASDU":57,"name":"1 АТ (со стороны 220 кВ) Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":98,"ASDU":57,"name":"1 АТ (со стороны 220 кВ) Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":99,"ASDU":57,"name":"1 АТ (со стороны 220 кВ) Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":100,"ASDU":57,"name":"1 АТ (со стороны 220 кВ) Напряжение фазы А","unit":"кВ","type":"U","param":"Uа"},
{"addr":101,"ASDU":57,"name":"1 АТ (со стороны 220 кВ) Напряжение фазы В","unit":"кВ","type":"U","param":"Uв"},
{"addr":102,"ASDU":57,"name":"1 АТ (со стороны 220 кВ) Напряжение фазы С","unit":"кВ","type":"U","param":"Uс"},
{"addr":103,"ASDU":57,"name":"1 АТ (со стороны 220 кВ) Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":104,"ASDU":57,"name":"1 АТ (со стороны 220 кВ) Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":105,"ASDU":57,"name":"2 АТ (со стороны 110 кВ) Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":106,"ASDU":57,"name":"2 АТ (со стороны 110 кВ) Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":107,"ASDU":57,"name":"2 АТ (со стороны 110 кВ) Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":108,"ASDU":57,"name":"2 АТ (со стороны 110 кВ) Напряжение фазы А","unit":"кВ","type":"U","param":"Uа"},
{"addr":109,"ASDU":57,"name":"2 АТ (со стороны 110 кВ) Напряжение фазы В","unit":"кВ","type":"U","param":"Uв"},
{"addr":110,"ASDU":57,"name":"2 АТ (со стороны 110 кВ) Напряжение фазы С","unit":"кВ","type":"U","param":"Uс"},
{"addr":111,"ASDU":57,"name":"2 АТ (со стороны 110 кВ) Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":112,"ASDU":57,"name":"2 АТ (со стороны 110 кВ) Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":113,"ASDU":57,"name":"2 АТ (со стороны 220 кВ) Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":114,"ASDU":57,"name":"2 АТ (со стороны 220 кВ) Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":115,"ASDU":57,"name":"2 АТ (со стороны 220 кВ) Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":116,"ASDU":57,"name":"2 АТ (со стороны 220 кВ) Напряжение фазы А","unit":"кВ","type":"U","param":"Uа"},
{"addr":117,"ASDU":57,"name":"2 АТ (со стороны 220 кВ) Напряжение фазы В","unit":"кВ","type":"U","param":"Uв"},
{"addr":118,"ASDU":57,"name":"2 АТ (со стороны 220 кВ) Напряжение фазы С","unit":"кВ","type":"U","param":"Uс"},
{"addr":119,"ASDU":57,"name":"2 АТ (со стороны 220 кВ) Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":120,"ASDU":57,"name":"2 АТ (со стороны 220 кВ) Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":121,"ASDU":57,"name":"ВЛ-110-01 Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":122,"ASDU":57,"name":"ВЛ-110-01 Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":123,"ASDU":57,"name":"ВЛ-110-01 Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":124,"ASDU":57,"name":"ВЛ-110-01 Напряжение фазы А","unit":"кВ","control":2,"type":"U","param":"Uа"},
{"addr":125,"ASDU":57,"name":"ВЛ-110-01 Напряжение фазы В","unit":"кВ","control":2,"type":"U","param":"Uв"},
{"addr":126,"ASDU":57,"name":"ВЛ-110-01 Напряжение фазы С","unit":"кВ","control":2,"type":"U","param":"Uс"},
{"addr":127,"ASDU":57,"name":"ВЛ-110-01 Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":128,"ASDU":57,"name":"ВЛ-110-01 Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":129,"ASDU":57,"name":"ВЛ-110-02 Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":130,"ASDU":57,"name":"ВЛ-110-02 Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":131,"ASDU":57,"name":"ВЛ-110-02 Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":132,"ASDU":57,"name":"ВЛ-110-02 Напряжение фазы А","unit":"кВ","control":2,"type":"U","param":"Uа"},
{"addr":133,"ASDU":57,"name":"ВЛ-110-02 Напряжение фазы В","unit":"кВ","control":2,"type":"U","param":"Uв"},
{"addr":134,"ASDU":57,"name":"ВЛ-110-02 Напряжение фазы С","unit":"кВ","control":2,"type":"U","param":"Uс"},
{"addr":135,"ASDU":57,"name":"ВЛ-110-02 Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":136,"ASDU":57,"name":"ВЛ-110-02 Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":137,"ASDU":57,"name":"ВЛ-110-07 Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":138,"ASDU":57,"name":"ВЛ-110-07 Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":139,"ASDU":57,"name":"ВЛ-110-07 Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":140,"ASDU":57,"name":"ВЛ-110-07 Напряжение фазы А","unit":"кВ","control":2,"type":"U","param":"Uа"},
{"addr":141,"ASDU":57,"name":"ВЛ-110-07 Напряжение фазы В","unit":"кВ","control":2,"type":"U","param":"Uв"},
{"addr":142,"ASDU":57,"name":"ВЛ-110-07 Напряжение фазы С","unit":"кВ","control":2,"type":"U","param":"Uс"},
{"addr":143,"ASDU":57,"name":"ВЛ-110-07 Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":144,"ASDU":57,"name":"ВЛ-110-07 Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":145,"ASDU":57,"name":"ВЛ-110-08 Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":146,"ASDU":57,"name":"ВЛ-110-08 Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":147,"ASDU":57,"name":"ВЛ-110-08 Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":148,"ASDU":57,"name":"ВЛ-110-08 Напряжение фазы А","unit":"кВ","control":2,"type":"U","param":"Uа"},
{"addr":149,"ASDU":57,"name":"ВЛ-110-08 Напряжение фазы В","unit":"кВ","control":2,"type":"U","param":"Uв"},
{"addr":150,"ASDU":57,"name":"ВЛ-110-08 Напряжение фазы С","unit":"кВ","control":2,"type":"U","param":"Uс"},
{"addr":151,"ASDU":57,"name":"ВЛ-110-08 Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":152,"ASDU":57,"name":"ВЛ-110-08 Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":153,"ASDU":57,"name":"ВЛ-110-09 Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":154,"ASDU":57,"name":"ВЛ-110-09 Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":155,"ASDU":57,"name":"ВЛ-110-09 Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":156,"ASDU":57,"name":"ВЛ-110-09 Напряжение фазы А","unit":"кВ","control":2,"type":"U","param":"Uа"},
{"addr":157,"ASDU":57,"name":"ВЛ-110-09 Напряжение фазы В","unit":"кВ","control":2,"type":"U","param":"Uв"},
{"addr":158,"ASDU":57,"name":"ВЛ-110-09 Напряжение фазы С","unit":"кВ","control":2,"type":"U","param":"Uс"},
{"addr":159,"ASDU":57,"name":"ВЛ-110-09 Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":160,"ASDU":57,"name":"ВЛ-110-09 Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":161,"ASDU":57,"name":"ВЛ-110-10 Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":162,"ASDU":57,"name":"ВЛ-110-10 Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":163,"ASDU":57,"name":"ВЛ-110-10 Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":164,"ASDU":57,"name":"ВЛ-110-10 Напряжение фазы А","unit":"кВ","control":2,"type":"U","param":"Uа"},
{"addr":165,"ASDU":57,"name":"ВЛ-110-10 Напряжение фазы В","unit":"кВ","control":2,"type":"U","param":"Uв"},
{"addr":166,"ASDU":57,"name":"ВЛ-110-10 Напряжение фазы С","unit":"кВ","control":2,"type":"U","param":"Uс"},
{"addr":167,"ASDU":57,"name":"ВЛ-110-10 Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":168,"ASDU":57,"name":"ВЛ-110-10 Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":169,"ASDU":57,"name":"ОВ-110 Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":170,"ASDU":57,"name":"ОВ-110 Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":171,"ASDU":57,"name":"ОВ-110 Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":172,"ASDU":57,"name":"ОВ-110 Напряжение фазы А","unit":"кВ","type":"U","param":"Uа"},
{"addr":173,"ASDU":57,"name":"ОВ-110 Напряжение фазы В","unit":"кВ","type":"U","param":"Uв"},
{"addr":174,"ASDU":57,"name":"ОВ-110 Напряжение фазы С","unit":"кВ","type":"U","param":"Uс"},
{"addr":175,"ASDU":57,"name":"ОВ-110 Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":176,"ASDU":57,"name":"ОВ-110 Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":177,"ASDU":57,"name":"ШСВ-110 Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":178,"ASDU":57,"name":"ШСВ-110 Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":179,"ASDU":57,"name":"ШСВ-110 Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":180,"ASDU":57,"name":"ШСВ-110 Напряжение фазы А","unit":"кВ","type":"U","param":"Uа"},
{"addr":181,"ASDU":57,"name":"ШСВ-110 Напряжение фазы В","unit":"кВ","type":"U","param":"Uв"},
{"addr":182,"ASDU":57,"name":"ШСВ-110 Напряжение фазы С","unit":"кВ","type":"U","param":"Uс"},
{"addr":183,"ASDU":57,"name":"ШСВ-110 Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":184,"ASDU":57,"name":"ШСВ-110 Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":185,"ASDU":57,"name":"1 ШР Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":186,"ASDU":57,"name":"1 ШР Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":187,"ASDU":57,"name":"1 ШР Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":188,"ASDU":57,"name":"1 ШР Напряжение фазы А","unit":"кВ","type":"U","param":"Uа"},
{"addr":189,"ASDU":57,"name":"1 ШР Напряжение фазы В","unit":"кВ","type":"U","param":"Uв"},
{"addr":190,"ASDU":57,"name":"1 ШР Напряжение фазы С","unit":"кВ","type":"U","param":"Uс"},
{"addr":191,"ASDU":57,"name":"1 ШР Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":192,"ASDU":57,"name":"1 ШР Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":193,"ASDU":57,"name":"2 ШР Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":194,"ASDU":57,"name":"2 ШР Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":195,"ASDU":57,"name":"2 ШР Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":196,"ASDU":57,"name":"2 ШР Напряжение фазы А","unit":"кВ","type":"U","param":"Uа"},
{"addr":197,"ASDU":57,"name":"2 ШР Напряжение фазы В","unit":"кВ","type":"U","param":"Uв"},
{"addr":198,"ASDU":57,"name":"2 ШР Напряжение фазы С","unit":"кВ","type":"U","param":"Uс"},
{"addr":199,"ASDU":57,"name":"2 ШР Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":200,"ASDU":57,"name":"2 ШР Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":201,"ASDU":57,"name":"21 Т Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":202,"ASDU":57,"name":"21 Т Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":203,"ASDU":57,"name":"21 Т Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":204,"ASDU":57,"name":"21 Т Напряжение фазы А","unit":"кВ","type":"U","param":"Uа"},
{"addr":205,"ASDU":57,"name":"21 Т Напряжение фазы В","unit":"кВ","type":"U","param":"Uв"},
{"addr":206,"ASDU":57,"name":"21 Т Напряжение фазы С","unit":"кВ","type":"U","param":"Uс"},
{"addr":207,"ASDU":57,"name":"21 Т Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":208,"ASDU":57,"name":"21 Т Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":209,"ASDU":57,"name":"22 Т Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":210,"ASDU":57,"name":"22 Т Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":211,"ASDU":57,"name":"22 Т Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":212,"ASDU":57,"name":"22 Т Напряжение фазы А","unit":"кВ","type":"U","param":"Uа"},
{"addr":213,"ASDU":57,"name":"22 Т Напряжение фазы В","unit":"кВ","type":"U","param":"Uв"},
{"addr":214,"ASDU":57,"name":"22 Т Напряжение фазы С","unit":"кВ","type":"U","param":"Uс"},
{"addr":215,"ASDU":57,"name":"22 Т Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":216,"ASDU":57,"name":"22 Т Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":217,"ASDU":57,"name":"23 Т Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":218,"ASDU":57,"name":"23 Т Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":219,"ASDU":57,"name":"23 Т Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":220,"ASDU":57,"name":"23 Т Напряжение фазы А","unit":"кВ","type":"U","param":"Uа"},
{"addr":221,"ASDU":57,"name":"23 Т Напряжение фазы В","unit":"кВ","type":"U","param":"Uв"},
{"addr":222,"ASDU":57,"name":"23 Т Напряжение фазы С","unit":"кВ","type":"U","param":"Uс"},
{"addr":223,"ASDU":57,"name":"23 Т Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":224,"ASDU":57,"name":"23 Т Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":225,"ASDU":57,"name":"24 Т Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":226,"ASDU":57,"name":"24 Т Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":227,"ASDU":57,"name":"24 Т Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":228,"ASDU":57,"name":"24 Т Напряжение фазы А","unit":"кВ","type":"U","param":"Uа"},
{"addr":229,"ASDU":57,"name":"24 Т Напряжение фазы В","unit":"кВ","type":"U","param":"Uв"},
{"addr":230,"ASDU":57,"name":"24 Т Напряжение фазы С","unit":"кВ","type":"U","param":"Uс"},
{"addr":231,"ASDU":57,"name":"24 Т Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":232,"ASDU":57,"name":"24 Т Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":233,"ASDU":57,"name":"25 Т Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":234,"ASDU":57,"name":"25 Т Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":235,"ASDU":57,"name":"25 Т Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":236,"ASDU":57,"name":"25 Т Напряжение фазы А","unit":"кВ","type":"U","param":"Uа"},
{"addr":237,"ASDU":57,"name":"25 Т Напряжение фазы В","unit":"кВ","type":"U","param":"Uв"},
{"addr":238,"ASDU":57,"name":"25 Т Напряжение фазы С","unit":"кВ","type":"U","param":"Uс"},
{"addr":239,"ASDU":57,"name":"25 Т Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":240,"ASDU":57,"name":"25 Т Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":241,"ASDU":57,"name":"26 Т Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":242,"ASDU":57,"name":"26 Т Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":243,"ASDU":57,"name":"26 Т Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":244,"ASDU":57,"name":"26 Т Напряжение фазы А","unit":"кВ","type":"U","param":"Uа"},
{"addr":245,"ASDU":57,"name":"26 Т Напряжение фазы В","unit":"кВ","type":"U","param":"Uв"},
{"addr":246,"ASDU":57,"name":"26 Т Напряжение фазы С","unit":"кВ","type":"U","param":"Uс"},
{"addr":247,"ASDU":57,"name":"26 Т Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":248,"ASDU":57,"name":"26 Т Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":249,"ASDU":57,"name":"20 Т Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":250,"ASDU":57,"name":"20 Т Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":251,"ASDU":57,"name":"20 Т Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":252,"ASDU":57,"name":"20 Т Напряжение фазы А","unit":"кВ","type":"U","param":"Uа"},
{"addr":253,"ASDU":57,"name":"20 Т Напряжение фазы В","unit":"кВ","type":"U","param":"Uв"},
{"addr":254,"ASDU":57,"name":"20 Т Напряжение фазы С","unit":"кВ","type":"U","param":"Uс"},
{"addr":255,"ASDU":57,"name":"20 Т Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":256,"ASDU":57,"name":"20 Т Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":257,"ASDU":57,"name":"10 ШР Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":258,"ASDU":57,"name":"10 ШР Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":259,"ASDU":57,"name":"10 ШР Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":260,"ASDU":57,"name":"10 ШР Напряжение фазы А","unit":"кВ","type":"U","param":"Uа"},
{"addr":261,"ASDU":57,"name":"10 ШР Напряжение фазы В","unit":"кВ","type":"U","param":"Uв"},
{"addr":262,"ASDU":57,"name":"10 ШР Напряжение фазы С","unit":"кВ","type":"U","param":"Uс"},
{"addr":263,"ASDU":57,"name":"10 ШР Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":264,"ASDU":57,"name":"10 ШР Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":265,"ASDU":57,"name":"СШ I 220 кВ Напряжение фазы А","unit":"кВ","control":1,"type":"U","param":"Uа"},
{"addr":266,"ASDU":57,"name":"СШ I 220 кВ Напряжение фазы В","unit":"кВ","control":1,"type":"U","param":"Uв"},
{"addr":267,"ASDU":57,"name":"СШ I 220 кВ Напряжение фазы С","unit":"кВ","control":1,"type":"U","param":"Uс"},
{"addr":268,"ASDU":57,"name":"СШ I 220 кВ Напряжение линейное АВ","unit":"кВ","type":"U","param":"Uав"},
{"addr":269,"ASDU":57,"name":"СШ I 220 кВ Напряжение линейное ВС","unit":"кВ","type":"U","param":"Uвс"},
{"addr":270,"ASDU":57,"name":"СШ I 220 кВ Напряжение линейное СА","unit":"кВ","type":"U","param":"Uса"},
{"addr":271,"ASDU":57,"name":"СШ I 220 кВ частота","unit":"гц","min":49,"max":51,"control":1,"group":1,"type":"F","param":"F"},
{"addr":272,"ASDU":57,"name":"СШ II 220 кВ Напряжение фазы А","unit":"кВ","type":"U","param":"Uа"},
{"addr":273,"ASDU":57,"name":"СШ II 220 кВ Напряжение фазы В","unit":"кВ","type":"U","param":"Uв"},
{"addr":274,"ASDU":57,"name":"СШ II 220 кВ Напряжение фазы С","unit":"кВ","type":"U","param":"Uс"},
{"addr":275,"ASDU":57,"name":"СШ II 220 кВ Напряжение линейное АВ","unit":"кВ","type":"U","param":"Uав"},
{"addr":276,"ASDU":57,"name":"СШ II 220 кВ Напряжение линейное ВС","unit":"кВ","type":"U","param":"Uвс"},
{"addr":277,"ASDU":57,"name":"СШ II 220 кВ Напряжение линейное СА","unit":"кВ","type":"U","param":"Uса"},
{"addr":278,"ASDU":57,"name":"СШ II 220 кВ частота","unit":"гц","min":49,"max":51,"control":1,"group":1,"type":"F","param":"F"},
{"addr":279,"ASDU":57,"name":"СШ I 110 кВ Напряжение фазы A","unit":"кВ","type":"U","param":"Ua"},
{"addr":280,"ASDU":57,"name":"СШ I 110 кВ Напряжение фазы В","unit":"кВ","type":"U","param":"Uв"},
{"addr":281,"ASDU":57,"name":"СШ I 110 кВ Напряжение фазы С","unit":"кВ","type":"U","param":"Uс"},
{"addr":282,"ASDU":57,"name":"СШ I 110 кВ Напряжение линейное АВ","unit":"кВ","type":"U","param":"Uав"},
{"addr":283,"ASDU":57,"name":"СШ I 110 кВ Напряжение линейное ВС","unit":"кВ","type":"U","param":"Uвс"},
{"addr":284,"ASDU":57,"name":"СШ I 110 кВ Напряжение линейное СА","unit":"кВ","type":"U","param":"Uса"},
{"addr":285,"ASDU":57,"name":"СШ I 110 кВ частота","unit":"гц","min":49,"max":51,"control":1,"group":1,"type":"F","param":"F"},
{"addr":286,"ASDU":57,"name":"СШ II 110 кВ Напряжение фазы А","unit":"кВ","type":"U","param":"Uа"},
{"addr":287,"ASDU":57,"name":"СШ II 110 кВ Напряжение фазы В","unit":"кВ","type":"U","param":"Uв"},
{"addr":288,"ASDU":57,"name":"СШ II 110 кВ Напряжение фазы С","unit":"кВ","type":"U","param":"Uс"},
{"addr":289,"ASDU":57,"name":"СШ II 110 кВ Напряжение линейное АВ","unit":"кВ","type":"U","param":"Uав"},
{"addr":290,"ASDU":57,"name":"СШ II 110 кВ Напряжение линейное ВС","unit":"кВ","type":"U","param":"Uвс"},
{"addr":291,"ASDU":57,"name":"СШ II 110 кВ Напряжение линейное СА","unit":"кВ","type":"U","param":"Uса"},
{"addr":292,"ASDU":57,"name":"СШ II 110 кВ частота","unit":"гц","min":49,"max":51,"control":1,"group":1,"type":"F","param":"F"},
{"addr":293,"ASDU":57,"name":"ШСВ-220 Ток фазы А","unit":"А","type":"I","param":"I а"},
{"addr":294,"ASDU":57,"name":"ШСВ-220 Ток фазы В","unit":"А","type":"I","param":"I в"},
{"addr":295,"ASDU":57,"name":"ШСВ-220 Ток фазы С","unit":"А","type":"I","param":"I с"},
{"addr":296,"ASDU":57,"name":"ШСВ-220 Напряжение фазы А","unit":"кВ","control":1,"type":"U","param":"Uа"},
{"addr":297,"ASDU":57,"name":"ШСВ-220 Напряжение фазы В","unit":"кВ","control":1,"type":"U","param":"Uв"},
{"addr":298,"ASDU":57,"name":"ШСВ-220 Напряжение фазы С","unit":"кВ","control":1,"type":"U","param":"Uс"},
{"addr":299,"ASDU":57,"name":"ШСВ-220 Активная мощность","unit":"кВт","control":3,"type":"P","param":"P"},
{"addr":300,"ASDU":57,"name":"ШСВ-220 Реактивная мощность","unit":"кВар","control":4,"type":"Q","param":"Q"},
{"addr":301,"ASDU":57,"name":"Температура наружного воздуха","unit":"град","control":5,"type":"t","param":"t"},
{"addr":302,"ASDU":57,"name":"1ТГ частота","unit":"гц","min":49,"max":51,"control":1,"group":1,"type":"F","param":"F"},
{"addr":303,"ASDU":57,"name":"2 ТГ частота","unit":"гц","min":49,"max":51,"control":1,"group":1,"type":"F","param":"F"},
{"addr":304,"ASDU":57,"name":"3 ТГ частота","unit":"гц","min":49,"max":51,"control":1,"group":1,"type":"F","param":"F"},
{"addr":305,"ASDU":57,"name":"4 ТГ частота","unit":"гц","min":49,"max":51,"control":1,"group":1,"type":"F","param":"F"},
{"addr":306,"ASDU":57,"name":"5 ТГ частота","unit":"гц","min":49,"max":51,"control":1,"group":1,"type":"F","param":"F"},
{"addr":307,"ASDU":57,"name":"6 ТГ частота","unit":"гц","min":49,"max":51,"control":1,"group":1,"type":"F","param":"F"},
{"addr":308,"ASDU":57,"name":оложение_РПН_2АТаза_А","unit":"","type":"Р","param":"РПН_2АТ_а"},
{"addr":309,"ASDU":57,"name":оложение_РПН_2АТаза_B","unit":"","type":"Р","param":"РПН_2АТ_в"},
{"addr":310,"ASDU":57,"name":оложение_РПН_2АТаза_C","unit":"","type":"Р","param":"РПН_2АТ_с"},
{"addr":396,"ASDU":57,"name":оложение_РПН_1АТаза_А","unit":"","type":"Р","param":"РПН_1АТ_а"},
{"addr":397,"ASDU":57,"name":оложение_РПН_1АТаза_B","unit":"","type":"Р","param":"РПН_1АТ_в"},
{"addr":398,"ASDU":57,"name":оложение_РПН_1АТаза_C","unit":"","type":"Р","param":"РПН_1АТ_C"},
{"addr":399,"ASDU":57,"name":оложение_РПН_2АТ","unit":"","type":"Р","param":"РПН_2АТ"},
{"addr":400,"ASDU":57,"name":оложение_РПН_20Т","unit":"","type":"Р","param":"РПН_20Т"}
],
"TS": [
{"addr":1,"ASDU":57,"name":"1 ГТ АПВ введено","unit":"F1","control":1},
{"addr":2,"ASDU":57,"name":"2 ГТ АПВ введено","unit":"F1","control":1},
{"addr":3,"ASDU":57,"name":"3 ГТ АПВ введено","unit":"F1","control":1},
{"addr":7,"ASDU":57,"name":"ВЛ 201 АПВ введено","unit":"F1","control":1},
{"addr":8,"ASDU":57,"name":"ВЛ 201 режим АПВ КС","unit":"F1","control":1},
{"addr":9,"ASDU":57,"name":"ВЛ 201 режим АПВ КНш+КОНл, КС","unit":"F1","control":1},
{"addr":10,"ASDU":57,"name":"ВЛ 201 режим АПВ КОНш+ КНл, КС","unit":"F1","control":1},
{"addr":11,"ASDU":57,"name":"ВЛ 201 режим АПВ ОС","unit":"F1","control":1},
{"addr":12,"ASDU":57,"name":"ВЛ 202 АПВ введено","unit":"F1","control":1},
{"addr":13,"ASDU":57,"name":"ВЛ 202 режим АПВ КС","unit":"F1","control":1},
{"addr":14,"ASDU":57,"name":"ВЛ 202 режим АПВ КНш+КОНл, КС","unit":"F1","control":1},
{"addr":15,"ASDU":57,"name":"ВЛ 202 режим АПВ КОНш+ КНл, КС","unit":"F1","control":1},
{"addr":16,"ASDU":57,"name":"ВЛ 202 режим АПВ ОС","unit":"F1","control":1},
{"addr":17,"ASDU":57,"name":"ВЛ 293 АПВ введено","unit":"F1","control":1},
{"addr":18,"ASDU":57,"name":"ВЛ 293 режим АПВ КНл","unit":"F1","control":1},
{"addr":19,"ASDU":57,"name":"ВЛ 293 режим АПВ КНш","unit":"F1","control":1},
{"addr":20,"ASDU":57,"name":"ВЛ 293 режим АПВ КОНш+ КНл или режим АПВ КНл + КНш","unit":"F1","control":1},
{"addr":21,"ASDU":57,"name":"ВЛ 293 режим АПВ КНл + КНш","unit":"F1","control":1},
{"addr":22,"ASDU":57,"name":"ВЛ 296 АПВ введено","unit":"F1","control":1},
{"addr":23,"ASDU":57,"name":"ВЛ 296 режим АПВ КНл","unit":"F1","control":1},
{"addr":24,"ASDU":57,"name":"ВЛ 296 режим АПВ КНш","unit":"F1","control":1},
{"addr":25,"ASDU":57,"name":"ВЛ 296 режим АПВ КОНш+ КНл или режим АПВ КНш + КНл","unit":"F1","control":1},
{"addr":26,"ASDU":57,"name":"ВЛ 296 режим АПВ КНл + КНш","unit":"F1","control":1},
{"addr":27,"ASDU":57,"name":"ОВ-220 АПВ введено","unit":"F1","control":1},
{"addr":28,"ASDU":57,"name":"ОВ-220 режим АПВ Слепое","unit":"F1","control":1},
{"addr":29,"ASDU":57,"name":"ОВ-220 режим АПВ КНш","unit":"F1","control":1},
{"addr":30,"ASDU":57,"name":"ОВ-220 режим АПВ КОНш+ КНл, КС","unit":"F1","control":1},
{"addr":31,"ASDU":57,"name":"ОВ-220 режим АПВ КНш + КОНл, КС","unit":"F1","control":1},
{"addr":32,"ASDU":57,"name":"ОВ-220 режим АПВ КС","unit":"F1","control":1},
{"addr":33,"ASDU":57,"name":"1 АТ (со стороны 110 кВ) АПВ введено","unit":"F1","control":1},
{"addr":34,"ASDU":57,"name":"ВЛ-110-01 АПВ введено","unit":"F1","control":1},
{"addr":35,"ASDU":57,"name":"ВЛ-110-01 режим АПВ КОНл","unit":"F1","control":1},
{"addr":36,"ASDU":57,"name":"ВЛ-110-01 режим АПВ КНл + КС","unit":"F1","control":1},
{"addr":37,"ASDU":57,"name":"ВЛ-110-02 АПВ введено","unit":"F1","control":1},
{"addr":38,"ASDU":57,"name":"ВЛ-110-02 режим АПВ КОНл","unit":"F1","control":1},
{"addr":39,"ASDU":57,"name":"ВЛ-110-02 режим АПВ КНл + КС","unit":"F1","control":1},
{"addr":40,"ASDU":57,"name":"ВЛ-110-07 АПВ введено","unit":"F1","control":1},
{"addr":41,"ASDU":57,"name":"ВЛ-110-07 режим АПВ КОНл","unit":"F1","control":1},
{"addr":42,"ASDU":57,"name":"ВЛ-110-07 режим АПВ КНл + КС","unit":"F1","control":1},
{"addr":43,"ASDU":57,"name":"ВЛ-110-08 АПВ введено","unit":"F1","control":1},
{"addr":44,"ASDU":57,"name":"ВЛ-110-08 режим АПВ КОНл","unit":"F1","control":1},
{"addr":45,"ASDU":57,"name":"ВЛ-110-08 режим АПВ КНл + КС","unit":"F1","control":1},
{"addr":46,"ASDU":57,"name":"ВЛ-110-09 АПВ введено","unit":"F1","control":1},
{"addr":47,"ASDU":57,"name":"ВЛ-110-09 введен 2 цикл АПВ","unit":"F1","control":1},
{"addr":48,"ASDU":57,"name":"ВЛ-110-10 АПВ введено","unit":"F1","control":1},
{"addr":49,"ASDU":57,"name":"ВЛ-110-10 КНш+КОНл+КС","unit":"F1","control":1},
{"addr":50,"ASDU":57,"name":"ОВ-110 АПВ введено","unit":"F1","control":1},
{"addr":51,"ASDU":57,"name":"ОВ-110 режим АПВ слепое ","unit":"F1","control":1},
{"addr":52,"ASDU":57,"name":"ОВ-110 режим АПВ КОНл","unit":"F1","control":1},
{"addr":53,"ASDU":57,"name":"ОВ-110 режим АПВ КС","unit":"F1","control":1},
{"addr":54,"ASDU":57,"name":"ОВ-110 введен 2 цикл АПВ","unit":"F1","control":1},
{"addr":55,"ASDU":57,"name":"Введен прием сигнала «ВН» (SA9) САОН ХГРЭС","unit":"F1","control":1},
{"addr":56,"ASDU":57,"name":"Введено отключение ВЛ-110кВ по сигналу автоматики ОН-1.","unit":"F1","control":1},
{"addr":57,"ASDU":57,"name":"Введено отключение ВЛ-110кВ по сигналу автоматики ОН-2.","unit":"F1","control":1},
{"addr":58,"ASDU":57,"name":"Введено отключение ВЛ-110кВ по сигналу автоматики ОН-3.","unit":"F1","control":1},
{"addr":59,"ASDU":57,"name":"Выходные цепи приемника введены САОН ХГРЭС","unit":"F1","control":1},
{"addr":60,"ASDU":57,"name":"Выходные цепи ХГРЭС введены на отключение МВ ВЛ-110-10","unit":"F1","control":1},
{"addr":61,"ASDU":57,"name":"Выходные цепи ХГРЭС введены на отключение МВ ВЛ-110-02","unit":"F1","control":1},
{"addr":62,"ASDU":57,"name":"Выходные цепи ХГРЭС введены на отключение МВ ВЛ-110-07","unit":"F1","control":1},
{"addr":63,"ASDU":57,"name":"Выходные цепи ХГРЭС введены на отключение МВ ВЛ-110-08","unit":"F1","control":1},
{"addr":64,"ASDU":57,"name":"Выходные цепи введены на отключение ОМВ-110кВ","unit":"F1","control":1},
{"addr":65,"ASDU":57,"name":"Неисправность САОН ХГРЭС","unit":"F1","control":1},
{"addr":66,"ASDU":57,"name":"Введен пуск САОН от МВ-110-1ГТ","unit":"F1","control":1},
{"addr":67,"ASDU":57,"name":"Введен пуск САОН от МВ-110-2ГТ","unit":"F1","control":1},
{"addr":68,"ASDU":57,"name":"Введен пуск САОН от МВ-110-3ГТ","unit":"F1","control":1},
{"addr":69,"ASDU":57,"name":"Введен пуск САОН от ОВ-110кВ","unit":"F1","control":1},
{"addr":70,"ASDU":57,"name":"Введен пуск САОН от МВ-220-4ГТ","unit":"F1","control":1},
{"addr":71,"ASDU":57,"name":"Введен пуск САОН от МВ-220-5ГТ","unit":"F1","control":1},
{"addr":72,"ASDU":57,"name":"Введен пуск САОН от МВ-220-6ГТ","unit":"F1","control":1},
{"addr":73,"ASDU":57,"name":"Введен пуск САОН от ОВ-220кВ","unit":"F1","control":1},
{"addr":74,"ASDU":57,"name":"Введена САОН Читинской ТЭЦ-1","unit":"F1","control":1},
{"addr":75,"ASDU":57,"name":"Воздействие САОН введено на ВЛ-110-10","unit":"F1","control":1},
{"addr":76,"ASDU":57,"name":"Воздействие САОН введено на ВЛ-110-02","unit":"F1","control":1},
{"addr":77,"ASDU":57,"name":"Воздействие САОН введено на ВЛ-110-08","unit":"F1","control":1},
{"addr":78,"ASDU":57,"name":"Воздействие САОН введено на ОВ-110кВ","unit":"F1","control":1},
{"addr":79,"ASDU":57,"name":"Неисправность САОН ЧТЭЦ-1","unit":"F1","control":1},
{"addr":84,"ASDU":57,"name":"Введен режим ручной дозировки САОН г. Читы","unit":"F1","control":1},
{"addr":85,"ASDU":57,"name":"Резерв 1 устр 5 канал","unit":"F1","control":1},
{"addr":86,"ASDU":57,"name":"Резерв 1 устр 6 канал","unit":"F1","control":1},
{"addr":87,"ASDU":57,"name":"Резерв 1 устр 7 канал","unit":"F1","control":1},
{"addr":88,"ASDU":57,"name":"Резерв 1 устр 8 канал","unit":"F1","control":1},
{"addr":89,"ASDU":57,"name":"Резерв 1 устр 9 канал","unit":"F1","control":1},
{"addr":90,"ASDU":57,"name":"Резерв 1 устр 10 канал","unit":"F1","control":1},
{"addr":91,"ASDU":57,"name":"Резерв 1 устр 11 канал","unit":"F1","control":1},
{"addr":92,"ASDU":57,"name":"Резерв 1 устр 12 канал","unit":"F1","control":1},
{"addr":200,"ASDU":57,"name":"Введено воздейчтвие САОН ХГРЭС на откл. ВЛ-110 кВ ВЛ","unit":"F1","control":1},
{"addr":201,"ASDU":57,"name":"Введено воздейчтвие САОН ХГРЭС на откл. Нагрузки ПС-110 кВ","unit":"F1","control":1},
{"addr":202,"ASDU":57,"name":"Введен прием сигнала ОН-1 FOX","unit":"F1","control":1},
{"addr":203,"ASDU":57,"name":"Введен прием сигнала ОН-1 PowerLink","unit":"F1","control":1},
{"addr":204,"ASDU":57,"name":"Введен прием сигнала ОН-2 FOX","unit":"F1","control":1},
{"addr":205,"ASDU":57,"name":"Введен прием сигнала ОН-2 PowerLink","unit":"F1","control":1},
{"addr":206,"ASDU":57,"name":"Введен прием сигнала ОН-3 FOX","unit":"F1","control":1},
{"addr":207,"ASDU":57,"name":"Введен прием сигнала ОН-3 PowerLink","unit":"F1","control":1},
{"addr":208,"ASDU":57,"name":"Воздействие САОН ХГРЭС введено на ОВ-110","unit":"F1","control":1},
{"addr":209,"ASDU":57,"name":"Воздействие САОН ХГРЭС введено на В-110-08","unit":"F1","control":1},
{"addr":210,"ASDU":57,"name":"Воздействие САОН ХГРЭС введено на В-110-10","unit":"F1","control":1},
{"addr":211,"ASDU":57,"name":"Воздействие САОН ХГРЭС введено на В-110-07","unit":"F1","control":1},
{"addr":104,"ASDU":57,"name":"Выходные цепи приемника введены ВЛ-296","unit":"F1","control":1},
{"addr":106,"ASDU":57,"name":"ВЛ 293 Неисправность ШДЭ 2801","unit":"F1","control":1},
{"addr":107,"ASDU":57,"name":"ВЛ 293 Неисправность ВЧНЗ №1","unit":"F1","control":1},
{"addr":108,"ASDU":57,"name":"ВЛ 293 Неисправность ВЧНЗ №2","unit":"F1","control":1},
{"addr":109,"ASDU":57,"name":"ВЛ 296 Неисправность ШДЭ 2801","unit":"F1","control":1},
{"addr":110,"ASDU":57,"name":"ВЛ 296 Неисправность ВЧНЗ №1","unit":"F1","control":1},
{"addr":111,"ASDU":57,"name":"ВЛ 296 Неисправность ВЧНЗ №2","unit":"F1","control":1},
{"addr":112,"ASDU":57,"name":"ВЛ-110-01 Неисправность ШДЭ 2802","unit":"F1","control":1},
{"addr":113,"ASDU":57,"name":"ВЛ-110-02 Неисправность ШДЭ 2802","unit":"F1","control":1},
{"addr":114,"ASDU":57,"name":"ВЛ-110-07 Неисправность ШДЭ 2802","unit":"F1","control":1},
{"addr":115,"ASDU":57,"name":"ВЛ-110-07 Неисправность ВЧНЗ","unit":"F1","control":1},
{"addr":116,"ASDU":57,"name":"ВЛ-110-08 Неисправность ШДЭ 2802","unit":"F1","control":1},
{"addr":117,"ASDU":57,"name":"ВЛ-110-08 Неисправность ВЧНЗ","unit":"F1","control":1},
{"addr":118,"ASDU":57,"name":"ВЛ-110-09 Неисправность ШДЭ 2802","unit":"F1","control":1},
{"addr":119,"ASDU":57,"name":"ВЛ-110-10 Неисправность ШДЭ 2802","unit":"F1","control":1},
{"addr":120,"ASDU":57,"name":"СШ I 220 кВ Неисправность ДЗШт","unit":"F1","control":1},
{"addr":122,"ASDU":57,"name":"Неисправность АОПН ВЛ-220-293","unit":"F1","control":1},
{"addr":123,"ASDU":57,"name":"Неисправность АОПН ВЛ-220-296","unit":"F1","control":1},
{"addr":124,"ASDU":57,"name":"Неисправность АЛАР ВЛ-220-201","unit":"F1","control":1},
{"addr":125,"ASDU":57,"name":"Неисправность АЛАР ВЛ-220-202","unit":"F1","control":1},
{"addr":126,"ASDU":57,"name":"1 ГТ Неисправность УРЗА","unit":"F1","control":1},
{"addr":127,"ASDU":57,"name":"2 ГТ Неисправность УРЗА","unit":"F1","control":1},
{"addr":128,"ASDU":57,"name":"3 ГТ Неисправность УРЗА","unit":"F1","control":1},
{"addr":129,"ASDU":57,"name":"4 ГТ Неисправность УРЗА","unit":"F1","control":1},
{"addr":130,"ASDU":57,"name":"5 ГТ Неисправность УРЗА","unit":"F1","control":1},
{"addr":131,"ASDU":57,"name":"6 ГТ Неисправность УРЗА","unit":"F1","control":1},
{"addr":132,"ASDU":57,"name":"ШСВ-110 Неисправность УРЗА","unit":"F1","control":1},
{"addr":133,"ASDU":57,"name":"ШСВ-220 Неисправность УРЗА","unit":"F1","control":1},
{"addr":212,"ASDU":57,"name":"Неисправность приемных реле ПРМ FOX","unit":"F1","control":1},
{"addr":213,"ASDU":57,"name":"Неисправность приемных реле ПРМ PowerLink","unit":"F1","control":1},
{"addr":214,"ASDU":57,"name":"Неисправность выходных реле САОН ХГРЭС","unit":"F1","control":1},
{"addr":215,"ASDU":57,"name":"Воздействие САОН ХГРЭС введено на В-110-02","unit":"F1","control":1},
{"addr":139,"ASDU":57,"name":"ADL01EB002XV05 (Резерв)","unit":"F1","control":1},
{"addr":140,"ASDU":57,"name":"ADL01EB003XV05 (Резерв)","unit":"F1","control":1},
{"addr":141,"ASDU":57,"name":"ADL01EB012XV05 (Резерв)","unit":"F1","control":1},
{"addr":142,"ASDU":57,"name":"ADL01EB022XV05 (Резерв)","unit":"F1","control":1},
{"addr":143,"ASDU":57,"name":"ADL01EB013XV05 (Резерв)","unit":"F1","control":1},
{"addr":144,"ASDU":57,"name":"ADL01EB023XV05 (Резерв)","unit":"F1","control":1},
{"addr":145,"ASDU":57,"name":"ADL01EB000XV14 (Резерв)","unit":"F1","control":1},
{"addr":146,"ASDU":57,"name":"Неисправность УРОВ 220","unit":"F1","control":1},
{"addr":147,"ASDU":57,"name":"Неисправность АВСН","unit":"F1","control":1},
{"addr":148,"ASDU":57,"name":"Неисправность УРОВ 110","unit":"F1","control":1},
{"addr":149,"ASDU":57,"name":"26 Т положение 6В2","unit":"F1","control":1},
{"addr":150,"ASDU":57,"name":"26 Т положение 6В12","unit":"F1","control":1},
{"addr":151,"ASDU":57,"name":"26 Т положение 6В13","unit":"F1","control":1},
{"addr":152,"ASDU":57,"name":"26 Т положение РВ 12","unit":"F1","control":1},
{"addr":153,"ASDU":57,"name":"26 Т положение РВ 13","unit":"F1","control":1},
{"addr":154,"ASDU":57,"name":"25 Т положение 6В1","unit":"F1","control":1},
{"addr":155,"ASDU":57,"name":"25 Т положение 6В11","unit":"F1","control":1},
{"addr":156,"ASDU":57,"name":"25 Т положение РВ 11","unit":"F1","control":1},
{"addr":157,"ASDU":57,"name":"24 Т положение 5В2","unit":"F1","control":1},
{"addr":158,"ASDU":57,"name":"24 Т положение 5В9","unit":"F1","control":1},
{"addr":159,"ASDU":57,"name":"24 Т положение 6В10","unit":"F1","control":1},
{"addr":160,"ASDU":57,"name":"24 Т положение РВ 9","unit":"F1","control":1},
{"addr":161,"ASDU":57,"name":"24 Т положение РВ 10","unit":"F1","control":1},
{"addr":162,"ASDU":57,"name":"23 Т положение 5В1","unit":"F1","control":1},
{"addr":163,"ASDU":57,"name":"23 Т положение 5В8","unit":"F1","control":1},
{"addr":164,"ASDU":57,"name":"23 Т положение РВ 8","unit":"F1","control":1},
{"addr":165,"ASDU":57,"name":"10 ШР положение 1В","unit":"F1","control":1},
{"addr":166,"ASDU":57,"name":"10 ШР положение 2В","unit":"F1","control":1},
{"addr":167,"ASDU":57,"name":"10 ШР положение ВС","unit":"F1","control":1},
{"addr":168,"ASDU":57,"name":"4 ШР положение 4В-1","unit":"F1","control":1},
{"addr":169,"ASDU":57,"name":"1 ГТ положение 1 Р","unit":"F1","control":1},
{"addr":170,"ASDU":57,"name":"1 ГТ положение 1 ШР","unit":"F1","control":1},
{"addr":171,"ASDU":57,"name":"2 ГТ положение 2 Р","unit":"F1","control":1},
{"addr":172,"ASDU":57,"name":"2 ГТ положение 2 ШР","unit":"F1","control":1},
{"addr":173,"ASDU":57,"name":"3 ШР положение 3В1","unit":"F1","control":1},
{"addr":174,"ASDU":57,"name":"3 ГТ положение 3 Р","unit":"F1","control":1},
{"addr":175,"ASDU":57,"name":"3 ГТ положение 3 ШР","unit":"F1","control":1},
{"addr":176,"ASDU":57,"name":"2 ШР положение 2В1","unit":"F1","control":1},
{"addr":177,"ASDU":57,"name":"4 ГТ положение 4 Р","unit":"F1","control":1},
{"addr":178,"ASDU":57,"name":"4 ГТ положение 4 ШР","unit":"F1","control":1},
{"addr":179,"ASDU":57,"name":"1 ШР 1В","unit":"F1","control":1},
{"addr":180,"ASDU":57,"name":"1 ШР 1В1","unit":"F1","control":1},
{"addr":181,"ASDU":57,"name":"1 ШР РВ1","unit":"F1","control":1},
{"addr":182,"ASDU":57,"name":"20 Т РВ","unit":"F1","control":1},
{"addr":183,"ASDU":57,"name":"20 Т РВ2","unit":"F1","control":1},
{"addr":184,"ASDU":57,"name":"20 Т РВ3","unit":"F1","control":1},
{"addr":185,"ASDU":57,"name":"20 Т РВ4","unit":"F1","control":1},
{"addr":186,"ASDU":57,"name":"20 Т РВ5","unit":"F1","control":1},
{"addr":187,"ASDU":57,"name":"4 АТ неисправность УРЗА","unit":"F1","control":1},
{"addr":188,"ASDU":57,"name":"ВЛ 201 Неисправность ЭПЗ","unit":"F1","control":1},
{"addr":189,"ASDU":57,"name":"ВЛ 201 Неисправность ВЧБ","unit":"F1","control":1},
{"addr":190,"ASDU":57,"name":"ВЛ 202 Неисправность ЭПЗ","unit":"F1","control":1},
{"addr":191,"ASDU":57,"name":"ВЛ 202 Неисправность ВЧБ","unit":"F1","control":1},
{"addr":192,"ASDU":57,"name":"1,2 АТ Неисправность УРЗА","unit":"F1","control":1},
{"addr":193,"ASDU":57,"name":"ОВ-220 Неисправность ЭПЗ","unit":"F1","control":1},
{"addr":194,"ASDU":57,"name":"СШ 110 кВ Неисправность ДЗШ-110кВ","unit":"F1","control":1},
{"addr":195,"ASDU":57,"name":"СШ 220 кВ Неисправность ДЗШ-220кВ","unit":"F1","control":1},
{"addr":196,"ASDU":57,"name":"4 АТ положение МВ","unit":"F1","control":1},
{"addr":216,"ASDU":57,"name":"Введен пуск САОН от 2АТ-110","unit":"F1","control":1},
{"addr":217,"ASDU":57,"name":"Введен пуск САОН от 1АТ-110","unit":"F1","control":1},
{"addr":218,"ASDU":57,"name":"Введен пуск САОН от 1АТ-220","unit":"F1","control":1},
{"addr":219,"ASDU":57,"name":"Введен пуск САОН от 2АТ-220","unit":"F1","control":1},
{"addr":1,"ASDU":58,"name":"ВЛ-110-02 положение ОР","unit":"F1","control":1},
{"addr":2,"ASDU":58,"name":"ВЛ-110-02 положение ЛРЗ-2","unit":"F1","control":1},
{"addr":3,"ASDU":58,"name":"ВЛ-110-02 положение ЛРЗ-1","unit":"F1","control":1},
{"addr":4,"ASDU":58,"name":"ВЛ-110-02 положение ЛР","unit":"F1","control":1},
{"addr":5,"ASDU":58,"name":"ВЛ-110-02 положение 2СШР","unit":"F1","control":1},
{"addr":6,"ASDU":58,"name":"ВЛ-110-02 положение 1СШРз","unit":"F1","control":1},
{"addr":7,"ASDU":58,"name":"ВЛ-110-02 положение 1СШР","unit":"F1","control":1},
{"addr":8,"ASDU":58,"name":"ВЛ-110-02 положение МВ","unit":"F1","control":1},
{"addr":9,"ASDU":58,"name":"Резерв-1","unit":"F1","control":1},
{"addr":10,"ASDU":58,"name":"СШ I 110 кВ положение ШРЗ-2","unit":"F1","control":1},
{"addr":11,"ASDU":58,"name":"СШ I 110 кВ положение ШРЗ-1","unit":"F1","control":1},
{"addr":12,"ASDU":58,"name":"СШ I 110 кВ положение ШР-1","unit":"F1","control":1},
{"addr":13,"ASDU":58,"name":"ВЛ-110-01 положение ОР","unit":"F1","control":1},
{"addr":14,"ASDU":58,"name":"ВЛ-110-01 положение ЛРЗ-2","unit":"F1","control":1},
{"addr":15,"ASDU":58,"name":"ВЛ-110-01 положение ЛРЗ-1","unit":"F1","control":1},
{"addr":16,"ASDU":58,"name":"ВЛ-110-01 положение ЛР","unit":"F1","control":1},
{"addr":17,"ASDU":58,"name":"ВЛ-110-01 положение 2СШР","unit":"F1","control":1},
{"addr":18,"ASDU":58,"name":"ВЛ-110-01 положение 1СШРз","unit":"F1","control":1},
{"addr":19,"ASDU":58,"name":"ВЛ-110-01 положение 1СШР","unit":"F1","control":1},
{"addr":20,"ASDU":58,"name":"ВЛ-110-01 положение МВ","unit":"F1","control":1},
{"addr":21,"ASDU":58,"name":"ВЛ-110-07 положение 2СШР","unit":"F1","control":1},
{"addr":22,"ASDU":58,"name":"ВЛ-110-07 положение 1СШРз","unit":"F1","control":1},
{"addr":23,"ASDU":58,"name":"ВЛ-110-07 положение 1СШР","unit":"F1","control":1},
{"addr":24,"ASDU":58,"name":"ВЛ-110-07 положение МВ","unit":"F1","control":1},
{"addr":25,"ASDU":58,"name":"20 Т положение ОР","unit":"F1","control":1},
{"addr":26,"ASDU":58,"name":"20 Т положение ЛРЗ-2","unit":"F1","control":1},
{"addr":27,"ASDU":58,"name":"20 Т положение ЛРЗ-1","unit":"F1","control":1},
{"addr":28,"ASDU":58,"name":"20 Т положение ЛР","unit":"F1","control":1},
{"addr":29,"ASDU":58,"name":"20 Т положение 2СШР","unit":"F1","control":1},
{"addr":30,"ASDU":58,"name":"20 Т положение 1СШРз","unit":"F1","control":1},
{"addr":31,"ASDU":58,"name":"20 Т положение 1СШР","unit":"F1","control":1},
{"addr":32,"ASDU":58,"name":"20 Т положение МВ","unit":"F1","control":1},
{"addr":33,"ASDU":58,"name":"1 ГТ положение ОР","unit":"F1","control":1},
{"addr":34,"ASDU":58,"name":"1 ГТ положение ЛРЗ-2","unit":"F1","control":1},
{"addr":35,"ASDU":58,"name":"1 ГТ положение ЛРЗ-1","unit":"F1","control":1},
{"addr":36,"ASDU":58,"name":"1 ГТ положение ЛР","unit":"F1","control":1},
{"addr":37,"ASDU":58,"name":"1 ГТ положение 2СШР","unit":"F1","control":1},
{"addr":38,"ASDU":58,"name":"1 ГТ положение 1СШРз","unit":"F1","control":1},
{"addr":39,"ASDU":58,"name":"1 ГТ положение 1СШР","unit":"F1","control":1},
{"addr":40,"ASDU":58,"name":"1 ГТ положение МВ","unit":"F1","control":1},
{"addr":41,"ASDU":58,"name":"ВЛ-110-08 положение ОР","unit":"F1","control":1},
{"addr":42,"ASDU":58,"name":"ВЛ-110-08 положение ЛРЗ-2","unit":"F1","control":1},
{"addr":43,"ASDU":58,"name":"ВЛ-110-08 положение ЛРЗ-1","unit":"F1","control":1},
{"addr":44,"ASDU":58,"name":"ВЛ-110-08 положение ЛР","unit":"F1","control":1},
{"addr":45,"ASDU":58,"name":"ВЛ-110-08 положение 2СШР","unit":"F1","control":1},
{"addr":46,"ASDU":58,"name":"ВЛ-110-08 положение 1СШРз","unit":"F1","control":1},
{"addr":47,"ASDU":58,"name":"ВЛ-110-08 положение 1СШР","unit":"F1","control":1},
{"addr":48,"ASDU":58,"name":"ВЛ-110-08 положение МВ","unit":"F1","control":1},
{"addr":49,"ASDU":58,"name":"2 ГТ положение ОР","unit":"F1","control":1},
{"addr":50,"ASDU":58,"name":"2 ГТ положение ЛРЗ-2","unit":"F1","control":1},
{"addr":51,"ASDU":58,"name":"2 ГТ положение ЛРЗ-1","unit":"F1","control":1},
{"addr":52,"ASDU":58,"name":"2 ГТ положение ЛР","unit":"F1","control":1},
{"addr":53,"ASDU":58,"name":"2 ГТ положение 2СШР","unit":"F1","control":1},
{"addr":54,"ASDU":58,"name":"2 ГТ положение 1СШРз","unit":"F1","control":1},
{"addr":55,"ASDU":58,"name":"2 ГТ положение 1СШР","unit":"F1","control":1},
{"addr":56,"ASDU":58,"name":"2 ГТ положение МВ","unit":"F1","control":1},
{"addr":57,"ASDU":58,"name":"ВЛ-110-07 положение ОР","unit":"F1","control":1},
{"addr":58,"ASDU":58,"name":"ВЛ-110-07 положение ЛРЗ-2","unit":"F1","control":1},
{"addr":59,"ASDU":58,"name":"ВЛ-110-07 положение ЛРЗ-1","unit":"F1","control":1},
{"addr":60,"ASDU":58,"name":"ВЛ-110-07 положение ЛР","unit":"F1","control":1},
{"addr":61,"ASDU":58,"name":"Резерв-2","unit":"F1","control":1},
{"addr":62,"ASDU":58,"name":"СШ II 110 кВ положение ШРЗ-2","unit":"F1","control":1},
{"addr":63,"ASDU":58,"name":"СШ II 110 кВ положение ШРЗ-1","unit":"F1","control":1},
{"addr":64,"ASDU":58,"name":"СШ II 110 кВ положение ШР-2","unit":"F1","control":1},
{"addr":65,"ASDU":58,"name":"ОВ-110 положение ОСНКФ","unit":"F1","control":1},
{"addr":66,"ASDU":58,"name":"ОВ-110 положение ОРЗ-2","unit":"F1","control":1},
{"addr":67,"ASDU":58,"name":"ОВ-110 положение ОРЗ-1","unit":"F1","control":1},
{"addr":68,"ASDU":58,"name":"ОВ-110 положение ОР","unit":"F1","control":1},
{"addr":69,"ASDU":58,"name":"ОВ-110 положение 2СШР","unit":"F1","control":1},
{"addr":70,"ASDU":58,"name":"ОВ-110 положение 1СШРз","unit":"F1","control":1},
{"addr":71,"ASDU":58,"name":"ОВ-110 положение 1СШР","unit":"F1","control":1},
{"addr":72,"ASDU":58,"name":"ОВ-110 положение МВ","unit":"F1","control":1},
{"addr":73,"ASDU":58,"name":"1 АТ (со стороны 110 кВ) положение ОР","unit":"F1","control":1},
{"addr":74,"ASDU":58,"name":"1 АТ (со стороны 110 кВ) положение ЛРЗ-2","unit":"F1","control":1},
{"addr":75,"ASDU":58,"name":"1 АТ (со стороны 110 кВ) положение ЛРЗ-1","unit":"F1","control":1},
{"addr":76,"ASDU":58,"name":"1 АТ (со стороны 110 кВ) положение ЛР","unit":"F1","control":1},
{"addr":77,"ASDU":58,"name":"1 АТ (со стороны 110 кВ) положение 2СШР","unit":"F1","control":1},
{"addr":78,"ASDU":58,"name":"1 АТ (со стороны 110 кВ) положение 1СШРз","unit":"F1","control":1},
{"addr":79,"ASDU":58,"name":"1 АТ (со стороны 110 кВ) положение 1СШР","unit":"F1","control":1},
{"addr":80,"ASDU":58,"name":"1 АТ (со стороны 110 кВ) положение МВ","unit":"F1","control":1},
{"addr":81,"ASDU":58,"name":"3 ГТ положение 2СШР","unit":"F1","control":1},
{"addr":82,"ASDU":58,"name":"3 ГТ положение 1СШРз","unit":"F1","control":1},
{"addr":83,"ASDU":58,"name":"3 ГТ положение 1СШР","unit":"F1","control":1},
{"addr":84,"ASDU":58,"name":"3 ГТ положение МВ","unit":"F1","control":1},
{"addr":85,"ASDU":58,"name":"ВЛ-110-10 положение ОР","unit":"F1","control":1},
{"addr":86,"ASDU":58,"name":"ВЛ-110-10 положение ЛРЗ-2","unit":"F1","control":1},
{"addr":87,"ASDU":58,"name":"ВЛ-110-10 положение ЛРЗ-1","unit":"F1","control":1},
{"addr":88,"ASDU":58,"name":"ВЛ-110-10 положение ЛР","unit":"F1","control":1},
{"addr":89,"ASDU":58,"name":"ВЛ-110-10 положение 2СШР","unit":"F1","control":1},
{"addr":90,"ASDU":58,"name":"ВЛ-110-10 положение 1СШРз","unit":"F1","control":1},
{"addr":91,"ASDU":58,"name":"ВЛ-110-10 положение 1СШР","unit":"F1","control":1},
{"addr":92,"ASDU":58,"name":"ВЛ-110-10 положение МВ","unit":"F1","control":1},
{"addr":93,"ASDU":58,"name":"ВЛ-110-09 положение ОР","unit":"F1","control":1},
{"addr":94,"ASDU":58,"name":"ВЛ-110-09 положение ЛРЗ-2","unit":"F1","control":1},
{"addr":95,"ASDU":58,"name":"ВЛ-110-09 положение ЛРЗ-1","unit":"F1","control":1},
{"addr":96,"ASDU":58,"name":"ВЛ-110-09 положение ЛР","unit":"F1","control":1},
{"addr":97,"ASDU":58,"name":"ВЛ-110-09 положение 2СШР","unit":"F1","control":1},
{"addr":98,"ASDU":58,"name":"ВЛ-110-09 положение 1СШРз","unit":"F1","control":1},
{"addr":99,"ASDU":58,"name":"ВЛ-110-09 положение 1СШР","unit":"F1","control":1},
{"addr":100,"ASDU":58,"name":"ВЛ-110-09 положение МВ","unit":"F1","control":1},
{"addr":101,"ASDU":58,"name":"2 АТ (со стороны 110 кВ) положение МВ","unit":"F1","control":1},
{"addr":102,"ASDU":58,"name":"2 АТ (со стороны 110 кВ) положение 1СШР","unit":"F1","control":1},
{"addr":103,"ASDU":58,"name":"2 АТ (со стороны 110 кВ) положение 2СШР","unit":"F1","control":1},
{"addr":104,"ASDU":58,"name":"2 АТ (со стороны 110 кВ) положение 2ЛРЗ-'C'","unit":"F1","control":1},
{"addr":105,"ASDU":58,"name":"2 АТ (со стороны 110 кВ) положение 1ЛРЗ-'A'","unit":"F1","control":1},
{"addr":106,"ASDU":58,"name":"2 АТ (со стороны 110 кВ) положение ЛР 'B'","unit":"F1","control":1},
{"addr":107,"ASDU":58,"name":"2 АТ (со стороны 110 кВ) положение 1СШРз","unit":"F1","control":1},
{"addr":108,"ASDU":58,"name":"2 АТ (со стороны 110 кВ) положение 1ЛРЗ-'C'","unit":"F1","control":1},
{"addr":109,"ASDU":58,"name":"2 АТ (со стороны 110 кВ) положение ЛР 'A'","unit":"F1","control":1},
{"addr":110,"ASDU":58,"name":"2 АТ (со стороны 110 кВ) положение 2ЛРЗ-'B'","unit":"F1","control":1},
{"addr":111,"ASDU":58,"name":"2 АТ (со стороны 110 кВ) положение 2ЛРЗ-'A'","unit":"F1","control":1},
{"addr":112,"ASDU":58,"name":"ШСВ-110 положение 2СШРз","unit":"F1","control":1},
{"addr":113,"ASDU":58,"name":"ШСВ-110 положение 2СШР","unit":"F1","control":1},
{"addr":114,"ASDU":58,"name":"ШСВ-110 положение 1СШРз","unit":"F1","control":1},
{"addr":115,"ASDU":58,"name":"ШСВ-110 положение 1СШР","unit":"F1","control":1},
{"addr":116,"ASDU":58,"name":"ШСВ-110 положение МВ","unit":"F1","control":1},
{"addr":117,"ASDU":58,"name":"3 ГТ положение ОР","unit":"F1","control":1},
{"addr":118,"ASDU":58,"name":"3 ГТ положение ЛРЗ-2","unit":"F1","control":1},
{"addr":119,"ASDU":58,"name":"3 ГТ положение ЛРЗ-1","unit":"F1","control":1},
{"addr":120,"ASDU":58,"name":"3 ГТ положение ЛР","unit":"F1","control":1},
{"addr":1,"ASDU":59,"name":"положение 2СШР 1АТ(220кВ) ф. В","unit":"F1","control":1},
{"addr":2,"ASDU":59,"name":"положение 2СШР 1АТ(220кВ) ф. С","unit":"F1","control":1},
{"addr":3,"ASDU":59,"name":"положение МВ ВЛ201","unit":"F1","control":1},
{"addr":4,"ASDU":59,"name":"положение МВ 1 АТ 220кВ","unit":"F1","control":1},
{"addr":5,"ASDU":59,"name":"положение 2СШР ВЛ201 ф. В","unit":"F1","control":1},
{"addr":6,"ASDU":59,"name":"положение 2СШР ВЛ201 ф. С","unit":"F1","control":1},
{"addr":7,"ASDU":59,"name":"положение ОР ВЛ201","unit":"F1","control":1},
{"addr":8,"ASDU":59,"name":"положение ЛРЗ-2ВЛ201","unit":"F1","control":1},
{"addr":9,"ASDU":59,"name":"положение ЛРЗ-1 ВЛ201","unit":"F1","control":1},
{"addr":10,"ASDU":59,"name":"положение ЛР ВЛ201","unit":"F1","control":1},
{"addr":11,"ASDU":59,"name":"положение 1СШРзВЛ201","unit":"F1","control":1},
{"addr":12,"ASDU":59,"name":"положение 2СШР ВЛ201","unit":"F1","control":1},
{"addr":13,"ASDU":59,"name":"положение 1СШР ВЛ201","unit":"F1","control":1},
{"addr":14,"ASDU":59,"name":"положение ОР1АТ(220кВ)","unit":"F1","control":1},
{"addr":15,"ASDU":59,"name":"положение ЛРЗ-2 1АТ(220кВ)","unit":"F1","control":1},
{"addr":16,"ASDU":59,"name":"положение ЛРЗ-1 1АТ(220кВ)","unit":"F1","control":1},
{"addr":17,"ASDU":59,"name":"положение ЛР 1АТ(220кВ)","unit":"F1","control":1},
{"addr":18,"ASDU":59,"name":"положение 1СШРз 1АТ(220кВ)","unit":"F1","control":1},
{"addr":19,"ASDU":59,"name":"положение 2СШР 1АТ(220кВ)","unit":"F1","control":1},
{"addr":20,"ASDU":59,"name":"положение 1СШР 1АТ(220кВ)","unit":"F1","control":1},
{"addr":21,"ASDU":59,"name":"положение 2СШР ВЛ202 ф. В","unit":"F1","control":1},
{"addr":22,"ASDU":59,"name":"положение 2СШР ВЛ202 ф. С","unit":"F1","control":1},
{"addr":23,"ASDU":59,"name":"положение МВ ВЛ202","unit":"F1","control":1},
{"addr":24,"ASDU":59,"name":"положение МВ ГТ4","unit":"F1","control":1},
{"addr":25,"ASDU":59,"name":"положение 2СШР ГТ4 ф. В","unit":"F1","control":1},
{"addr":26,"ASDU":59,"name":"положение 2СШР ГТ4 ф. С","unit":"F1","control":1},
{"addr":27,"ASDU":59,"name":"положение ОР ВЛ202","unit":"F1","control":1},
{"addr":28,"ASDU":59,"name":"положение ЛРЗ-1 ВЛ202","unit":"F1","control":1},
{"addr":29,"ASDU":59,"name":"положение ЛРЗ-2 ВЛ202","unit":"F1","control":1},
{"addr":30,"ASDU":59,"name":"положение ЛР ВЛ202","unit":"F1","control":1},
{"addr":31,"ASDU":59,"name":"положение 1СШРзВЛ202","unit":"F1","control":1},
{"addr":32,"ASDU":59,"name":"положение 2СШР ВЛ202","unit":"F1","control":1},
{"addr":33,"ASDU":59,"name":"положение 1СШР ВЛ202","unit":"F1","control":1},
{"addr":34,"ASDU":59,"name":"положение ЛРЗ-2 ГТ4","unit":"F1","control":1},
{"addr":35,"ASDU":59,"name":"положение ЛРЗ-1 ГТ4","unit":"F1","control":1},
{"addr":36,"ASDU":59,"name":"положение ЛР ГТ4","unit":"F1","control":1},
{"addr":37,"ASDU":59,"name":"положение 1СШРз ГТ4","unit":"F1","control":1},
{"addr":38,"ASDU":59,"name":"положение ОР ГТ4","unit":"F1","control":1},
{"addr":39,"ASDU":59,"name":"положение 2СШР ГТ4","unit":"F1","control":1},
{"addr":40,"ASDU":59,"name":"положение 1СШР ГТ4","unit":"F1","control":1},
{"addr":41,"ASDU":59,"name":"положение 2СШР ОВ-220 ф. В","unit":"F1","control":1},
{"addr":42,"ASDU":59,"name":"положение МВ ГТ5","unit":"F1","control":1},
{"addr":43,"ASDU":59,"name":"положение МВ ВЛ296","unit":"F1","control":1},
{"addr":44,"ASDU":59,"name":"положение МВ ВЛ293","unit":"F1","control":1},
{"addr":45,"ASDU":59,"name":"положение МВ ОВ-220","unit":"F1","control":1},
{"addr":46,"ASDU":59,"name":"положение 2СШР ОВ-220 ф. С","unit":"F1","control":1},
{"addr":47,"ASDU":59,"name":"положение ОР ВЛ293","unit":"F1","control":1},
{"addr":48,"ASDU":59,"name":"положение ЛРЗ-2ВЛ293","unit":"F1","control":1},
{"addr":49,"ASDU":59,"name":"положение ЛРЗ-1 ВЛ293","unit":"F1","control":1},
{"addr":50,"ASDU":59,"name":"положение ЛР ВЛ293","unit":"F1","control":1},
{"addr":51,"ASDU":59,"name":"положение 1СШРзВЛ293","unit":"F1","control":1},
{"addr":52,"ASDU":59,"name":"положение 2СШР ВЛ293","unit":"F1","control":1},
{"addr":53,"ASDU":59,"name":"положение 1СШР ВЛ293","unit":"F1","control":1},
{"addr":54,"ASDU":59,"name":"положение ЛРЗ-2 ОВ-220","unit":"F1","control":1},
{"addr":55,"ASDU":59,"name":"положение ЛРЗ-1 ОВ-220","unit":"F1","control":1},
{"addr":56,"ASDU":59,"name":"положение 1СШРз ОВ-220","unit":"F1","control":1},
{"addr":57,"ASDU":59,"name":"положение ОР ОВ-220","unit":"F1","control":1},
{"addr":58,"ASDU":59,"name":"положение 2СШР ОВ-220","unit":"F1","control":1},
{"addr":59,"ASDU":59,"name":"положение 1СШР ОВ-220","unit":"F1","control":1},
{"addr":60,"ASDU":59,"name":"положение 2ШР 2СНКФ-220","unit":"F1","control":1},
{"addr":61,"ASDU":59,"name":"положение 2ШРз-1 2СНКФ-220","unit":"F1","control":1},
{"addr":62,"ASDU":59,"name":"положение 2ШРз-2 2СНКФ-220","unit":"F1","control":1},
{"addr":63,"ASDU":59,"name":"положение 2СШР ГТ5 ф. В","unit":"F1","control":1},
{"addr":64,"ASDU":59,"name":"положение 2СШР ГТ5 ф. С","unit":"F1","control":1},
{"addr":65,"ASDU":59,"name":"Автомат цеп. Напр. 2СНКФ-220","unit":"F1","control":1},
{"addr":66,"ASDU":59,"name":"положение ОР ГТ5","unit":"F1","control":1},
{"addr":67,"ASDU":59,"name":"положение ЛРЗ-2 ГТ5","unit":"F1","control":1},
{"addr":68,"ASDU":59,"name":"положение ЛР ГТ5","unit":"F1","control":1},
{"addr":69,"ASDU":59,"name":"положение ЛРЗ-1 ГТ5","unit":"F1","control":1},
{"addr":70,"ASDU":59,"name":"положение 1СШРз ГТ5","unit":"F1","control":1},
{"addr":71,"ASDU":59,"name":"положение 2СШР ГТ5","unit":"F1","control":1},
{"addr":72,"ASDU":59,"name":"положение 1СШР ГТ5","unit":"F1","control":1},
{"addr":73,"ASDU":59,"name":"положение ОР ВЛ296","unit":"F1","control":1},
{"addr":74,"ASDU":59,"name":"положение ЛРЗ-2ВЛ296","unit":"F1","control":1},
{"addr":75,"ASDU":59,"name":"положение ЛРЗ-1 ВЛ296","unit":"F1","control":1},
{"addr":76,"ASDU":59,"name":"положение ЛР ВЛ296","unit":"F1","control":1},
{"addr":77,"ASDU":59,"name":"положение 1СШРзВЛ296","unit":"F1","control":1},
{"addr":78,"ASDU":59,"name":"положение 2СШР ВЛ296","unit":"F1","control":1},
{"addr":79,"ASDU":59,"name":"положение 1СШР ВЛ296","unit":"F1","control":1},
{"addr":80,"ASDU":59,"name":"положение 2СШР ВЛ293 ф. В","unit":"F1","control":1},
{"addr":81,"ASDU":59,"name":"положение 2СШР ВЛ293 ф. С","unit":"F1","control":1},
{"addr":82,"ASDU":59,"name":"положение 2СШР ВЛ296 ф. В","unit":"F1","control":1},
{"addr":83,"ASDU":59,"name":"положение МВ ШСВ-220","unit":"F1","control":1},
{"addr":84,"ASDU":59,"name":"положение МВ ГТ6","unit":"F1","control":1},
{"addr":85,"ASDU":59,"name":"положение 2СШР ВЛ296 ф. С","unit":"F1","control":1},
{"addr":86,"ASDU":59,"name":"Автомат цеп. Напр. 1СНКФ-220","unit":"F1","control":1},
{"addr":87,"ASDU":59,"name":"положение ЛРЗ-2 ГТ6","unit":"F1","control":1},
{"addr":88,"ASDU":59,"name":"положение ЛРЗ-1 ГТ6","unit":"F1","control":1},
{"addr":89,"ASDU":59,"name":"положение ЛР ГТ6","unit":"F1","control":1},
{"addr":90,"ASDU":59,"name":"положение 1СШРз ГТ6","unit":"F1","control":1},
{"addr":91,"ASDU":59,"name":"положение ОР ГТ6","unit":"F1","control":1},
{"addr":92,"ASDU":59,"name":"положение 2СШР ГТ6","unit":"F1","control":1},
{"addr":93,"ASDU":59,"name":"положение 1СШР ГТ6","unit":"F1","control":1},
{"addr":94,"ASDU":59,"name":"положение ЛРЗ-2 ШСВ-220","unit":"F1","control":1},
{"addr":95,"ASDU":59,"name":"положение ЛРЗ-1 ШСВ-220","unit":"F1","control":1},
{"addr":96,"ASDU":59,"name":"положение 2СШР ШСВ-220","unit":"F1","control":1},
{"addr":97,"ASDU":59,"name":"положение 1СШР ШСВ-220","unit":"F1","control":1},
{"addr":98,"ASDU":59,"name":"положение МВ 4АТ","unit":"F1","control":1},
{"addr":99,"ASDU":59,"name":"положение 1ШР 1СНКФ-220","unit":"F1","control":1},
{"addr":100,"ASDU":59,"name":"положение 1ШРз-1 1СНКФ-220","unit":"F1","control":1},
{"addr":101,"ASDU":59,"name":"положение 1ШРз-2 1СНКФ-220","unit":"F1","control":1},
{"addr":102,"ASDU":59,"name":"положение 2СШР 2АТ(220кВ) ф. В","unit":"F1","control":1},
{"addr":103,"ASDU":59,"name":"положение 2СШР 2АТ(220кВ) ф. С","unit":"F1","control":1},
{"addr":104,"ASDU":59,"name":"положение ЛРЗ-1 2АТ(220кВ)","unit":"F1","control":1},
{"addr":105,"ASDU":59,"name":"положение ЛРЗ-2 2АТ(220кВ)","unit":"F1","control":1},
{"addr":106,"ASDU":59,"name":"положение ЛР 2АТ(220кВ)","unit":"F1","control":1},
{"addr":107,"ASDU":59,"name":"положение МВ 2 АТ 220кВ","unit":"F1","control":1},
{"addr":108,"ASDU":59,"name":"положение 2СШР 2АТ(220кВ)","unit":"F1","control":1},
{"addr":109,"ASDU":59,"name":"положение 1СШР 2АТ(220кВ)","unit":"F1","control":1},
{"addr":110,"ASDU":59,"name":"положение 1СШРз 2АТ(220кВ)","unit":"F1","control":1},
{"addr":111,"ASDU":59,"name":"положение ОР 2АТ(220кВ)","unit":"F1","control":1},
{"addr":112,"ASDU":59,"name":"положение ЛРЗ-2 4АТ","unit":"F1","control":1},
{"addr":113,"ASDU":59,"name":"положение ЛРЗ-1 4АТ","unit":"F1","control":1},
{"addr":114,"ASDU":59,"name":"положение ЛР 4АТ","unit":"F1","control":1},
{"addr":115,"ASDU":59,"name":"положение 1СШРз 4АТ","unit":"F1","control":1},
{"addr":116,"ASDU":59,"name":"положение 2СШР 4АТ","unit":"F1","control":1},
{"addr":117,"ASDU":59,"name":"положение 1СШР 4АТ","unit":"F1","control":1},
{"addr":118,"ASDU":59,"name":"Земля в ОБР 220 кВ","unit":"F1","control":1},
{"addr":119,"ASDU":59,"name":"положение 2СШР ГТ6 ф. В","unit":"F1","control":1},
{"addr":120,"ASDU":59,"name":"положение 2СШР ГТ6 ф. С","unit":"F1","control":1},
{"addr":121,"ASDU":59,"name":"положение 2СШР 4АТ ф. В","unit":"F1","control":1},
{"addr":122,"ASDU":59,"name":"положение 2СШР 4АТ ф. С","unit":"F1","control":1},
{"addr":123,"ASDU":59,"name":"положение 4Р","unit":"F1","control":1},
{"addr":124,"ASDU":59,"name":"положение 4ШР","unit":"F1","control":1},
{"addr":125,"ASDU":59,"name":"положение РР 1АТ","unit":"F1","control":1},
{"addr":126,"ASDU":59,"name":"положение РР 2АТ","unit":"F1","control":1},
{"addr":127,"ASDU":59,"name":"положение Р ТН ОСШ-220","unit":"F1","control":1},
{"addr":128,"ASDU":59,"name":"положение ЗН ТН ОСШ-220","unit":"F1","control":1},
{"addr":129,"ASDU":59,"name":"положение АГП 5ТГ","unit":"F1","control":1},
{"addr":130,"ASDU":59,"name":"положение тележки 5В1","unit":"F1","control":1},
{"addr":131,"ASDU":59,"name":"положение тележки 5В2","unit":"F1","control":1},
{"addr":132,"ASDU":59,"name":"положение АГП 6ТГ","unit":"F1","control":1},
{"addr":133,"ASDU":59,"name":"положение тележки 6В1","unit":"F1","control":1},
{"addr":134,"ASDU":59,"name":"положение тележки 6В2","unit":"F1","control":1}
]
}

1
src/img/logo.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 81.9 71.52"><defs><style>.cls-1{fill:#84aff1;}.cls-2{fill:#3865ab;}.cls-3{fill:url(#linear-gradient);}</style><linearGradient id="linear-gradient" x1="42.95" y1="16.88" x2="81.9" y2="16.88" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#f2cc0c"/><stop offset="1" stop-color="#ff9830"/></linearGradient></defs><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path class="cls-1" d="M55.46,62.43A2,2,0,0,1,54.07,59l4.72-4.54a2,2,0,0,1,2.2-.39l3.65,1.63,3.68-3.64a2,2,0,1,1,2.81,2.84l-4.64,4.6a2,2,0,0,1-2.22.41L60.6,58.26l-3.76,3.61A2,2,0,0,1,55.46,62.43Z"/><path class="cls-2" d="M37,0H2A2,2,0,0,0,0,2V31.76a2,2,0,0,0,2,2H37a2,2,0,0,0,2-2V2A2,2,0,0,0,37,0ZM4,29.76V8.84H35V29.76Z"/><path class="cls-3" d="M79.9,0H45a2,2,0,0,0-2,2V31.76a2,2,0,0,0,2,2h35a2,2,0,0,0,2-2V2A2,2,0,0,0,79.9,0ZM47,29.76V8.84h31V29.76Z"/><path class="cls-2" d="M37,37.76H2a2,2,0,0,0-2,2V69.52a2,2,0,0,0,2,2H37a2,2,0,0,0,2-2V39.76A2,2,0,0,0,37,37.76ZM4,67.52V46.6H35V67.52Z"/><path class="cls-2" d="M79.9,37.76H45a2,2,0,0,0-2,2V69.52a2,2,0,0,0,2,2h35a2,2,0,0,0,2-2V39.76A2,2,0,0,0,79.9,37.76ZM47,67.52V46.6h31V67.52Z"/><rect class="cls-1" x="10.48" y="56.95" width="4" height="5.79"/><rect class="cls-1" x="17.43" y="53.95" width="4" height="8.79"/><rect class="cls-1" x="24.47" y="50.95" width="4" height="11.79"/><path class="cls-1" d="M19.47,25.8a6.93,6.93,0,1,1,6.93-6.92A6.93,6.93,0,0,1,19.47,25.8Zm0-9.85a2.93,2.93,0,1,0,2.93,2.93A2.93,2.93,0,0,0,19.47,16Z"/></g></g></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

9
src/module.ts Normal file
View File

@ -0,0 +1,9 @@
import { DataSourcePlugin } from '@grafana/data';
import { DataSource } from './DataSource';
import { ConfigEditor } from './components/ConfigEditor';
import { QueryEditor } from './components/QueryEditor';
import { MyQuery, MyDataSourceOptions } from './types';
export const plugin = new DataSourcePlugin<DataSource, MyQuery, MyDataSourceOptions>(DataSource)
.setConfigEditor(ConfigEditor)
.setQueryEditor(QueryEditor);

26
src/plugin.json Normal file
View File

@ -0,0 +1,26 @@
{
"$schema": "https://raw.githubusercontent.com/grafana/grafana/main/docs/sources/developers/plugins/plugin.schema.json",
"type": "datasource",
"name": "Entcor-Demo-Plugin",
"id": "entcor-entcordemoplugin-datasource",
"metrics": true,
"info": {
"description": "",
"author": {
"name": "Entcor"
},
"keywords": ["datasource"],
"logos": {
"small": "img/logo.svg",
"large": "img/logo.svg"
},
"links": [],
"screenshots": [],
"version": "%VERSION%",
"updated": "%TODAY%"
},
"dependencies": {
"grafanaDependency": ">=10.4.0",
"plugins": []
}
}

48
src/types.ts Normal file
View File

@ -0,0 +1,48 @@
import { DataQuery, DataSourceJsonData, dateTime } from '@grafana/data';
import { getTemplateSrv } from '@grafana/runtime';
export interface MyQuery extends DataQuery {
queryText?: string;
tableName: string;
addr: string;
ioa: string,
ioaName: string,
startDate: string;
endDate: string;
isAllIOAChecked: boolean;
}
export const defaultQuery: Partial<MyQuery> = {
queryText: 'table=logs&limit=10000&start=2024-09-16 00:00:00&end=2024-09-18 18:00:00&query={"id":["measurement"], "labels":[{"addr":["87"]}, {"ioa":["2"]}]}',
tableName: "logs",
addr: "87",
ioa: '1',
ioaName: '',
startDate: dateTime (Number(getTemplateSrv().replace("$__from"))).format("YYYY-MM-DD HH-mm-ss"),
endDate: dateTime (Number(getTemplateSrv().replace("$__to"))).format("YYYY-MM-DD HH-mm-ss"),
isAllIOAChecked: false,
};
export interface DataPoint {
Time: number;
Value: number;
}
export interface DataSourceResponse {
datapoints: DataPoint[];
}
/**
* These are options configured for each DataSource instance
*/
export interface MyDataSourceOptions extends DataSourceJsonData {
path?: string;
resolution?: number;
}
/**
* Value that is used in the backend, but never sent over HTTP to the frontend
*/
export interface MySecureJsonData {
apiKey?: string;
}

View File

@ -0,0 +1,33 @@
import { test, expect } from '@grafana/plugin-e2e';
import { MyDataSourceOptions, MySecureJsonData } from '../src/types';
test('"Save & test" should be successful when configuration is valid', async ({
createDataSourceConfigPage,
readProvisionedDataSource,
selectors,
page,
}) => {
const ds = await readProvisionedDataSource({ fileName: 'datasources.yml' });
const configPage = await createDataSourceConfigPage({ type: ds.type });
const healthCheckPath = `${selectors.apis.DataSource.proxy(
configPage.datasource.uid,
configPage.datasource.id.toString()
)}/health`;
await page.route(healthCheckPath, async (route) => await route.fulfill({ status: 200, body: 'OK' }));
await expect(configPage.saveAndTest({ path: healthCheckPath })).toBeOK();
});
test('"Save & test" should display success alert box when config is valid', async ({
createDataSourceConfigPage,
readProvisionedDataSource,
selectors,
}) => {
const ds = await readProvisionedDataSource({ fileName: 'datasources.yml' });
const configPage = await createDataSourceConfigPage({ type: ds.type });
const healthCheckPath = `${selectors.apis.DataSource.proxy(
configPage.datasource.uid,
configPage.datasource.id.toString()
)}/health`;
await expect(configPage.saveAndTest({ path: healthCheckPath })).not.toBeOK();
await expect(configPage).toHaveAlert('error');
});

11
tests/queryEditor.spec.ts Normal file
View File

@ -0,0 +1,11 @@
import { test, expect } from '@grafana/plugin-e2e';
test('data query should return a value', async ({ panelEditPage, readProvisionedDataSource }) => {
const ds = await readProvisionedDataSource({ fileName: 'datasources.yml' });
await panelEditPage.datasource.set(ds.name);
await panelEditPage.setVisualization('Table');
await panelEditPage.getQueryEditorRow('A').getByRole('textbox', { name: 'Query Text' }).fill('test query');
await panelEditPage.getQueryEditorRow('A').getByRole('spinbutton').fill('10');
await expect(panelEditPage.panel.fieldNames).toContainText(['Time', 'Value']);
await expect(panelEditPage.panel.data).toContainText(['10']);
});

3
tsconfig.json Normal file
View File

@ -0,0 +1,3 @@
{
"extends": "./.config/tsconfig.json"
}