Οι φυσικές συσκευές σπάνια αποστέλλουν ακριβώς την τιμή που απαιτεί η εφαρμογή: ένας μετρητής στέλνει δέκατα του κιλοβάτ, ένα status byte περιλαμβάνει οκτώ flags, ένα ρελέ λειτουργεί με ανεστραμμένη λογική. Οι Μετασχηματισμοί (Transformations) μετατρέπουν την τιμή του πρωτοκόλλου σε τιμή προβολής, ανά αντικείμενο. Στη συνέχεια, η σελίδα Health παρακολουθεί κάθε διασύνδεση και μετασχηματισμό στην εγκατάσταση.
Μετασχηματισμοί
Κάθε αντικείμενο επικοινωνίας μπορεί να διαθέτει μια διατεταγμένη αλυσίδα μετασχηματισμών. Ανοίξτε το πρόγραμμα επεξεργασίας Transformations του αντικειμένου από την αντίστοιχη γραμμή του, κάντε κλικ στο Add Transformation και επιλέξτε τύπο:
| Τύπος | Λειτουργία |
|---|---|
| Scale & Offset | Γραμμική μετατροπή: (value × scale) + offset. Μετατροπές μονάδων, κλιμάκωση μετρητών. |
| Invert Boolean | Εναλλαγή true και false — για πρωτόκολλα όπου το 0 σημαίνει ON. |
| Bit Extract | Εξαγωγή εύρους bit από ακέραιο (start bit, αριθμός bit, προαιρετικά signed). |
| Bit Check | Έλεγχος ενός bit σε ακέραιο και επιστροφή boolean τιμής (προαιρετικά ανεστραμμένης). |
| Value Map | Αντιστοίχιση διακριτών τιμών σε άλλες τιμές (enum remapping), με προαιρετική προεπιλογή και strict mode. |
| Clamp | Περιορισμός τιμών εντός εύρους (ή στα όρια min/max του ίδιου του αντικειμένου). |
| Threshold | Μετατροπή αριθμού σε boolean (>, >=, <, <=, ==, != ως προς κατώφλι, με προαιρετική υστέρηση). |
| Round | Στρογγυλοποίηση σε συγκεκριμένη ακρίβεια (round, floor, ceiling, truncate). |
Κάθε μετασχηματισμός έχει μια κατεύθυνση (direction):
- Incoming — πρωτόκολλο → widget (αυτό που προβάλλει η εφαρμογή).
- Outgoing — widget → πρωτόκολλο (αυτό που αποστέλλει μια εντολή).
- Both — εφαρμογή και προς τις δύο κατευθύνσεις, εφόσον η λειτουργία είναι αντιστρέψιμη.
Οι αλυσίδες εκτελούνται σειριακά. Σύρετε για αναδιάταξη. Μια ζωντανή προεπισκόπηση (preview) σας επιτρέπει να πληκτρολογήσετε μια τιμή εισόδου και να δείτε άμεσα το αποτέλεσμα της αλυσίδας με παραδείγματα.

Επικύρωση. Το πρόγραμμα επεξεργασίας επικυρώνει ολόκληρη την αλυσίδα σε σχέση με το αντικείμενο και τους τύπους δεδομένων του πρωτοκόλλου:
- Τα κρίσιμα σφάλματα (π.χ. συντελεστής κλίμακας ίσος με μηδέν, ασύμβατος τύπος εξόδου αλυσίδας για τον τύπο του αντικειμένου) πρέπει να διορθωθούν πριν από την αποθήκευση.
- Οι προειδοποιήσεις (π.χ. μετατροπή με εξαναγκασμό τύπου ή πιθανή απώλεια ακρίβειας) επιτρέπουν την αποθήκευση, αλλά διατηρούν το αντικείμενο επισημασμένο στη σελίδα Health.
Πότε απαιτείται μετασχηματισμός
Ο χώρος εργασίας Devices υποδεικνύει πότε απαιτείται μετασχηματισμός: μέσω του παραθύρου DPT-mismatch κατά τη διασύνδεση KNX (βλ. «KNX Integration») και μέσω της προειδοποίησης τύπου δεδομένων στις ρυθμίσεις αντικειμένου (βλ. «Object Settings, Logging & Notifications»). Μέχρι να οριστεί ο κατάλληλος μετασχηματισμός μετατροπής, το αντικείμενο εμφανίζεται στη σελίδα Health.
Η σελίδα Health
Ανοίξτε τη σελίδα Health από την κεφαλίδα της σελίδας Devices. Παραθέτει κάθε αντικείμενο που παρουσιάζει πρόβλημα:
- ασύμβατη σύνδεση πρωτοκόλλου ↔ widget (διασύνδεση με μη συμβατούς τύπους δεδομένων),
- πρόβλημα παραμετροποίησης μετασχηματισμού,
- πρόσφατο σφάλμα χρόνου εκτέλεσης (τιμή που απέτυχε να μετατραπεί κατά τη λειτουργία).
Κάθε γραμμή εμφανίζει το αντικείμενο, το πλήθος προβλημάτων ανά κατηγορία (σφάλματα παραμετροποίησης, σφάλματα χρόνου εκτέλεσης) και τις λεπτομέρειες κάθε προβλήματος. Από κάθε γραμμή μπορείτε να επιλέξετε:
- Open in Devices — άμεση μετάβαση στη συσκευή για διόρθωση της διασύνδεσης ή της αλυσίδας.
- Clear runtime errors — εκκαθάριση των καταγεγραμμένων σφαλμάτων χρόνου εκτέλεσης για το συγκεκριμένο αντικείμενο ή για όλα τα αντικείμενα ταυτόχρονα, ώστε να επιβεβαιώσετε τη διόρθωση σε καθαρή βάση.
Όταν όλα λειτουργούν σωστά, η σελίδα εμφανίζει απλώς την ένδειξη No problems found — all widget objects are healthy.
💡 Συμβουλή: Μετά τη θέση σε λειτουργία, ανοίξτε τη σελίδα Health αφού η εγκατάσταση παραμείνει σε πραγματική λειτουργία για μερικές ώρες: εντοπίζει ασυμβατότητες που εμφανίζονται μόνο όταν αρχίσει η ροή πραγματικών τιμών.
