Σημείωση: Ο Διαχειριστής φόρτισης 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 και τις συνολικές εξόδους 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:
M odbus_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 στο πλακίδιο μετρητή κάτω από τις εκτεταμένες πληροφορίες, π.χ. η θερμοκρασία μιας μονάδας αποθήκευσης μπαταριών.
Σημείωση: Μόνο αριθμοί και τα γράμματα a-z και A-Z μπορούν να χρησιμοποιηθούν ως ονόματα μεταβλητών.
Το αντικείμενο έχει το όνομα του ονόματος της μεταβλητής που αναφέρεται παραπάνω και έχει τις ακόλουθες ιδιότητες: fixed: Συμβολοσειρά με σταθερή τιμή.
Χρήσιμο εάν, για παράδειγμα, δεν μπορεί να προσδιοριστεί καμία τιμή, π.χ. για type_designation ή voltage. expr: String.
Η μεταβλητή δεν διαβάζεται, αλλά αξιολογείται ως τύπος. 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 ή η διεύθυνση URL HTTP της τιμής που πρόκειται να διαβαστεί. query: Συμβολοσειρά.
Για HTTP JSON, η προδιαγραφή στη γλώσσα ερωτημάτων του Charging Manager με την οποία βρίσκει την τιμή προς ανάγνωση στην απάντηση JSON. order: String. Για το Modbus, η σειρά των byte, είτε "hl" είτε "lh", στην οποία υπάρχει η τιμή. length: αριθμός. Για το 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).
count:
Αριθμός bit εισόδου που διαβάζονται με αυτό το αίτημα. query: Για HTTP/JSON, γλώσσα ερωτήματος για την εύρεση της τιμής στην απόκριση.
Ο cFos Charging Manager διαβάζει όλες τις εισόδους που ορίζονται με αυτόν τον τρόπο με κάθε ενημέρωση και αποθηκεύει τα 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, όπως ορίζονται στις ρυθμίσεις.
τα 'address' και 'id' χρησιμοποιούνται κυρίως για τη χρήση του Modbus API (βλ. παρακάτω). body: Προαιρετικό σώμα HTTP για POST ή PUT.
Στη διεύθυνση URL και στο σώμα, μπορείτε να χρησιμοποιήσετε ${expr} για να χρησιμοποιήσετε τύπους που αναφέρονται σε παγκόσμιες μεταβλητές του διαχειριστή φόρτισης ή από τον αντίστοιχο μετρητή. Ο τύπος '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 υπολογίζει εκ νέου την τιμή αυτών των μεταβλητών, εάν είναι απαραίτητο. Μπορείτε στη συνέχεια να τις χρησιμοποιήσετε σε (ορισμένες) παραμέτρους του Charging Manager, σε κανόνες χρέωσης ή για τον έλεγχο των εξόδων. Μπορείτε επίσης να γράψετε το Ex.member ή το Mx.member ως μεταβλητή. Σε αυτή την περίπτωση, το Exκαι το Mxείναι το αναγνωριστικό συσκευής ενός wallbox ή ενός μετρητή που έχει ρυθμιστεί στο Charging Manager. το 'member' είναι μια "καθορισμένη από τον χρήστη" μεταβλητή που αποθηκεύεται στην αντίστοιχη συσκευή. Ορισμένες από τις μεταβλητές μπορεί να έχουν ειδική σημασία: Για την KEBA, το 'out1' είναι μια έξοδος μεταγωγής, για τους μετρητές ABB B23, τα 'out1' και 'out2' είναι έξοδοι μεταγωγής (για τα μοντέλα που το υποστηρίζουν). Ένα 1 ενεργοποιεί την έξοδο, ένα 0 την απενεργοποιεί ξανά.
Εάν έχετε συσκευές που πρέπει να ενεργοποιούνται υπό ορισμένες συνθήκες αλλά στη συνέχεια να λειτουργούν για λίγο (π.χ. πλυντήριο ρούχων, πλυντήριο πιάτων), μπορείτε επίσης να ορίσετε τη μεταβλητή ως "σκανδάλη". Τότε ο τύπος της μεταβλητής είναι η συνθήκη με την οποία η μεταβλητή τίθεται σε 1. Μετά από ένα ρυθμιζόμενο χρονικό διάστημα, στη συνέχεια τίθεται και πάλι στο 0. Μια "συνθήκη επανασκανδαλισμού" επιτρέπει την παράταση του χρόνου μέχρι την απενεργοποίηση (δηλ. τη ρύθμιση της μεταβλητής στο 0) ξανά και ξανά, εφόσον πληρούται η συνθήκη.
Σημείωση: Μόνο αριθμοί και τα γράμματα a-z και A-Z μπορούν να χρησιμοποιηθούν ως ονόματα μεταβλητών.
Για δοκιμαστικούς σκοπούς, μπορείτε να εμφανίσετε μεταβλητές του διαχειριστή χρέωσης και του μετρητή, π.χ. τις τρέχουσες τιμές Awattar:
Στη διαμόρφωση του Charging Manager, μπορείτε να διαμορφώσετε τις συνολικές εξόδους όπως περιγράφεται παραπάνω στον ορισμό του μετρητή στην ενότητα "Έξοδοι". Αυτές ρυθμίζονται στο τέλος κάθε κύκλου ενημέρωσης, εάν η κατάστασή τους έχει αλλάξει. Εάν θέλετε να ελέγχετε τις εξόδους μεταγωγής σε συσκευές που ορίζονται από τον χρήστη, συνιστάται η παραπάνω σύμβαση (βλ. Μεταβλητές Charging Manager): Ορίζετε μεταβλητές με τα ονόματα "out1", "out2", κ.λπ. στον μετρητή που έχει οριστεί από τον χρήστη και δημιουργείτε εξόδους στον μετρητή που έχει οριστεί από τον χρήστη, οι οποίες αλλάζουν την έξοδο ανάλογα με την τιμή αυτών των μεταβλητών.
Το API Modbus του Charging Manager χρησιμοποιείται για τον έλεγχο συσκευών Modbus που έχουν οποιαδήποτε διεύθυνση Modbus RTU ή TCP (προσβάσιμη από το Charging Manager). Όπως και στη διαμόρφωση των μεμονωμένων συσκευών, εισαγάγετε COMx,bd,8,p,s ως διεύθυνση για Modbus RTU, όπου 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 Charging Manager υποστηρίζει τις ακόλουθες πρόσθετες παραμέτρους ερωτήματος: addr:
Η διεύθυνση συσκευής Modbus RTU ή TCP που αναφέρεται παραπάνω. func: Αριθμός λειτουργίας Modbus, π.χ. για ανάγνωση 3 ή 4, για εγγραφή 6 ή 16. id: Αναγνωριστικό συσκευής της συσκευής Modbus. reg: Ο αριθμός μητρώου Modbus.
Η τιμή μπορεί να καθοριστεί σε δεκαδικό ή δεκαεξαδικό σύστημα (με πρόθεμα 0x). val: αριθμός: Τιμή που πρέπει να εγγραφεί στον καταχωρητή.
Παραλείπεται κατά την ανάγνωση. type: 'w' 16bit (προεπιλογή), d = 32bit, f = float, q = 64bit, s = string.
c nt: αριθμός: Το μέγιστο μήκος της συμβολοσειράς σε καταχωρητές, παραλείπεται για άλλους τύπους ή τίθεται σε 1. order: Συμβολοσειρά: Η σειρά byte, είτε "hl" είτε "lh".
Σημείωση: Εάν ο "μετρητής" σας έχει πρωτίστως εργασίες ελέγχου, μπορείτε να επιλέξετε την επιλογή "Απόκρυψη συσκευής" στις ρυθμίσεις αυτού του πλακιδίου, ώστε η συσκευή αυτή να μην εμφανίζεται στην αρχική σελίδα.
Σημείωση: Ορισμένοι μετρητές που διαβάζονται μέσω HTTP απαιτούν όνομα χρήστη/κωδικό πρόσβασης ως εξουσιοδότηση. Μπορείτε να το καθορίσετε στη διεύθυνση για πρόσβαση HTTP, π.χ. με http://username:password@192.168.2.111.
Εάν το όνομα χρήστη ή ο κωδικός πρόσβασής σας περιέχει ένα "@", πρέπει να το αντικαταστήσετε με "%40".