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

Αυτο-φιλοξενούμενη παρακολούθηση ενέργειας με το Docker

Αυτο-φιλοξενούμενη παρακολούθηση ενέργειας με το Docker

Ένα αυτο-φιλοξενούμενο σύστημα παρακολούθησης ενέργειας κρατά τον διακομιστή παρακολούθησης και τα δεδομένα ηλεκτρικής ενέργειας υπό τον έλεγχό σας. Αντί να στέλνει κάθε ένδειξη σε ένα δημόσιο cloud, ο μετρητής ενέργειας ανεβάζει τα δεδομένα σε ένα κοντέινερ Docker που τρέχει σε τοπικό διακομιστή, NAS, Raspberry Pi ή συμβατό δρομολογητή.

Το IAMMETER-Docker παρέχει έναν έτοιμο προς χρήση τοπικό διακομιστή παρακολούθησης ενέργειας για κατανάλωση ηλεκτρικής ενέργειας και φωτοβολταϊκά συστήματα. Μπορεί να συλλέγει μετρήσεις, να εμφανίζει δεδομένα σε πραγματικό χρόνο και ιστορικά δεδομένα, να εκθέτει API και, προαιρετικά, να λειτουργεί ως καταγραφέας δεδομένων (datalogger) εκτός σύνδεσης.

IAMMETER energy meter
        │
        │ Wi-Fi / local network
        ▼
IAMMETER-Docker
        │
        ├── Local web dashboard
        ├── Historical energy data
        ├── REST API
        ├── MQTT
        ├── CSV datalogger
        └── Optional forwarding

Το IAMMETER-Docker είναι μια πρακτική αυτο-φιλοξενούμενη επιλογή, αλλά δεν αναπαράγει κάθε δυνατότητα και αναφορά του IAMMETER-Cloud. Αν εξακολουθείτε να επιλέγετε αρχιτεκτονική, συγκρίνετε τις επιλογές στη σελίδα λύσεων αυτο-φιλοξενούμενης παρακολούθησης ενέργειας.

🎬 Δείτε το εκπαιδευτικό βίντεο του IAMMETER-Docker

1. Πότε πρέπει να χρησιμοποιήσετε ένα αυτο-φιλοξενούμενο σύστημα παρακολούθησης ενέργειας;

Το IAMMETER-Docker είναι κατάλληλο όταν θέλετε να:

  • διατηρείτε τα δεδομένα ενέργειας σε έναν διακομιστή που διαχειρίζεστε·
  • παρακολουθείτε την ηλεκτρική ενέργεια σε ένα τοπικό δίκτυο (LAN) χωρίς να εξαρτάστε από πρόσβαση στο Διαδίκτυο·
  • αναπτύξετε ένα τοπικό ταμπλό παρακολούθησης των φωτοβολταϊκών·
  • συλλέγετε δεδομένα σε απομακρυσμένη τοποθεσία χρησιμοποιώντας καταγραφέα δεδομένων εκτός σύνδεσης·
  • έχετε πρόσβαση στις μετρήσεις μέσω τοπικού REST API ή MQTT·
  • προωθείτε επιλεγμένα δεδομένα σε άλλη πλατφόρμα·
  • δημιουργείτε ιδιωτικό ταμπλό ή ενσωμάτωση γύρω από τα αποθηκευμένα δεδομένα ενέργειας.

Τυπικές εγκαταστάσεις περιλαμβάνουν:

  • παρακολούθηση οικιακής ηλεκτρικής ενέργειας και φωτοβολταϊκών·
  • συνεργεία, γραφεία και μικρές εμπορικές εγκαταστάσεις·
  • απομακρυσμένα ηλιακά συστήματα και αίθουσες εξοπλισμού·
  • περιβάλλοντα ανάπτυξης και δοκιμών·
  • έργα όπου απαιτείται τοπική διαδρομή δεδομένων.

Αν χρειάζεστε μόνο άμεσες ενδείξεις μετρητή για το Home Assistant, το Node-RED, ένα PLC ή προσαρμοσμένο λογισμικό, η ανάπτυξη ενός πλήρους διακομιστή μπορεί να είναι περιττή. Δείτε τις επιλογές τοπικής και αυτο-φιλοξενούμενης ενσωμάτωσης πριν επιλέξετε.

2. Τι χρειάζεστε

Πριν από την ανάπτυξη, προετοιμάστε:

  • μια συσκευή που μπορεί να εκτελέσει Docker, όπως διακομιστής Linux, NAS, Raspberry Pi ή συμβατός δρομολογητής·
  • μόνιμο χώρο αποθήκευσης για τη βάση δεδομένων της εφαρμογής·
  • διαθέσιμη θύρα TCP 5050 για την εφαρμογή ιστού και το API·
  • θύρα TCP 1883 εάν πρόκειται να χρησιμοποιηθεί η ενσωματωμένη υπηρεσία MQTT·
  • σταθερή διεύθυνση IP ή δέσμευση DHCP για τον κεντρικό υπολογιστή του Docker·
  • έναν μετρητή ενέργειας IAMMETER ή άλλη πηγή δεδομένων που μπορεί να υποβάλει την υποστηριζόμενη μορφή API.

Ο κεντρικός υπολογιστής του Docker και ο μετρητής θα πρέπει να μπορούν να επικοινωνούν μεταξύ τους μέσω του τοπικού δικτύου. Για λειτουργία εκτός σύνδεσης, δεν χρειάζεται πρόσβαση στο Διαδίκτυο αφού εγκατασταθούν η εικόνα και το απαραίτητο λογισμικό.

3. Αναπτύξτε το IAMMETER-Docker

Η τρέχουσα έκδοση στο Docker Hub είναι το IAMMETER-Docker V2.4.

3.1 Επιλογή A: Εκτέλεση με Docker

Δημιουργήστε έναν κατάλογο εργασίας και εκτελέστε το κοντέινερ με μόνιμο χώρο αποθήκευσης:

docker run -d \
  --name myiammeter \
  --restart always \
  -p 5050:5050 \
  -p 1883:1883 \
  -e TZ=Etc/UTC \
  -v "$PWD/data:/app/data" \
  iammeter/iammeter

Αλλάξτε το TZ=Etc/UTC στη σωστή ζώνη ώρας για την τοποθεσία παρακολούθησης. Οι αναφορές ενέργειας εξαρτώνται από την τοπική ημερομηνία και ώρα, γι' αυτό ρυθμίστε το πριν συλλέξετε δεδομένα παραγωγής.

3.2 Επιλογή B: Docker Compose

Δημιουργήστε το compose.yaml:

services:
  iammeter:
    image: iammeter/iammeter
    container_name: myiammeter
    restart: always
    ports:
      - "5050:5050"
      - "1883:1883"
    environment:
      TZ: Etc/UTC
    volumes:
      - ./data:/app/data

Ξεκινήστε την υπηρεσία:

docker compose up -d

Ελέγξτε την κατάστασή της:

docker compose ps
docker compose logs --tail=100 iammeter

3.3 Ανοίξτε το τοπικό ταμπλό

Ανοίξτε την παρακάτω διεύθυνση από ένα πρόγραμμα περιήγησης στο ίδιο δίκτυο:

http://<docker-host-ip>:5050

Προεπιλεγμένα διαπιστευτήρια:

Username: testuser
Password: 123456

Αλλάξτε αμέσως τον προεπιλεγμένο κωδικό πρόσβασης. Μην εκθέτετε τη θύρα 5050 ή 1883 απευθείας στο δημόσιο Διαδίκτυο χωρίς κατάλληλο τείχος προστασίας, έλεγχο ταυτότητας και ασφαλή σχεδίαση δικτύου.

Σύνδεση στο IAMMETER-Docker

4. Αρχική διαμόρφωση

Αφού συνδεθείτε:

  1. Δημιουργήστε έναν Χώρο (Place) για το σπίτι, την ηλιακή εγκατάσταση ή την παρακολουθούμενη εγκατάσταση.
  2. Προσθέστε έναν Μετρητή (Meter).
  3. Πληκτρολογήστε τον σειριακό αριθμό (SN) του μετρητή.
  4. Επιλέξτε τον σωστό τύπο μετρητή μονοφασικού ή τριφασικού ρεύματος.
  5. Αντιστοιχίστε κάθε φάση ή κανάλι ως Δίκτυο (Grid), Αντιστροφέα (Inverter) ή Φορτίο (Load).
  6. Επιβεβαιώστε τη ζώνη ώρας της τοποθεσίας και τη δομή των μετρήσεων πριν αξιολογήσετε τις αναφορές.

Διαμόρφωση μετρητή στο IAMMETER-Docker

Η σωστή αντιστοίχιση καναλιών είναι ιδιαίτερα σημαντική για την παρακολούθηση των φωτοβολταϊκών. Το σύστημα πρέπει να γνωρίζει ποια μέτρηση αντιπροσωπεύει το δίκτυο, τον αντιστροφέα ή το φορτίο προτού μπορέσει να εμφανίσει ουσιαστικά αποτελέσματα ροής ενέργειας.

5. Σύνδεση ενός μετρητή ενέργειας IAMMETER

Οι μετρητές IAMMETER μπορούν να ανεβάζουν δεδομένα απευθείας στον τοπικό διακομιστή Docker.

Στο WebUI του μετρητή, διαμορφώστε την αποστολή HTTP σε τρίτο μέρος και χρησιμοποιήστε τη διεύθυνση του κεντρικού υπολογιστή Docker:

<docker-host-ip>:5050/api/v1/sensor/uploadsensor

Η IP του κεντρικού υπολογιστή Docker πρέπει να είναι προσβάσιμη από το δίκτυο Wi-Fi του μετρητή. Χρησιμοποιήστε το ίδιο SN μετρητή που προστέθηκε στο IAMMETER-Docker.

Διαμόρφωση αποστολής HTTP στο IAMMETER-Docker

Αφού αποθηκεύσετε τη διαμόρφωση του μετρητή:

  1. περιμένετε την πρώτη αποστολή δεδομένων·
  2. επιβεβαιώστε ότι ο μετρητής εμφανίζεται συνδεδεμένος στο IAMMETER-Docker·
  3. συγκρίνετε τις τιμές τάσης, ισχύος και ενέργειας με τα τοπικά δεδομένα του μετρητή·
  4. επαληθεύστε την κατεύθυνση και την αντιστοίχιση καναλιών πριν βασιστείτε σε υπολογισμούς φωτοβολταϊκών ή εισαγωγής/εξαγωγής.

Χρήση του IAMMETER-Cloud ταυτόχρονα

Το IAMMETER-Docker μπορεί προαιρετικά να προωθεί δεδομένα μετρητή στο IAMMETER-Cloud. Ενεργοποιήστε την προώθηση μόνο όταν θέλετε τόσο τοπική αποθήκευση όσο και υπηρεσίες IAMMETER-Cloud.

Προώθηση τοπικών δεδομένων στο IAMMETER-Cloud

Για εγκατάσταση εκτός σύνδεσης ή ανεξάρτητη από το cloud, αφήστε την προώθηση στο cloud απενεργοποιημένη.

6. Αποστολή δεδομένων από άλλη συσκευή ή εφαρμογή

Το IAMMETER-Docker μπορεί επίσης να λαμβάνει υποστηριζόμενα δεδομένα ενέργειας μέσω του REST API του. Αυτό είναι χρήσιμο για προσομοιωτές, πύλες (gateways) ή εφαρμογές πελατών που δεν χρησιμοποιούν μετρητή IAMMETER.

Δημιουργήστε έναν μετρητή με προσαρμοσμένο SN και στη συνέχεια χρησιμοποιήστε το ίδιο SN σε κάθε αίτημα API.

Η διαδραστική τεκμηρίωση του API είναι διαθέσιμη στον τοπικό διακομιστή:

http://<docker-host-ip>:5050/docs

Τεκμηρίωση API του IAMMETER-Docker

Δοκιμή αιτήματος API του IAMMETER-Docker

Δοκιμάστε πρώτα το API σε έναν μετρητή εκτός παραγωγής. Διατηρήστε σταθερά το SN, τον αριθμό φάσεων, τη σειρά των πεδίων και τις μονάδες μέτρησης, ώστε τα ιστορικά δεδομένα να παραμείνουν αξιοποιήσιμα.

7. Λειτουργία καταγραφέα ενέργειας εκτός σύνδεσης

Το IAMMETER-Docker V2.4 μπορεί να αποθηκεύει δεδομένα σε CSV όταν προσαρτάται ένας κατάλογος καταγραφέα δεδομένων. Αυτό είναι χρήσιμο για μια απομακρυσμένη ηλιακή εγκατάσταση, εργοστάσιο ή αίθουσα εξοπλισμού χωρίς αξιόπιστη σύνδεση στο Διαδίκτυο.

Εκτέλεση Docker με αποθήκευση καταγραφέα

docker run -d \
  --name myiammeter \
  --restart always \
  -p 5050:5050 \
  -p 1883:1883 \
  -e TZ=Etc/UTC \
  -v "$PWD/data:/app/data" \
  -v "$PWD/datalogger:/app/datalogger" \
  iammeter/iammeter

Για το Docker Compose, προσθέστε αυτόν τον τόμο:

volumes:
  - ./data:/app/data
  - ./datalogger:/app/datalogger

Ανοίξτε τη σελίδα του καταγραφέα στη διεύθυνση:

http://<docker-host-ip>:5050/datalogger

Η σελίδα του καταγραφέα χρησιμοποιεί αρχικά:

Username: admin
Password: admin

Αλλάξτε αυτόν τον κωδικό πρόσβασης ως μέρος της ανάπτυξης. Για την πλήρη διαδικασία εργασίας με βάση τον δρομολογητή και εξαγωγή CSV, δείτε τον Καταγραφέα ενέργειας εκτός σύνδεσης με το IAMMETER-Docker.

8. MQTT και άλλες προηγμένες δυνατότητες

Η θύρα 1883 χρησιμοποιείται από την υπηρεσία MQTT του IAMMETER-Docker. Ένας μετρητής ή άλλη εφαρμογή μπορεί να δημοσιεύει υποστηριζόμενα δεδομένα μετρήσεων στο IAMMETER-Docker και οι πελάτες MQTT μπορούν να εγγραφούν σε τιμές πραγματικού χρόνου.

Το IAMMETER-Docker υποστηρίζει επίσης δυνατότητες όπως:

  • MySQL αντί για την προεπιλεγμένη τοπική βάση δεδομένων για μεγαλύτερα σύνολα δεδομένων·
  • δημοσίευση και εγγραφή MQTT·
  • προώθηση στο PVOutput·
  • συμβατά δεδομένα ενέργειας Tasmota·
  • συναγερμοί πραγματικού χρόνου και σενάρια καταγραφέα με διάστημα ενός δευτερολέπτου.

Αυτές οι δυνατότητες παραμένουν σκόπιμα εκτός της βασικής διαδικασίας ανάπτυξης. Διαμορφώστε και δοκιμάστε πρώτα το βασικό κοντέινερ και στη συνέχεια συνεχίστε με τον προηγμένο οδηγό του IAMMETER-Docker.

9. Δημιουργία αντιγράφων ασφαλείας των δεδομένων ενέργειας

Ο τόμος /app/data περιέχει μόνιμα δεδομένα εφαρμογής. Δημιουργείτε τακτικά αντίγραφα ασφαλείας του αντίστοιχου καταλόγου του κεντρικού υπολογιστή.

Μια ασφαλής βασική διαδικασία είναι:

  1. σταματήστε ή θέστε σε παύση τις εγγραφές στο κοντέινερ·
  2. αντιγράψτε τον πλήρη προσαρτημένο κατάλογο data στον χώρο αποθήκευσης αντιγράφων ασφαλείας·
  3. συμπεριλάβετε τον κατάλογο datalogger όταν είναι ενεργοποιημένη η καταγραφή CSV·
  4. διατηρήστε περισσότερες από μία γενιές αντιγράφων ασφαλείας·
  5. δοκιμάστε την επαναφορά σε ξεχωριστό κοντέινερ πριν βασιστείτε στο σχέδιο αντιγράφων ασφαλείας.

Μην αντιμετωπίζετε το σύστημα αρχείων του κοντέινερ ως μόνιμο χώρο αποθήκευσης. Εάν το /app/data δεν είναι προσαρτημένο, η κατάργηση του κοντέινερ μπορεί να καταργήσει μαζί του και τη βάση δεδομένων παρακολούθησης.

10. Αναβάθμιση του IAMMETER-Docker

Πριν από την αναβάθμιση, δημιουργήστε αντίγραφο ασφαλείας του καταλόγου μόνιμων δεδομένων.

Για το Docker Compose:

docker compose pull
docker compose up -d
docker compose logs --tail=100 iammeter

Για ένα κοντέινερ που δημιουργήθηκε με docker run:

  1. καταγράψτε τις υπάρχουσες θύρες, τη ζώνη ώρας και τους προσαρτημένους τόμους·
  2. κάντε λήψη της νέας εικόνας (pull)·
  3. σταματήστε και καταργήστε το παλιό κοντέινερ·
  4. δημιουργήστε ξανά το κοντέινερ με τον ίδιο μόνιμο τόμο·
  5. επαληθεύστε τη σύνδεση, την κατάσταση του μετρητή και τα ιστορικά δεδομένα.
docker pull iammeter/iammeter
docker stop myiammeter
docker rm myiammeter

Στη συνέχεια, επαναλάβετε την αρχική εντολή docker run. Η κατάργηση ενός κοντέινερ είναι ασφαλής μόνο όταν τα δεδομένα της εφαρμογής έχουν αποθηκευτεί σε έναν σωστά προσαρτημένο κατάλογο του κεντρικού υπολογιστή με αντίγραφο ασφαλείας.

11. Αντιμετώπιση προβλημάτων

Η ιστοσελίδα δεν ανοίγει

  • Βεβαιωθείτε ότι το κοντέινερ εκτελείται με docker ps ή docker compose ps.
  • Ελέγξτε εάν η θύρα 5050 του κεντρικού υπολογιστή χρησιμοποιείται ήδη.
  • Εξετάστε τα αρχεία καταγραφής του κοντέινερ.
  • Βεβαιωθείτε ότι το τείχος προστασίας επιτρέπει την πρόσβαση από το τοπικό δίκτυο.

Ο μετρητής δεν εμφανίζεται συνδεδεμένος

  • Βεβαιωθείτε ότι ο μετρητής μπορεί να προσεγγίσει την IP του κεντρικού υπολογιστή Docker.
  • Ελέγξτε τη διεύθυνση URL αποστολής και τη θύρα.
  • Βεβαιωθείτε ότι το SN στο IAMMETER-Docker ταιριάζει με το SN του μετρητή.
  • Αποφύγετε τη χρήση του localhost ως διεύθυνσης διακομιστή στον μετρητή· αναφέρεται στον ίδιο τον μετρητή, όχι στον κεντρικό υπολογιστή Docker.
  • Βεβαιωθείτε ότι η απομόνωση πελατών ή ένα δίκτυο Wi-Fi επισκεπτών δεν εμποδίζει την κυκλοφορία LAN.

Τα ηλιακά δεδομένα φαίνονται εσφαλμένα

  • Επαληθεύστε την κατεύθυνση των μετασχηματιστών ρεύματος (CT) και την καλωδίωση.
  • Επιβεβαιώστε ποιο κανάλι έχει αντιστοιχιστεί στο Δίκτυο και ποιο στον Αντιστροφέα.
  • Ελέγξτε το πρόσημο της ενεργού ισχύος κατά την εισαγωγή και την εξαγωγή.
  • Επιβεβαιώστε τη ζώνη ώρας πριν συγκρίνετε τα ημερήσια σύνολα ενέργειας.

Τα δεδομένα εξαφανίζονται μετά την επαναδημιουργία του κοντέινερ

  • Βεβαιωθείτε ότι το /app/data ήταν προσαρτημένο σε έναν μόνιμο κατάλογο του κεντρικού υπολογιστή.
  • Ελέγξτε τα δικαιώματα του καταλόγου.
  • Επαναφέρετε το πιο πρόσφατο επαληθευμένο αντίγραφο ασφαλείας εάν ο αρχικός τόμος δεν είναι διαθέσιμος.

12. IAMMETER-Docker, IAMMETER-Cloud ή προσαρμοσμένο σύστημα;

Επιλογή Ιδανική για Τοποθεσία δεδομένων Προσπάθεια εγκατάστασης Κύριος συμβιβασμός
IAMMETER-Docker Ένας έτοιμος τοπικός διακομιστής παρακολούθησης Ο κεντρικός σας υπολογιστής Docker Χαμηλή έως μέτρια Λιγότερες διαχειριζόμενες δυνατότητες cloud
IAMMETER-Cloud Έτοιμη παρακολούθηση, αναφορές και απομακρυσμένη πρόσβαση IAMMETER-Cloud Χαμηλή Χρησιμοποιεί μια φιλοξενούμενη υπηρεσία cloud
Home Assistant / Node-RED Οντότητες έξυπνου σπιτιού και προσαρμοσμένος αυτοματισμός Η δική σας πλατφόρμα Μέτρια Εσείς σχεδιάζετε το ταμπλό και τις ροές εργασίας
Προσαρμοσμένος διακομιστής Ένα προϊόν, EMS ή εξειδικευμένος αγωγός δεδομένων Η δική σας υποδομή Υψηλή Εσείς αναπτύσσετε και συντηρείτε το σύστημα

Συνεχίστε με:

13. Λίστα ελέγχου ανάπτυξης

  • Ο κεντρικός υπολογιστής Docker έχει σταθερή διεύθυνση LAN.
  • Το /app/data είναι προσαρτημένο σε μόνιμο χώρο αποθήκευσης.
  • Η ζώνη ώρας ταιριάζει με την τοποθεσία παρακολούθησης.
  • Οι προεπιλεγμένοι κωδικοί πρόσβασης έχουν αλλάξει.
  • Οι θύρες 5050 και 1883 δεν εκτίθενται άσκοπα στο Διαδίκτυο.
  • Το SN του μετρητή και οι αντιστοιχίσεις καναλιών είναι σωστά.
  • Η τοπική αποστολή δεδομένων έχει επαληθευτεί με πραγματικές μετρήσεις.
  • Η προώθηση στο cloud είναι ενεργοποιημένη μόνο όταν απαιτείται.
  • Οι διαδικασίες αντιγράφων ασφαλείας και αναβάθμισης έχουν δοκιμαστεί.
  • Ο τόμος του καταγραφέα είναι προσαρτημένος εάν απαιτείται εξαγωγή CSV.

Τελευταία ενημέρωση: 17 Ιουλίου 2026.

Πάνω