Webhooks fra regler
En regel kan kalde en URL, når den udløses. Så får dit eget system besked om en hændelse med det samme, for eksempel en høj temperatur eller en afbrudt enhed.
Før du starter
Sektion kaldt “Før du starter”- HAM Systems slår webhooks til for hver konto. Hvis app’en viser Webhooks er ikke aktiveret for din konto, skal du kontakte support.
- Du skal have en
https://-adresse, der acceptererPOST-anmodninger fra internettet.
Tilføj en webhook til en regel
Sektion kaldt “Tilføj en webhook til en regel”- Åbn Menu. Tryk på Skyregler i gruppen Værktøjer.
- Åbn en regel, eller lav en ny regel. Se Opret en regel.
- Tryk på Tilføj handling i handlingerne.
- Vælg Webhook på listen.
- Skriv adressen på dit system i feltet URL.
- Hvis du også vil have et kald, når reglen nulstilles, skal du trykke på Tilføj nulstillingshandling og vælge Webhook igen.
- Tryk på Gem.




Hvis adressen ikke er korrekt, viser app’en URL’en er ikke gyldig.
Anmodningen
Sektion kaldt “Anmodningen”Platformen sender en POST med et JSON-indhold (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 | Indhold |
|---|---|
event |
triggered, når reglen udløses. resolved, når en handling Ved nulstilling kører. |
rule.id, rule.name |
Reglens nummer og navn |
rule.serialno |
Reglens enhed |
rule.this_data |
Reglens betingelser |
device_data |
Den aktuelle tilstand for hver enhed i reglen med serienummeret som nøgle. Det samme format som opdateringerne fra WebSocket. |
messages |
Fejl, for eksempel Failed to get state of e11:123 for rule #4321, når en enheds tilstand ikke er tilgængelig |
Værdierne i R er rå. I eksemplet betyder T: 912 9.12 °C. Se definitionerne i REST API.
Platformen fjerner enhedens WiFi-oplysninger (netværksnavn, adgangskode og enterprise-oplysninger) fra device_data.
Beskyt din webhook
Sektion kaldt “Beskyt din webhook”Anmodningen har ingen signatur (HMAC). For at kontrollere, at anmodningen kommer fra din regel:
- Lav en lang tilfældig hemmelighed, for eksempel med
openssl rand -hex 32. - Sæt hemmeligheden i adressens forespørgselsstreng:
https://example.com/ham-hook?token=YOUR_SECRET. - Afvis i dit system hver anmodning, der ikke har det korrekte
token.
Regler og grænser
Sektion kaldt “Regler og grænser”- Adressen skal starte med
https://. - Platformen kalder 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-adresser (::1,fe80:,fc00::/7). - Op til 5 kald for hver 60 sekunder for hver webhook-handling i en regel.
- Op til 30 webhook-kald for hver 60 sekunder for hver konto.
- Platformen springer kaldene over grænserne over. Den sender dem ikke senere.
- Platformen kontrollerer ikke HTTP-statussen i dit svar og sender ikke anmodningen igen.
- En handling kan have en forsinkelse (EFTER). En regel har op til 12 handlinger i alt.
Brug en offentlig tjeneste, der viser de anmodninger, den modtager, til en første test. Lav en regel med en nem betingelse, og se på anmodningens indhold.

