Webhooks fra regler
En regel kan kalle en URL når den utløses. Slik får ditt eget system vite om en hendelse med en gang, for eksempel en høy temperatur eller en enhet som kobler seg fra.
Før du starter
Section titled “Før du starter”- HAM Systems slår på webhooks for hver konto. Hvis appen viser Webhooks er ikke aktivert for kontoen din, kontakt kundestøtte.
- Du trenger en
https://-adresse som tar imotPOST-forespørsler fra internett.
Legg til en webhook i en regel
Section titled “Legg til en webhook i en regel”- Åpne Meny. I gruppen Verktøy, trykk på Skyregler.
- Åpne en regel eller lag en ny regel. Se Opprett en regel.
- I handlingene, trykk på Legg til handling.
- I listen, velg Webhook.
- I feltet URL, skriv adressen til systemet ditt.
- Hvis du også vil ha et kall når regelen blir tilbakestilt, trykk på Legg til tilbakestillingshandling og velg Webhook igjen.
- Trykk på Lagre.




Hvis adressen ikke er riktig, viser appen URL er ikke gyldig.
Forespørselen
Section titled “Forespørselen”Plattformen sender en POST med JSON-innhold (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": []}| Felt | Innhold |
|---|---|
event |
triggered når regelen utløses. resolved når en handling Ved tilbakestilling kjører. |
rule.id, rule.name |
Nummeret og navnet på regelen |
rule.serialno |
Enheten for regelen |
rule.this_data |
Betingelsene for regelen |
device_data |
Den aktuelle tilstanden for hver enhet i regelen, med serienummeret som nøkkel. Det samme formatet som oppdateringene fra WebSocket. |
messages |
Feil, for eksempel Failed to get state of e11:123 for rule #4321 når tilstanden til en enhet ikke er tilgjengelig |
Verdiene i R er rå. I eksempelet betyr T: 912 9,12 °C. Se definisjonene i REST API.
Plattformen fjerner WiFi-detaljene for enheten (nettverksnavn, passord og enterprise-detaljer) fra device_data.
Beskytt webhooken
Section titled “Beskytt webhooken”Forespørselen har ingen signatur (HMAC). For å kontrollere at forespørselen kommer fra regelen din:
- Lag en lang tilfeldig hemmelighet, for eksempel med
openssl rand -hex 32. - Sett hemmeligheten i spørrestrengen til adressen:
https://example.com/ham-hook?token=YOUR_SECRET. - I systemet ditt, avvis hver forespørsel som ikke har riktig
token.
Regler og grenser
Section titled “Regler og grenser”- Adressen må starte med
https://. - Plattformen kaller ikke lokale og private adresser:
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/8og de tilsvarende IPv6-adressene (::1,fe80:,fc00::/7). - Opptil 5 kall per 60 sekunder for hver webhook-handling i en regel.
- Opptil 30 webhook-kall per 60 sekunder for hver konto.
- Plattformen hopper over kallene over grensene. Den sender dem ikke senere.
- Plattformen kontrollerer ikke HTTP-statusen i svaret ditt og sender ikke forespørselen på nytt.
- En handling kan ha en forsinkelse (ETTER). En regel har opptil 12 handlinger totalt.
For en første test, bruk en offentlig tjeneste som viser forespørslene som den tar imot. Lag en regel med en enkel betingelse og se på innholdet i forespørselen.

