Moin,
das Problem hat mir keine Ruhe gelassen, und ich habe noch ein wenig an einer Schmuddel-Lösung gecoded, die jetzt erste Proof-Of-Concept-Ergebnisse liefert. Die Lösung ist begrenzt hilfreich, weil sie nur Leuten hilft, die entweder
- Shell-Access auf ihre OpenWB haben und Software installieren können
oder aber:
- Grenzenloses Vertrauen haben (Tibber-Token sind heikel, Du kannst die Adresse ziehen und sehen, wann die Person offenbar im Urlaub ist)
- und zugleich Tibber von einer IP nur maximal 2 Verbindungen zulässt.
Aber zur Lösungs-Idee:
Ich habe eine "Tibber-2-MQTT-Bridge" in Java geschrieben (ist halt meine Haussprache). Auf der einen Seite implementiert das Programm einen extrem rudimentären MQTT-Server. Auf der anderen Seite nimmt es den Usernamen der MQTT-Client-Anmeldung als Tibber-Token, verbindet sich mit einem GraphQL-Websocket mit Tibber, und schiebt die empfangenen Werte im OpenWB-EVU-Format als MQTT-Messages an MQTT.
Das sollte funktionieren, weil OpenWB eben genau das, die Einbindung eines externen MQTT-Servers, erlaubt.
Damit gibt es 2 Möglichkeiten:
- Man lässt das Programm auf eigener, trusted Hardware laufen, konfiguriert OpenWB gegen den Mini-MQTT-Server, das Programm macht eine Websocket-Verbindung zu Tibber auf und holt die Werte.
- Ich ziehe eine Instanz inkl. TLS-Verschlüsselung "im Internet" hoch, gegen die sich genau 2 Personen mit dem nötigen Vertrauen mir ggü. mit Tibber verbinden können. Bzw: Wer zwar im Heimnetz keinen Dauer-Server im Zugriff hat, aber im Internet, installiert sich die Software dort.
- Eine andere Cloud-Variante wäre, wenn Tibber mich für mehr als 2 Verbindungen freischaltet, dann bleibt aber das Vertrauensproblem.
- Oder OpenWB hostet die Software als Cloudvariante, was weniger problematisch ist, weil OpenWB schon so die Daten zum Stromverbrauch erhält, und über die Kundendaten die Adresse hat. Es entstünde also für OpenWB-Hardware-Kunden kein zusätzliches Privacy-Problem.
Wie seht Ihr das? Gibt es Interessenten mit der Möglichkeit für die "Local-Variante"? Oder für die Cloud-Variante?
Je nach Interessenmenge und -richtung würde ich ggf. auch Tibber ggf. auf diesen Thread hinweisen und mal fragen, wie sie dazu denken. Am liebsten wäre uns allen (und nicht nur den OpenWB-Nutzern), wenn Tibber einfach MQTT direkt bereitstellen würde
Für heute erst mal fertig, Georg