Ajax Systems · REST API · OAuth 2.0 · Home Assistant · KNX · 9 min lasīšanai

Ajax API integrācija: Ajax savienošana ar KNX, Home Assistant un trešo pušu sistēmām

Ajax nodrošina mākoņa REST API ar OAuth 2.0 autentifikāciju partneru integrācijām. Šis ceļvedis aptver API iespējas, Home Assistant HACS integrāciju, KNX sasaistes modeļus ar xknx, webhook notikumu apstrādi un tikai mākoņa arhitektūras ierobežojumus.

Ajax API pārskats

Ajax API ir RESTful mākoņa API, kas tiek mitināta Ajax Systems infrastruktūrā. Visa komunikācija notiek caur Ajax Cloud – nav lokālā API pašā Hub 2 Plus. Autentifikācijai tiek izmantota OAuth 2.0 autorizācijas koda plūsma, kas prasa reģistrētu partnera lietotni Ajax izstrādātāju portālā.

API ir pieejams Ajax partneriem (sertificētiem integratoriem un augstāk). Patērētāju kontiem nav tiešas API piekļuves – integrācija vienmēr tiek veikta caur partnera reģistrētu lietotni. Home Assistant HACS integrācija to abstrahē, izmantojot iepriekš reģistrētu lietotnes marķieri.

Nav lokālā API: Ajax Hub 2 Plus neatklāj lokālo REST vai WebSocket galapunktu. Visi API izsaukumi tiek veikti uz api.ajax.systems, izmantojot HTTPS. Tas nozīmē, ka interneta savienojums ir nepieciešams jebkurai trešās puses integrācijai – ieskaitot Home Assistant, pat ja tas darbojas tajā pašā lokālajā tīklā kā centrmezgls.

API iespējas

Galapunktu kategorijaPieejamās darbībasPiezīmes
CentrmezgliCentrmezglu saraksts, centrmezgla stāvoklis (ieslēgts/izslēgts)Iekļauts centrmezgla tiešsaistes/bezsaistes statuss
IerīcesIerīču saraksts, ierīces stāvoklis, akumulatora līmenisSignāla stiprums, manipulāciju stāvoklis
GrupasGrupu saraksts, grupas ieslēgšana/izslēgšanaSadaļu līmeņa kontrole
Ieslēgt/IzslēgtPOST ieslēgt, POST izslēgt, POST nakts režīmsNepieciešams lietotāja līmeņa autentifikācijas marķieris
LietotājiLietotāju saraksts, lietotāju piekļuves pārvaldībaTikai partnera administrators
Notikumu straumeWebhook push notikumi (trauksme, manipulācijas, ieslēgšana)Abonēšana katram centrmezglam portālā
KamerasKameru saraksts, momentuzņēmuma pieprasīšanaAjax NVR un IP kameras integrācija

Home Assistant integrācija

Oficiālā Ajax Security integrācija Home Assistant ir pieejama, izmantojot HACS (Home Assistant Community Store). Tā izmanto Ajax Partner API un izveido standarta HA entītijas visām Ajax ierīcēm, kas pieslēgtas centrmezglam.

Home Assistant Ajax integrācija – iestatīšana

Priekšnosacījumi:
 - Ajax konts ar reģistrētu centrmezglu
 - Partner API marķieris (no Ajax PRO Desktop API Keys)
 - Home Assistant 2024.1+ ar instalētu HACS

Instalācija:
 1. HACS Integrations Meklēt "Ajax Security"
 2. Instalēt integrāciju, restartēt HA
 3. Settings Integrations Add Integration Ajax Security
 4. Ievadīt API marķieri un izvēlēties centrmezglu(s)

Izveidotās entītijas katram centrmezglam:
 alarm_control_panel.ajax_hub_[id] – bruņošana/atbruņošana/nakts režīms
 binary_sensor.[device_name]_motion – PIR detektori
 binary_sensor.[device_name]_door – durvju/logu kontakti
 binary_sensor.[device_name]_glass – stikla plīšanas detektori
 binary_sensor.[device_name]_tamper – manipulācijas detektori visām ierīcēm
 sensor.[device_name]_battery – akumulatora līmenis (%)
 sensor.[device_name]_signal – signāla stiprums (%)

Aptaujas intervāls: 30 sekundes (HA aptaujā Ajax Cloud)
Trauksmes notikumi, izmantojot webhook: reāllaika push (skatīt zemāk)

KNX integrācija, izmantojot Home Assistant

Ar Ajax elementiem, kas pieejami Home Assistant, KNX grupas adrešu saistīšana tiek veikta, izmantojot KNX integrāciju (xknx bibliotēka). Kustības signāli no Ajax detektoriem raksta DPT 1.001 telegrammas uz KNX grupas adresēm; Ajax signalizācijas paneļa elements tiek kartēts uz KNX vispārējās signalizācijas grupas adresi.

configuration.yaml – Ajax kustība uz KNX telegrammu

# Home Assistant configuration.yaml (KNX integrācija)
knx:
 tunnel:
 host: 192.168.1.10 # KNX IP interfeisa adrese
 port: 3671

# automations.yaml – Ajax kustības detektors KNX
automation:
 - alias: "Ajax MotionCam gaitenis KNX gaismas"
 trigger:
 platform: state
 entity_id: binary_sensor.ajax_motioncam_hallway_motion
 to: "on"
 action:
 service: knx.send
 data:
 address: "3/0/5" # KNX gaitenis gaismas GA
 payload: true
 type: "1byte"

 - alias: "Ajax MotionCam gaitenis OFF KNX gaismas izslēgt"
 trigger:
 platform: state
 entity_id: binary_sensor.ajax_motioncam_hallway_motion
 to: "off"
 for: "00:02:00" # 2 minūšu aizture
 action:
 service: knx.send
 data:
 address: "3/0/5"
 payload: false
 type: "1byte"

 - alias: "Ajax signalizācija KNX vispārējā signalizācija"
 trigger:
 platform: state
 entity_id: alarm_control_panel.ajax_hub_main
 to: "triggered"
 action:
 service: knx.send
 data:
 address: "8/0/1" # KNX vispārējā signalizācija GA
 payload: true
 type: "1byte"

Ajax + KNX scenāriju piemēri

Ajax-HA-KNX tilts ļauj realizēt scenārijus, kur fiziskās drošības stāvoklis vada ēkas automatizāciju. Izplatīts modelis ir Ajax aktivizēšana, kad tiek aktivizēta KNX "aiziešanas" aina, un atslēgšana ierašanās brīdī ar konkrētu tastatūras kodu.

KNX "Es aizeju" aina Ajax aktivizēšana

# KNX "Es aizeju" pogas nospiešana (GA 1/0/10 = true)
# izraisa HA automatizāciju aktivizē Ajax

automation:
 - alias: "KNX aiziešanas aina Ajax prombūtnes režīms"
 trigger:
 platform: event
 event_type: knx_event
 event_data:
 address: "1/0/10" # KNX aiziešanas poga GA
 value: true
 action:
 - service: knx.send
 data:
 address: "3/0/0" # Gaismas izslēgt (visas zonas)
 payload: false
 type: "1byte"
 - service: knx.send
 data:
 address: "4/0/0" # HVAC samazināšanas režīms
 payload: false
 type: "1byte"
 - delay: "00:00:30" # 30 sekunžu izejas aizkave
 - service: alarm_control_panel.alarm_arm_away
 target:
 entity_id: alarm_control_panel.ajax_hub_main
 data:
 code: "1234" # Galvenais kods

 - alias: "Ajax aktivizēts KNX apstiprinājums"
 trigger:
 platform: state
 entity_id: alarm_control_panel.ajax_hub_main
 to: "armed_away"
 action:
 service: knx.send
 data:
 address: "1/0/11" # KNX aktivizācijas indikators LED
 payload: true
 type: "1byte"

Webhook notikumi

Ajax atbalsta webhook push notikumus reāllaika trauksmes paziņojumiem. Webhook tiek konfigurēti Ajax PRO portālā katram centrālam mezglam un piegādā JSON datus uz publisku HTTPS galapunktu. Home Assistant gadījumā tiek izmantots HA webhook trigera URL.

Ajax webhook JSON dati – trauksmes notikums

// Ajax webhook POST pamatteksts (trauksmes notikums)
{
 "hubId": "HUB-XXXXXXXX",
 "eventType": "ALARM",
 "deviceId": "DEV-12345678",
 "deviceName": "MotionCam Hallway",
 "deviceType": "MotionCam",
 "zoneId": 3,
 "zoneName": "Ground Floor",
 "timestamp": "2025-04-15T14:32:10Z",
 "alarmReason": "MOTION_DETECTED"
}

// Notikumu veidi:
// ALARM – kustība, durvju atvēršana, stikla plīsums
// TAMPER – ierīce atvērta vai noņemta
// ARM – sistēma vai grupa aktivizēta
// DISARM – sistēma vai grupa deaktivizēta
// POWER_LOSS – centrālā mezgla ārējā barošana zudusi
// BATTERY_LOW – ierīces akumulators zem 10%
// SIGNAL_LOSS – ierīces komunikācija zudusi

// Testa webhook (curl):
curl -X POST https://your-ha-instance.duckdns.org/api/webhook/ajax_test \
 -H "Content-Type: application/json" \
 -d '{"eventType":"ALARM","deviceName":"Test","alarmReason":"TEST"}'

Ajax Partner API piekļuve

Piekļuvei Ajax REST API ir nepieciešams Partnera konts. Patērētāju Ajax konti nevar ģenerēt API marķierus. Partneri tiek iedalīti līmeņos, un API iespējas paplašinās augstākos līmeņos.

Partnera līmenisAPI piekļuveĀtruma ierobežojums
Sertificēts uzstādītājsPamata – ierīču saraksts, stāvokļa nolasīšana60 pieprasījumi/min
Sertificēts integrētājsPilna – bruņošana/atbruņošana, tīmekļa āķi, kameras300 pieprasījumi/min
Tehnoloģiju partnerisPilna + vairāku centrālo mezglu pārvaldībaPielāgots SLA

Lai pieteiktos Partnera API piekļuvei, reģistrējieties ajax.systems/partners. Apstiprināšanas process ilgst 3–10 darba dienas. Home Assistant personīgai lietošanai HACS integrācija izmanto koplietojamu lietojumprogrammas marķieri – nav nepieciešama personīga API reģistrācija.

Ierobežojumi un apsvērumi

Mākoņa API arhitektūrai ir būtiska ietekme uz uzticamību un datu apstrādi. Drošības speciālistiem tas jāizvērtē pirms API balstītas automatizācijas ieviešanas kritiskās instalācijās.

IerobežojumsDetalizācijaRisinājums
Nav lokālā APIHub 2 Plus nav LAN galapunktaPieņemt mākoņa atkarību; izmantot uzticamu internetu ar UPS maršrutētājam
Stāvokļa aptaujas latentums30 sekunžu noklusējuma aptauja HAIzmantot webhooks trauksmes notikumiem; aptauja tikai statusa attēlošanai
Interneta pārtraukumsAPI nav pieejams pārtraukuma laikāAjax autonomā drošība turpina darboties; tikai automatizācijas tilts neizdodas
VDAR datu apstrādeNotikumu dati tiek apstrādāti Ajax ES serverosApstiprināt datu apstrādes līgumu ar Ajax komerciāliem projektiem
OAuth pilnvaru atjaunošanaPiekļuves pilnvara beidzas, nepieciešama atjaunošanaHACS integrācija veic atjaunošanu; pielāgotām integrācijām jāievieš pašām

Ajax autonomā drošība nav ietekmēta API/interneta pārtraukuma laikā. Hub 2 Plus turpina noteikt, signalizēt un paziņot pa GSM pat tad, kad mākoņa API nav sasniedzama. API integrācijas slānis ir papildu – neprojektējiet ēkas automatizācijas sistēmu, kas paļaujas uz Ajax API dzīvības drošības funkcijām.

Ajax + KNX + Home Assistant – integrēts un pārbaudīts

Mēs konfigurējam Ajax Hub 2 Plus ar Home Assistant KNX tiltu, webhook automatizāciju un ēkas ainu integrāciju – piegādāts kā strādājoša sistēma ar pilnu dokumentāciju.

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