Kurallardan webhook'lar
Bir kural tetiklendiğinde bir URL’yi çağırabilir. Böylece kendi sisteminiz bir olayı hemen öğrenir, örneğin yüksek bir sıcaklığı veya bir cihazın bağlantısının kesilmesini.
Başlamadan önce
Bölüm başlığı “Başlamadan önce”- HAM Systems webhook’ları hesap bazında açar. Uygulama Hesabınız için Webhook’lar etkin değil gösterirse destekle iletişime geçin.
- İnternetten
POSTisteklerini kabul eden birhttps://adresine ihtiyacınız vardır.
Bir kurala webhook ekleme
Bölüm başlığı “Bir kurala webhook ekleme”- Menü seçeneğini açın. Araçlar grubunda Bulut kuralları seçeneğine dokunun.
- Bir kuralı açın veya yeni bir kural oluşturun. Bkz. Kural oluşturma.
- Eylemlerde Eylem ekle seçeneğine dokunun.
- Listede Webhook seçin.
- URL alanına sisteminizin adresini yazın.
- Kural sıfırlandığında da bir çağrı istiyorsanız Sıfırlama eylemi ekle seçeneğine dokunun ve tekrar Webhook seçin.
- Kaydet seçeneğine dokunun.




Adres doğru değilse uygulama URL geçerli değil gösterir.
Platform JSON gövdeli (Content-Type: application/json) bir POST gönderir:
{ "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": []}| Alan | İçerik |
|---|---|
event |
Kural tetiklendiğinde triggered. Bir Sıfırlamada eylemi çalıştığında resolved. |
rule.id, rule.name |
Kuralın numarası ve adı |
rule.serialno |
Kuralın cihazı |
rule.this_data |
Kural koşulları |
device_data |
Kuralın her cihazının seri numarasına göre geçerli durumu. WebSocket güncellemeleriyle aynı biçim. |
messages |
Hatalar, örneğin bir cihazın durumu mevcut olmadığında Failed to get state of e11:123 for rule #4321 |
R içindeki değerler ham değerlerdir. Örnekte T: 912, 9.12 °C anlamına gelir. REST API içindeki tanımlara bakın.
Platform, cihazın WiFi bilgilerini (ağ adı, parola ve kurumsal bilgiler) device_data alanından kaldırır.
Webhook’u güvenli hale getirme
Bölüm başlığı “Webhook’u güvenli hale getirme”İsteğin imzası (HMAC) yoktur. İsteğin kuralınızdan geldiğini kontrol etmek için:
- Uzun, rastgele bir gizli değer oluşturun, örneğin
openssl rand -hex 32ile. - Gizli değeri adresin sorgu dizesine koyun:
https://example.com/ham-hook?token=YOUR_SECRET. - Sisteminizde doğru
tokenolmayan her isteği reddedin.
Kurallar ve sınırlar
Bölüm başlığı “Kurallar ve sınırlar”- Adres
https://ile başlamalıdır. - Platform yerel ve özel adresleri çağırmaz:
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/8ve ilgili IPv6 adresleri (::1,fe80:,fc00::/7). - Bir kuralın her webhook eylemi için 60 saniyede en fazla 5 çağrı.
- Her hesap için 60 saniyede en fazla 30 webhook çağrısı.
- Platform sınırların üzerindeki çağrıları atlar. Onları daha sonra göndermez.
- Platform yanıtınızın HTTP durumunu kontrol etmez ve isteği tekrar göndermez.
- Bir eylemin bir gecikmesi (SONRA) olabilir. Bir kuralda toplam en fazla 12 eylem vardır.
İlk test için aldığı istekleri gösteren herkese açık bir hizmet kullanın. Kolay bir koşulla bir kural oluşturun ve istek gövdesine bakın.

