Piekļuves kontrole · Gallagher · REST API · Node-RED · KNX · 10 min lasīšanai

Gallagher Command Centre REST API uz KNX: Notikumu tilts ar Node-RED

Gallagher Command Centre 8.x REST API ļauj ārējām sistēmām saņemt durvju un piekļuves notikumus gandrīz reāllaikā. Izmantojot Node-RED, šos notikumus var pārsūtīt uz KNX grupu adresēm, automātiski reaģējot uz karšu lasītāju aktivitāti – apgaismojumu, HVAC un drošību. Bez patentētiem moduļiem vai papildu licencēm.

Gallagher Command Centre REST API pārskats

Gallagher Command Centre 8.x ietver iebūvētu REST API serveri. API izmanto OAuth2 klienta akreditācijas datu plūsmu autentifikācijai. Command Centre servera iestatījumos izveidojiet REST API klientu ar piekļuvi notikumu un durvju resursiem. Iegaumējiet klienta ID un klienta noslēpumu – tie tiek parādīti tikai vienreiz izveides brīdī.

Lai iegūtu nesēja pilnvaru, nosūtiet POST pieprasījumu uz pilnvaru galapunktu. Pilnvaras derīguma termiņš ir 3600 sekundes (viena stunda). Node-RED automātiski atjauno pilnvaras, saglabājot derīguma termiņa laikspiedolu un atkārtoti pieprasot pilnvaru pirms tās derīguma termiņa beigām.

OAuth2 pilnvaras pieprasījums

POST /api/access_control/rest/v1/oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials
&client_id=<jūsu_klienta_id>
&client_secret=<jūsu_klienta_noslēpums>

Atbilde:
{
 "access_token": "eyJhbGciOi...",
 "token_type": "Bearer",
 "expires_in": 3600
}

Node-RED: saglabājiet pilnvaru plūsmas konteksta mainīgajā
 msg.token = msg.payload.access_token
 flow.set('gallagher_token', msg.token)
 flow.set('token_expiry', Date.now() + 3500000)

Piekļuves notikumu aptaujāšana no REST API

Notikumu galapunkts atgriež piekļuves notikumus kopš noteikta ISO8601 laikspiedola. Aptaujājiet šo galapunktu ik pēc 2–5 sekundēm, lai apstrādātu notikumus gandrīz reāllaikā. Saglabājiet pēdējā apstrādātā notikuma laikspiedolu Node-RED plūsmas kontekstā, lai izmantotu to kā nākamo aptaujāšanas sākumpunktu.

Notikumu aptaujāšanas pieprasījums

GET /api/access_control/rest/v1/events
 ?after=2024-01-15T09:30:00Z
 &pageSize=50
Authorization: Bearer <access_token>

Atbildes masīvs – katrs notikuma objekts satur:
{
 "eventType": "cardReadValid",
 "door": { "name": "Galvenā ieeja", "id": "door-uuid-1" },
 "cardholder": { "name": "Jānis Bērziņš", "id": "ch-uuid-1" },
 "timestamp": "2024-01-15T09:31:45Z"
}

eventType vērtības:
 cardReadValid – kartīte pieņemta, durvis atslēgtas
 cardReadInvalid – kartīte noraidīta (nepareiza zona, beidzies derīgums)
 doorForced – durvis atvērtas bez derīgas piekļuves
 doorHeldOpen – durvis turētas atvērtas ilgāk par taimera slieksni
 antiPassbackViol – konstatēts pretapiešanas noteikumu pārkāpums

Instalējiet node-red-contrib-gallagher pakotni, izmantojot npm Node-RED datu direktorijā. Šī pakotne nodrošina iebūvētus Gallagher ievades mezglus, kas automātiski apstrādā autentifikāciju un aptaujāšanu – konfigurējiet Command Centre IP adresi, klienta ID un noslēpumu mezgla konfigurācijas panelī.

Node-RED plūsma: durvju notikums uz KNX grupu adresi

Galvenā Node-RED plūsma apstrādā Gallagher notikumus un raksta uz KNX grupu adresēm, izmantojot KNX rakstīšanas mezglu. Konfigurējiet KNX rakstīšanas mezglu ar sava KNX IP interfeisa IP adresi. Slēdža mezgls filtrē notikumus pēc veida un durvju nosaukuma, pirms iedarbina KNX darbības.

Node-RED plūsma – kartes nolasīšana uz KNX darbībām

Plūsma: Gallagher notikumu ievades mezgls
 slēdža mezgls
 Noteikums 1: msg.payload.eventType == "cardReadValid"
 UN msg.payload.door.name == "Galvenā ieeja"
 Noteikums 2: msg.payload.eventType == "doorForced"
 Noteikuma 1 izvade funkcijas mezgls (iestata KNX slodzi)
 msg.knxGA = "3/0/1" // vestibila gaismas pilnībā ieslēgtas
 msg.knxDPT = "1.001"
 msg.knxValue = true
 KNX rakstīšanas mezgls (IP interfeiss: 192.168.1.100)

 funkcija arī nosūta otru ziņojumu:
 msg.knxGA = "4/0/1" // HVAC aizņemts režīms
 msg.knxValue = true
 KNX rakstīšanas mezgls

 Noteikuma 2 izvade KNX rakstīšanas mezgls
 GA "8/0/1" DPT 1.001 vērtība true // signalizācijas sirēnas relejs
 otrais KNX rakstīšanas mezgls
 GA "3/0/2" DPT 5.001 vērtība 255 // drošības gaismas 100%
Gallagher notikumsKNX grupu adreseDPTDarbība
cardReadValid – Galvenā ieeja3/0/11.001Vestibila gaismas pilnībā ieslēgtas
cardReadValid – Galvenā ieeja4/0/11.001HVAC aizņemts režīms
doorForced – jebkuras durvis8/0/11.001Signalizācijas sirēnas relejs IESLĒGTS
doorForced – jebkuras durvis3/0/25.001 (255)Drošības gaismas 100%
doorHeldOpen – jebkuras durvis8/0/21.001Atvērtu durvju brīdinājuma relejs

Attālināta durvju atbloķēšana no KNX binārās ieejas

Apgrieztais virziens – Gallagher durvju atbloķēšanas iedarbināšana no KNX binārās ieejas – ir tikpat svarīga. Reģistratūras darbinieki ar KNX skārienpaneli var attālināti atbloķēt galvenās ieejas durvis bez atsevišķa piekļuves kontroles termināļa.

KNX binārā ieeja uz Gallagher durvju atbloķēšanu

Aparatūra: MDT SCN-BTL1 binārā ieeja reģistratūras skārienpanelī
KNX telegramma uz pogas nospiešanas GA 3/1/0 DPT 1.001 vērtība 1

Node-RED KNX ievades mezgls klausās GA 3/1/0:
 filtrs: vērtība == true (tikai augošā mala)
 HTTP pieprasījuma mezgls:
 Metode: POST
 URL: http://<cc-server>/api/access_control/rest/v1/doors/<durvju_id>/access
 Galvenes: Authorization: Bearer {flow.gallagher_token}
 Saturs: { "type": "release" }

Gallagher atbloķē durvis uz 5 sekundēm (konfigurēts CC)
Atbilde 200: durvju atbloķēšana apstiprināta

durvju_id: iegūst no GET /api/access_control/rest/v1/doors
 Atgriež durvju objektu masīvu ar id un name laukiem
 Saglabājiet Galvenās ieejas durvju_id Node-RED vides mainīgajā

Gallagher tīmekļa āķi reāllaika notikumu push (CC 8.10+)

Command Centre 8.10 un jaunākās versijas atbalsta tīmekļa āķus – Gallagher push notikumus uz konfigurētu HTTP galapunktu, kad tie notiek, novēršot 2–5 sekunžu aptaujāšanas aizkavi. Drošības kritiskām lietojumprogrammām, piemēram, signalizācijas sirēnas aktivizēšanai, tīmekļa āķi ir stipri ieteicami.

Tīmekļa āķa konfigurācija Command Centre

CC servera iestatījumos REST API Tīmekļa āķi:
 Pievienojiet tīmekļa āķa URL: http://<node-red-ip>:1880/gallagher-events
 Push notikumi: AccessGranted, DoorForced, DoorHeldOpen
 Autentifikācija: HMAC-SHA256 kopīgs noslēpums (ieteicams)

Node-RED: HTTP ievades mezgls uz /gallagher-events
 pārbaudiet HMAC parakstu (funkcijas mezgls)
 identiska slēdža/KNX rakstīšanas plūsma kā aptaujāšanas pieejā
 nav nepieciešams injicēšanas taimeris – notikumi pienāk 200 ms laikā

Tīmekļa āķa slodzes formāts atbilst aptaujāšanas notikuma objektam:
 { "eventType": "...", "door": {...}, "timestamp": "..." }

Priekšrocība: mazāk par sekundi aizkave pret 2-5 s aptaujāšanu
Lietošanas gadījums: durvju piespiedu atvēršanas trauksmei jāiedarbina sirēna nekavējoties
 – aptaujāšanas aizkave nav pieņemama drošības notikumiem

Vairāku nomnieku biroja stāvu noslogojuma automatizācija

Vairāku nomnieku biroju ēkās Gallagher zonas atbilst fiziskajiem stāviem. Katram stāvam ir sava karšu lasītāju zona, un Gallagher izseko, kuri karšu turētāji pašlaik atrodas katrā stāvā. Šie zonas klātbūtnes dati tiek tieši pārsūtīti uz KNX HVAC zonas noslogojumu, lai kontrolētu apkuri un ventilāciju katrā stāvā.

Stāvu līmeņa noslogojums uz KNX HVAC zonām

Gallagher zonas konfigurācija:
 A zona: 1. stāva lasītāji (durvis A01, A02, A03)
 B zona: 2. stāva lasītāji (durvis B01, B02, B03)

Node-RED loģika:
 Kad cardReadValid uz 1. stāva durvīm:
 rakstīt GA 4/1/1 = true (HVAC 1. zona aizņemta)
 Kad cardReadValid uz 2. stāva durvīm:
 rakstīt GA 4/2/1 = true (HVAC 2. zona aizņemta)

Pēdējās personas izejas notikums (Gallagher CC 8.x):
 Kad pēdējais karšu turētājs iziet no zonas (zonas skaits = 0):
 Notikums: "lastPersonOut" A zonai
 rakstīt GA 4/1/1 = false (HVAC 1. zona samazināts režīms)
 rakstīt GA 3/1/0 = false (1. stāva gaismas izslēgtas)
 gaidīt 300 s aizkavi Node-RED (atlikušā noslogojuma buferis)
 rakstīt GA 5/1/1 = true (HVAC nakts samazināts režīms aktivizēts)

Dienas beigu secība tiek iedarbināta automātiski, kad pēdējais
karšu turētājs iziet no katra stāva – nav nepieciešams laika
grafiks, reaģē uz faktisko noslogojumu

Pretapiešanas integrācija ar KNX trauksmi

Pretapiešana (APB) neļauj karšu turētājam izmantot savu karti, lai divreiz iekļūtu zonā bez iepriekšējas izejas – galvenais līdzeklis cīņai pret sekošanu. Kad Gallagher konstatē APB pārkāpumu, notikums var iedarbināt KNX trauksmes stāvokli vizuālam un skaņas brīdinājumam apsardzes darba vietā, apvienojumā ar CCTV krustreferenci.

Pretapiešana uz KNX trauksmes secību

Gallagher notikums: antiPassbackViol
 durvju nosaukums, karšu turētāja vārds, laikspiedols notikuma slodzē

Node-RED:
 rakstīt GA 8/1/0 = true (APB trauksmes karogs KNX)
 rakstīt GA 8/1/1 = karšu turētāja ID (DPT 5.010 kartēts ID)
 apsardzes darba vietas skārienpanelis (MDT vai Gira) parāda APB brīdinājumu

CCTV krustreference (Bosch BVMS spraudnis):
 Bosch BVMS ir izvēles Gallagher spraudnis:
 CC trauksmes notikums BVMS atver kameras skatu šīm durvīm
 KNX tikai instalācijām bez BVMS:
 APB KNX trauksmes GA iedarbina ONVIF kameras momentuzņēmumu
 izmantojot Node-RED http-request uz kameras momentuzņēmuma URL
 momentuzņēmums tiek saglabāts lokāli drošības pārskatīšanai

APB trauksmes atiestatīšana:
 Apsardzes darba vietas KNX poga GA 8/1/0 = false
 Node-RED: POST /api/access_control/rest/v1/cardholders/
 {cardholder_id}/antipassback/reset
 CC atiestata karšu turētāja APB zonas statusu

Nodošanas ekspluatācijā piezīme: Pārbaudiet pilnu notikuma-KNX ķēdi, izmantojot testa karšu turētāja karti un apzināti iedarbinot katru notikuma veidu secībā – cardReadValid, doorForced un antiPassbackViol. Pārliecinieties, ka pareizās KNX GA tiek atjauninātas ETS6 grupu monitorā paredzamajā latentumā (zem 1s tīmekļa āķiem, zem 5s aptaujāšanai).

Nepieciešams KNX panelis ar Gallagher integrāciju, kas izgatavots pēc specifikācijas?

Mēs projektējam un izgatavojam zemsprieguma paneļus ar Node-RED Gallagher REST API tiltiem, KNX IP interfeisa konfigurāciju, stāvu noslogojuma loģiku un pilnu nodošanas ekspluatācijā dokumentāciju, kas tiek piegādāta un pārbaudīta jūsu objektā.

Request a quote
Ielādējas...
Uz augšu