EnergyLIVE - EVU Zählerdaten (Smartmeter) auslesen und in Loxone integrieren

 

image-20240923-124656.png

 

Einrichten von EnergyLIVE Interface (wenn beim Smartmeter WLAN verfügbar ist) oder gegenebenfalls mit dem Interace + Gateway (wenn kein WLAN beim Smartmeter verfügbar ist = Interface zu Gateway via LoRa (long range und dann vom gateway ins www mit WLAN) laut Anleitung von Smartenergy.
https://www.smartenergy.at/energylive

 

Für das EnergyLIVE muss man kein Kunde bei Energie Steiermark - “Smartenergy” sein!


Ist dies mal eingerichtet, kann man in der Smartenergy App (und Kundenportal) sich die aktuelle Leistung (Bezug und Einspeisung) im 10 Sekunden Takt live ansehen.
Kleine Intervalle sind nicht möglich.

 

image-20240923-123702.png

 

Einrichtung des API Datenabrufes:

Möglich sind die OBIS-Daten 1.07, 1.08, 2.07 und 2.08. Also aktuelle Leistung Bezug / Einspeisung und aktueller Zählerstand Bezug / Einspeisung.
OBIS Codes … https://de.wikipedia.org/wiki/OBIS-Kennzahlen


Abruf der Daten über die API: “curl -X GET -k -v -H "X-API-KEY: xxxxx" https://backend.energylive.e-steiermark.com/api/v1/devices/yyyy/measurements/latest
xxxx: API KEY
yyyy: Interface-ID (oben der unkenntliche Bereich im Screenshot)


API Key:

Den API Key erhält man entweder in der Smartenergy-App oder im Kundenportal “API KEY VERWALTEN”

 

Erster Test:

Zum Testen kann man in der Eingabeaufforderung oder anders genannt “command prompt” - Windows taste - CMD - enter den API Aufruf testen.
Läuft alles korrekt, kommt als Ergebnis folgendes raus …

10700=1.07= Leistung Bezug (in W)
10800=1.08= Zählerstand Bezug (in Wh)
usw.

 

 

 

Integration in Loxone:
Der Miniserver kann keinen curl Abruf bewerkstelligen, deshalb habe ich mich dem Loxberry-Plugin “ANY Plugin” bedient.
Hier wird ein virtueller Ausgangsbefehl verwendet, der den Loxberry ein bash-script abrufen lässt.
Dieses script sendet die Daten loxberryintern an MQTT (Topic bei mir “Energylive), die Subscripion “Energylive” muss man in MQTT manuell erstellen.

Zum Script:

getdata.sh - einfach mit Notepad oder ähnlichem erstellen

#!/bin/bash

OUTPUT="$(curl GET -k -v -H "X-API-KEY: API XXXX" https://backend.energylive.e-steiermark.com/api/v1/devices/I-10082023-YYYY/measurements/latest)"
echo publish Energylive $OUTPUT > /dev/udp/127.0.0.1/11884
echo publish Energylive $OUTPUT

XXXX=API Key aus der App/Kundenportal

YYYY=Interface ID

 

Dazu habe ich einen eigenen Ordner erstellt und das script dort abgelegt.
Achtung die Rechte müssen auf “mindestens” 774 gestellt werden, sonst kann der script nicht ausgeführt werden.

 

Es ist in MQTT nötig, das Expand JSON Data NICHT anzuhaken.
Das ist derzeit ein ungelöstes Problem innerhalb von Loxberrys MQTT.



Virtueller Ausgangsbefehl:
Befehl bei EIN:

EnergyLIVE off command /opt/loxberry/Energylive/getdata.sh

Für eine Hilfe was das Any-Plugin wie macht, bitte hier nachlesen:
https://wiki.loxberry.de/plugins/any_plugin/start

 

Links ist ein Impulsgeber, der das script alle 10 Sekunden ausführen lässt.

 

 

Jetzt sollte in MQTT incoming overview bereits etwas sichtbar sein:



Jetzt benötigt man noch virtuelle Eingangsbefehle um aus dem Haufen die richtigen Daten rauszufischen.

Befehlserkennungen … wie erwähnt alles in W bzw. Wh

Bezug Zählerstand: \imeasurement":"0100010800","timestamp\i\ivalue":\i\v
Bezug Leistung: \imeasurement":"0100010700","timestamp\i\ivalue":\i\v
Einspeisung Zählerstand: \imeasurement":"0100020800","timestamp\i\ivalue":\i\v
Einspeisung Leistung: \imeasurement":"0100020700","timestamp\i\ivalue":\i\v

 

 

Loxone App mit Kundenportal im Hintergrund - viel Erfolg!