Siirry sisältöön

Webhookit säännöistä

Sääntö voi kutsua URL-osoitetta, kun se laukeaa. Näin oma järjestelmäsi saa tiedon tapahtumasta heti, esimerkiksi korkeasta lämpötilasta tai laitteen yhteyden katkeamisesta.

  • HAM Systems ottaa webhookit käyttöön tilikohtaisesti. Jos sovellus näyttää Webhookit eivät ole käytössä tililläsi, ota yhteyttä tukeen.
  • Tarvitset https://-osoitteen, joka hyväksyy POST-pyyntöjä internetistä.
  1. Avaa Valikko. Napauta ryhmässä Työkalut Pilvisäännöt.
  2. Avaa sääntö tai tee uusi sääntö. Katso Luo sääntö.
  3. Napauta toiminnoissa Lisää toiminto.
  4. Valitse luettelosta Webhook.
  5. Kirjoita kenttään URL järjestelmäsi osoite.
  6. Jos haluat kutsun myös, kun sääntö nollautuu, napauta Lisää nollaustoiminto ja valitse Webhook uudelleen.
  7. Napauta Tallenna.
Uusi sääntö, ehdot ja toiminnot
Tietokone
Uusi sääntö, ehdot ja toiminnot
Puhelin
Säännön toiminto Webhook ja täytetty URL-kenttä
Tietokone
Säännön toiminto Webhook ja täytetty URL-kenttä
Puhelin

Jos osoite ei ole oikea, sovellus näyttää URL ei kelpaa.

Alusta lähettää POST-pyynnön, jossa on JSON-runko (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": []
}
Kenttä Sisältö
event triggered, kun sääntö laukeaa. resolved, kun toiminto Nollattaessa suoritetaan.
rule.id, rule.name Säännön numero ja nimi
rule.serialno Säännön laite
rule.this_data Säännön ehdot
device_data Säännön kunkin laitteen nykyinen tila, avaimena sarjanumero. Sama muoto kuin WebSocketin päivityksissä.
messages Virheet, esimerkiksi Failed to get state of e11:123 for rule #4321, kun laitteen tila ei ole saatavilla

Kentän R arvot ovat raakoja. Esimerkissä T: 912 tarkoittaa 9.12 °C. Katso määritykset sivulta REST API.

Alusta poistaa laitteen WiFi-tiedot (verkon nimen, salasanan ja enterprise-tiedot) kentästä device_data.

Pyynnössä ei ole allekirjoitusta (HMAC). Näin tarkistat, että pyyntö tulee säännöstäsi:

  1. Tee pitkä satunnainen salaisuus, esimerkiksi komennolla openssl rand -hex 32.
  2. Laita salaisuus osoitteen kyselymerkkijonoon: https://example.com/ham-hook?token=YOUR_SECRET.
  3. Hylkää järjestelmässäsi jokainen pyyntö, jossa ei ole oikeaa token-arvoa.
  • Osoitteen on alettava https://.
  • Alusta ei kutsu paikallisia ja yksityisiä osoitteita: 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 ja vastaavat IPv6-osoitteet (::1, fe80:, fc00::/7).
  • Enintään 5 kutsua 60 sekunnissa kutakin säännön webhook-toimintoa kohti.
  • Enintään 30 webhook-kutsua 60 sekunnissa kutakin tiliä kohti.
  • Alusta ohittaa rajat ylittävät kutsut. Se ei lähetä niitä myöhemmin.
  • Alusta ei tarkista vastauksesi HTTP-tilaa eikä lähetä pyyntöä uudelleen.
  • Toiminnolla voi olla viive (JÄLKEEN). Säännössä on yhteensä enintään 12 toimintoa.

Ensimmäiseen testiin käytä julkista palvelua, joka näyttää vastaanottamansa pyynnöt. Tee sääntö, jossa on helppo ehto, ja katso pyynnön runkoa.

Chat tuen kanssa