Docker – Uni-Meter installieren / einrichten

Hinweis: Wir haben in diesem Artikel möglicherweise Provisions-Links verwendet und sie durch (*) gekennzeichnet. Erfolgt über diese Links eine Bestellung, erhält maffert.net eine Provision. Es entstehen für Sie keine Nachteile beim Kauf oder Preis.

Uni-Meter ist ein kleines Tool, das Messdaten von verschiedenen Stromzählern / Wechselrichtern / Sensorquellen einliest und sie so umwandelt, dass andere Geräte sie wie einen unterstützten Stromzähler verstehen. Hauptzweck ist, Speicherlösungen wie z. B. Hoymiles, Solakon One, Growat, Marstek usw. mit passenden Zählerdaten zu versorgen.

Ich konzentriere mich hier in dem Fall auf eine Docker-Installation und als Sensor (der an meinem Stromzähler hängt) nutze ich Tasmota. Die Ausgabe benötige ich dem Fall als simulierten Shelly 3 Pro EM, der dann in meinem Solakon One Speicher/Wechselrichter hinterlegt wird.

Docker-Konfigurationsdatei herunterladen und Ordner vorbereiten:
cd /tmp
git clone https://github.com/sdeigm/uni-meter-docker.git
mkdir /opt/unimeter/
mv uni-meter.conf logback.xml /opt/unimeter/
cd /opt/
nano docker-compose.yaml
docker-compose Datei vorbereiten:
nano docker-compose.yaml

  uni-meter:
    image: sdeigm/uni-meter:latest
    container_name: uni-meter
    network_mode: host
    restart: unless-stopped
    ports:
      - 80:80/tcp
      - 1010:1010/udp
      - 5353:5353/udp
    expose:
      - 80/tcp
      - 1010/udp
      - 5353/udp
    volumes:
      - /opt/unimeter/uni-meter.conf:/etc/uni-meter.conf
      - /opt/unimeter/logback.xml:/opt/uni-meter/config/logback.xml
Konfigurationsdatei für den Tasmota-Sensor vorbereiten:
nano /opt/unimeter/uni-meter.conf:

uni-meter {
  output = "uni-meter.output-devices.shelly-pro3em"

  input = "uni-meter.input-devices.tasmota"

  http-server {
    port = 80
  }

  output-devices {
    shelly-pro3em {
      udp-port = 1010
    }
  }

  input-devices {
    tasmota {
      url = "http://192.168.xx.xx"
      # username = ""
      # password = ""

      # Aktueller Verbrauch aus:
      # 1,77070100100700ff@1,Akt. Verbrauch,W,power_act,0
      power-json-path = "$.StatusSNS.Main.power_act"

      # Gesamtverbrauch aus:
      # 1,77070100010800ff@100000000,Zählerstand Total,kWh,meter_total,3
      energy-consumption-json-path = "$.StatusSNS.Main.meter_total"

      power-scale = 1.0
      energy-consumption-scale = 1.0
    }
  }
}
Docker-Container bauen:
docker-compose up -d
Nützliche Infos:

Der simulierte Shelly ist dann unter http://IPoderHostname (Ports: TCP: 80 und UDP: 1010) erreichbar. Mein Solakon One hat den Shelly dann auch sofort gefunden .. 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert