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 .. 😉