Λυπούμαστε, το πρόγραμμα περιήγησής σας δεν υποστηρίζει JavaScript!
Σύνδεση

Μετρητής ενέργειας MQTT για Home Assistant: Μη αυτόματη διαμόρφωση YAML

Ρύθμιση μετρητή ενέργειας MQTT στο Home Assistant με μη αυτόματο τρόπο

Ένας μετρητής ενέργειας MQTT μπορεί να δημοσιεύει τάση, ένταση ρεύματος, ενεργή ισχύ και εισαγόμενη/εξαγόμενη ενέργεια σε έναν broker στο τοπικό σας δίκτυο. Το Home Assistant εγγράφεται σε αυτά τα δεδομένα και μετατρέπει τις τιμές JSON σε οντότητες αισθητήρων που μπορούν να χρησιμοποιηθούν σε πίνακες ελέγχου, αυτοματισμούς και στο Energy Dashboard.

Αυτός ο οδηγός εξηγεί τη μέθοδο Manual MQTT για τους μετρητές ενέργειας IAMMETER:

  1. διαμόρφωση του broker MQTT στο WebUI του μετρητή·
  2. σύνδεση του Home Assistant στον ίδιο broker·
  3. ορισμός των απαιτούμενων αισθητήρων MQTT σε YAML·
  4. προσθήκη της εισαγόμενης και της εξαγόμενης ενέργειας στο 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

Αποθηκεύστε τις ρυθμίσεις και αφήστε τον μετρητή να επανασυνδεθεί.

Διαμόρφωση του broker MQTT στο τελευταίο WebUI της IAMMETER

Το τρέχον 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:

  1. Μεταβείτε στις Ρυθμίσεις → Συσκευές και υπηρεσίες.
  2. Επιλέξτε Προσθήκη ενσωμάτωσης.
  3. Αναζητήστε MQTT.
  4. Πληκτρολογήστε την ίδια διεύθυνση, θύρα, όνομα χρήστη και κωδικό πρόσβασης broker που χρησιμοποιεί ο μετρητής.
  5. Επιβεβαιώστε ότι η ενσωμάτωση 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:

  1. εκτελέστε τον έλεγχο διαμόρφωσης του Home Assistant·
  2. διορθώστε τυχόν σφάλματα YAML, εσοχής ή προτύπων·
  3. επανεκκινήστε το Home Assistant αν χρειάζεται·
  4. ανοίξτε τα Εργαλεία προγραμματιστή → Καταστάσεις·
  5. επιβεβαιώστε ότι κάθε οντότητα 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 απενεργοποιημένο εκτός αν θέλετε σκόπιμα και τα δύο σύνολα και έχετε προγραμματίσει μοναδικά ονόματα οντοτήτων.

Σχετικοί οδηγοί

Ενημερώθηκε: 19 Ιουλίου 2026.

Πάνω