Skip to content

NightShift - open source implementation of Astra Dozor Security Server

License

Notifications You must be signed in to change notification settings

frozer/nightshift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

26 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CI/CD Status

NightShift - свободная рСализация сСрвСра управлСния Астра Π”ΠΎΠ·ΠΎΡ€

ВыполняСт Ρ€ΠΎΠ»ΡŒ сСрвСра для ΠΏΡ€ΠΈΠ±ΠΎΡ€ΠΎΠ² ΠΎΡ…Ρ€Π°Π½Π½ΠΎ-ΠΏΠΎΠΆΠ°Ρ€Π½ΠΎΠΉ сигнализации Астра Π”ΠΎΠ·ΠΎΡ€ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

  • Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π·Π±ΠΎΡ€ сообщСний ΠΎΡ‚ ΠΏΡ€ΠΈΠ±ΠΎΡ€Π°
  • ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° ΠΏΡ€ΠΈΠ±ΠΎΡ€ (список Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅)
  • ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сообщСний ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ MQTT Π½Π° настроСнный Π±Ρ€ΠΎΠΊΠ΅Ρ€ MQTT (список Ρ‚ΠΎΠΏΠΈΠΊΠΎΠ² см.Π½ΠΈΠΆΠ΅)

Настройка ΠΏΡ€ΠΈΠ±ΠΎΡ€Π°

Настройка ΠΏΡ€ΠΈΠ±ΠΎΡ€Π° выполняСтся согласно руководства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π£ΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ IP-адрСс, ΠΏΠΎΡ€Ρ‚ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ сСрвСр ΠΈ ΠΊΠ»ΡŽΡ‡ связи для обСспСчСния ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ сообщСний.

ИспользованиС

ВыполняСтся запуск Π΄Π΅ΠΌΠΎΠ½Π° dozord с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ:

  • -s - Π˜Π” устройства
  • -k - ΠΊΠ»ΡŽΡ‡ связи
  • -l - ΠΏΠΎΡ€Ρ‚ сСрвСра, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ - 1111
  • -m - адрСс сСрвСра MQTT, 127.0.0.1
  • -p - ΠΏΠΎΡ€Ρ‚ MQTT, 1883
  • -d - Ρ€Π΅ΠΆΠΈΠΌ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ
  • -h - Π²Ρ‹Π²ΠΎΠ΄ справки

ПослС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ устройства выполняСтся Π²Ρ‹Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… сообщСний Π½Π° экран. ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ осущСствляСтся ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ сообщСния с тСкстом ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚ΠΎΠΏΠΈΠΊ

Π‘Ρ…Π΅ΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠšΠ»ΠΈΠ΅Π½Ρ‚ с установлСнным ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠΌ ΡˆΠ»Π΅Ρ‚ Keep-Alive сообщСния Π² сторону сСрвСра. Если сСрвСр ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для устройства, Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈ ΠΎΡ‚ΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π²Π΅Ρ‚Π°. Если ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π΅Ρ‚, Ρ‚ΠΎ посылаСтся пустой ΠΎΡ‚Π²Π΅Ρ‚, содСрТащий Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя сСрвСра (Π²ΠΈΠ΄ΠΈΠΌΠΎ ΠΏΠΎ Π½Π΅ΠΌΡƒ выставляСтся врСмя Π½Π° устройствС). ΠŸΡ€ΠΈ отсутствии ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΎΡ‚ сСрвСра устройство Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Π΅Ρ‚ события Ρƒ сСбя Π² Π±ΡƒΡ„Π΅Ρ€Π΅ (Π½ΠΎ тСряСт Π΄Π°Ρ‚Ρƒ(!) события). ΠŸΡ€ΠΈ появлСнии ΠΎΡ‚Π²Π΅Ρ‚Π° сСрвСра - Π½Π° сСрвСр ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½Ρ‹Π΅ события.

Для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ сообщСний ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΊΠ»ΡŽΡ‡. Π˜Π½ΠΈΡ†ΠΈΠ°Ρ‚ΠΎΡ€ΠΎΠΌ сообщСний являСтся устройство (обусловлСно Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ устройство ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π·Π° NAT/сСрой ΡΠ΅Ρ‚ΡŒΡŽ ΠΈ Ρ‚.ΠΏ.). Из этого слСдуСт, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π° устройство Π½ΠΈΡ‡Π΅Π³ΠΎ нСльзя ΠΏΠΎΠΊΠ° устройство само Π½Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ сообщСниС.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ сообщСния ΠΎΡ‚ устройства

Cостоит ΠΈΠ· ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ части.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ части

struct opened {
  char msgLength[3];
  char unknown;
  uint16_t site;
  uint32_t seed;
};

Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ части

Закрытая Ρ‡Π°ΡΡ‚ΡŒ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π° ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ RC4 (рСализация ΠΈΠ· Wikipedia - RC4). Π”Π»ΠΈΠ½Π° ΠΊΠ»ΡŽΡ‡Π° - 16 Π±Π°ΠΉΡ‚. ΠšΠ»ΡŽΡ‡ строится Π½Π° основС соли ΠΈΠ· ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ части ΠΈ ΠΊΠ»ΡŽΡ‡Π°.

Закрытая Ρ‡Π°ΡΡ‚ΡŒ состоит Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΈΠ· Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ характСристики устройства ΠΈ Π±Π»ΠΎΠΊΠ° сообщСний.

struct closed {
  uint8_t tag;
  short unsigned int channel:4;
  short unsigned int sim: 4;
  uint8_t voltage;
  short unsigned int gsm_signal: 6;
  short unsigned int extra_index: 2;
  uint8_t extra_value;
};

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ для получСния уровня напряТСния Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² сообщСнии ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° 10. Channel 0x0 - Ethernet

Π€ΠΎΡ€ΠΌΠ°Ρ‚ сообщСния ΠΊ устройству

struct message {
  uint32_t time;
  uint8_t unknownOne;
  uint8_t unknownTwo;
  uint8_t encrypted[]
}

ΠŸΠ΅Ρ€Π΅Π΄ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊ сформированной строкС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ добавляСтся символ "!" (0x21). Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌ сообщСнии, Π² ΠΏΠΎΠ»Π΅ unknownOne устанавливаСтся 0x0, Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ unknownTwo - 0x7c.

Π’ΠΈΠΏΡ‹ событий

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ событий

# Event Type ID Event Type Event Scope Description
1 0x1 DeviceConfiguration ConfigurationEvent ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ устройства
2 0x2 ManualReset CommonEvent Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Ρ€ΡƒΡ‡Π½ΠΎΠΉ сброс систСмы
3 0x3 ZoneDisarm ZoneEvent Π—ΠΎΠ½Π° Β«Π₯Β» снята с ΠΎΡ…Ρ€Π°Π½Ρ‹
9 0x9 ZoneWarning ZoneEvent Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, сработали Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ Π² Π·ΠΎΠ½Π΅ Β«Π₯Β»
10 0xa ZoneArm ZoneEvent Π—ΠΎΠ½Π° Β«Π₯Β» поставлСна Π½Π° ΠΎΡ…Ρ€Π°Π½Ρƒ
11 0xb ZoneGood ZoneEvent ΠžΡ‚ΠΌΠ΅Π½Π° всСх Ρ‚Ρ€Π΅Π²ΠΎΠ³ Π·ΠΎΠ½Ρ‹
12 0xc ZoneFail ZoneEvent Ошибка постановки Π½Π° ΠΎΡ…Ρ€Π°Π½Ρƒ Π·ΠΎΠ½Ρ‹ Β«XΒ»
13 0xd ZoneDelayedAlarm ZoneEvent Π’Ρ€Π΅Π²ΠΎΠ³Π° Π·ΠΎΠ½Ρ‹ Β«Π₯Β» послС Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π°
15 0xf ZoneAlarm ZoneEvent Π’Ρ€Π΅Π²ΠΎΠ³Π° Π·ΠΎΠ½Ρ‹ Β«Π₯Β»
16 0x10 FallbackPowerRecovered CommonEvent Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ восстановлСно
18 0x12 FactoryReset CommonEvent Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ сброс Π½Π° заводскиС установки
19 0x13 FirmwareUpgradeInProgress CommonEvent ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
20 0x14 FirmwareUpgradeFail CommonEvent Π‘Π±ΠΎΠΉ обновлСния ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
21 0x15 TestEvent CommonEvent ВСст
22 0x16 TestEvent CommonEvent ВСст
23 0x17 CoverOpened CommonEvent ΠšΡ€Ρ‹ΡˆΠΊΠ° ΠΏΡ€ΠΈΠ±ΠΎΡ€Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π°
24 0x18 CoverClosed CommonEvent ΠšΡ€Ρ‹ΡˆΠΊΠ° ΠΏΡ€ΠΈΠ±ΠΎΡ€Π° Π·Π°ΠΊΡ€Ρ‹Ρ‚Π°
25 0x19 OffenceEvent SecurityEvent ДСйствия ΠΏΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ
27 0x1b UserAuth AuthenticationEvent Использован ΠΊΠ»ΡŽΡ‡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Β«Π₯Β»
29 0x1d FallbackPowerFailed CommonEvent Π‘Π±ΠΎΠΉ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ питания
30 0x1e FailbackPowerActivated CommonEvent ВыполняСтся ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅
31 0x1f MainPowerFail CommonEvent Π‘Π±ΠΎΠΉ основного питания
32 0x20 PowerGood CommonEvent ВосстановлСно основноС ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅
37 0x25 Report ReportEvent Π•ΠΆΠ΅Π΄Π½Π΅Π²Π½Ρ‹ΠΉ ΠΎΡ‚Ρ‡Π΅Ρ‚
38 0x26 FirmwareUpgradeRequest CommonEvent Запрос обновлСния встроСнного ПО
39 0x27 CardActivated GSMEvent Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° смСна Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ БИМ-ΠΊΠ°Ρ€Ρ‚Ρ‹
40 0x28 CardRemoved GSMEvent Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½Π° БИМ-ΠΊΠ°Ρ€Ρ‚Π°
41 0x29 CodeSeqAttack SecurityEvent ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΠΎΠ΄Π±ΠΎΡ€Π° ΠΊΠΎΠ΄Π°
43 0x2b SectionDisarm SectionEvent Π Π°Π·Π΄Π΅Π» Β«Π₯Β» снят с ΠΎΡ…Ρ€Π°Π½Ρ‹
50 0x32 SectionArm SectionEvent Π Π°Π·Π΄Π΅Π» Β«Π₯Β» поставлСн Π½Π° ΠΎΡ…Ρ€Π°Π½Ρƒ
51 0x33 SectionGood SectionEvent ΠžΡ‚ΠΌΠ΅Π½Π° всСх Ρ‚Ρ€Π΅Π²ΠΎΠ³ Ρ€Π°Π·Π΄Π΅Π»Π°
52 0x34 SectionFail SectionEvent Ошибка взятия Ρ€Π°Π·Π΄Π΅Π»Π° Β«Π₯Β»
53 0x35 SectionWarning SectionEvent Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ€Π°Π·Π΄Π΅Π» Β«Π₯Β»
55 0x37 SectionAlarm SectionEvent Π’Ρ€Π΅Π²ΠΎΠ³Π° Ρ€Π°Π·Π΄Π΅Π»Π° Β«Π₯Β»
56 0x38 SystemFailure CommonEvent ΠΠ΅ΠΈΡΠΏΡ€Π°Π²Π½ΠΎΡΡ‚ΡŒ систСмы
57 0x39 SystemDisarm SecurityEvent БнятиС с ΠΎΡ…Ρ€Π°Π½Ρ‹
58 0x3a SystemArm SecurityEvent ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π½Π° ΠΎΡ…Ρ€Π°Π½Ρƒ
59 0x3b SystemMaintenance SecurityEvent Π’Π²Π΅Π΄Π΅Π½ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄
60 0x3c SystemOverfreeze ReportEvent ΠŸΠ΅Ρ€Π΅ΠΎΡ…Π»Π°ΠΆΠ΄Π΅Π½ΠΈΠ΅ оборудования
62 0x3e SystemOverheat ReportEvent ΠŸΠ΅Ρ€Π΅Π³Ρ€Π΅Π² оборудования
63 0x3f RemoteCommandHandled SystemEvent ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° внСшняя ΠΊΠΎΠΌΠ°Π½Π΄Π°

Π”Π»ΠΈΠ½Π° сообщСния Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° события

# Event Type ID Π”Π»ΠΈΠ½Π° сообщСния
2 1 7
3 2 7
4 3 6
5 4 6
6 5 6
7 6 6
8 7 6
9 8 6
10 9 6
11 10 6
12 11 6
13 12 6
14 13 6
15 14 6
16 15 6
17 16 6
18 17 9
19 18 5
20 19 5
21 20 5
22 21 6
23 22 6
24 23 6
25 24 5
26 25 5
27 26 6
28 27 6
29 28 6
30 29 6
31 30 6
32 31 6
33 32 6
34 33 5
35 34 7
36 35 7
37 36 9
38 37 9
39 38 5
40 39 21
41 40 6
42 41 5
43 42 22
44 43 6
45 44 6
46 45 6
47 46 6
48 47 6
49 48 6
50 49 6
51 50 6
52 51 6
53 52 6
54 53 6
55 54 6
56 55 6
57 56 6
58 57 9
59 58 9
60 59 6
61 60 6
62 61 6
63 62 6
64 63 10
65 64 8
66 65 42
67 66 9
68 67 78

АдрСса Π΄Π°Π½Π½Ρ‹Ρ… для событий

Π”Π°Π½Π½Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π»Π΅ΠΆΠ°Ρ‚ Π² адрСсС "0". ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° для Ρ‚ΠΈΠΏΠΎΠ² событий, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠ½Ρ‹Π΅ адрСса

# Event Type ID Event Type Address Description
1 0x1 DeviceConfiguration 0 - минорная вСрсия ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ, 1 - маТорная вСрсия ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ AND 0x7 ΠΊ ΠΌΠ°ΠΆΠΎΡ€Π½ΠΎΠΉ вСрсии
16 0x10 FallbackPowerRecovered Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ напряТСния Π² Π²ΠΎΠ»ΡŒΡ‚Π°Ρ…
27 0x1b UserAuth 3 Π˜Π” ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
29 0x1d FallbackPowerFailed Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ напряТСния Π² Π²ΠΎΠ»ΡŒΡ‚Π°Ρ…
30 0x1e FailbackPowerActivated Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ напряТСния Π² Π²ΠΎΠ»ΡŒΡ‚Π°Ρ…
31 0x1f MainPowerFail Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ напряТСния Π² Π²ΠΎΠ»ΡŒΡ‚Π°Ρ…
32 0x20 PowerGood Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ напряТСния Π² Π²ΠΎΠ»ΡŒΡ‚Π°Ρ…
37 0x25 Report 1 Ссли Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 0 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "2", Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Π² Π³Ρ€.ЦСльсия
57 0x39 SystemDisarm Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ "0" прСдставляСт снятыС с ΠΎΡ…Ρ€Π°Π½Ρ‹ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ Π² Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅. Π’.Π΅. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ff ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ 1 1 1 1 1 1 1 1.Π’.Π΅. всС 8 Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² сняты с ΠΎΡ…Ρ€Π°Π½Ρ‹
58 0x3a SystemArm Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ "0" прСдставляСт поставлСнныС Π½Π° ΠΎΡ…Ρ€Π°Π½Ρƒ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ Π² Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅. Π’.Π΅. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 07 ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ 0 0 0 0 0 1 1 1.Π’.Π΅. ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 3 Ρ€Π°Π·Π΄Π΅Π»Π° поставлСны Π½Π° ΠΎΡ…Ρ€Π°Π½Ρƒ
63 0x3f RemoteCommandHandled 5 Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 0 - Π˜Π” ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 5 - Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄

Result ID Result Name
0x1 Success
0x2 Not implemented
0x3 Incorrect parameter(s)
0x4 Busy
0x5 Unable to execute
0x6 Already executed
0x7 No access

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹

ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹ Π½Π° вСрсии 4.29

  • ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π½Π° ΡΠΈΠ³Π½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ - "ARM:"
  • ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π½Π° ΡΠΈΠ³Π½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° "2" - "ARM:&2"
  • БнятиС с сигнализации - "OFF:"
  • БнятиС с сигнализации Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° "2" - "OFF:&2"
  • ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° устройства - "REBOOT:"
  • Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π·ΠΎΠ½Ρƒ - "ZON:11"
  • Π’Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π·ΠΎΠ½Ρƒ - "ZOFF:11"
  • ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π»Π΅ - "OUT:1, 0|1|2", Π³Π΄Π΅ (0 - Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ, 1 - Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ, 2 - ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ)
  • ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π° экран сообщСниС - "SHOW: MessageToShow"

НС Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² вСрсии 4.29

  • ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° уровня сигнала ΠΈΠ·Π²Π΅Ρ‰Π°Ρ‚Π΅Π»Π΅ΠΉ (упоминаСтся Π² истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ для вСрсии 4.25) - BRIMS
  • Запрос ΠΊΠ°Π΄Ρ€Π° ΠΈΠ· Π°Ρ€Ρ…ΠΈΠ²Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Π΄Ρ€ΠΎΠ² (упоминаСтся Π² истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ для вСрсии 4.25) - CAM
  • Запрос состояния (упоминаСтся Π² истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ для вСрсии 4.25) - TEST

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° MQTT

Π’ΠΎΠΏΠΈΠΊΠΈ для ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ

  • /nightshift/notify - ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ Π±Ρ€ΠΎΠΊΠ΅Ρ€Ρƒ MQTT. Π€ΠΎΡ€ΠΌΠ°Ρ‚ сообщСния:
{\"version\": \"%s\", \"name\": \"nightshift\", \"agentID\": \"%s\", \"siteId\": %d}
  • /nightshift/sites/%d/reports - СТСсуточный ΠΎΡ‚Ρ‡Π΅Ρ‚ ΡƒΡΡ‚Ρ€ΠΎΠΉΡΡ‚Π²Π°ΡŽ. Π€ΠΎΡ€ΠΌΠ°Ρ‚ сообщСния:
{"agentID": "80d7be61-d81d-4aac-9012-6729b6392a89", "message": {"deviceIp":"127.0.0.1","received":"Wed Jul 22 09:32:48 2020","payload":{"site":1,"typeId":37,"timestamp":"Thu Nov 28 09:00:00 2019","data":"0210000000","temp":16,"event":"Report","scope":"Common"}}}
  • /nightshift/sites/%d/events - события ΠΎΡ‚ устройства. Π€ΠΎΡ€ΠΌΠ°Ρ‚ сообщСния:
{"agentID": "80d7be61-d81d-4aac-9012-6729b6392a89", "message": {"deviceIp":"127.0.0.1","received":"Wed Sep  9 12:42:19 2020","payload":{"site":1,"typeId":32,"timestamp":"Sun Dec  8 13:51:20 2019","data":"B71F","event":"PowerGood","scope":"Common"}}
}
{"agentID": "80d7be61-d81d-4aac-9012-6729b6392a89", "message": {"deviceIp":"127.0.0.1","received":"Wed Sep  9 12:42:19 2020","payload":{"site":1,"typeId":31,"timestamp":"Sun Dec  8 13:53:31 2019","data":"A710","event":"MainPowerFail","scope":"Common"}}
}
{"agentID": "80d7be61-d81d-4aac-9012-6729b6392a89", "message": {"deviceIp":"127.0.0.1","received":"Wed Sep  9 12:42:19 2020","payload":{"site":1,"typeId":16,"timestamp":"Sun Dec  8 13:54:48 2019","data":"0E1D","event":"FallbackPowerRecovered","scope":"Common"}}
}
{"agentID": "80d7be61-d81d-4aac-9012-6729b6392a89", "message": {"deviceIp":"127.0.0.1","received":"Wed Sep  9 12:42:19 2020","payload":{"site":1,"typeId":29,"timestamp":"Mon Jan  1 03:00:00 2001","data":"7F01","event":"FallbackPowerFailed","scope":"Common"}}
}
{"agentID": "80d7be61-d81d-4aac-9012-6729b6392a89", "message": {"deviceIp":"127.0.0.1","received":"Wed Sep  9 12:42:19 2020","payload":{"site":1,"typeId":1,"timestamp":"Mon Jan  1 03:00:00 2001","data":"1D043A","event":"DeviceConfiguration","scope":"Common","version":"4.29"}}
  • /nightshift/sites/%d/status - состояниС устройства Π½Π° ΠΎΡ…Ρ€Π°Π½Π΅/снят с ΠΎΡ…Ρ€Π°Π½Ρ‹
{"agentID": "80d7be61-d81d-4aac-9012-6729b6392a89", "message": {"deviceIp":"213.87.240.135","received":"Sat Sep 12 12:24:29 2020","payload":{"site":1,"typeId":57,"timestamp":"Sat Sep 12 12:24:28 2020","data":"F800000103","user":1,"event":"SystemDisarm","scope":"Security"}}
{"agentID": "80d7be61-d81d-4aac-9012-6729b6392a89", "message": {"deviceIp":"213.87.240.135","received":"Sat Sep 12 12:24:29 2020","payload":{"site":1,"typeId":57,"timestamp":"Sat Sep 12 12:24:28 2020","data":"F800000103","user":1,"event":"SystemArm","scope":"Security"}}
  • /nightshift/sites/%d/zones/%d/events - события ΠΎΡ‚ устройства ΠΏΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ Π·ΠΎΠ½Π΅
{"agentID": "80d7be61-d81d-4aac-9012-6729b6392a89", "message": {"deviceIp":"127.0.0.1","received":"Wed Sep  9 12:45:15 2020","payload":{"site":1,"typeId":10,"timestamp":"Mon Jan  1 03:00:00 2001","data":"1332","zone":19,"event":"ZoneArm","scope":"Zone"}}
}
  • /nightshift/sites/%d/sections/%d/events - события ΠΎΡ‚ устройства ΠΏΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌΡƒ Ρ€Π°Π·Π΄Π΅Π»Ρƒ
{"agentID": "80d7be61-d81d-4aac-9012-6729b6392a89", "message": {"deviceIp":"127.0.0.1","received":"Wed Sep  9 12:46:11 2020","payload":{"site":1,"typeId":51,"timestamp":"Wed Dec 29 16:01:21 2038","data":"0121","section":1,"event":"SectionGood","scope":"Section"}}
}
  • /nightshift/sites/%d/notify - heartbeat-события ΠΎΡ‚ устройства
{"agentID": "80d7be61-d81d-4aac-9012-6729b6392a89", "message": {"deviceIp":"127.0.0.1","received":"Wed Jul 22 09:35:24 2020","payload":{ "site":1,"typeId":null,"event":"KeepAliveEvent","scope":"KeepAlive","channel":0,"sim":0,"voltage":17.00,"signal":0,"extraId":1,"extraValue":20,"data":"0000B2401400"}}}
  • /nightshift/sites/%d/commandresults - Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
  • /nightshift/sites/%d/disconnnected - Ρ‚ΠΎΠΏΠΈΠΊ для ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ MQTT WILL сообщСния

Π’ΠΎΠΏΠΈΠΊ для управлСния

  • /nightshift/sites/%d/command - ΠΊΠΎΠΌΠ°Π½Π΄Π° указываСтся Π² Ρ‚Π΅Π»Π΅ сообщСния

Π’ΠΈΠΏΡ‹ сообщСний с привязкой ΠΊ Ρ‚ΠΎΠΏΠΈΠΊΡƒ

# Event Type ID Event Type Event Scope Topic
1 0x1 DeviceConfiguration ConfigurationEvent /nightshift/sites/%d/events
2 0x2 ManualReset CommonEvent /nightshift/sites/%d/events
3 0x3 ZoneDisarm ZoneEvent /nightshift/sites/%d/zones/%d/events
9 0x9 ZoneWarning ZoneEvent /nightshift/sites/%d/zones/%d/events
10 0xa ZoneArm ZoneEvent /nightshift/sites/%d/zones/%d/events
11 0xb ZoneGood ZoneEvent /nightshift/sites/%d/zones/%d/events
12 0xc ZoneFail ZoneEvent /nightshift/sites/%d/zones/%d/events
13 0xd ZoneDelayedAlarm ZoneEvent /nightshift/sites/%d/zones/%d/events
15 0xf ZoneAlarm ZoneEvent /nightshift/sites/%d/zones/%d/events
16 0x10 FallbackPowerRecovered CommonEvent /nightshift/sites/%d/events
18 0x12 FactoryReset CommonEvent /nightshift/sites/%d/events
19 0x13 FirmwareUpgradeInProgress CommonEvent /nightshift/sites/%d/events
20 0x14 FirmwareUpgradeFail CommonEvent /nightshift/sites/%d/events
21 0x15 TestEvent CommonEvent /nightshift/sites/%d/events
22 0x16 TestEvent CommonEvent /nightshift/sites/%d/events
23 0x17 CoverOpened CommonEvent /nightshift/sites/%d/events
24 0x18 CoverClosed CommonEvent /nightshift/sites/%d/events
25 0x19 OffenceEvent SecurityEvent /nightshift/sites/%d/events
27 0x1b UserAuth AuthenticationEvent /nightshift/sites/%d/events
29 0x1d FallbackPowerFailed CommonEvent /nightshift/sites/%d/events
30 0x1e FailbackPowerActivated CommonEvent /nightshift/sites/%d/events
31 0x1f MainPowerFail CommonEvent /nightshift/sites/%d/events
32 0x20 PowerGood CommonEvent /nightshift/sites/%d/events
37 0x25 Report ReportEvent /nightshift/sites/%d/reports
38 0x26 FirmwareUpgradeRequest CommonEvent /nightshift/sites/%d/events
39 0x27 CardActivated GSMEvent /nightshift/sites/%d/events
40 0x28 CardRemoved GSMEvent /nightshift/sites/%d/events
41 0x29 CodeSeqAttack SecurityEvent /nightshift/sites/%d/events
43 0x2b SectionDisarm SectionEvent /nightshift/sites/%d/sections/%d/events
50 0x32 SectionArm SectionEvent /nightshift/sites/%d/sections/%d/events
51 0x33 SectionGood SectionEvent /nightshift/sites/%d/sections/%d/events
52 0x34 SectionFail SectionEvent /nightshift/sites/%d/sections/%d/events
53 0x35 SectionWarning SectionEvent /nightshift/sites/%d/sections/%d/events
55 0x37 SectionAlarm SectionEvent /nightshift/sites/%d/sections/%d/events
56 0x38 SystemFailure CommonEvent /nightshift/sites/%d/events
57 0x39 SystemDisarm SecurityEvent /nightshift/sites/%d/status
58 0x3a SystemArm SecurityEvent /nightshift/sites/%d/status
59 0x3b SystemMaintenance SecurityEvent /nightshift/sites/%d/events
60 0x3c SystemOverfreeze ReportEvent /nightshift/sites/%d/events
62 0x3e SystemOverheat ReportEvent /nightshift/sites/%d/events
63 0x3f RemoteCommandHandled SystemEvent /nightshift/sites/%d/commandresults

About

NightShift - open source implementation of Astra Dozor Security Server

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages