Tovább a tartalomhoz

Webhookok szabályokból

Egy szabály meghívhat egy URL-t, amikor aktiválódik. Így a saját rendszere azonnal értesül egy eseményről, például magas hőmérsékletről vagy egy eszköz lecsatlakozásáról.

  • A HAM Systems fiókonként kapcsolja be a webhookokat. Ha az alkalmazás ezt mutatja: A webhookok nincsenek engedélyezve a fiókjához, forduljon az ügyfélszolgálathoz.
  • Egy https:// cím kell, amely az internetről fogad POST kéréseket.
  1. Nyissa meg a Menü elemet. Az Eszközök csoportban koppintson a Felhőszabályok elemre.
  2. Nyisson meg egy szabályt, vagy hozzon létre új szabályt. Lásd: Szabály létrehozása.
  3. A műveleteknél koppintson a Művelet hozzáadása gombra.
  4. A listában válassza a Webhívás elemet.
  5. Az URL mezőbe írja be a rendszere címét.
  6. Ha a szabály visszaállásakor is szeretne hívást, koppintson a Visszaállítási művelet hozzáadása gombra, és válassza újra a Webhívás elemet.
  7. Koppintson a Mentés gombra.
Egy új szabály feltételekkel és műveletekkel
Számítógép
Egy új szabály feltételekkel és műveletekkel
Telefon
Egy Webhívás típusú szabályművelet kitöltött URL mezővel
Számítógép
Egy Webhívás típusú szabályművelet kitöltött URL mezővel
Telefon

Ha a cím nem helyes, az alkalmazás ezt mutatja: Az URL érvénytelen.

A platform POST kérést küld JSON törzzsel (Content-Type: application/json):

{
"event": "triggered",
"rule": {
"id": 4321,
"name": "Fridge 1 temperature",
"serialno": "e11:123",
"this_data": [ { "...": "the rule conditions" } ]
},
"device_data": {
"e11:123": {
"R": { "T": 912, "GI": 1, "GIC": 0, "GI2": 1, "GI2C": 0 },
"O": [],
"S": { "...": "the device settings" }
}
},
"messages": []
}
Mező Tartalom
event triggered, amikor a szabály aktiválódik. resolved, amikor egy Visszaállításkor művelet fut.
rule.id, rule.name A szabály száma és neve
rule.serialno A szabály eszköze
rule.this_data A szabály feltételei
device_data A szabály minden eszközének aktuális állapota, sorozatszám szerint. Ugyanaz a formátum, mint a WebSocket frissítéseké.
messages Hibák, például Failed to get state of e11:123 for rule #4321, ha egy eszköz állapota nem érhető el

Az R értékei nyers értékek. A példában a T: 912 9,12 °C-ot jelent. Lásd a definíciókat a REST API oldalon.

A platform eltávolítja az eszköz WiFi adatait (hálózatnév, jelszó és vállalati adatok) a device_data mezőből.

A kérésnek nincs aláírása (HMAC). Annak ellenőrzéséhez, hogy a kérés az Ön szabályától érkezik:

  1. Hozzon létre egy hosszú, véletlenszerű titkot, például ezzel: openssl rand -hex 32.
  2. Tegye a titkot a cím lekérdezési karakterláncába: https://example.com/ham-hook?token=YOUR_SECRET.
  3. A rendszerében utasítson el minden kérést, amelyben nincs helyes token.
  • A címnek https:// kezdetűnek kell lennie.
  • A platform nem hív meg helyi és privát címeket: localhost, 127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 169.254.0.0/16, 100.64.0.0/10, 0.0.0.0/8 és a kapcsolódó IPv6 címek (::1, fe80:, fc00::/7).
  • Egy szabály minden webhook műveleténél legfeljebb 5 hívás 60 másodpercenként.
  • Fiókonként legfeljebb 30 webhook hívás 60 másodpercenként.
  • A platform kihagyja a korlátok feletti hívásokat. Később sem küldi el őket.
  • A platform nem ellenőrzi a válasza HTTP állapotkódját, és nem küldi el újra a kérést.
  • Egy műveletnek lehet késleltetése (UTÁN). Egy szabálynak összesen legfeljebb 12 művelete van.

Az első teszthez használjon egy nyilvános szolgáltatást, amely mutatja a kapott kéréseket. Hozzon létre egy egyszerű feltételű szabályt, és nézze meg a kérés törzsét.

Csevegés az ügyfélszolgálattal