Hallo zusammen,
ich möchte euch heute ein neues Modul vorstellen, mit dem die Fronius Wattpilot Wallbox nativ in FHEM eingebunden werden kann. Da ich selbst eine Lösung gesucht habe, um die Wallbox in meine Hausautomatisierung zu integrieren, habe ich das Modul 72_Wattpilot entwickelt.
Was kann das Modul?
Das Modul ermöglicht die Überwachung und Steuerung der Wallbox. Unter anderem werden folgende Funktionen unterstützt:
- Status-Abfrage: Aktuelle Ladeleistung, geladene Energie, etc.
- Modus-Steuerung: Wechsel zwischen den Modi Default, Eco und Next Trip.
- Ladesteuerung: Start/Stopp des Ladevorgangs und Anpassung der Stromstärke.
Voraussetzungen:
Das Modul kommuniziert direkt mit der Wallbox.
Es werden folgende Perl-Bibliotheken benötigt:
- JSON
- Crypt::PBKDF2
- Digest::SHA
- MIME::Base64
Installation:
Momentan ist das Modul noch nicht im offiziellen FHEM-Update-Prozess enthalten.
Die Installation erfolgt manuell:
- Die Datei 72_Wattpilot.pm von GitHub laden.
- In das FHEM-Verzeichnis kopieren.
- In FHEM ein shutdown restart oder reload 72_Wattpilot ausführen.
GitHub Repository: https://github.com/DennisGrame/FHEM_Modul_Fronius_Wattpilot (https://github.com/DennisGrame/FHEM_Modul_Fronius_Wattpilot)
Definition in FHEM:
define <Name> Wattpilot <IP-Adresse> <Passwort> [Seriennummer]
Änderungen:
edit: 24.04.2026
Hinzugefügt
- Wattpilot Flex Support: Unterstützung für die neue Wattpilot Flex Generation durch Implementierung der bcrypt-Authentifizierung.
- Sicherheit: Das Passwort wird nun nicht mehr in der Definition, sondern separat über set <name> Password <secret> gesetzt und persistent (aber außerhalb der Konfigurationsdatei) gespeichert.
- Authentifizierungs-Modus: Neues Attribut authHash zur Auswahl des Verfahrens (auto, pbkdf2, bcrypt).
- Erweiterte Messwerte: Neue Readings für Einzelleistungen pro Phase (Power_L1, Power_L2, Power_L3) sowie die Firmware-Version (version) und das aktive Authentifizierungsverfahren (authHashMode).
Geändert
- Definition: Die Syntax des define-Befehls hat sich geändert. Das Passwort ist kein Parameter mehr.
edit: 07.03.2026
- Optimierung der PBKDF2-Kryptographie-Berechnung für den Login.
edit: 26.01.2026
- Reading "Energie_seit_Anstecken" hinzugefügt.
edit: 06.01.2026
- Erstveröffentlichung.
Ich habe jetzt noch das Reading "Energie_seit_Anstecken" hinzugefügt.
Es wird angezeigt: Geladene Energie in Wh seit das Auto angesteckt wurde.
Ist das nicht eine gebrandete Variante von einer go-e? Mit oder ohne Phasen-Umschaltung?
Laut Internet wird die zwar von Go-e für Fronius hergestellt aber eben mit Anpassungen.
Ist also nicht 1 zu 1 gleich.
TOP!.
Vielen Dank für das Modul. Funktioniert bei mir einwandfrei.
Danke und Gruß Jochen
Hi, das Modul klappt gut, aber wenn ich die Auto`s ausstecke steht immer der letzte Powerwert dort, so dass das Modul SolarForecast dann einen verbrauch errechnet den es nicht gibt, kann man des abfangen?
mfg
Nookie
Update... ein blick in die Hilfe und Lösung gefunden ;) update_while_idle auf 1 ;)
Großartig, danke. Das hat mir noch gefehlt, um die relevanten Informationen von PV, Batteriespeicher, Wärmepumpe und Wallbox sinnvoll darzustellen.
Hi Blablubblaber,
vielen Dank für das Modul. Ich laufe leider immer in ein "auth_failed". Ich habe auch schon mal testweise das Passwort geändert. Ich kann auch die Wallbox mit dem bestehenden Passwort neu in der App anlegen, nur über FHEM klappt es nicht.
Any idea?
Chris
P.S. Wattpilot Flex Home 22
define Wattpilot Wattpilot 192.168.5.191 simplepassA2
attr Wattpilot debug 1
attr Wattpilot interval 30
attr Wattpilot room Solar
attr Wattpilot update_while_idle 1
attr Wattpilot verbose 5
# DEF 192.168.5.191 simplepassA2
# DeviceName ws:192.168.5.191:80/ws
# FUUID 69d93354-f33f-fd7e-a0f7-380270d9f90ce7b8
# NAME Wattpilot
# NR 874
# PASSWORD simplepassA2
# SERIAL 9111XXXX
# STATE auth_failed
# TYPE Wattpilot
# VERSION 43.1-rc4
# eventCount 15
# hashed_password Z+EbiGePHL+S2dbh5dnLMUdzTuIOGr5R
# Helper:
# DBLOG:
# state:
# logdb:
# TIME 1775843111.99227
# VALUE auth_failed
# version:
# logdb:
# TIME 1775843111.63989
# VALUE 43.1-rc4
# READINGS:
# 2026-04-10 19:45:11 state auth_failed
# 2026-04-10 19:45:11 version 43.1-rc4
# header:
# User-Agent FHEM
#
setstate Wattpilot auth_failed
setstate Wattpilot 2026-04-10 19:45:11 state auth_failed
setstate Wattpilot 2026-04-10 19:45:11 version 43.1-rc4
2026.04.10 19:45:11 3: Wattpilot (Wattpilot) - Connecting to ws:192.168.5.191:80/ws
2026.04.10 19:45:11 3: Opening Wattpilot device ws:192.168.5.191:80/ws
2026.04.10 19:45:11 5: HttpUtils url=http://192.168.5.191:80/ws NonBlocking via http
2026.04.10 19:45:11 4: IP: 192.168.5.191 -> 192.168.5.191
2026.04.10 19:45:11 5: HttpUtils request header:
GET /ws HTTP/1.1
Host: 192.168.5.191
Accept-Encoding: gzip,deflate
User-Agent: FHEM
Connection: Upgrade
Sec-WebSocket-Version: 13
Upgrade: websocket
Sec-WebSocket-Key: 1nW1KxBU24uqSHSx4cPlNg==
2026.04.10 19:45:11 4: http://192.168.5.191:80/ws: HTTP response code 101
2026.04.10 19:45:11 5: HttpUtils http://192.168.5.191:80/ws: Got data, length: 0
2026.04.10 19:45:11 5: HttpUtils response header:
HTTP/1.1 101 Switching Protocols
Server: nginx
Date: Fri, 10 Apr 2026 17:45:10 GMT
Connection: upgrade
Upgrade: websocket
Sec-WebSocket-Accept: eWScVnCoiM9xqZgcLRJLVt+qIfI=
2026.04.10 19:45:11 3: Wattpilot device opened
2026.04.10 19:45:11 5: Websocket msg: OP:1 LEN:273 MASK:0 FIN:1
2026.04.10 19:45:11 4: Wattpilot (Wattpilot) - Received type: hello
2026.04.10 19:45:11 4: Wattpilot (Wattpilot) - Hello received from Serial: 9111XXXX
2026.04.10 19:45:11 5: Websocket msg: OP:1 LEN:127 MASK:0 FIN:1
2026.04.10 19:45:11 4: Wattpilot (Wattpilot) - Received type: authRequired
2026.04.10 19:45:11 4: Wattpilot (Wattpilot) - Auth Required
2026.04.10 19:45:11 3: Wattpilot (Wattpilot) - Sending Auth Response
2026.04.10 19:45:11 5: DevIo_SimpleWrite Wattpilot: 7b2274797065223a2261757468222c2268617368223a2234383234663531613539646363346465356237373939313163346539333336333131666539623535386637626233613130353936636431623434386539353334222c22746f6b656e33223a223838323965376534393161346336393532353133643037623362663965366664227d
2026.04.10 19:45:11 5: Websocket msg: OP:1 LEN:47 MASK:0 FIN:1
2026.04.10 19:45:11 4: Wattpilot (Wattpilot) - Received type: authError
2026.04.10 19:45:11 1: Wattpilot (Wattpilot) - Authentication Failed: Wrong password
Hallo Chris,
das Problem ist das es sich bei dir um den Wattpilot "Flex" Home 22 handelt.
Das Modul ist nur kompatibel mit dem Vorgänger.
- Fronius Wattpilot Home 11 J 2.0
- Fronius Wattpilot Home 22 J 2.0
- Fronius Wattpilot Go 11 J 2.0
- Fronius Wattpilot Go 22 J 2.0
Zumindest ist es von mir für die Generation Wattpilot geschrieben und getestet.
Gruß
Dennis
Ggf. hülfe das hier: https://github.com/joscha82/wattpilot/issues/46 speziell der Beitrag von Peter Pötzi
@MichiReinelt
Danke guter Beitrag aber ich habe leider keine Flex Wallbox zum entwickeln und testen.
Gruß
Dennis
War eh klar... mir geht es genauso: würde gerne helfen, aber ohne Testobjekt...
Danke für den Hinweis. Ich schaue mir das mal an und mache ggf. ein PR. Ich weiß nur nicht wie zeitnah ich das hinbekomme.
Habs umgesetzt und PR erstellt. Falls vorher schon mal jemand mit einem normalem Wallpiloten testen möchte: https://github.com/Flachzange/FHEM_Modul_Fronius_Wattpilot/tree/Flex
Neben der Unterstützung für bcrypt hashing habe ich auch das password handling insofern angepasst, als dass es nicht mehr im Klartext sichtbar ist. Dafür wird "set Password <pw>" verwendet. Gleiches gitl für den Hash selbst.
Und den aktuellen Modus (Eco, Next Trip, Default" habe ich noch als Reading ergänzt.
Bestimmt sind noch Fehler drin.
Klasse vielen dank Flachzange.
Habe es eben angeschaut und mal auf meinem Textsystem laufen lassen hat soweit ohne Probleme funktioniert.
Hast du es mit einer Flex Wallbox schon getestet das es dort auch ohne Probleme läuft?
Wenn beide Wallboxen getestet sind und ohne Fehler laufen mach ich den merge damit deine Änderungen in die main kommen.
Zitat von: Blablubblaber am 18 April 2026, 19:57:04Hast du es mit einer Flex Wallbox schon getestet das es dort auch ohne Probleme läuft?
Ich habe ja selbst eine Flex und das funktioniert unauffällig bisher, einzig tatsächliche Ladevorgänge habe ich noch nicht beobachtet/getestet, aber da erwarte ich jetzt keine Überraschung.
Klasse kannst du mal ein Auto an Stöpseln und alles real testen?
Wenn du mir das Go gibst das das alles ohne Probleme funktioniert kann ich den merge machen.
Zitat von: Blablubblaber am 19 April 2026, 07:54:05Klasse kannst du mal ein Auto an Stöpseln und alles real testen?
Muss ich erst noch besorgen. Gib mir ein paar Tage ;)
Sieht für mich erstmal gut aus
define Wattpilot Wattpilot 192.168.5.191
attr Wattpilot disable 0
attr Wattpilot interval 10
attr Wattpilot room Solar
# DEF 192.168.5.191
# DeviceName ws:192.168.5.191:80/ws
# FD 36
# FUUID 69dbc609-f33f-fd7e-e2e0-242cfd0f57839ec4
# LAST_UPDATE 1776949201.26784
# NAME Wattpilot
# NR 874
# PARTIAL
# SERIAL 91112118
# STATE connected
# TYPE Wattpilot
# VERSION 43.1-rc4
# WEBSOCKET 1
# buffer
# eventCount 114
# msg_id 1
# Helper:
# DBLOG:
# CarState:
# logdb:
# TIME 1776949106.45076
# VALUE Charging
# Current_L1:
# logdb:
# TIME 1776949201.28307
# VALUE 15.17
# Current_L2:
# logdb:
# TIME 1776949201.28307
# VALUE 15.24
# Current_L3:
# logdb:
# TIME 1776949201.28307
# VALUE 15.28
# Energie_seit_Anstecken:
# logdb:
# TIME 1776949135.26057
# VALUE 1300.00
# EnergyTotal:
# logdb:
# TIME 1776949190.47455
# VALUE 7.47
# Laden_starten:
# logdb:
# TIME 1776949106.45076
# VALUE Start
# Modus:
# logdb:
# TIME 1776949175.23833
# VALUE Default
# Power_L1:
# logdb:
# TIME 1776949201.28307
# VALUE 3458.78
# Power_L2:
# logdb:
# TIME 1776949201.28307
# VALUE 3460.60
# Power_L3:
# logdb:
# TIME 1776949201.28307
# VALUE 3484.06
# Strom:
# logdb:
# TIME 1776949107.28628
# VALUE 16
# Voltage_L1:
# logdb:
# TIME 1776949201.28307
# VALUE 228.15
# Voltage_L2:
# logdb:
# TIME 1776949201.28307
# VALUE 227.24
# Voltage_L3:
# logdb:
# TIME 1776949201.28307
# VALUE 228.16
# Zeit_NextTrip:
# logdb:
# TIME 1776949106.45076
# VALUE 06:00
# authHashMode:
# logdb:
# TIME 1776949106.14623
# VALUE bcrypt
# power:
# logdb:
# TIME 1776949201.28307
# VALUE 10403.43
# state:
# logdb:
# TIME 1776949174.00361
# VALUE Modus Default
# version:
# logdb:
# TIME 1776949106.10718
# VALUE 43.1-rc4
# READINGS:
# 2026-04-23 14:58:26 CarState Charging
# 2026-04-23 15:00:01 Current_L1 15.17
# 2026-04-23 15:00:01 Current_L2 15.24
# 2026-04-23 15:00:01 Current_L3 15.28
# 2026-04-23 14:58:55 Energie_seit_Anstecken 1300.00
# 2026-04-23 14:59:50 EnergyTotal 7.47
# 2026-04-23 14:58:26 Laden_starten Start
# 2026-04-23 14:59:35 Modus Default
# 2026-04-23 15:00:01 Power_L1 3458.78
# 2026-04-23 15:00:01 Power_L2 3460.60
# 2026-04-23 15:00:01 Power_L3 3484.06
# 2026-04-23 14:58:27 Strom 16
# 2026-04-23 15:00:01 Voltage_L1 228.15
# 2026-04-23 15:00:01 Voltage_L2 227.24
# 2026-04-23 15:00:01 Voltage_L3 228.16
# 2026-04-23 14:58:26 Zeit_NextTrip 06:00
# 2026-04-23 14:58:26 authHashMode bcrypt
# 2026-04-23 15:00:01 power 10403.43
# 2026-04-23 14:58:26 state connected
# 2026-04-23 14:58:26 version 43.1-rc4
# header:
# User-Agent FHEM
# helper:
# authHashMode bcrypt
# car_state 2
#
setstate Wattpilot connected
setstate Wattpilot 2026-04-23 14:58:26 CarState Charging
setstate Wattpilot 2026-04-23 15:00:01 Current_L1 15.17
setstate Wattpilot 2026-04-23 15:00:01 Current_L2 15.24
setstate Wattpilot 2026-04-23 15:00:01 Current_L3 15.28
setstate Wattpilot 2026-04-23 14:58:55 Energie_seit_Anstecken 1300.00
setstate Wattpilot 2026-04-23 14:59:50 EnergyTotal 7.47
setstate Wattpilot 2026-04-23 14:58:26 Laden_starten Start
setstate Wattpilot 2026-04-23 14:59:35 Modus Default
setstate Wattpilot 2026-04-23 15:00:01 Power_L1 3458.78
setstate Wattpilot 2026-04-23 15:00:01 Power_L2 3460.60
setstate Wattpilot 2026-04-23 15:00:01 Power_L3 3484.06
setstate Wattpilot 2026-04-23 14:58:27 Strom 16
setstate Wattpilot 2026-04-23 15:00:01 Voltage_L1 228.15
setstate Wattpilot 2026-04-23 15:00:01 Voltage_L2 227.24
setstate Wattpilot 2026-04-23 15:00:01 Voltage_L3 228.16
setstate Wattpilot 2026-04-23 14:58:26 Zeit_NextTrip 06:00
setstate Wattpilot 2026-04-23 14:58:26 authHashMode bcrypt
setstate Wattpilot 2026-04-23 15:00:01 power 10403.43
setstate Wattpilot 2026-04-23 14:58:26 state connected
setstate Wattpilot 2026-04-23 14:58:26 version 43.1-rc4
Klasse vielen lieben Dank.
Habe den merge gerade gemacht und die ganze Dokumentation aktualisiert.
Top, danke meinerseits!