Tarif: -- | Grundgebühr: --
Diese Liste zeigt die Einzelmesswerte, aus denen das gerade angezeigte Diagramm aufgebaut ist – z. B. um Ausreißer zu prüfen.
Farben: orange = Leistung > 3.000 W (Ausreißer) · rot = Einspeisung.
| Zeit | Leistung (W) | Zählerstand (kWh) | Δ Zählerstand (Wh) | Einspeisung (kWh) | Δ Einspeisung (Wh) |
|---|
Soll der Zähler wirklich gelöscht werden?
Ein Klick auf eine Kachel öffnet die Detailgrafik des jeweiligen Zählers.
Über den runden Zahnrad-Button ⚙︎ unten rechts öffnet sich die Zähler-Verwaltung. Dort werden alle vorhandenen Zähler mit ihrem Status aufgelistet, und über „+ Neuen Zähler anlegen“ lassen sich neue Zähler hinzufügen.
Über die Einstellung Sperre (Freigeben/Sperren) lässt sich die Anzeige eines einzelnen Zählers auf der Startseite unterbinden, ohne ihn gleich zu löschen.
Wichtig: Jeder Zähler muss hier eingetragen sein – sonst können die ankommenden Daten nicht verarbeitet und dargestellt werden.
Sinn dieser Auswertung ist es, den Verbrauch je Zähler grafisch darzustellen, um festzustellen, wo die „Stromfresser“ sitzen – und dann gezielt gegensteuern zu können.
Eingesetzte Messgeräte
Einrichtung eines neuen bitShake
Tasmota-xxxx suchen und sich damit verbinden.192.168.4.1 aufrufen – es erscheint die Startseite des bitShake.Datenfluss bis ins Diagramm
Im Skript des bitShake wird eingestellt, welcher Zähler ausgelesen wird und wohin die Werte übertragen werden: an eine PHP-Seite im Internet, die die Messwerte in die Datenbank schreibt. Erst von dort werden sie in diesem Cockpit als Diagramm angezeigt.
bitShake-Skript (Beispiel)
Im Skript des bitShake werden der Zähler benannt und die Zugangsdaten hinterlegt; anschließend
sendet das Gerät alle 30 Sekunden die aktuellen Werte per WebSend an die
PHP-Importseite. Passwort und Zähler-ID sind im folgenden Beispiel aus Sicherheitsgründen
unkenntlich gemacht.
; aktuelle Version unter https://bitshake.de/skripte
; Hier definieren wir temporäre Variablen für den String-Inhalt, falls nötig
t1=""
t2=""
t3="Orient"
t4="<Zähler-ID>"
t5="<Passwort>"
>B
->sensor53 r
>M 1
+1,5,s,0,9600,MT176,4
1,=soC,1024,0
1,77070100010800ff@1000,Verbrauch,kWh,ImportActive,3
1,77070100020800ff@1000,Einspeisung,kWh,ExportActive,3
1,77070100100700ff@1,akt. Leistung,W,Power,0
1,=h--
1,77070100240700ff@1,Leistung_L1,W,power_L1,0
1,77070100380700ff@1,Leistung_L2,W,power_L2,0
1,770701004c0700ff@1,Leistung_L3,W,power_L3,0
1,77070100000009ff@#,Server ID,,server_id,0
>S
; 1. Bremse: Erst prüfen, ob die 30 Sekunden um sind
if upsecs%30==0
then
; 2. Bremse: Prüfen, ob SML-Daten da sind und RSSI passt
if sml[1]>0
then
; Hier holen wir die SSID ab
t2=ssid
; Jetzt der saubere WebSend ohne "and"-Fehler
=>WebSend [stromzaehler.hellmann.email]/zaehler_import.php?power=%sml[3]%&import=%sml[1]%&export=%sml[2]%&ip=%ip%&rssi=%sml[5]%&sig=%signal%&ssid=%t2%&up=%upsecs%&name=%t3%&key=%t5%&zaehler_id=%t4%
endif
endif
#
Verbindung herstellen
Der Solakon Power IR lässt sich nur über die Solakon-App verbinden: dort unter „Geräte“ oben rechts auf das + tippen, um das Gerät zu installieren.
Warum ein Umweg nötig ist
Die Messwerte lassen sich lokal per HTTP im JSON-Format abrufen, unter
http://<Solakon-IP>/api/v1/status. Um daraus regelmäßig Datensätze in die
Datenbank zu schreiben, bräuchte man eigentlich einen Server, der 24/7 läuft und diese
Adresse abfragt.
Der Trick: ein vorhandener bitShake übernimmt das
Läuft im selben Netzwerk bereits ein bitShake, der ohnehin schon eigene Zählerdaten überträgt,
kann dieser die Solakon-API nebenbei mit abfragen und die Werte per WebSend
an dieselbe PHP-Importseite weiterreichen. Dafür sind zwei Teile nötig:
1. Das modifizierte bitShake-Skript (Beispiel, Passwort und Zähler-ID unkenntlich gemacht):
; aktuelle Version unter https://bitshake.de/skripte
; Hier definieren wir temporäre Variablen für den String-Inhalt, falls nötig
t1=""
t2=""
t3="Haus"
t4="<Zähler-ID>"
t5="<Passwort>"
sol_ip="192.168.10.168"
zaehler=0
zaehler2=0
>B
->sensor53 r
->br load("autoexec.be")
>M 1
+1,5,s,0,9600,MT631,4
1,=soC,1024,0
1,77070100010800ff@1000,Verbrauch,kWh,ImportActive,3
1,77070100020800ff@1000,Einspeisung,kWh,ExportActive,3
1,77070100100700ff@1,akt. Leistung,W,Power,0
>T
zaehler=zaehler+1
zaehler2=zaehler2+1
>S
; --- BLOCK 1: Solakon abfragen und direkt verarbeiten (alle 30 Takte) ---
if zaehler2>30
then
zaehler2=0
=>WebQuery http://%sol_ip%/api/v1/status GET
endif
; 2. Bremse: Erst prüfen, ob die 120 Sekunden um sind
if zaehler>120
then
print %zaehler%
zaehler=0
; 2. Bremse: Prüfen, ob SML-Daten da sind und RSSI passt
if sml[1]>0
then
; Hier holen wir die SSID ab
t2=ssid
; Jetzt der saubere WebSend ohne "and"-Fehler
=>WebSend [stromzaehler.hellmann.email]/zaehler_import.php?power=%sml[3]%&import=%sml[1]%&export=%sml[2]%&ip=%ip%&rssi=%sml[5]%&sig=%signal%&ssid=%t2%&up=%upsecs%&name=%t3%&key=%t5%&zaehler_id=%t4%
endif
endif
#
2. Zusätzlich muss im Dateisystem des bitShake eine Datei autoexec.be angelegt werden, die die Antwort der Solakon-Abfrage auswertet und eigenständig weiterschickt (auch hier Passwort und Zähler-ID unkenntlich gemacht):
var standort = "Wohnung"
var zaehler = "<Zähler-ID>"
tasmota.add_rule('WebQuery', def(val)
if val.contains('extracted')
var e = val['extracted']
var p = e['instantaneous_power_w']
var i = e['energy_summation_kwh']
var ex = e['negative_energy_summation_kwh']
if i != nil && i > 0
var target = f'WebSend [stromzaehler.hellmann.email]/zaehler_import.php?power={p}&name={standort}&import={i}&export={ex}&key=<Passwort>&zaehler_id={zaehler}'
tasmota.cmd(target)
print('SOLAKON WEBSEND GEFEUERT -> Power:', p, 'W')
end
end
end)
Wichtig für den Datensatz aus dem JSON der Solakon-API: instantaneous_power_w
(aktuelle Leistung) → power, energy_summation_kwh
(Verbrauch) → import, negative_energy_summation_kwh
(Einspeisung) → export.