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.
Ennen kuin aloitat
Osio nimeltä “Ennen kuin aloitat”- 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äksyyPOST-pyyntöjä internetistä.
Lisää webhook sääntöön
Osio nimeltä “Lisää webhook sääntöön”- Avaa Valikko. Napauta ryhmässä Työkalut Pilvisäännöt.
- Avaa sääntö tai tee uusi sääntö. Katso Luo sääntö.
- Napauta toiminnoissa Lisää toiminto.
- Valitse luettelosta Webhook.
- Kirjoita kenttään URL järjestelmäsi osoite.
- Jos haluat kutsun myös, kun sääntö nollautuu, napauta Lisää nollaustoiminto ja valitse Webhook uudelleen.
- Napauta Tallenna.




Jos osoite ei ole oikea, sovellus näyttää URL ei kelpaa.
Pyyntö
Osio nimeltä “Pyyntö”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.
Suojaa webhook
Osio nimeltä “Suojaa webhook”Pyynnössä ei ole allekirjoitusta (HMAC). Näin tarkistat, että pyyntö tulee säännöstäsi:
- Tee pitkä satunnainen salaisuus, esimerkiksi komennolla
openssl rand -hex 32. - Laita salaisuus osoitteen kyselymerkkijonoon:
https://example.com/ham-hook?token=YOUR_SECRET. - Hylkää järjestelmässäsi jokainen pyyntö, jossa ei ole oikeaa
token-arvoa.
Säännöt ja rajat
Osio nimeltä “Säännöt ja rajat”- 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/8ja 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.
Testaa
Osio nimeltä “Testaa”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.

