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 kategorija | Pieejamās darbības | Piezīmes |
|---|---|---|
| Centrmezgli | Centrmezglu saraksts, centrmezgla stāvoklis (ieslēgts/izslēgts) | Iekļauts centrmezgla tiešsaistes/bezsaistes statuss |
| Ierīces | Ierīču saraksts, ierīces stāvoklis, akumulatora līmenis | Signāla stiprums, manipulāciju stāvoklis |
| Grupas | Grupu saraksts, grupas ieslēgšana/izslēgšana | Sadaļu līmeņa kontrole |
| Ieslēgt/Izslēgt | POST ieslēgt, POST izslēgt, POST nakts režīms | Nepieciešams lietotāja līmeņa autentifikācijas marķieris |
| Lietotāji | Lietotāju saraksts, lietotāju piekļuves pārvaldība | Tikai partnera administrators |
| Notikumu straume | Webhook push notikumi (trauksme, manipulācijas, ieslēgšana) | Abonēšana katram centrmezglam portālā |
| Kameras | Kameru saraksts, momentuzņēmuma pieprasīšana | Ajax 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īmenis | API piekļuve | Ātruma ierobežojums |
|---|---|---|
| Sertificēts uzstādītājs | Pamata – ierīču saraksts, stāvokļa nolasīšana | 60 pieprasījumi/min |
| Sertificēts integrētājs | Pilna – bruņošana/atbruņošana, tīmekļa āķi, kameras | 300 pieprasījumi/min |
| Tehnoloģiju partneris | Pilna + vairāku centrālo mezglu pārvaldība | Pielā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žojums | Detalizācija | Risinājums |
|---|---|---|
| Nav lokālā API | Hub 2 Plus nav LAN galapunkta | Pieņemt mākoņa atkarību; izmantot uzticamu internetu ar UPS maršrutētājam |
| Stāvokļa aptaujas latentums | 30 sekunžu noklusējuma aptauja HA | Izmantot webhooks trauksmes notikumiem; aptauja tikai statusa attēlošanai |
| Interneta pārtraukums | API nav pieejams pārtraukuma laikā | Ajax autonomā drošība turpina darboties; tikai automatizācijas tilts neizdodas |
| VDAR datu apstrāde | Notikumu dati tiek apstrādāti Ajax ES serveros | Apstiprināt datu apstrādes līgumu ar Ajax komerciāliem projektiem |
| OAuth pilnvaru atjaunošana | Piekļuves pilnvara beidzas, nepieciešama atjaunošana | HACS 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