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

HyperVisu / Ενοποιήσεις

Ενσωμάτωση HTTP

Έλεγχος και περιοδική ανάγνωση API HTTP με εξαγωγή JSON και ευέλικτη αυθεντικοποίηση.

elausys · 28 Ιουλίου 2026
Σε αυτή τη σελίδα

Ενσωμάτωση HTTP

Το πρωτόκολλο HTTP ενσωματώνει συσκευές και υπηρεσίες που χρησιμοποιούν απλό HTTP: REST API, υπηρεσίες cloud με τοπικό API ή απλά δικτυακά ρελέ. Λειτουργεί σε δύο κατευθύνσεις:

  • Εξερχόμενα αιτήματα — όταν αλλάζει η τιμή ενός widget, το HyperVisu στέλνει ένα αίτημα (έλεγχος συσκευής ή κλήση webhook).
  • Περιοδική ανάγνωση — το HyperVisu ζητά περιοδικά μια URL και εξάγει μια τιμή από την απόκριση σε ένα αντικείμενο widget.

Συνδέσεις. Ενεργοποιήστε πρώτα το HTTP Protocol στη σελίδα Services (βλ. «Υπηρεσίες και πρωτόκολλα»)· σε νέο διακομιστή είναι απενεργοποιημένο. Το HTTP υποστηρίζει πολλές συνδέσεις: μία ανά Base URL, καθεμία με δικά της Poll Interval (seconds), Timeout (ms) και αυθεντικοποίηση (βλ. «Συνδέσεις»). Το χρονικό όριο είναι σε χιλιοστά του δευτερολέπτου, από 1000 έως 120000· αν μείνει κενό, το αίτημα περιμένει 30 δευτερόλεπτα.

Επιλέξτε το Authentication Type που απαιτεί το API. Η αλλαγή τύπου αδειάζει όλα τα πεδία διαπιστευτηρίων.

Authentication TypeΣτοιχεία προς συμπλήρωσηΤρόπος αποστολής
NoneΧωρίς διαπιστευτήρια.Δεν προστίθεται τίποτα.
API Key (Header)Header Name και API Key.Κεφαλίδα με αυτό το όνομα και το κλειδί.
API Key (Query Parameter)Query Parameter και API Key.Προστίθενται στην URL κάθε αιτήματος.
Basic AuthenticationUsername και Password.Η τυπική κεφαλίδα εξουσιοδότησης Basic.
Bearer TokenBearer Token.Η τυπική κεφαλίδα εξουσιοδότησης Bearer.
Custom HeadersΜία γραμμή ανά κεφαλίδα, με όνομα και τιμή· το Add Header προσθέτει γραμμή.Κάθε γραμμή, σε κάθε αίτημα.

Συμπληρώστε και τα δύο πεδία κάθε ζεύγους: ζεύγος με ένα κενό πεδίο δεν αποστέλλεται. Τα API Key, Password και Bearer Token αποκρύπτονται στον επεξεργαστή· οι τιμές στο Custom Headers εμφανίζονται ως απλό κείμενο.

Μια σύνδεση HTTP δεν διαθέτει κουμπί Test. Η κατάστασή της παραμένει State unknown μέχρι ένα συνδεδεμένο αντικείμενο να ανταλλάξει αίτημα· κατόπιν το Connected σημαίνει ότι έγινε αποδεκτό το τελευταίο αίτημα και το No reply since εμφανίζεται μετά από αποτυχία.

📘 Σημείωση: Διάστημα περιοδικής ανάγνωσης 0 κάνει τη σύνδεση μόνο για εγγραφή — δεν γίνεται ανάγνωση, αποστέλλονται μόνο εξερχόμενα αιτήματα. Κενό διάστημα σημαίνει επίσης ότι το τελικό σημείο δεν διαβάζεται ποτέ: πληκτρολογήστε την τιμή, το γκρι 60 είναι απλώς υπόδειξη.

Σύνδεση αντικειμένου. Ανά αντικείμενο ορίζετε τα Path και HTTP Method και, για περιοδικά αναγνωσμένες τιμές, τον τρόπο εξαγωγής της μέτρησης από την απόκριση με τα Parse Method και Parse Path:

  • JSON — διαδρομή με σύνταξη τελείας και πίνακα, π.χ. data.sensors[0].temperature. Αρνητικός δείκτης όπως [-1] διαβάζει το τελευταίο στοιχείο· φίλτρα και χαρακτήρες μπαλαντέρ δεν υποστηρίζονται.
  • Pattern Matching — για αποκρίσεις που δεν είναι JSON. Το Parse Path πρέπει να αρχίζει με PATTERN=, για παράδειγμα PATTERN=Temp:\s\v. Η αλλαγή μεθόδου ανάλυσης αδειάζει το Parse Path, επομένως συμπληρώστε το αφού επιλέξετε τη μέθοδο.

Για εξερχόμενα αιτήματα ορίστε το HTTP Method σε POST ή PUT και επιλέξτε το Content Type. Το Request Body Template είναι πρότυπο στο οποίο το ${value} αντικαθίσταται με την αποστελλόμενη τιμή, π.χ. {"state": ${value}}.

📘 Σημείωση: Η περιοδική ανάγνωση στέλνει πάντα GET στο Path του αντικειμένου. Αντικείμενο POST ή PUT στέλνει αίτημα μόνο όταν αλλάζει η τιμή του.

Πρακτικό παράδειγμα — ποιότητα εξωτερικού αέρα από API τοπικού αισθητήρα

Ένας τοπικός μετρητής ποιότητας αέρα παρέχει το GET http://192.168.1.140/api/current, επιστρέφει {"pm25": 8.4, "aqi": 35} και απαιτεί το κλειδί API σε κεφαλίδα X-Api-Key.

  1. Δημιουργήστε σύνδεση HTTP: Base URL http://192.168.1.140, Poll Interval (seconds) 60, Timeout (ms) 5000, Authentication Type API Key (Header), Header Name X-Api-Key, το κλειδί στο API Key (βλ. «Συνδέσεις»).
  2. Στο Devices, προσθέστε widget Analog Input «Ποιότητα αέρα». Στο Protocol, επιλέξτε τη σύνδεση HTTP σας, που εμφανίζεται με το όνομα που της δώσατε.
  3. Στο αντικείμενο τιμής ορίστε το Path σε /api/current, αφήστε το HTTP Method σε GET και το Parse Method σε JSON και εισαγάγετε aqi στο Parse Path.
  4. Πατήστε Save object, έπειτα Apply changes στην πλαϊνή γραμμή και επιβεβαιώστε. Η μέτρηση ενημερώνεται κάθε λεπτό· ορίστε μονάδες και δεκαδικά στο αντικείμενο (βλ. «Ρυθμίσεις αντικειμένων, καταγραφή και ειδοποιήσεις»).
  5. Μετά την επόμενη ανάγνωση, ελέγξτε ότι η σύνδεση εμφανίζει Connected στη σελίδα Connections και συγκρίνετε το widget με την πραγματική απόκριση του API.
Επεξεργαστής αντικειμένου HTTP.

Σύνδεση HTTP

Τα αντικείμενα HTTP ρυθμίζονται επίσης στο παράθυρο ρυθμίσεων αντικειμένου (βλ. «Ρυθμίσεις αντικειμένων, καταγραφή και ειδοποιήσεις»). Η ενότητα HTTP ορίζει ένα αίτημα ανά αντικείμενο:

ΠεδίοΠεριγραφή
PathΠροστίθεται στη βασική URL της σύνδεσης (π.χ. weather?q=London).
HTTP MethodGET, POST ή PUT.
Content TypeΓια POST/PUT: JSON, TEXT ή FORM. Τα JSON και FORM ορίζουν την αντίστοιχη κεφαλίδα τύπου περιεχομένου· το TEXT δεν στέλνει καμία.
Parse MethodJSON — η απόκριση είναι JSON και το Parse Path προσδιορίζει την τιμή. Pattern Matching — η απόκριση είναι κείμενο και το Parse Path περιέχει μοτίβο. Η ενσωματωμένη βοήθεια σύνταξης τεκμηριώνει και τα δύο. Η αλλαγή μεθόδου ανάλυσης αδειάζει το Parse Path, επομένως επιλέξτε πρώτα τη μέθοδο.
Parse PathΜε JSON: απλή διαδρομή — σημειογραφία τελείας (data.power), δείκτης πίνακα (sensors[0]), αρνητικός δείκτης ([-1] για το τελευταίο στοιχείο) και προαιρετικό αρχικό $.. Φίλτρα και χαρακτήρες μπαλαντέρ δεν υποστηρίζονται. Με Pattern Matching: το μοτίβο, που πρέπει να αρχίζει με PATTERN= — π.χ. PATTERN=Temp:\s\v.
Request Body TemplateΓια POST/PUT: το σώμα προς αποστολή, με το ${value} ως σύμβολο κράτησης θέσης για την τιμή που εγγράφεται — π.χ. {"state":${value}}.

Η ανάγνωση χρησιμοποιεί το διάστημα περιοδικής ανάγνωσης της σύνδεσης· διάστημα 0 κάνει το τελικό σημείο μόνο για εγγραφή (βλ. «Συνδέσεις»). Η περιοδική ανάγνωση στέλνει πάντα GET στο Path του αντικειμένου· αντικείμενο POST ή PUT στέλνει το αίτημά του μόνο όταν αλλάζει η τιμή του. Πρακτικό παράδειγμα υπάρχει στο κεφάλαιο HTTP.

Συχνές ερωτήσεις

Μπορεί το HyperVisu να διαβάζει τιμές από API HTTP;

Ναι. Κάνει περιοδικά αιτήματα στη ρυθμισμένη URL και εξάγει μια τιμή με διαδρομή JSON ή μοτίβο κειμένου.

Πώς ορίζω ένα τελικό σημείο HTTP μόνο για εγγραφή;

Ορίστε το διάστημα περιοδικής ανάγνωσης της σύνδεσης σε 0. Τα εξερχόμενα αιτήματα συνεχίζουν να λειτουργούν, αλλά οι περιοδικές αναγνώσεις σταματούν.

Πώς συμπεριλαμβάνω την τιμή του widget σε ένα αίτημα;

Χρησιμοποιήστε το σύμβολο κράτησης θέσης ${value} στο πρότυπο σώματος αιτήματος. Το HyperVisu το αντικαθιστά με την τιμή που αποστέλλεται.

Πού ρυθμίζεται η αυθεντικοποίηση HTTP;

Στη σύνδεση. Οι επιλογές περιλαμβάνουν κλειδιά API, αυθεντικοποίηση Basic, διακριτικά Bearer και προσαρμοσμένες κεφαλίδες.

Συνεχίστε την εξερεύνηση

Βρείτε τους υπόλοιπους οδηγούς για αυτό το προϊόν στην τεκμηρίωση.

Επιστροφή στο Ενοποιήσεις