Pereiti prie turinio

Webhooks iš taisyklių

Taisyklė gali iškviesti URL, kai suveikia. Taip Jūsų sistema iš karto sužino apie įvykį, pavyzdžiui, aukštą temperatūrą arba įrenginio atsijungimą.

  • HAM Systems įjungia webhooks kiekvienai paskyrai atskirai. Jei programėlė rodo Jūsų paskyrai webhooks nėra įjungti, kreipkitės į pagalbą.
  • Jums reikia https:// adreso, kuris priima POST užklausas iš interneto.

Webhook pridėjimas į taisyklę

Skyrius „Webhook pridėjimas į taisyklę“
  1. Atidarykite Meniu. Grupėje Įrankiai bakstelėkite Debesų taisyklės.
  2. Atidarykite taisyklę arba sukurkite naują taisyklę. Žr. Taisyklės kūrimas.
  3. Veiksmuose bakstelėkite Pridėti veiksmą.
  4. Sąraše pasirinkite Webhook.
  5. Lauke URL įveskite savo sistemos adresą.
  6. Jei taip pat norite iškvietimo, kai taisyklė atstatoma, bakstelėkite Pridėti atstatymo veiksmą ir dar kartą pasirinkite Webhook.
  7. Bakstelėkite Išsaugoti.
Nauja taisyklė su sąlygomis ir veiksmais
Kompiuteris
Nauja taisyklė su sąlygomis ir veiksmais
Telefonas
Taisyklės veiksmas Webhook su užpildytu lauku URL
Kompiuteris
Taisyklės veiksmas Webhook su užpildytu lauku URL
Telefonas

Jei adresas neteisingas, programėlė rodo URL negaliojantis.

Platforma siunčia POST su JSON turiniu (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": []
}
Laukas Turinys
event triggered, kai taisyklė suveikia. resolved, kai vykdomas veiksmas Atstatant.
rule.id, rule.name Taisyklės numeris ir pavadinimas
rule.serialno Taisyklės įrenginys
rule.this_data Taisyklės sąlygos
device_data Kiekvieno taisyklės įrenginio dabartinė būsena pagal serijos numerį. Tas pats formatas kaip WebSocket atnaujinimų.
messages Klaidos, pavyzdžiui, Failed to get state of e11:123 for rule #4321, kai įrenginio būsena nepasiekiama

R reikšmės yra neapdorotos. Pavyzdyje T: 912 reiškia 9.12 °C. Žr. apibrėžtis puslapyje REST API.

Platforma pašalina iš device_data įrenginio WiFi duomenis (tinklo pavadinimą, slaptažodį ir įmonės tinklo duomenis).

Užklausa neturi parašo (HMAC). Kad patikrintumėte, ar užklausa ateina iš Jūsų taisyklės:

  1. Sukurkite ilgą atsitiktinę paslaptį, pavyzdžiui, su openssl rand -hex 32.
  2. Įdėkite paslaptį į adreso užklausos eilutę: https://example.com/ham-hook?token=YOUR_SECRET.
  3. Savo sistemoje atmeskite kiekvieną užklausą, kuri neturi teisingo token.
  • Adresas turi prasidėti https://.
  • Platforma nekviečia vietinių ir privačių adresų: 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 ir susijusių IPv6 adresų (::1, fe80:, fc00::/7).
  • Iki 5 iškvietimų per 60 sekundžių kiekvienam taisyklės webhook veiksmui.
  • Iki 30 webhook iškvietimų per 60 sekundžių kiekvienai paskyrai.
  • Platforma praleidžia iškvietimus virš ribų. Ji jų nesiunčia vėliau.
  • Platforma netikrina Jūsų atsakymo HTTP būsenos ir nesiunčia užklausos dar kartą.
  • Veiksmas gali turėti delsą (PO). Taisyklė iš viso turi iki 12 veiksmų.

Pirmam bandymui naudokite viešą paslaugą, kuri rodo gautas užklausas. Sukurkite taisyklę su paprasta sąlyga ir pažiūrėkite į užklausos turinį.

Pokalbis su pagalba