Skip to content

crossrw/nodeLMClient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

65 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

node npm npm bundle size npm module downloads Codacy Badge license

ΠšΠ»ΠΈΠ΅Π½Ρ‚ SCADA систСмы LanMon для Node.js

НазначСниС

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСрвСру SCADA систСмы LanMon ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ написанных Π½Π° языкС js.

Для выполнСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Node.js вСрсии 6.17.0 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹ΠΉ.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС SCADA систСмы LanMon ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π° сайтС МНПП "Π‘Π°Ρ‚ΡƒΡ€Π½".

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ:

  • ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ сСрвСру систСмы
  • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ² ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи "опрос" ΠΈ "ΠΊΠ»ΠΈΠ΅Π½Ρ‚"
  • автоматичСскоС восстанвлСниС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Ρ‹Π²Π°Ρ… ΠΈΠ»ΠΈ ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…
  • автоматичСская ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠ°Π½Π°Π»Π° связи с сСрвСром
  • созданиС ΠΊΠ°Π½Π°Π»ΠΎΠ² со всСми ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌΠΈ сСрвСром Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ массивы
  • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° всСх Ρ‚ΠΈΠΏΠΎΠ² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΊΠ°Π½Π°Π»ΠΎΠ²
  • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° установки значСния свойства quality
  • Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠ°Π½Π°Π»ΠΎΠ² с Ρ‚ΠΈΠΏΠΎΠΌ VT_R4 ΠΈ VT_R8 с использованиСм Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ATTR_PERCENTDB
  • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈ получСния ΠΊΠΎΠΌΠ°Π½Π΄ управлСния
  • автоматичСскоС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠ°Π½Π°Π»ΠΎΠ² Ρ‚ΠΈΠΏΠ° VT_STRING ΠΈΠ· ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ CP1251 Π² UTF-8 ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ
  • ΠΏΡ€Π΅ΠΎΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… VT_DATE Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ js Date() ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ с использованиСм ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ часовом поясС сСрвСра

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с сСрвСром LanMon начиная с Π΅Π³ΠΎ вСрсии 4.12.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π΅ содСрТит Π²Π½Π΅ΡˆΠ½ΠΈΡ… зависимостСй.

Установка

$ npm install lmclient

Classes

LMClient

Класс ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° сСрвСра LM

Typedefs

Channel2 : Object

Канал сСрвСра

Attribute : Object

Атрибут ΠΊΠ°Π½Π°Π»Π°

Control : Object

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… управлСния ΠΊΠ°Π½Π°Π»ΠΎΠΌ

ConnectOptions : Object

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСрвСру

ChannelOptions : Object

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ создании ΠΊΠ°Π½Π°Π»Π°

LMClient

Класс ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° сСрвСра LM

Kind: global class
Emits: connecting, connect, disconnect, loggedIn, checkConnection, timeSynchronize, control, channel, add, change, delete, count, error

new LMClient(options)

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ класса. Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ экзСмпляр класса ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСрвСру. Π’ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… конструктора ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ настройки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ сСрвСру.

Param Type Description
options ConnectOptions ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСрвСру

lmClient.loggedIn : boolean

Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС рСгистрации Π½Π° сСрвСрС. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true соотвСтствуСт Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΈ зарСгСстрирован Π½Π° сСрвСрС.

Kind: instance property of LMClient
Access: public
Read only: true

lmClient.connected : boolean

Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСрвСру. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true соотвСтствуСт Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ установил соСдинСниС с сСрвСром. БостояниС рСгистрации ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· свойство loggedIn.

Kind: instance property of LMClient
Access: public
Read only: true

lmClient.checkConnectInterval : number

Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π» ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ связи с сСрвСром Π² мс. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 480000 мс (8 ΠΌΠΈΠ½ΡƒΡ‚). НС рСкомСндуСтся ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ 600000 мс (10 ΠΌΠΈΠ½ΡƒΡ‚).

Kind: instance property of LMClient
Access: public

lmClient.channelsMap : Map.<string, Channel2>

Бписок ΠΊΠ°Π½Π°Π»ΠΎΠ². Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ списка являСтся экзСмплярами класса Channel2, ΠΊΠ»ΡŽΡ‡ΠΎΠΌ Π² спискС ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈΠΌΠ΅Π½Π° ΠΊΠ°Π½Π°Π»ΠΎΠ². Π’Ρ‹ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ элСмСнты списка! Для измСнСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса.

Kind: instance property of LMClient
Access: public
Read only: true
Example

// ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π°Π»Π° ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ
channel = client.channelsMap.get('my_channel_name');
// ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠ°Π½Π°Π»Π°
if(client.channelsMap.has('my_channel_name')) {...}; else {...};
// ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ всСх ΠΊΠ°Π½Π°Π»ΠΎΠ²
client.channelsMap.forEach(channel => {...});
// ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ количСства ΠΊΠ°Π½Π°Π»ΠΎΠ²
let count = client.channelsMap.size;

lmClient.connect()

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ рСгистрация Π½Π° сСрвСрС LM. ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ рСгистрации ΠΊ сСрвСру систСмы LanMon. ΠŸΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ создании класса. Если Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ reconnect: true, Ρ‚ΠΎ соСдинСниС Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² случаях ΠΎΠ±Ρ€Ρ‹Π²Π° связи ΠΈΠ»ΠΈ ошибок.

Kind: instance method of LMClient
Access: public

lmClient.disconnect()

ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ сСрвСра. ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π·Ρ€Ρ‹Π²Π°Π΅Ρ‚ соСдинСниС с сСрвСром Ссли ΠΎΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ€Π°Π½Π΅Π΅ установлСно Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° connect().

Kind: instance method of LMClient
Access: public

lmClient.add(name, type, writeEnable, options) β‡’ boolean

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π°. ΠœΠ΅Ρ‚ΠΎΠ΄ добавляСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Π½Π°Π» для рСгистрации ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сСрвСр. ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ с Ρ‚ΠΈΠΏΠΎΠΌ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи "опрос". ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½ ΠΏΡ€ΠΈ любом состоянии ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСрврСру. ΠœΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false Ссли ΠΊΠ°Π½Π°Π» с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡƒΠΆΠ΅ сущСствуСт ΠΈΠ»ΠΈ Ссли ΡƒΠΊΠ°Π·Π°Π½ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ….

Kind: instance method of LMClient
Access: public

Param Type Description
name string Имя канала
type number Π’ΠΈΠΏ ΠΊΠ°Π½Π°Π»Π°
writeEnable boolean Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ записи Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
options ChannelOptions ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠ°Π½Π°Π»Π°

lmClient.delete(name) β‡’ boolean

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π°Π»Π°. ΠœΠ΅Ρ‚ΠΎΠ΄ выполняСт ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π½Π° сСрвСр запроса Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π°Π»Π° с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΈ зарСгистрирован Π½Π° сСрвСрС. ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΡΠΎΠΎΡ‚Π²Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€Π°Π² доступа ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, сСрвСр выполняСт ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ сущности ΠΈ рассылСт увСдомлСния всСм ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΊ Π½Π΅ΠΌΡƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ, Π² Ρ‚ΠΎΠΌ числС ΠΈ Π²Π°ΠΌ. ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΏΡ€Π°Π² доступа, Ρ‡Π΅Ρ€Π΅Π· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя послС Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ "delete". ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ с Ρ‚ΠΈΠΏΠΎΠΌ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи "ΠΊΠ»ΠΈΠ΅Π½Ρ‚". ΠŸΡ€ΠΈ отсутствии ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π°, Π½Π΅Π²Π΅Ρ€Π½ΠΎΠΌ Ρ‚ΠΈΠΏΠ΅ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи ΠΈΠ»ΠΈ отсутствии рСгистрации Π½Π° сСрвСрС ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false.

Kind: instance method of LMClient
Access: public

Param Type Description
name string Имя канала

Example

// ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π°Π»Π° 'myChannel'
client.delete('myChannel');

lmClient.delete(name, attrId) β‡’ boolean

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΊΠ°Π½Π°Π»Π°. ΠœΠ΅Ρ‚ΠΎΠ΄ выполняСт ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π½Π° сСрвСр запроса Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ attrId Ρƒ ΠΊΠ°Π½Π°Π»Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ name. ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΈ зарСгистрирован Π½Π° сСрвСрС. ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΡΠΎΠΎΡ‚Π²Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€Π°Π² доступа ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, сСрвСр выполняСт ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ сущности ΠΈ рассылСт увСдомлСния всСм ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΊ Π½Π΅ΠΌΡƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ, Π² Ρ‚ΠΎΠΌ числС ΠΈ Π²Π°ΠΌ. ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΏΡ€Π°Π² доступа, Ρ‡Π΅Ρ€Π΅Π· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя послС Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ "delete". ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ с Ρ‚ΠΈΠΏΠΎΠΌ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи "ΠΊΠ»ΠΈΠ΅Π½Ρ‚". ΠŸΡ€ΠΈ отсутствии ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π°, Π½Π΅Π²Π΅Ρ€Π½ΠΎΠΌ Ρ‚ΠΈΠΏΠ΅ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи ΠΈΠ»ΠΈ отсутствии рСгистрации Π½Π° сСрвСрС ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false.

Kind: instance method of LMClient
Access: public

Param Type Description
name string Имя канала
attrId number Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°

Example

// ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ 100 ΠΊ ΠΊΠ°Π½Π°Π»Π° 'myChannel'
client.delete('myChannel', 100);

lmClient.setValue(name, value) β‡’ boolean

Установка значСния ΠΊΠ°Π½Π°Π»Π°. ΠœΠ΅Ρ‚ΠΎΠ΄ устанавливаСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для Ρ€Π°Π½Π΅Π΅ созданного ΠΊΠ°Π½Π°Π»Π°. Π’ΠΈΠΏ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° value Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡƒ ΠΊΠ°Π½Π°Π»Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΈ Π΅Π³ΠΎ создании. УстановлСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π°Π»Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ Π½Π° сСрвСр. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠ΅Ρ‚ΠΎΠ΄ устанавливаСт свойство ΠΊΠ°Π½Π°Π»Π° quality (качСство) Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ stOk. ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ с Ρ‚ΠΈΠΏΠΎΠΌ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи "опрос". ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½ ΠΏΡ€ΠΈ любом состоянии ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСрврСру. ΠœΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false Ссли ΠΊΠ°Π½Π°Π» с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ ΠΈΠ»ΠΈ ΡƒΠΊΠ°Π·Π°Π½ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи.

Kind: instance method of LMClient
Access: public

Param Type Description
name string Имя канала
value * НовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π°Π»Π°

lmClient.setQuality(name, quality) β‡’ boolean

Установка качСства ΠΊΠ°Π½Π°Π»Π°. ΠœΠ΅Ρ‚ΠΎΠ΄ устанавливаСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства качСство для Ρ€Π°Π½Π΅Π΅ созданного ΠΊΠ°Π½Π°Π»Π°. ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ с Ρ‚ΠΈΠΏΠΎΠΌ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи "опрос". Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ качСства ΠΊΠ°Π½Π°Π»Π° stOk автоматичСски устанавливаСтся ΠΏΡ€ΠΈ установкС значСния ΠΊΠ°Π½Π°Π»Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ setValue(name, value) ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π΅ трСбуСтся. ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½ ΠΏΡ€ΠΈ любом состоянии ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСрврСру. ΠœΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false Ссли ΠΊΠ°Π½Π°Π» с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ качСства ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи.

Kind: instance method of LMClient
Access: public

Param Type Description
name string Имя канала
quality number НовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ качСства

lmClient.sendControl(name, value) β‡’ boolean

Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ управлСния ΠΊΠ°Π½Π°Π»ΠΎΠΌ. ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ с Ρ‚ΠΈΠΏΠΎΠΌ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи "ΠΊΠ»ΠΈΠ΅Π½Ρ‚". Для выполнСния управлСния ΠΊΠ°Π½Π°Π»ΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ условия: ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΈ зарСгистрирован Π½Π° сСрвСрС, ΠΊΠ°Π½Π°Π» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ, ΠΊΠ°Π½Π°Π» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ создан Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ (опросчиком), Ρƒ ΠΊΠ°Π½Π°Π»Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ установлСны ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ активности ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ записи Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ‚ΠΈΠΏ значСния value Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ совмСстим с Ρ‚ΠΈΠΏΠΎΠΌ ΠΊΠ°Π½Π°Π»Π°. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ пСрСчислСнных Π²Ρ‹ΡˆΠ΅ условий ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true, ΠΈΠ½Π°Ρ‡Π΅ - false. ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ устанавливаСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π°Π»Π°, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ управлСния сСрвСр пСрСсылаСт ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Ρ‚ΠΈΠΏΠ° "опрос", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сформировал этот ΠΊΠ°Π½Π°Π».

Kind: instance method of LMClient
Access: public

Param Type Description
name string Имя канала
value * Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ управлСния

"connecting"

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ формируСтся ΠΏΡ€ΠΈ Π½Π°Ρ‡Π°Π»Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСрвСру.

Kind: event emitted by LMClient
Properties

Name Type Description
host string адрСс сСрвСра ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ происходит ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
port number Π½ΠΎΠΌΠ΅Ρ€ TCP-ΠΏΠΎΡ€Ρ‚Π° сСрвСра

"connect"

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ формируСтся ΠΊΠΎΠ³Π΄Π° соСдинСниС с сСрвСром установлСно.

Kind: event emitted by LMClient

"disconnect"

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ формируСтся ΠΊΠΎΠ³Π΄Π° соСдинСниС с сСрвСром Ρ€Π°Π·ΠΎΡ€Π²Π°Π½ΠΎ.

Kind: event emitted by LMClient
Properties

Name Type Description
err boolean ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ соСдинСниС Ρ€Π°Π·ΠΎΡ€Π²Π°Π½ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ошибки

"loggedIn"

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ формируСтся ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ зарСгистрировался Π½Π° сСрвСрС.

Kind: event emitted by LMClient
Properties

Name Type Description
serverId number ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π½Π° сСрвСрС
version string вСрсия сСрвСра Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ "hi.lo"

"checkConnection"

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ формируСтся ΠΏΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ связи с сСрвСром.

Kind: event emitted by LMClient
Properties

Name Type Description
delay number Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π² миллисСкундах ΠΏΡ€ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π΅ сСрвСра Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ связи

"timeSynchronize"

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ формируСтся ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΎΡ‚ сСрвСра ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ синхронизации Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Kind: event emitted by LMClient
Properties

Name Type Description
time Date Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ ΠΎΡ‚ сСрвСра

"control"

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ формируСтся ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΎΡ‚ сСрвСра ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ записи Π² ΠΊΠ°Π½Π°Π» управлСния. Для подтвСрТдСния получСния ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ этого события Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π°Π»Π° Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ setValue(name, value).

Kind: event emitted by LMClient
Properties

Name Type Description
control Control получСнная ΠΊΠΎΠΌΠ°Π½Π΄Π° управлСния ΠΊΠ°Π½Π°Π»ΠΎΠΌ

Example

client.on('control', function(control){
  console.log('receive control "' + control.name + '" value="' + control.value + '"');
  client.setValue(control.name, control.value); // ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅ΠΌ ΠΏΡ€ΠΈΠ΅ΠΌ
});

"channel"

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ формируСтся ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΎΡ‚ сСрвСра Π½ΠΎΠ²ΠΎΠ³ΠΎ значСния ΠΊΠ°Π½Π°Π»Π°. ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΎΡ‚ сСрвСра событиС формируСтся для всСх Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΎΡ‚ Π½Π΅Π³ΠΎ ΠΊΠ°Π½Π°Π»ΠΎΠ² с установлСнным свойством quality Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ stOff. Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи "ΠΊΠ»ΠΈΠ΅Π½Ρ‚".

Kind: event emitted by LMClient
Properties

Name Type Description
channel Channel2 ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ состояниС ΠΊΠ°Π½Π°Π»Π°

"add"

Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π°. Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ формируСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Ρ… записСй Ρ‚ΠΈΠΏΠ° "ΠΊΠ»ΠΈΠ΅Π½Ρ‚" Π² случаС добавлСния Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ сСрвСра. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΊΠ°Π½Π°Π»Π° сразу послС Π΅Π³ΠΎ добавлСния Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ.

Kind: event emitted by LMClient
Properties

Name Type Description
channel Channel2 Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Π½Π°Π»

"change"

Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ настроСк (свойств ΠΈΠ»ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²) ΠΊΠ°Π½Π°Π»Π°. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΈ значСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², значСния свойств active, writeEnable ΠΈ saveServer. ИзмСнСниС значСния самого ΠΊΠ°Π½Π°Π»Π° Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ появлСнию Π΄Π°Π½Π½ΠΎΠ³ΠΎ увСдомлСния. Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ формируСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Ρ… записСй Ρ‚ΠΈΠΏΠ° "ΠΊΠ»ΠΈΠ΅Π½Ρ‚".

Kind: event emitted by LMClient
Properties

Name Type Description
channel Channel2 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π»

"delete"

Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎΠ± ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΊΠ°Π½Π°Π»Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ "name" ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ "attrId". Если Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ "attrId" Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½, Ρ‚ΠΎ событиС сообщаСт ΠΎΠ± ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΊΠ°Π½Π°Π»Π° "name". Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС событиС сообщаСт ΠΎΠ± ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° "attrId". Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ формируСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Ρ… записСй Ρ‚ΠΈΠΏΠ° "ΠΊΠ»ΠΈΠ΅Π½Ρ‚".

Kind: event emitted by LMClient
Properties

Name Type Description
name string имя канала
[attrId] number | undefined ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°

Example

client.on('delete', function(name, attrId){
  if(attrId === undefined) console.log('channel "' + name + '" was removed');
  else console.log('attribute ' + attrId + ' was removed from channel "' + name + '" deleted');
});

"count"

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ формируСтся для ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Ρ… записСй Ρ‚ΠΈΠΏΠ° "ΠΊΠ»ΠΈΠ΅Π½Ρ‚" послС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСрвСру ΠΈ запроса списка ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ ΠΊΠ°Π½Π°Π»ΠΎΠ².

Kind: event emitted by LMClient
Properties

Name Type Description
count number количСство ΠΊΠ°Π½Π°Π»ΠΎΠ²

"error"

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ формируСтся ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ошибки. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ этого события.

Kind: event emitted by LMClient
Properties

Name Type Description
error Error ошибка

Channel2 : Object

Канал сСрвСра

Kind: global typedef
Properties

Name Type Description
name string Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅
number number числовой ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π° сСрвСрС
type number Ρ‚ΠΈΠΏ
value * Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
quality number качСство
dt Date врСмя измСнСния
needRegister boolean Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
needSend boolean Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ
active boolean Π°ΠΊΡ‚ΠΈΠ²Π΅Π½
writeEnable boolean Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ записи
saveServer boolean ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° сСрвСрС ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΠΎΡŽΡ‡Π΅Π½ΠΈΠΈ источника
attributes Object.<number, Attribute> массив Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²
[creator] number ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ создатСля ΠΊΠ°Π½Π°Π»Π°
[owner] number источник значСния для ΠΊΠ°Π½Π°Π»Π°
[groups] number ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ ΠΊΠ°Π½Π°Π»ΠΎΠ²

Attribute : Object

Атрибут ΠΊΠ°Π½Π°Π»Π°

Kind: global typedef
Properties

Name Type Description
id number ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€
value * Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
dt Date Π΄Π°Ρ‚Π° измСнСния
fromServer boolean ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ ΠΎΡ‚ сСрвСра

Control : Object

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… управлСния ΠΊΠ°Π½Π°Π»ΠΎΠΌ

Kind: global typedef
Properties

Name Type Description
name string имя ΠΊΠ°Π½Π°Π»Π° для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΡˆΠ»Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° управлСния
value * ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
dt Date ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

ConnectOptions : Object

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСрвСру

Kind: global typedef
Properties

Name Type Description
host string адрСс сСрвСра
port number Π½ΠΎΠΌΠ΅Ρ€ TCP ΠΏΠΎΡ€Ρ‚Π°
login string Π»ΠΎΠ³ΠΈΠ½
password string ΠΏΠ°Ρ€ΠΎΠ»ΡŒ
reconnect boolean автоматичСски ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΈ Ρ€Π°Π·Ρ€Ρ‹Π²Π°Ρ… связи
opros boolean Ρ‚ΠΈΠΏ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи "опрос"
client boolean Ρ‚ΠΈΠΏ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи "ΠΊΠ»ΠΈΠ΅Π½Ρ‚"

ChannelOptions : Object

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ создании ΠΊΠ°Π½Π°Π»Π°

Kind: global typedef
Properties

Name Type Description
[units] string Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ измСрСния
[comment] string тСкстовоС описаниС
[signification] number Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
[saveValue] boolean ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° сСрвСрС ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ опросчика
[enum] Array.<string> массив строк, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΊΠ°Π½Π°Π»Π°
[bounds] Array.<number> массив ΠΈΠ· Π΄Π²ΡƒΡ… элСмСнтов [ниТняя Π³Ρ€Π°Π½ΠΈΡ†Π°, вСрхняя Π³Ρ€Π°Π½ΠΈΡ†Π°]
[percentDeadband] number Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° "ΠΌΠ΅Ρ€Ρ‚Π²ΠΎΠΉ Π·ΠΎΠ½Ρ‹" измСнСния значСния ΠΊΠ°Π½Π°Π»Π° Π² ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°Ρ…

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ испоьзования Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для Ρ‚ΠΈΠΏΠΎΠ² ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи "опрос" ΠΈ "ΠΊΠ»ΠΈΠ΅Π½Ρ‚" ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² Ρ„Π°ΠΉΠ»Π°Ρ… testOpros.js ΠΈ testClient.js соотвСтствСнно.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ограничСния

  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°Π½Π°Π»ΠΎΠ² Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°
  • НС Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ измСнСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΊΠ°Π½Π°Π»ΠΎΠ²

Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ статус

Π’Π΅ΡΡŒ заявлСнный Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» протСстирован Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°Ρ… ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΠ΅ ΠΏΠ»Π°Π½Ρ‹:

  • оптимизация Π·Π°Ρ‚Ρ€Π°Ρ‚ памяти ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ процСссора
  • Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
  • Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° (Π΄Π°Π»Π΅ΠΊΠΈΠ΅ ΠΏΠ»Π°Π½Ρ‹)

ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ связь

ЗамСчания ΠΈ прСдлоТСния отправляйтС Π½Π° адрСс lanmon@mnppsaturn.ru ΠΈΠ»ΠΈ нСпосрСдствСнно Π² Issues/Pull requests.


Β© 2019 ООО "МНПП Π‘Π°Ρ‚ΡƒΡ€Π½"

About

Node.js client for SCADA system Lanmon

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published