Σημείωση: Ο Διαχειριστής φόρτισης cFos μπορεί να διαβάσει τους περισσότερους ηλιακούς μετατροπείς που χρησιμοποιούν το SunSpec (τύπος συσκευής "SunSpec Solar Inverter / Meter"). Σε αυτή την περίπτωση, δεν χρειάζεται να δημιουργήσετε το δικό σας ορισμό μετρητή.
Ο Διαχειριστής χρέωσης cFos σας επιτρέπει να δημιουργήσετε τους δικούς σας ορισμούς μετρητών για την υποστήριξη μετρητών που δεν περιλαμβάνονται στο τυποποιημένο ρεπερτόριο. Επί του παρόντος υπάρχουν τρεις τύποι: Μετρητές Modbus, μετρητές HTTP/JSON και μετρητές MQTT/JSON. Τα αρχεία ορισμού για αυτούς τους μετρητές είναι πολύ παρόμοια. Οι μετρητές Modbus διαβάζουν τα δεδομένα τους μέσω Modbus από συγκεκριμένους καταχωρητές, ενώ οι μετρητές HTTP/JSON αντλούν τα δεδομένα τους μέσω αίτησης HTTP και αναλύουν το JSON ως απάντηση. Για τους μετρητές MQTT/JSON, ο Διαχειριστής χρέωσης cFos εγγράφεται σε θέματα MQTT και αναλύει τα μηνύματα που δημοσιεύονται στο πλαίσιο του θέματος ως JSON. Για την ανάλυση, ο Διαχειριστής χρέωσης cFos χρησιμοποιεί μια μικρή "γλώσσα ερωτημάτων". Ακολουθεί η τεκμηρίωση των δυνατοτήτων MQTT του Διαχειριστή χρέωσης cFos.
Εκτός από έναν αριθμό προκαθορισμένων μεταβλητών, όπως το ρεύμα και η τάση, οι μετρητές που έχουν οριστεί από τον χρήστη μπορούν επίσης να διαβάζουν άγνωστες μεταβλητές που έχουν οριστεί από τον χρήστη, να ρωτούν εισόδους και να ορίζουν εξόδους. Η ανάγνωση μεταβλητών και ο καθορισμός εξόδων επιτρέπει την αξιολόγηση τύπων. Σε συνδυασμό με τις μεταβλητές Charging Manager και τις συνολικές εξόδους Charging Manager που περιγράφονται παρακάτω, πρόκειται για ένα ισχυρό χαρακτηριστικό που επιτρέπει ακόμη και ορισμένες εργασίες οικιακού αυτοματισμού και τον έλεγχο εξωτερικών συσκευών, όπως η αποθήκευση μπαταριών. Αν έχετε αντιληφθεί καθήκοντα ελέγχου με αυτό, παρακαλούμε να μας δώσετε σχόλια. Μας ενδιαφέρει πολύ το τι ελέγχουν οι χρήστες με τον Διαχειριστή φόρτισης cFos και μας βοηθάει να αναπτύξουμε περαιτέρω τον Διαχειριστή φόρτισης σύμφωνα με τις ανάγκες των πελατών.
Ακολουθεί ένα απλό παράδειγμα ορισμού για το Modbus που διαβάζει έναν μόνο καταχωρητή για την ενεργό ισχύ. Μπορείτε εύκολα να τροποποιήσετε τον αριθμό του καταχωρητή για τη συγκεκριμένη εφαρμογή σας:
Παράδειγμα ορισμού για έναν απλό καταχωρητή.
Ακολουθεί ένα παράδειγμα ορισμού για Modbus και ένα για HTTP/JSON:
Λήψη δείγματος ορισμού για μετρητή Modbus
Λήψη δείγματος ορισμού για μετρητή HTTP/JSON
Η Διαχείριση φόρτισης διαθέτει ήδη μερικά τέτοια αρχεία, αλλά μπορείτε να ανεβάσετε τα δικά σας αρχεία στην ενότητα "Διαμόρφωση συστήματος" και να τα διαγράψετε ξανά.
Εδώ θα βρείτε τους περισσότερους από τους ορισμούς μετρητών που παρέχουμε:
Κατεβάστε τους παρεχόμενους ορισμούς μετρητών
Αν έχετε δημιουργήσει το δικό σας αρχείο μετρητών και θα μπορούσε να είναι χρήσιμο για άλλους χρήστες, θα σας ήμασταν ευγνώμονες αν μπορούσατε να μας το διαθέσετε. Στη συνέχεια, θα το παραδώσουμε με τις μελλοντικές εκδόσεις του Charging Manager.
Λήψη ορισμών μετρητών για πρόσθετους μετρητέςΟι ορισμοί μετρητών είναι αρχεία JSON με ένα συνολικό αντικείμενο JSON που έχει ιδιότητες και υπο-αντικείμενα. το 'rtype' καθορίζει τον τύπο της λειτουργίας ανάγνωσης: 0 = Modbus, 1 = HTTP/JSON, 2 = MQTT/JSON. 'mtype' καθορίζει τον τύπο της συσκευής: 0 = άλλη συσκευή, 1 = μετρητής, 2 = μετατροπέας, 4 = αποθήκευση μπαταρίας.
Μπορείτε να καθορίσετε αριθμούς είτε σε δεκαδικό είτε σε δεκαεξαδικό σύστημα με το πρόθεμα 0x. Επιτρέπονται επίσης σχόλια μίας γραμμής με χρήση //.
Συνιστούμε να τρέξετε τα αρχεία ορισμού σας μέσω ενός επικυρωτή JSON5, π.χ. αυτόν τον επικυρωτή JSON5 Θα πρέπει οπωσδήποτε να έχετε διαβάσει το κεφάλαιο Τύποι για να καταλάβετε ποιες τιμές μπορούν να χρησιμοποιηθούν σε τύπους στην ακόλουθη αναφορά.
silence_period, σε msec. προσδιορίζεται, η διάρκεια της παύσης πριν από μια πρόσβαση Modbus RTU, ώστε η συσκευή να αναγνωρίζει την έναρξη ενός μηνύματος.
silence_same_slave, true: Η παύση παρατηρείται και με πολλές προσβάσεις στην ίδια συσκευή.
retries: Ο αριθμός των επαναληπτικών προσπαθειών αν η συσκευή δεν απαντήσει.
rcv_timeout: σε msec. ο μέγιστος χρόνος αναμονής ανά πρόσβαση μέχρι να απαντήσει η συσκευή.
modbus_read: Ο αριθμός λειτουργίας της εντολής ανάγνωσης Modbus, συνήθως 3 ή 4.
modbus_read_max_registers: Ο μέγιστος αριθμός καταχωρητών που μπορούν να διαβαστούν ταυτόχρονα.
modbus_allow_gaps: true = Οι αχρησιμοποίητες περιοχές καταχωρητών μπορούν να διαβαστούν σε μια λειτουργία ανάγνωσης.
connect_timeout: είναι msec. ο μέγιστος χρόνος αναμονής για μια σύνδεση TCP.
delay_after_connect: σε msec. Κάντε παύση μετά την εγκαθίδρυση της σύνδεσης πριν από την αποστολή της πρώτης εντολής.
upd_delay: σε msec. καθορίζει το διάστημα στο οποίο μπορεί να διαβαστεί μια συσκευή. Ορισμένες συσκευές υπερφορτώνονται εάν ερωτώνται πολύ συχνά.
manufacturer: String, όνομα του κατασκευαστή. Αυτό εμφανίζεται στις εκτεταμένες πληροφορίες του πλακιδίου.
delay_accumulated: true = Οι συσσωρευμένες τιμές (kWh) ερωτώνται μόνο κάθε 3 δευτερόλεπτα ή αν υπάρχει επαρκής ισχύς. false = Οι τιμές αυτές ερωτώνται πάντα.
ui_addr: URL, αν διαφέρει από τη διεύθυνση της συσκευής για την κλήση της διεπαφής web.
reserved: Συστοιχία με τιμές που ερμηνεύονται ως 0 (χρήσιμο εάν η συσκευή υποστηρίζει ορισμένες τιμές ανάλογα με το μοντέλο).
Εάν παραλείψετε τις ιδιότητες που αναφέρονται παραπάνω, ο Διαχειριστής φόρτισης cFos λαμβάνει προεπιλεγμένες τιμές που λειτουργούν καλά στις περισσότερες περιπτώσεις.
Στον ορισμό JSON, το επόμενο βήμα είναι ο ορισμός των μεταβλητών που χρησιμοποιεί ο μετρητής για να διαβάσει ή να υπολογίσει τις τιμές ρεύματος, τάσης κ.λπ. Οι ακόλουθες μεταβλητές χρησιμοποιούνται από τον Διαχειριστή φόρτισης. Ο διαχειριστής φόρτισης γνωρίζει τις ακόλουθες μεταβλητές:
type_designation, version, firmware_version, serial: Αυτές αποτελούν το όνομα του μοντέλου, όπως φαίνεται στις εκτεταμένες πληροφορίες του πλακιδίου. Αυτές ερωτώνται μία φορά κατά τη ρύθμιση ή την επαναφορά του μετρητή.
voltage_l1..voltage_l3, current_l1..current_l3, power_w, power_var, power_va, power_w_l1..power_w_l3: Ο διαχειριστής φόρτισης cFos προσπαθεί να υπολογίσει τιμές για voltage_l1..l3, υπογεγραμμένο current_l1..l3, power_w και power_va από αυτές. Δεν χρειάζεται να καθορίσετε όλες τις μεταβλητές. Το cFos Charging Manager προσπαθεί να υπολογίσει τις τιμές από τις υπάρχουσες μεταβλητές.
import_wh, export_wh: Το Charging Manager χρησιμοποιεί αυτές τις μεταβλητές για την εμφάνιση των μεταβλητών import_wh και export_wh. Για μετρητές μονής κατεύθυνσης (π.χ. μετατροπείς), θα πρέπει πάντα να ορίζετε μόνο την import_wh. Η export_wh θα πρέπει να ορίζεται μόνο για αμφίδρομους μετρητές (όπως δεξαμενές αποθήκευσης ή μετρητές αναφοράς δικτύου).
soc: Εάν είναι διαθέσιμη, η κατάσταση φόρτισης μιας δεξαμενής αποθήκευσης μπαταριών εμφανίζεται σε % στο πλακίδιο.
Επιπλέον, μπορείτε να ορίσετε και άλλες μεταβλητές με διαφορετικά ονόματα που διαβάζονται με κάθε ενημέρωση ή υπολογίζονται με τη χρήση τύπων. Εάν ορίσετε μεταβλητές που αρχίζουν με CM., π.χ. CM._set_price, οι τιμές που αποδίδονται αποθηκεύονται στις παγκόσμιες μεταβλητές Charging Manager (βλ. παρακάτω) και μπορούν να αναζητηθούν αναλόγως.
Οι μεταβλητές με *: Εάν ορίσετε μεταβλητές που αρχίζουν με *, εμφανίζονται στο UI στο πλακίδιο του μετρητή κάτω από τις εκτεταμένες πληροφορίες, π.χ. η θερμοκρασία μιας αποθήκης μπαταρίας.
Το αντικείμενο έχει το όνομα του ονόματος της μεταβλητής που αναφέρεται παραπάνω και έχει τις ακόλουθες ιδιότητες: fixed: Συμβολοσειρά με σταθερή τιμή.
Χρήσιμο εάν, για παράδειγμα, δεν μπορεί να προσδιοριστεί καμία τιμή, π.χ. για type_designation ή voltage. expr: Συμβολοσειρά, η μεταβλητή δεν διαβάζεται αλλά αξιολογείται ως τύπος. type: Εάν δεν είναι fixed ή expr, ο τύπος της μεταβλητής: int16, uint16, int32, uint32, float, int64, string. Αυτό είναι σημαντικό για το Modbus προκειμένου να διαβαστούν οι καταχωρητές στη σωστή μορφή. uint16 και uint32 είναι τύποι που μπορούν να δεχτούν μόνο θετικούς αριθμούς.
Με το JSON/HTTP, μπορείτε συνήθως να χρησιμοποιήσετε float. resolution: float, η τιμή ανάγνωσης πολλαπλασιάζεται με το 'resolution'. Οι τιμές για την τάση πρέπει να είναι σε βολτ, τα ρεύματα σε χιλιοστά του αμπέρ, η ισχύς σε βατ, η ενέργεια σε βατ-ώρες (Wh).
Με αρνητικό 'resolution' μπορείτε να αντιστρέψετε μια τιμή αν έχει αντίθετο πρόσημο. once: bool (true ή false), αν true, η τιμή διαβάζεται μόνο μία φορά κατά την αρχικοποίηση της συσκευής, διαφορετικά περιοδικά. address: αριθμός (Modbus) ή συμβολοσειρά (HTTP/JSON), ο αριθμός μητρώου Modbus ή το HTTP URL της τιμής που πρέπει να διαβαστεί. query:
String, για HTTP JSON η προδιαγραφή στη γλώσσα ερωτημάτων του Charging Manager με την οποία βρίσκει την τιμή προς ανάγνωση στην απάντηση JSON. order: String, για Modbus η σειρά των byte, είτε "hl" είτε "lh", στην οποία υπάρχει η τιμή. length: number, για Modbus το μήκος μιας συμβολοσειράς σε καταχωρητές. Για τις μεταβλητές "version" και "firmware_version", το "length" χρησιμοποιείται για τη μετατροπή των αριθμητικών εκδόσεων σε συμβολοσειρές με τελείες. Επιτρέπονται τιμές 2 ή 4 για το "length", οι οποίες οδηγούν στις μορφές έκδοσης a.b και a.b.c.d. Με 'length' 2 και τύπο 'int16' ή 'uint16', ο Charging Manager διαχωρίζει το χαμηλό και το υψηλό byte με τελεία, με 'int32' ή 'uint32' το χαμηλό και το υψηλό word, με 'int64' το χαμηλό και το υψηλό dword. Για 'lenth' 4 και 'int32' ή 'uint32', ο διαχειριστής χρέωσης χωρίζει την τιμή σε 4 bytes που χωρίζονται με τελεία.
Για 'int64' οι 4 λέξεις αντίστοιχα. regex: String. Εάν καθοριστεί μια κανονική έκφραση, η απάντηση του μετρητή δεν χρειάζεται να είναι σε JSON. Ως αποτέλεσμα αξιολογείται είτε ολόκληρη η αντιστοιχία της κανονικής έκφρασης είτε η πρώτη ομάδα. Χρησιμοποιήστε το μόνο εάν η συσκευή δεν επιστρέφει JSON.
Ακολουθεί ο κατάλογος των χαρακτηριστικών των κανονικών εκφράσεών μας: any char: . named classes:
\d \s \w \D \S \W ανώνυμες κλάσεις: [a-z0-9_], [^0-9], [^\d] ομάδες με εναλλακτικές: (ab|cd|ef) μη συλληφθείσες ομάδες: (?:ab|cd) (άπληστος) μία φορά ή καμία: a?, a????
(άπληστος ) πολλές ή καμία: a*, a*?
(άπληστος) μία ή περισσότερες φορές: a+, a+; αρχή συμβολοσειράς: ^ τέλος συμβολοσειράς: $
Ο Διαχειριστής φόρτισης μπορεί να ζητήσει έως και 32 τιμές εισόδου από διαφορετικούς καταχωρητές ή στοιχεία JSON ανά συσκευή. Η ιδιότητα "Inputs" είναι ένας πίνακας JSON. Πρέπει να ορίσετε τις ακόλουθες ιδιότητες για κάθε είσοδο: Διεύθυνση
: Διεύθυνση (καταχωρητής Modbus ή URL).
μετρήστε: Αριθμός bits εισόδου που θα διαβαστούν με αυτό το αίτημα.
query: Για HTTP/JSON, γλώσσα ερωτήματος για την εύρεση της τιμής στην απόκριση.
Ο Διαχειριστής χρέωσης cFos διαβάζει όλες τις εισόδους που ορίζονται με αυτόν τον τρόπο με κάθε ενημέρωση και τοποθετεί τα bits εσωτερικά σε έναν πίνακα, ο οποίος μπορεί στη συνέχεια να ερωτηθεί με τους τύπους Input1..InputN..
Ο Διαχειριστής φόρτισης μπορεί να ενεργοποιήσει έως και 32 εξόδους ανά συσκευή. Οι έξοδοι ορίζονται στο "outputs" ως ένας πίνακας JSON αντικειμένων εξόδου. Όλες οι έξοδοι ενεργοποιούνται στο τέλος κάθε κύκλου ενημέρωσης, εάν η κατάσταση της αντίστοιχης εξόδου έχει αλλάξει.
Για κάθε έξοδο, πρέπει να ορίσετε τις ακόλουθες ιδιότητες στο αντικείμενο εξόδου:
διεύθυνση: διεύθυνση URL HTTP με προαιρετική μέθοδο HTTP, π.χ. GET http://www.example.com?output1=${var1}. Για να ορίσετε τους καταχωρητές Modbus, μπορείτε να χρησιμοποιήσετε το API HTTP του cFos Charging Manager. Ο Διαχειριστής χρέωσης ανιχνεύει τις αντίστοιχες προσβάσεις στο localhost και ανακατευθύνει το αίτημα στον εσωτερικό χειριστή, οπότε δεν χρειάζεστε εξουσιοδότηση όπως με τις εξωτερικές προσβάσεις HTTP API. Εάν η διεύθυνση URL είναι κενή μετά από όλες τις αντικαταστάσεις, δεν ορίζεται καμία έξοδος. Για παράδειγμα, μπορείτε να αλλάξετε τις εξόδους μόνο αν υπάρχουν ορισμένες μεταβλητές (βλ. τύπους: συνάρτηση exists()). Στη διεύθυνση μπορείτε να καθορίσετε επιπλέον ${address} και ${id}. Πρόκειται για την τρέχουσα διεύθυνση της συσκευής και το αναγνωριστικό Modbus, όπως ορίζονται στις ρυθμίσεις. Η διεύθυνση και το id χρησιμοποιούνται κυρίως για τη χρήση του Modbus API (βλ. παρακάτω).
body: Προαιρετικό σώμα HTTP για POST ή PUT.
Στη διεύθυνση URL και στο σώμα, μπορείτε να χρησιμοποιήσετε τύπους ${expr} που παραπέμπουν σε παγκόσμιες μεταβλητές του Charging Manager ή από τον αντίστοιχο μετρητή. Ο τύπος 'expr' αξιολογείται κατά τον καθορισμό της εξόδου και αντικαθίσταται στο κείμενο της διεύθυνσης URL ή του σώματος. Εάν, στο παραπάνω παράδειγμα, το http://www.example.com?output1=1 ορίζει την έξοδο και το http://www.example.com?output1=0 τη διαγράφει, μπορείτε να ορίσετε μια μεταβλητή 'var1' και να την ορίσετε σε 1 ή 0 όπως επιθυμείτε. Με αυτόν τον τρόπο, μπορείτε επίσης να γράψετε αριθμητικές τιμές για τον έλεγχο της απόδοσης της μνήμης στους καταχωρητές Modbus, τις οποίες έχετε προηγουμένως αποθηκεύσει σε μια μεταβλητή χρησιμοποιώντας έναν τύπο.
Αν αντί να περάσετε μια αριθμητική τιμή στη διεύθυνση URL πρέπει να αντικαταστήσετε ένα κείμενο με ένα άλλο ανάλογα με τον τύπο, όπως για παράδειγμα με τις υποδοχές WLAN της Shelly, μπορείτε να το γράψετε ως εξής: ${if expr`text1`text2}. Η "απόστροφος" είναι ένα backtick (κωδικός ASCII 96). Εάν το 'expr' != 0, εισάγεται το text1, διαφορετικά το text2. Για την υποδοχή WLAN της Shelly, η διεύθυνση URL είναι τότε η εξής: http://<ip-addr>/relay/0?turn=${if expr`on`off}, δηλαδή αν expr != 0, ο διαχειριστής φόρτισης καλεί τότε το http://<ip-addr>/relay/0?turn=on, διαφορετικά το http://<ip-addr>/relay/0?turn=off.
Εάν εισάγετε μια σχετική διαδρομή ως διεύθυνση URL, ο Διαχειριστής φόρτισης λαμβάνει τη διεύθυνση που έχει ρυθμιστεί για την αντίστοιχη συσκευή. Εάν εισάγετε 'localhost' ως τομέα, η Διαχείριση φόρτισης λαμβάνει τη διεύθυνση της συσκευής στην οποία εκτελείται. Εάν ανιχνεύσει πρόσβαση στο δικό του API, χρησιμοποιεί τον εσωτερικό χειριστή αντί να εκτελέσει μια πλήρη πρόσβαση HTTP, ώστε να μην χρειάζεται να αποθηκεύσετε όνομα χρήστη και κωδικό πρόσβασης στον ορισμό του μετρητή. Μια διεύθυνση URL που αρχίζει με * θα αναγκάσει τον Διαχειριστή χρέωσης να εκτελεί πάντα μια πλήρη πρόσβαση HTTP.
Επαναφορά εξόδων: Εκτός από έναν πίνακα "εξόδων", μπορείτε επίσης να ορίσετε έναν πίνακα με το όνομα "resets", ο οποίος είναι δομημένος όπως ο πίνακας "εξόδων". Αυτό μπορεί να χρησιμοποιηθεί για την επαναφορά των εξόδων στις αρχικές τους τιμές όταν η συσκευή απενεργοποιείται. Με αυτό, σε συνδυασμό με μεταβλητές που ορίζονται από το χρήστη και το "once": true, μπορείτε να επαναφέρετε τη συσκευή στην αρχική της κατάσταση.
Γράψτε τις εξόδους περιοδικά: Για ορισμένες συσκευές, οι έξοδοι πρέπει να εγγράφονται περιοδικά, διαφορετικά η συσκευή επαναφέρει τις τιμές στην "προεπιλεγμένη" κατάσταση. Για παράδειγμα, η μνήμη Kostal χρησιμοποιεί ξανά τους προεπιλεγμένους κανόνες της, εάν ο έλεγχος της μνήμης δεν έχει γραφτεί ενεργά για κάποιο χρονικό διάστημα. Για να ορίζετε τις εξόδους περιοδικά, μπορείτε να προθέσετε τη διεύθυνση με #xxx#, όπου το xxx υποδεικνύει κάθε πόσα δευτερόλεπτα ξαναγράφεται η έξοδος, ακόμη και αν η τιμή προς εγγραφή έχει παραμείνει η ίδια. Για παράδειγμα, αν η διεύθυνση είναι /cnf?cmd=set_cm_vars&name=test&val=42, μπορείτε να χρησιμοποιήσετε #30#/cnf?cmd=set_cm_vars&name=test&val=42 για να διασφαλίσετε ότι η τιμή αυτή θα γράφεται κάθε 30 δευτερόλεπτα.
Επί του παρόντος, τα ονόματα μελών και οι τελεστές "." και "[]" μπορούν να χρησιμοποιηθούν στις εκφράσεις αναζήτησης "ερώτημα", παραδείγματα:
δοκιμή | Στοιχείο με όνομα "test" |
name1.name2 | Στοιχείο με όνομα "name2" σε αντικείμενο-παιδί "name1" |
name[idx] | Στοιχείο "idx" του στοιχείου αντικειμένου "name". το "idx" μπορεί να είναι ένας αριθμός, π.χ. για πίνακες ή μια συμβολοσειρά |
name["u2"] | Στοιχείο "u2" του στοιχείου αντικειμένου "name", αντιστοιχεί στο "name.u2" |
name[{"el1": "v1", "el2": 3}].value | Επιλέξτε το στοιχείο του πίνακα που πληροί τη συνθήκη του συμβολισμού του αντικειμένου και αξιολογήστε το στοιχείο με το όνομα "value". Εδώ, για παράδειγμα, στον πίνακα 'name' επιλέγεται το στοιχείο που έχει ως αντικείμενα τα στοιχεία 'el1' με τιμή 'v1' και 'el2' με τιμή 3 και στη συνέχεια επιστρέφεται από το αντικείμενο αυτό η τιμή του στοιχείου 'value'. |
Μπορείτε να δημιουργήσετε μεταβλητές στη διαμόρφωση της Διαχείρισης χρέωσης. Μπορείτε να χρησιμοποιήσετε μια σταθερή τιμή ή έναν τύπο ως τιμή. Στο τέλος κάθε κύκλου ενημέρωσης, ο διαχειριστής χρέωσης υπολογίζει εκ νέου την τιμή αυτών των μεταβλητών, εάν είναι απαραίτητο. Στη συνέχεια, μπορείτε να τις χρησιμοποιήσετε σε (ορισμένες) παραμέτρους του Charging Manager, σε κανόνες χρέωσης ή για τον έλεγχο των εξόδων. Μπορείτε επίσης να γράψετε Ex.member ή Mx.member ως μεταβλητές. Εδώ, Exκαι Mxείναι το αναγνωριστικό συσκευής ενός wallbox ή μετρητή που έχει ρυθμιστεί στο Charging Manager. member είναι μια "καθορισμένη από το χρήστη" μεταβλητή που αποθηκεύεται στην αντίστοιχη συσκευή. Ορισμένες από τις μεταβλητές μπορεί να έχουν ειδική σημασία: Για την KEBA το "out1" είναι έξοδος μεταγωγής, για τους μετρητές ABB B23 τα "out1" και "out2" είναι έξοδοι μεταγωγής (για τα μοντέλα που το υποστηρίζουν). Ένα 1 ενεργοποιεί την έξοδο, ένα 0 την απενεργοποιεί ξανά.
Εάν έχετε συσκευές που πρέπει να ενεργοποιούνται υπό ορισμένες συνθήκες αλλά στη συνέχεια να λειτουργούν για λίγο (π.χ. πλυντήριο ρούχων, πλυντήριο πιάτων), μπορείτε επίσης να ορίσετε τη μεταβλητή ως "σκανδάλη". Τότε ο τύπος της μεταβλητής είναι η συνθήκη με την οποία η μεταβλητή τίθεται σε 1. Μετά από ένα ρυθμιζόμενο χρονικό διάστημα, στη συνέχεια τίθεται και πάλι στο 0. Μια "συνθήκη επανασκανδαλισμού" επιτρέπει την παράταση του χρόνου μέχρι την απενεργοποίηση (δηλ. τη ρύθμιση της μεταβλητής στο 0) ξανά και ξανά, εφόσον πληρούται η συνθήκη.
Για δοκιμαστικούς σκοπούς, μπορείτε να εμφανίσετε τη Διαχείριση χρέωσης και τις μεταβλητές του μετρητή, π.χ. τις τρέχουσες τιμές Awattar:
Στη διαμόρφωση του Charging Manager, μπορείτε να διαμορφώσετε τις συνολικές εξόδους όπως περιγράφεται παραπάνω στον ορισμό του μετρητή στην ενότητα "Έξοδοι". Αυτά τίθενται στο τέλος κάθε κύκλου ενημέρωσης εάν έχει αλλάξει η κατάστασή τους. Εάν θέλετε να ελέγχετε τις εξόδους μεταγωγής σε συσκευές που ορίζονται από τον χρήστη, συνιστάται η παραπάνω σύμβαση (βλ. Μεταβλητές διαχειριστή φόρτισης): Ορίζετε μεταβλητές με ονόματα "out1", "out2", κ.λπ. στον μετρητή που έχει οριστεί από τον χρήστη και δημιουργείτε εξόδους στον μετρητή που έχει οριστεί από τον χρήστη, οι οποίες αλλάζουν την έξοδο ανάλογα με την τιμή αυτών των μεταβλητών.
Το API Modbus του Charging Manager χρησιμοποιείται για τον έλεγχο συσκευών Modbus που έχουν οποιαδήποτε διεύθυνση Modbus RTU ή TCP (προσβάσιμη από το Charging Manager). Για Modbus RTU, εισαγάγετε COMx,bd,8,p,s ως διεύθυνση, όπου x είναι ο αριθμός θύρας COM, bd είναι ο ρυθμός baud, p είναι η ισοτιμία ('N', 'E' ή 'O') και s είναι ο αριθμός των stop bits (1 ή 2), όπως στη διαμόρφωση των μεμονωμένων συσκευών. Για το Modbus TCP, ο παραλήπτης είναι η διεύθυνση IP της συσκευής στο δίκτυο του Charging Manager, συμπεριλαμβανομένου του αριθμού θύρας.
Η διεύθυνση URL (για HTTP GET) του Modbus API είναι:
/cnf?cmd=modbus_get ή /cnf?cmd=modbus_set
Ο διαχειριστής χρέωσης cFos υποστηρίζει τις ακόλουθες πρόσθετες παραμέτρους ερωτήματος:
addr: Η προαναφερθείσα διεύθυνση συσκευής Modbus RTU ή TCP.
func: Αριθμός λειτουργίας Modbus, π.χ. για ανάγνωση 3 ή 4, για εγγραφή 6 ή 16.
id: Αναγνωριστικό συσκευής της συσκευής Modbus.
reg: Ο αριθμός μητρώου Modbus. Η τιμή μπορεί να δοθεί σε δεκαδική ή δεκαεξαδική μορφή (με πρόθεμα 0x).
val: αριθμός, τιμή που πρέπει να εγγραφεί στον καταχωρητή. Παραλείπεται κατά την ανάγνωση.
τύπος: "w" 16bit (προεπιλογή), d = 32bit, f = float, q = 64bit, s = string.
cnt: αριθμός, το μέγιστο μήκος της συμβολοσειράς σε καταχωρητές, παραλείπεται για άλλους τύπους ή τίθεται σε 1.
order: Συμβολοσειρά, η σειρά των byte, είτε "hl" είτε "lh".
Σημείωση: Εάν ο "μετρητής" σας έχει πρωτίστως εργασίες ελέγχου, μπορείτε να επιλέξετε την επιλογή "Απόκρυψη συσκευής" στις ρυθμίσεις αυτού του πλακιδίου, ώστε η συσκευή αυτή να μην εμφανίζεται στην αρχική σελίδα.
Σημείωση: Ορισμένοι μετρητές που διαβάζονται μέσω HTTP απαιτούν όνομα χρήστη/κωδικό πρόσβασης ως εξουσιοδότηση. Μπορείτε να το καθορίσετε στη διεύθυνση για πρόσβαση HTTP, π.χ. με http://username:password@192.168.2.111.
Εάν το όνομα χρήστη ή ο κωδικός πρόσβασής σας περιέχει ένα "@", πρέπει να το αντικαταστήσετε με "%40".