Webhooks från regler
En regel kan anropa en URL när den utlöses. På så sätt får ditt eget system veta om en händelse direkt, till exempel en hög temperatur eller en frånkopplad enhet.
Innan du börjar
Section titled “Innan du börjar”- HAM Systems slår på webhooks per konto. Om appen visar Webhooks är inte aktiverade för ditt konto, kontakta support.
- Du behöver en
https://-adress som accepterarPOST-begäranden från internet.
Lägg till en webhook i en regel
Section titled “Lägg till en webhook i en regel”- Öppna Meny. I gruppen Verktyg, tryck på Molnregler.
- Öppna en regel eller skapa en ny regel. Se skapa en regel.
- I åtgärderna, tryck på Lägg till åtgärd.
- I listan, välj Webhook.
- I fältet URL, skriv adressen till ditt system.
- Om du också vill ha ett anrop när regeln återställs, tryck på Lägg till återställningsåtgärd och välj Webhook igen.
- Tryck på Spara.




Om adressen inte är korrekt visar appen URL:en är inte giltig.
Begäran
Section titled “Begäran”Plattformen skickar en POST med ett JSON-innehåll (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": []}| Fält | Innehåll |
|---|---|
event |
triggered när regeln utlöses. resolved när en åtgärd Vid återställning körs. |
rule.id, rule.name |
Regelns nummer och namn |
rule.serialno |
Regelns enhet |
rule.this_data |
Regelns villkor |
device_data |
Det aktuella tillståndet för varje enhet i regeln, med serienumret som nyckel. Samma format som uppdateringarna i WebSocket. |
messages |
Fel, till exempel Failed to get state of e11:123 for rule #4321 när en enhets tillstånd inte är tillgängligt |
Värdena i R är råvärden. I exemplet betyder T: 912 9.12 °C. Se definitionerna i REST API.
Plattformen tar bort enhetens WiFi-uppgifter (nätverksnamn, lösenord och enterprise-uppgifter) från device_data.
Skydda din webhook
Section titled “Skydda din webhook”Begäran har ingen signatur (HMAC). För att kontrollera att begäran kommer från din regel:
- Skapa en lång slumpmässig hemlighet, till exempel med
openssl rand -hex 32. - Lägg hemligheten i adressens frågesträng:
https://example.com/ham-hook?token=YOUR_SECRET. - I ditt system, avvisa varje begäran som inte har rätt
token.
Regler och gränser
Section titled “Regler och gränser”- Adressen måste börja med
https://. - Plattformen anropar inte lokala och privata 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/8och motsvarande IPv6-adresser (::1,fe80:,fc00::/7). - Upp till 5 anrop per 60 sekunder för varje webhook-åtgärd i en regel.
- Upp till 30 webhook-anrop per 60 sekunder för varje konto.
- Plattformen hoppar över anropen över gränserna. Den skickar dem inte senare.
- Plattformen kontrollerar inte HTTP-statusen i ditt svar och skickar inte begäran igen.
- En åtgärd kan ha en fördröjning (EFTER). En regel har upp till 12 åtgärder totalt.
För ett första test, använd en offentlig tjänst som visar de begäranden som den tar emot. Skapa en regel med ett enkelt villkor och titta på begärans innehåll.

