Anbindung der Tibber-Bridge per „SML Meter HTTP“-Zähler arbeitet sehr unzuverlässig

  • Fragen
  • [Gelöst] Anbindung der Tibber-Bridge per "SML Meter HTTP"-Zähler arbeitet sehr unzuverlässig

Anbindung der Tibber-Bridge per „SML Meter HTTP“-Zähler arbeitet sehr unzuverlässig

0
0

Ich habe in meiner cFos Power Brain (Firmware 2.0.1) für das Auslesen der Verbrauchsdaten aus der Tibber-Bridge einen Zähler erstellt vom Typ „SML Meter HTTP“ mit der Rolle „Netzbezug“. Ich bin hier folgender Anleitung gefolgt: https://www.cfos-emobility.de/network/antworten/mittels-tibber-bei-pv-ueberschuss-auto-laden/

Ich will hiermit PV-Überschussladen realisieren. Allerdings werden die Leistungsdaten nur sehr unzuverlässig geladen / aktualisiert. Es werden oft und dann auch lange nur 0-Werte angezeigt, aber zwischendurch auch mal korrekte Werte.

Im Zähler wird immer angezeigt, dass es Kommunkationsprobleme gibt. Wenn man den Zähler maximiert, dann sieht man unten folgendes


M4 / tibber-host.fritz.box/data.json?node_id=1 / 5
DZG,*,*,*,60597845
Com-Fehler 1794 (seit 54 Sekunden) SML error
Status -L1 +L2 -L3 -A
Imb_avg 0
Imbalance 0

Ein Zählertest schlug bei mir bisher immer fehl, im Zähler wird


Version: 2.0.1 ESP Time: 2024-03-10 22:19:12 Device 'meter_sml_http': cFos,Meter SML HTTP,1.0,1.0,0 Address: http://admin:/data.json?node_id=1, Id: 5 COM errors: 1 Last error: SML error Voltage: 0, 0, 0 Current: 0.000000, 0.000000, 0.000000 A Power: 0 W, 0 VA Import/Export: 0 Wh, 0 Wh

Habe auch mal das Diagnose-Logging aktiviert. Man sieht oft, dass die Verbindung scheinbar mehrmals aufgebaut wird:


2024-03-10T20:01:19.599Z HTTP CLT [75] connected to tibber-host.fritz.box:80
...
2024-03-10T20:01:19.607Z HTTP CLT [75] sent message
...
2024-03-10T20:01:19.811Z HTTP CLT [75] connected to tibber-host.fritz.box:80
2024-03-10T20:01:19.812Z HTTP CLT [75] reconnected to server
...
2024-03-10T20:01:19.817Z HTTP CLT [75] sent message
...
2024-03-10T20:01:19.879Z LB M meter_sml_http M4 3 0/0/0,0,0

Ab und zu sieht man zusätzlich

2024-03-10T20:01:23.622Z SML transport: receiving version 1 SML file

Und oft, aber nicht immer, sieht man direkt darauf

2024-03-10T20:01:23.624Z SML parser: invalid CRC16 in message

Es werden nach Mintuten korrekte Werte ausgelesen. Die bleiben dann eine Weile (ca. 3 Mintuten) erhalten. Dann werden plötzlich wieder 0-Werte angezeigt.

Da der PV-Überschuss durch diesen instabilen Zähler zwischendurch eine Weile auf 0 geht, kann ich damit nicht wirklich PV-Überschuss-Lade meine e-Autos realisieren.

Die WLAN-Verbindung der Wallbox ist gut, wie auch die der Tibber-Bridge. In der Tibber-App bekommen ich zuverlässig die aktuelle Leistung angezeigt, die Kommunikation zwischen Tibber Pulse und Bridge ist also auch i.O.

Ich komme hier nach viel Fummelei und Recherchen nicht weiter.

Könnte das Problem in dem „SML Meter HTTP“ liegen? Die Logs erwecken den Eindruck, dass immer 2x eine TCP-Verbindung aufgebaut wird, beim 2. Mal kommt dann zusätzlich die Meldung „HTTP CLT [75] reconnected to server“. Werden die TCP-Verbindungen evtl. nicht geschlossen und es entsteht ein Stau in der Tibber-Bridge?

Hat jemand ähnlich Erfahrungen gemacht und eine Lösung gefunden?

Gelöst
markiert als Spam
Geschrieben von (Fragen: 1, Antworten: 7)
Gefragt am 10. März 2024 22:43
540 views

Antworten (15)

0
Private answer

Hallo Holgi,

ich freue mich, dass du das Problem durch Drehen des Lesekopfs lösen konntest. Danke auch für den Link bei Tibber, der sicher auch anderen Benutzern eine wertvolle Hilfestellung sein könnte.

markiert als Spam
Geschrieben von cFos (Fragen: 0, Antworten: 38)
Beantwortet am 14. März 2024 13:52
2
Private answer

Ich habe das Problem lösen können!

Habe noch viel probiert und am Ende war die Lösung ganz einfach:
Ich musste den tibber Pulse in einem anderen Winkel auf den Stromzähler positionieren. Auf 5 Uhr funktioniert es jetzt fehlerfrei. Habe dazu auch eine Anleitung gefunden: https://support.tibber.com/de/articles/6498539-hilfestellung-rund-um-das-thema-pulse-ir

Danke für Eure Hilfe und Eure Zeit!

markiert als Spam
Geschrieben von (Fragen: 1, Antworten: 7)
Beantwortet am 13. März 2024 7:31
0
Private answer

Hi Lars,

der Pulse-Lesekopf schickt die SML-Nachrichten per Funk mit 868Mhz an die Tibber-Bridge. Und die ist per WLAN an der Fritzbox angemeldet und schickt die Sachen in die Tibber-Cloud. Die Tibber-Bridge wird hier dann über die URL angesprochen in der Wallbox.

Die Vermutung ist, dass die SML-Nachrichten auf der Funkstrecke vom Tibber-Pulse zur Tibber-Bridge gestört werden, evtl. durch meine HomeMatic-Geräte und / oder durch zu viel Blech und Wand dazwischen.

Ich hatte aber gestern Abend den Schaltschrank offen gelassen und den Pulse anders positioniert. Der Zähler hat nach wie vor viele CRC-Fehler, man sieht quasi immer das rote Verbindungstrennungs-Symbol. Aber die Kurve mit den Messwerten des Zählers weist zumindest bis jetzt keine Lücken auf. Ist also schonmal besser geworden :-)

markiert als Spam
Geschrieben von (Fragen: 1, Antworten: 7)
Beantwortet am 12. März 2024 21:16
0
Private answer

Hallo Holgi,

werden die SML-Nachrichten nicht durch einen optischen Lesekopf ausgelesen? Funksignale sollten da nicht stören.

Wie von dir beobachtet wird der letzte gültige Wert für mehrere Minuten gehalten. Dass er dann auf 0 fällt, wenn kein weiterer Wert kommt, ist so by design.

Auch der HTTP-Authentisierungprozess ist so konzipiert, dass der Server zunächst sagt, was für eine Authentisierung er gerne hätte, und der Client diese dann im zweiten Schritt liefert.

markiert als Spam
Geschrieben von cFos (Fragen: 0, Antworten: 38)
Beantwortet am 12. März 2024 16:47
0
Private answer

Vielen Dank für die Analyse!

Deine Einschätzung deckt sich mit meinen Vermutungen, dass die SML-Nachrichten vom Pulse fehlerhaft an die Bridge übermittelt werden bzw. durch Störungen verfälscht werden. Vielleicht sind es ja tatsächlich meine HomeMatic-Geräte, die da zwischenfunken.

Wäre es denn möglich, dass der Zähler "SML Meter HTTP" erweitert wird, dass man die Haltedauer des letzten gelesenen Wertes erhöhen kann?

Sinnvoll wäre außerdem, dass der HTTP-Header "Authorization" direkt beim ersten HTTP-Request mitgesendet wird, um die doppelte Verbindung zu vermeiden.

Vielen Dank für die Unterstützung. Ich werden weiter versuchen, das ganze zu verbessern. Werde dann hier nochmal berichten, falls ich was erreichen konnte.

markiert als Spam
Geschrieben von (Fragen: 1, Antworten: 7)
Beantwortet am 12. März 2024 12:28
0
Private answer

Hallo,

vielen Dank für das Hochladen des Log-Files. Darin sind ja die übermittelten SML-Nachrichten enthalten (sie beginnen stets mit 1B1B1B1B). Wir haben die SML-Nachrichten analysiert und festgestellt, dass sie tatsächlich Bit-Fehler enthalten, wie die Fehlermaldung "invalid CRC16 in message" ja auch schon nahelegt.

Die Fehler können eigentlich nur beim Auslesen mittels des optischen Lesekopfs auf dem Zähler entstanden sein. Die Empfehlung wäre also, diesen Lesekopf noch präziser auszurichten und ggf. von sonstigem einfallenden Licht abzuschirmen.

markiert als Spam
Geschrieben von cFos (Fragen: 0, Antworten: 38)
Beantwortet am 12. März 2024 11:37
0
Private answer

Anbei die Log-Datei von gestern Abend.

markiert als Spam
Geschrieben von (Fragen: 1, Antworten: 7)
Beantwortet am 12. März 2024 8:30
0
Private answer

Kannst du mal ein Log anhängen? Bitte Http- und Zählerlog auf "Daten" stellen.

markiert als Spam
Geschrieben von Top Networker (Fragen: 0, Antworten: 996)
Beantwortet am 12. März 2024 8:26
1
Private answer

Ich habe die Log-Level erhöht auf "Daten" für "HTTP / Websocket" und "Zähler".

Hiermit konnte geklärt werden, warum es bei jedem "Durchlauf" zu zwei TCP-Verbindungen mit einem HTTP-Request kommt. Beim ersten HTTP-Request kommt die Response "HTTP/1.1 401 Unauthorized" zurück. Erst im zweiten HTTP-Request wird das Login & Passwort per HTTP-Header "Authorization" übertragen.
=> Es wäre besser, wenn man für den "SML Meter HTTP" das Login und Passwort getrennt angeben könnte und der HTTP-Header "Authorization" schon beim ersten HTTP-Request übertragen werden würde.

Das dürfte aber nicht mein Problem zu verursachen, dass die Leistungs-Werte zwischendurch auf 0 gehen. Ist einfach nur vermeidbar.

Ich habe ansonsten die Logs, die Anzeige im Zähler und die in der Tibber-App eine Weile beobachten. Es war folgendes zu beobachten:

  • Wenn der Leistungs-Wert in der Tibber-App aktualisiert wird, dann wird auch der Wert im Zähler aktualisiert.
  • Es kommt meistens die Meldung "SML parser: invalid CRC16 in message" nach dem Laden der SML-Message von der Tibber-Bridge ("SML transport: receiving version 1 SML file"). Das dürfte erklären, dass der Zähler-Test bei mir immer fehlschlug.
  • Der zuletzt erfolgreich ausgelesene Leistungswert im Zähler bleibt trotz des CRC-Fehlers erhalten.
  • Falls aber binnen 60s keine valide SML-Nachricht geladen werden konnte, wird der Leistungs-Wert im Zähler auf 0W gesetzt.

In der Tibber-Bridge sieht man, dass diese alle 1-2s eine Nachricht empfängt vom Tibber Pulse. Ich würde daraus schließen, dass die SML-Nachrichten vom Pulse meistens fehlerhaft an der Tibber-Bridge ankommen und so weitergegeben werden. Die Funk-Signale sind womöglich gestört durch den Sicherungskasten, worin der Zähler verbaut ist, und / oder durch meine HomeMatic-Geräte, die auf der gleichen Frequenz funken (868MHz).

Ich habe und werden weiter probieren, für den Pulse und die Bridge eine bessere Position zu finden. Und ich werden probieren, meine ganzen HomeMatic-Geräte mal auszuschalten.

Es wäre aber sehr hilfreich, wenn die Zählerwerte nicht auf 0 gesetzt werden würden, falls binnen 60s keine valide SML-Nachricht empfangen wird. Kann man dieses Timeout irgendwie erhöhen? Dies wäre eine sinnvolle zusätzliche Einstellung in dem Zähler.

Und es wäre außerdem sinnvoll, wenn die Tibber-Bridge immer direkt mit einem HTTP-Request mit Authentication-Header angesprochen werden würde.

markiert als Spam
Geschrieben von (Fragen: 1, Antworten: 7)
Beantwortet am 12. März 2024 1:00
0
Private answer

Stelle mal die Logdaten vom HTTP / Websocket auf "Daten".

Ein guter Hinweis, das mache ich mal und berichte hier.

markiert als Spam
Geschrieben von (Fragen: 1, Antworten: 7)
Beantwortet am 11. März 2024 10:57
0
Private answer

Hast die Punkte schon gemacht, die hier bei "Zähler mit Tibber Puls auslesen" stehen?

EDIT: Sorry, ja hast du ja schon geschrieben.

Mh schwierig, dann könnte dir wahrscheinlich nur jemand mit dem gleichen Setup helfen! Bin ich leider raus :(

markiert als Spam
Geschrieben von (Fragen: 8, Antworten: 123)
Beantwortet am 11. März 2024 8:42
0
Private answer

Schade! Stelle mal die Logdaten vom HTTP / Websocket auf "Daten".

Vielleicht sieht man dann mehr.

markiert als Spam
Geschrieben von Top Networker (Fragen: 0, Antworten: 996)
Beantwortet am 11. März 2024 8:33
1
Private answer

Danke für die schnellen Antworten.

Die URL passt so, "tibber-host.fritz.box" ist der Host-Name der Bridge im LAN. Ich hatte hier auch mit der IP-Adresse direkt getestet, aber das machte keinen Unterschied.

Das Login (admin) und Passwort (den QR-Code der Tibber-Bridge) sind vor dem Host-Name gesetzt durch "@" davon getrennt, beide durch ein ":" getrennt. Das ist so auch passend.

Die Verbindung klappt ja auch grundsätzlich, nur sehr unzuverlässig.

markiert als Spam
Geschrieben von (Fragen: 1, Antworten: 7)
Beantwortet am 11. März 2024 8:07
0
Private answer

Kann es sein dass du Benutzernamen und Passwort in der nicht mit angegeben hast?

also: "http://admin:Passwort wie oben@IP-der-Tibber-Bridge/data.json?node_id=1

Welchen Zähler hast du?

markiert als Spam
Geschrieben von Top Networker (Fragen: 0, Antworten: 996)
Beantwortet am 11. März 2024 7:37
0
Private answer

Ich habe diesen Einsatzfall zwar nicht und, aber beim durchlesen deines posts ist mir das aufgefallen:

@tibber-host.fritz.box

ist das wirklich so richtig?

markiert als Spam
Geschrieben von (Fragen: 8, Antworten: 123)
Beantwortet am 11. März 2024 7:09