Μετρητής ενέργειας MQTT για Home Assistant: Μη αυτόματη διαμόρφωση YAML
Ρύθμιση μετρητή ενέργειας MQTT στο Home Assistant με μη αυτόματο τρόπο
Ένας μετρητής ενέργειας MQTT μπορεί να δημοσιεύει τάση, ένταση ρεύματος, ενεργή ισχύ και εισαγόμενη/εξαγόμενη ενέργεια σε έναν broker στο τοπικό σας δίκτυο. Το Home Assistant εγγράφεται σε αυτά τα δεδομένα και μετατρέπει τις τιμές JSON σε οντότητες αισθητήρων που μπορούν να χρησιμοποιηθούν σε πίνακες ελέγχου, αυτοματισμούς και στο Energy Dashboard.
Αυτός ο οδηγός εξηγεί τη μέθοδο Manual MQTT για τους μετρητές ενέργειας IAMMETER:
- διαμόρφωση του broker MQTT στο WebUI του μετρητή·
- σύνδεση του Home Assistant στον ίδιο broker·
- ορισμός των απαιτούμενων αισθητήρων MQTT σε YAML·
- προσθήκη της εισαγόμενης και της εξαγόμενης ενέργειας στο Energy Dashboard.
Το Manual MQTT σάς δίνει πλήρη έλεγχο των ονομάτων οντοτήτων, των topics, των προτύπων και των μεταδεδομένων. Αν προτιμάτε το Home Assistant να δημιουργεί αυτόματα τη συσκευή και τις οντότητες, χρησιμοποιήστε το MQTT Discovery αντί αυτού.
Το Manual MQTT και το MQTT Discovery είναι διαφορετικές μέθοδοι
Και οι δύο μέθοδοι χρησιμοποιούν έναν broker MQTT, αλλά η διαμόρφωση στο Home Assistant είναι διαφορετική.
| Χαρακτηριστικό | Manual MQTT | MQTT Discovery |
|---|---|---|
| Διαμόρφωση broker στον μετρητή | Απαιτείται | Απαιτείται |
| Ενσωμάτωση MQTT στο HA | Απαιτείται | Απαιτείται |
| Ορισμοί αισθητήρων σε YAML | Απαιτούνται | Δεν απαιτούνται |
| Ονόματα οντοτήτων και πρότυπα | Πλήρως ελεγχόμενα από τον χρήστη | Δημιουργούνται από τον μετρητή |
| Αυτόματη δημιουργία συσκευής/οντοτήτων | Όχι | Ναι |
| Ιδανικό για | Προσαρμοσμένα συστήματα MQTT και ορισμούς οντοτήτων | Ταχύτερη διαμόρφωση στο Home Assistant |
Για αυτόν τον οδηγό, αφήστε το HA MQTT Discovery απενεργοποιημένο στο WebUI του μετρητή. Αυτός ο διακόπτης χρειάζεται μόνο όταν θέλετε αυτόματη ανακάλυψη από το Home Assistant.
Τι χρειάζεστε
- έναν μετρητή ενέργειας IAMMETER με τρέχον υλικολογισμικό·
- έναν broker MQTT προσβάσιμο τόσο από τον μετρητή όσο και από το Home Assistant·
- τη διεύθυνση, τη θύρα, το όνομα χρήστη και τον κωδικό πρόσβασης του broker·
- τον σειριακό αριθμό του μετρητή·
- πρόσβαση στη διαμόρφωση YAML του Home Assistant.
Ο broker μπορεί να εκτελείται στην ίδια μηχανή με το Home Assistant, ως πρόσθετο (add-on) Mosquitto, σε άλλον διακομιστή LAN ή σε απομακρυσμένο υπολογιστή. Χρησιμοποιήστε έναν τοπικό broker όταν θέλετε ολόκληρη η διαδρομή των δεδομένων να παραμένει εντός του LAN.
Όλοι οι τρέχοντες μετρητές IAMMETER υποστηρίζουν το Manual MQTT. Τα μονοφασικά, τα διπλού καναλιού και τα τριφασικά μοντέλα δημοσιεύουν διαφορετικές δομές πινάκων JSON, επομένως τα πρότυπα τιμών πρέπει να αντιστοιχούν στο πραγματικό φορτίο δεδομένων (payload).
Βήμα 1: Διαμόρφωση του broker MQTT στο WebUI του μετρητή
Ανοίξτε το τοπικό WebUI του μετρητή και μεταβείτε στις Ρυθμίσεις. Διαμορφώστε:
| Ρύθμιση | Τιμή |
|---|---|
| Run Mode | MQTT |
| Address | Όνομα υπολογιστή/IP και θύρα του broker MQTT |
| Username | Όνομα χρήστη του broker, αν απαιτείται |
| Password | Κωδικός πρόσβασης του broker, αν απαιτείται |
| HA MQTT Discovery | Απενεργοποιημένο για αυτόν τον οδηγό Manual MQTT |
Αποθηκεύστε τις ρυθμίσεις και αφήστε τον μετρητή να επανασυνδεθεί.

Το τρέχον WebUI του υλικολογισμικού υποστηρίζει αυτές τις ρυθμίσεις broker απευθείας. Δεν χρειάζεται να διαμορφώσετε το όνομα χρήστη και τον κωδικό πρόσβασης μέσω της παλαιότερης διαδικασίας τοπικού API.
Για πλήρεις οδηγίες διαμόρφωσης από την πλευρά του μετρητή και για παλαιότερο υλικολογισμικό, δείτε δημοσίευση δεδομένων IAMMETER σε broker MQTT.
Λειτουργία MQTT και IAMMETER Cloud
Όταν η λειτουργία λειτουργίας (Run Mode) του μετρητή αλλάξει σε MQTT, δημοσιεύει τις μετρήσεις στον δικό σας broker αντί να τις ανεβάζει στο IAMMETER Cloud. Το Manual MQTT και το IAMMETER Cloud δεν λειτουργούν επομένως ταυτόχρονα από τον ίδιο μετρητή.
Αν χρειάζεστε το Home Assistant και το IAMMETER Cloud την ίδια στιγμή, χρησιμοποιήστε μια τοπική ενσωμάτωση HTTP ή Modbus TCP. Συγκρίνετε τις διαθέσιμες μεθόδους στον οδηγό ενσωμάτωσης μετρητή ενέργειας στο Home Assistant.
Βήμα 2: Επαλήθευση του topic και του φορτίου MQTT
Η IAMMETER δημοσιεύει μετρήσεις σε πραγματικό χρόνο στο:
device/{SN}/realtime
Αντικαταστήστε το {SN} με τον σειριακό αριθμό του μετρητή. Για παράδειγμα:
device/80123456/realtime
Πριν διαμορφώσετε τους αισθητήρες του Home Assistant, εγγραφείτε στο topic με έναν πελάτη MQTT και επιβεβαιώστε ότι φτάνουν μηνύματα. Έτσι αποφεύγετε να μπερδεύεστε με προβλήματα του broker, διαπιστευτηρίων, τείχους προστασίας ή topics όταν αντιμετωπίζετε προβλήματα στο YAML.
JSON μονοφασικού μετρητή
Ένας μονοφασικός μετρητής χρησιμοποιεί έναν πίνακα Data. Οι πρώτες πέντε τιμές είναι:
| Θέση στον πίνακα | Μέτρηση |
|---|---|
Data[0] |
Τάση |
Data[1] |
Ένταση ρεύματος |
Data[2] |
Ενεργή ισχύς |
Data[3] |
Εισαγόμενη ενέργεια |
Data[4] |
Εξαγόμενη ενέργεια |
Παράδειγμα:
{
"method": "uploadsn",
"SN": "12345678",
"Data": [228.91, 1.61, 225, 15066.47, 0]
}
JSON πολυκαναλικού και τριφασικού μετρητή
Οι πολυκαναλικοί και οι τριφασικοί μετρητές χρησιμοποιούν έναν πίνακα Datas. Κάθε ένθετος πίνακας αντιπροσωπεύει μια φάση ή κανάλι μέτρησης:
Datas[0] → φάση/κανάλι A
Datas[1] → φάση/κανάλι B
Datas[2] → φάση/κανάλι C, όταν υπάρχει
Μέσα σε κάθε πίνακα φάσης/καναλιού, οι συνήθεις θέσεις είναι:
| Θέση στον πίνακα | Μέτρηση |
|---|---|
[0] |
Τάση |
[1] |
Ένταση ρεύματος |
[2] |
Ενεργή ισχύς |
[3] |
Εισαγόμενη ενέργεια |
[4] |
Εξαγόμενη ενέργεια |
[5] |
Συχνότητα, όπου παρέχεται |
[6] |
Συντελεστής ισχύος, όπου παρέχεται |
Εξετάζετε πάντα το πραγματικό μήνυμα MQTT του μοντέλου και του υλικολογισμικού σας προτού αντιγράψετε πρότυπα. Δείτε τον πλήρη ορισμό δεδομένων JSON της IAMMETER.
Βήμα 3: Σύνδεση του Home Assistant στον broker
Στο Home Assistant:
- Μεταβείτε στις Ρυθμίσεις → Συσκευές και υπηρεσίες.
- Επιλέξτε Προσθήκη ενσωμάτωσης.
- Αναζητήστε MQTT.
- Πληκτρολογήστε την ίδια διεύθυνση, θύρα, όνομα χρήστη και κωδικό πρόσβασης broker που χρησιμοποιεί ο μετρητής.
- Επιβεβαιώστε ότι η ενσωμάτωση MQTT συνδέεται επιτυχώς.
Αν το Home Assistant χρησιμοποιεί ήδη αυτόν τον broker, μην προσθέσετε διπλότυπη ενσωμάτωση MQTT. Οι μη αυτόματα ορισμένοι αισθητήρες θα χρησιμοποιήσουν την υπάρχουσα σύνδεση με τον broker.
Βήμα 4: Προσθήκη αισθητήρων Manual MQTT σε YAML
Τα παρακάτω παραδείγματα χρησιμοποιούν την τρέχουσα δομή διαμόρφωσης mqtt: sensor: του Home Assistant. Αντικαταστήστε τον σειριακό αριθμό σε κάθε state_topic.
YAML μονοφασικού μετρητή ενέργειας
mqtt:
sensor:
- name: "IAMMETER Voltage"
unique_id: "iammeter_12345678_voltage"
state_topic: "device/12345678/realtime"
value_template: "{{ value_json.Data[0] | float(0) }}"
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
- name: "IAMMETER Current"
unique_id: "iammeter_12345678_current"
state_topic: "device/12345678/realtime"
value_template: "{{ value_json.Data[1] | float(0) }}"
unit_of_measurement: "A"
device_class: current
state_class: measurement
- name: "IAMMETER Active Power"
unique_id: "iammeter_12345678_active_power"
state_topic: "device/12345678/realtime"
value_template: "{{ value_json.Data[2] | float(0) }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
- name: "IAMMETER Imported Energy"
unique_id: "iammeter_12345678_import_energy"
state_topic: "device/12345678/realtime"
value_template: "{{ value_json.Data[3] | float(0) }}"
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
- name: "IAMMETER Exported Energy"
unique_id: "iammeter_12345678_export_energy"
state_topic: "device/12345678/realtime"
value_template: "{{ value_json.Data[4] | float(0) }}"
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
Το unique_id επιτρέπει στο Home Assistant να διαχειρίζεται τις ρυθμίσεις της οντότητας στο περιβάλλον χρήσης (UI). Κρατήστε κάθε ID μοναδικό και σταθερό. Μην το αλλάζετε μόνο και μόνο για να μετονομάσετε την εμφανιζόμενη οντότητα.
YAML τριφασικού μετρητή ενέργειας
Το παρακάτω παράδειγμα δημιουργεί τις οντότητες της φάσης A. Αντιγράψτε το μπλοκ για τις φάσεις B και C, αλλάζοντας το Datas[0] σε Datas[1] και Datas[2], και χρησιμοποιήστε διαφορετικά ονόματα και μοναδικά ID.
mqtt:
sensor:
- name: "IAMMETER Voltage A"
unique_id: "iammeter_80123456_voltage_a"
state_topic: "device/80123456/realtime"
value_template: "{{ value_json.Datas[0][0] | float(0) }}"
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
- name: "IAMMETER Current A"
unique_id: "iammeter_80123456_current_a"
state_topic: "device/80123456/realtime"
value_template: "{{ value_json.Datas[0][1] | float(0) }}"
unit_of_measurement: "A"
device_class: current
state_class: measurement
- name: "IAMMETER Active Power A"
unique_id: "iammeter_80123456_active_power_a"
state_topic: "device/80123456/realtime"
value_template: "{{ value_json.Datas[0][2] | float(0) }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
- name: "IAMMETER Imported Energy A"
unique_id: "iammeter_80123456_import_energy_a"
state_topic: "device/80123456/realtime"
value_template: "{{ value_json.Datas[0][3] | float(0) }}"
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
- name: "IAMMETER Exported Energy A"
unique_id: "iammeter_80123456_export_energy_a"
state_topic: "device/80123456/realtime"
value_template: "{{ value_json.Datas[0][4] | float(0) }}"
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
Για τα WEM2067 και άλλα πολυκαναλικά μοντέλα, δημιουργήστε μόνο όσα μπλοκ καναλιών υπάρχουν στο πραγματικό φορτίο Datas.
Αποφύγετε δύο ξεχωριστά μπλοκ mqtt: στο ανώτερο επίπεδο
Αν το configuration.yaml περιέχει ήδη μια ενότητα mqtt:, προσθέστε τους αισθητήρες κάτω από την υπάρχουσα ενότητα. Το YAML δεν μπορεί με ασφάλεια να περιέχει δύο ανεξάρτητα κλειδιά ανώτατου επιπέδου με το ίδιο όνομα.
Για μεγάλη διαμόρφωση, μπορείτε να διατηρήσετε τους αισθητήρες MQTT σε ένα ξεχωριστό αρχείο (include), αλλά ακολουθήστε τη δομή include και τους κανόνες εσοχής του Home Assistant.
Βήμα 5: Έλεγχος της διαμόρφωσης και φόρτωση των αισθητήρων
Αφού αποθηκεύσετε το YAML:
- εκτελέστε τον έλεγχο διαμόρφωσης του Home Assistant·
- διορθώστε τυχόν σφάλματα YAML, εσοχής ή προτύπων·
- επανεκκινήστε το Home Assistant αν χρειάζεται·
- ανοίξτε τα Εργαλεία προγραμματιστή → Καταστάσεις·
- επιβεβαιώστε ότι κάθε οντότητα MQTT έχει μια εύλογη τιμή, μονάδα, κατηγορία συσκευής (device class) και κατηγορία κατάστασης (state class).
Η τιμή της οντότητας θα πρέπει να αλλάζει μετά τη λήψη ενός νέου μηνύματος στο device/{SN}/realtime.
Βήμα 6: Προσθήκη εισαγόμενης και εξαγόμενης ενέργειας στο Energy Dashboard
Το Energy Dashboard του Home Assistant απαιτεί αθροιστικές οντότητες ενέργειας. Τα παραδείγματα YAML χρησιμοποιούν:
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
Μεταβείτε στις Ρυθμίσεις → Πίνακες ελέγχου → Ενέργεια και επιλέξτε:
- IAMMETER Imported Energy για την κατανάλωση από το δίκτυο·
- IAMMETER Exported Energy για την επιστροφή ενέργειας στο δίκτυο.
Για έναν τριφασικό μετρητή, επιλέξτε τη δομή οντοτήτων που ταιριάζει στην εγκατάσταση και στη σχεδίαση του πίνακα ελέγχου του Home Assistant. Μπορείτε να εμφανίσετε την ενέργεια κάθε φάσης ξεχωριστά ή να δημιουργήσετε μια κατάλληλη συνολική οντότητα, αλλά μην αθροίζετε τιμές χωρίς να επιβεβαιώσετε πώς αναφέρει ο μετρητής την ανά φάση και την καθαρή ενέργεια για την επιλεγμένη διάταξη καλωδίωσης.
Μην επιλέξετε την οντότητα ενεργής ισχύος που μετράται σε βατ σε ένα πεδίο ενέργειας του Energy Dashboard. Η ισχύς είναι στιγμιαίος ρυθμός· ο πίνακας ελέγχου απαιτεί αθροιστικά kWh.
Επιλογή διαστήματος δημοσίευσης MQTT
Το τρέχον υλικολογισμικό της IAMMETER υποστηρίζει διάστημα δημοσίευσης MQTT έως και 2 δευτερόλεπτα. Το συντομότερο διάστημα δεν είναι πάντα η καλύτερη ρύθμιση.
Προτεινόμενα σημεία εκκίνησης:
| Περίπτωση χρήσης | Προτεινόμενο διάστημα |
|---|---|
| Γρήγορος τοπικός αυτοματισμός | 2–5 δευτερόλεπτα |
| Ζωντανός πίνακας ενέργειας | 5–12 δευτερόλεπτα |
| Γενική παρακολούθηση | 10–60 δευτερόλεπτα |
Λάβετε υπόψη τη χωρητικότητα του broker, την ανάπτυξη της καταγραφής (recorder) του Home Assistant, την αξιοπιστία του δικτύου και τον αριθμό των οντοτήτων. Ένα μήνυμα με πολλές τιμές φάσεων μπορεί να ενημερώσει αρκετούς αισθητήρες του Home Assistant ταυτόχρονα.
Υποστηριζόμενα μοντέλα IAMMETER
Όλοι οι τρέχοντες μετρητές ενέργειας IAMMETER υποστηρίζουν το Manual MQTT. Η κύρια διαφορά τους στο Home Assistant είναι η δομή του φορτίου και ο αριθμός των καναλιών μέτρησης.
| Μοντέλο | Τυπική δομή | Πληροφορίες προϊόντος |
|---|---|---|
| WEM3080 | Μοναδικός πίνακας Data |
Μονοφασικός μετρητής ενέργειας |
| WEM2067 | Πολυκαναλικός πίνακας Datas |
Διπλού καναλιού μετρητής για οικιακά φωτοβολταϊκά |
| WEM3080T | Τριπλού καναλιού πίνακας Datas |
Τριφασικός μετρητής ενέργειας |
| WEM3050T | Τριπλού καναλιού πίνακας Datas |
Οικιακός τριφασικός/διφασικός μετρητής |
| WEM3080TD | Πολυκαναλικά δεδομένα ανάλογα με το μοντέλο/την καλωδίωση | WEM3080TD |
| WEM3046T / WEM3046TE | Τριπλού καναλιού δεδομένα με εξωτερική μέτρηση CT 5 A | Τριφασικός μετρητής με CT 5 A |
Τα WEM3046T και WEM3046TE μετρούν τη δευτερεύουσα έξοδο 5 A των εξωτερικών μετασχηματιστών έντασης (CT). Εφαρμόστε τον σωστό λόγο CT για να λάβετε τιμές πρωτεύουσας πλευράς. Αυτό είναι χαρακτηριστικό του συστήματος μέτρησης και όχι περιορισμός του MQTT ή του Home Assistant.
Αντιμετώπιση προβλημάτων
Δεν φτάνουν μηνύματα MQTT
- Επαληθεύστε τη διεύθυνση και τη θύρα του broker στο WebUI του μετρητή.
- Επιβεβαιώστε το όνομα χρήστη και τον κωδικό πρόσβασης.
- Ελέγξτε τα αρχεία καταγραφής του broker για σφάλματα ταυτοποίησης ή σύνδεσης.
- Επιβεβαιώστε ότι ο μετρητής μπορεί να φτάσει τον broker μέσω τυχόν κανόνων τείχους προστασίας ή VLAN.
- Εγγραφείτε στο
device/{SN}/realtimeμε έναν ανεξάρτητο πελάτη MQTT.
Τα μηνύματα φτάνουν, αλλά οι οντότητες στο Home Assistant δεν είναι διαθέσιμες
- Επιβεβαιώστε ότι το Home Assistant είναι συνδεδεμένο στον ίδιο broker.
- Ελέγξτε το ακριβές topic και τον σειριακό αριθμό.
- Συγκρίνετε το
Dataμε τοDatasσε σχέση με το πραγματικό φορτίο. - Επικυρώστε την εσοχή και τα πρότυπα YAML.
- Ελέγξτε τα αρχεία καταγραφής του Home Assistant μετά την επαναφόρτωση ή την επανεκκίνηση.
Κάποιες οντότητες δείχνουν μηδέν ή λάθος μέτρηση
- Μην αντιγράφετε ένα πρότυπο
Dataμονοφασικού μετρητή για φορτίοDatas. - Επαληθεύστε τη θέση στον πίνακα σε σχέση με τον ορισμό JSON.
- Επιβεβαιώστε τον δείκτη φάσης/καναλιού.
- Για WEM3046T/WEM3046TE, επιβεβαιώστε τον λόγο των εξωτερικών CT.
Οι οντότητες ενέργειας λείπουν από το Energy Dashboard
Επιβεβαιώστε και τα τρία πεδία:
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
Επιβεβαιώστε επίσης ότι η οντότητα έχει λάβει έγκυρα αριθμητικά δεδομένα και εμφανίζεται στα Εργαλεία προγραμματιστή → Καταστάσεις.
Εμφανίζονται διπλότυπες συσκευές ή αισθητήρες
Το Manual MQTT και το MQTT Discovery μπορούν να δημιουργήσουν ξεχωριστές οντότητες από τον ίδιο μετρητή. Αν χρησιμοποιείτε τη μέθοδο YAML, κρατήστε το HA MQTT Discovery απενεργοποιημένο εκτός αν θέλετε σκόπιμα και τα δύο σύνολα και έχετε προγραμματίσει μοναδικά ονόματα οντοτήτων.
Σχετικοί οδηγοί
- Δημοσίευση δεδομένων IAMMETER στον broker MQTT σας
- Χρήση του MQTT Discovery αντί για YAML
- Σύγκριση όλων των μεθόδων ενσωμάτωσης IAMMETER–Home Assistant
- Ορισμός δεδομένων JSON της IAMMETER
- Αναβάθμιση υλικολογισμικού IAMMETER
Ενημερώθηκε: 19 Ιουλίου 2026.