Μετάβαση στο περιεχόμενο

Webhooks από κανόνες

Ένας κανόνας μπορεί να καλεί μια διεύθυνση URL όταν ενεργοποιείται. Έτσι το δικό σας σύστημα μαθαίνει αμέσως ένα συμβάν, π.χ. υψηλή θερμοκρασία ή αποσύνδεση συσκευής.

  • Η HAM Systems ενεργοποιεί τα webhooks ανά λογαριασμό. Αν η εφαρμογή δείχνει Τα webhooks δεν είναι ενεργοποιημένα για τον λογαριασμό σας, επικοινωνήστε με την υποστήριξη.
  • Χρειάζεστε μια διεύθυνση https:// που δέχεται αιτήματα POST από το διαδίκτυο.
  1. Ανοίξτε το Μενού. Στην ομάδα Εργαλεία, πατήστε Κανόνες cloud.
  2. Ανοίξτε έναν κανόνα ή φτιάξτε νέο κανόνα. Δείτε τη δημιουργία κανόνα.
  3. Στις ενέργειες, πατήστε Προσθήκη ενέργειας.
  4. Στη λίστα επιλέξτε Κλήση Web.
  5. Στο πεδίο URL γράψτε τη διεύθυνση του συστήματός σας.
  6. Αν θέλετε κλήση και όταν ο κανόνας επανέλθει, πατήστε Προσθήκη ενέργειας επαναφοράς και επιλέξτε ξανά Κλήση Web.
  7. Πατήστε Αποθήκευση.
Νέος κανόνας με συνθήκες και ενέργειες
Υπολογιστής
Νέος κανόνας με συνθήκες και ενέργειες
Κινητό
Ενέργεια κανόνα με τύπο Webhook και συμπληρωμένο το πεδίο URL
Υπολογιστής
Ενέργεια κανόνα με τύπο Webhook και συμπληρωμένο το πεδίο URL
Κινητό

Αν η διεύθυνση δεν είναι σωστή, η εφαρμογή δείχνει Το URL δεν είναι έγκυρο.

Η πλατφόρμα στέλνει POST με σώμα JSON (Content-Type: application/json):

{
"event": "triggered",
"rule": {
"id": 4321,
"name": "Ψυγείο 1 θερμοκρασία",
"serialno": "e11:123",
"this_data": [ { "...": "οι συνθήκες του κανόνα" } ]
},
"device_data": {
"e11:123": {
"R": { "T": 912, "GI": 1, "GIC": 0, "GI2": 1, "GI2C": 0 },
"O": [],
"S": { "...": "οι ρυθμίσεις της συσκευής" }
}
},
"messages": []
}
Πεδίο Περιεχόμενο
event triggered όταν ο κανόνας ενεργοποιείται. resolved όταν τρέχει μια ενέργεια Κατά την επαναφορά.
rule.id, rule.name Ο αριθμός και το όνομα του κανόνα
rule.serialno Η συσκευή του κανόνα
rule.this_data Οι συνθήκες του κανόνα
device_data Η τρέχουσα κατάσταση κάθε συσκευής του κανόνα, με κλειδί τον σειριακό αριθμό. Ίδια μορφή με τις ενημερώσεις του WebSocket.
messages Σφάλματα, π.χ. Failed to get state of e11:123 for rule #4321 όταν η κατάσταση μιας συσκευής δεν είναι διαθέσιμη

Οι τιμές στο R είναι ακατέργαστες. Στο παράδειγμα, T: 912 σημαίνει 9.12 °C. Δείτε τους ορισμούς στο REST API.

Η πλατφόρμα αφαιρεί από το device_data τα στοιχεία WiFi της συσκευής (όνομα δικτύου, κωδικός και στοιχεία enterprise).

Το αίτημα δεν έχει υπογραφή (HMAC). Για να ελέγξετε ότι το αίτημα έρχεται από τον κανόνα σας:

  1. Δημιουργήστε ένα μεγάλο τυχαίο μυστικό, π.χ. με openssl rand -hex 32.
  2. Βάλτε το μυστικό στο query string της διεύθυνσης: https://example.com/ham-hook?token=YOUR_SECRET.
  3. Στο σύστημά σας, απορρίψτε κάθε αίτημα που δεν έχει το σωστό token.
  • Η διεύθυνση πρέπει να ξεκινά με https://.
  • Η πλατφόρμα δεν καλεί τοπικές και ιδιωτικές διευθύνσεις: 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/8 και τις αντίστοιχες IPv6 (::1, fe80:, fc00::/7).
  • Έως 5 κλήσεις ανά 60 δευτερόλεπτα για κάθε ενέργεια webhook ενός κανόνα.
  • Έως 30 κλήσεις webhook ανά 60 δευτερόλεπτα για κάθε λογαριασμό.
  • Η πλατφόρμα παραλείπει τις κλήσεις πάνω από τα όρια. Δεν τις στέλνει αργότερα.
  • Η πλατφόρμα δεν ελέγχει τον κωδικό HTTP της απάντησής σας και δεν ξαναστέλνει το αίτημα.
  • Μια ενέργεια μπορεί να έχει καθυστέρηση (ΜΕΤΑ ΑΠΟ). Ένας κανόνας έχει έως 12 ενέργειες συνολικά.

Για μια πρώτη δοκιμή, χρησιμοποιήστε μια δημόσια υπηρεσία που δείχνει τα αιτήματα που δέχεται. Ορίστε έναν κανόνα με εύκολη συνθήκη και δείτε το σώμα του αιτήματος.

Chat με την υποστήριξη