Meine lieben LT-ler
Aus aktuellem Anlasse ist es wohl wieder soweit für meine oft gehasste Rubrik "Dinge die die Welt nicht braucht, IHR aber schon"
In einem anderen Thread wurde ja die schlechte Bluetooth Verbindung neuerer MPPT-Regler von Victron bemängelt. Ich habe erwähnt, dass ich mich später dazu melden werde und das ist halt einfach jetzt...
Wie so oft üblich kann/muss/darf man meine allseits beliebten ESP32 Module dazu verwenden. An eurem 12/24V System könnt ihr diesen dann mit nem USB/USB-C Kabel anschliessen.
Gut, für die, auf ihren Stromverbrauch aufpassen wollen/müssen kann das unter Umständen keine Lösung sein - aber hey ich biete nur eine Lösungsmöglichkeit an - kein Allheilmittel....
Diese Lösung könnte folgendes unterstützen:
Bildschirmfoto 2024-10-20 um 22.36.04.png
Wenn ihr euch das besorgt habt, dann brauch ihr eigentlich nur Home Assistant und die ESP-Home Erweiterung - für alle die das nicht wollen/haben komme ich später darauf zurück, will ja noch bisschen die Neugier und Aufmerksamkeit haben bevor ihr den Thread verlasst...
Im ESP-Home legt ihr euch ein neues Projekt mit folgendem Inhalt an:
substitutions:
name: victron-ble
friendly_name: Victron-BLE
smart_solar1_mac_address:
smart_solar1_encryption_key:
smart_solar2_mac_address:
smart_solar2_encryption_key:
esphome:
name: ${name}
friendly_name: ${friendly_name}
name_add_mac_suffix: false
project:
name: esphome.web
version: '1.0'
esp32:
board: esp32dev
external_components:
- source: github://Fabian-Schmidt/esphome-victron_ble
# Enable logging
logger:
# Enable Home Assistant API
api:
# Allow Over-The-Air updates
ota:
platform: esphome
# Allow provisioning Wi-Fi via serial
improv_serial:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap: {}
# In combination with the `ap` this allows the user
# to provision wifi credentials to the device via WiFi AP.
captive_portal:
# Sets up Bluetooth LE (Only on ESP32) to allow the user
# to provision wifi credentials to the device.
esp32_improv:
authorizer: none
# To have a "next url" for improv serial
web_server:
port: 80
esp32_ble_tracker:
victron_ble:
- id: MPPT1
mac_address: ${smart_solar1_mac_address}
bindkey: ${smart_solar1_encryption_key}
- id: MPPT2
mac_address: ${smart_solar2_mac_address}
bindkey: ${smart_solar2_encryption_key}
sensor:
# MPPT1
- platform: victron_ble
victron_ble_id: MPPT1
name: "MPPT1 Battery Voltage"
type: BATTERY_VOLTAGE
- platform: victron_ble
victron_ble_id: MPPT1
name: "MPPT1 Battery Current"
type: BATTERY_CURRENT
- platform: victron_ble
victron_ble_id: MPPT1
name: "MPPT1 Yield Today"
type: YIELD_TODAY
- platform: victron_ble
victron_ble_id: MPPT1
name: "MPPT1 PV Power"
type: PV_POWER
- platform: victron_ble
victron_ble_id: MPPT1
name: "MPPT1 Load Current"
type: LOAD_CURRENT
# MPPT2
- platform: victron_ble
victron_ble_id: MPPT2
name: "MPPT2 Battery Voltage"
type: BATTERY_VOLTAGE
- platform: victron_ble
victron_ble_id: MPPT2
name: "MPPT2 Battery Current"
type: BATTERY_CURRENT
- platform: victron_ble
victron_ble_id: MPPT2
name: "MPPT2 Yield Today"
type: YIELD_TODAY
- platform: victron_ble
victron_ble_id: MPPT2
name: "MPPT2 PV Power"
type: PV_POWER
- platform: victron_ble
victron_ble_id: MPPT2
name: "MPPT2 Load Current"
type: LOAD_CURRENT
binary_sensor:
- platform: victron_ble
victron_ble_id: MPPT1
name: "MPPT1 is in Fault state"
type: DEVICE_STATE_FAULT
- platform: victron_ble
victron_ble_id: MPPT1
name: "MPPT1 has Error"
type: CHARGER_ERROR
- platform: victron_ble
victron_ble_id: MPPT2
name: "MPPT2 is in Fault state"
type: DEVICE_STATE_FAULT
- platform: victron_ble
victron_ble_id: MPPT2
name: "MPPT2 has Error"
type: CHARGER_ERROR
text_sensor:
- platform: victron_ble
victron_ble_id: MPPT1
name: "MPPT1 state"
type: DEVICE_STATE
- platform: victron_ble
victron_ble_id: MPPT1
name: "MPPT1 Error reason"
type: CHARGER_ERROR
- platform: victron_ble
victron_ble_id: MPPT2
name: "MPPT2 state"
type: DEVICE_STATE
- platform: victron_ble
victron_ble_id: MPPT2
name: "MPPT2 Error reason"
type: CHARGER_ERROR
Display More
Dieses Beispiel ist für zwei MPPT-Regler, so wie ich das bei Rudi (Suntraveler) in Sexten realisiert habe. Man beachte die Zeilen:
smart_solar1_mac_address:
smart_solar1_encryption_key:
smart_solar2_mac_address:
smart_solar2_encryption_key:
Hier müsst ihr euch mit der Victron APP auf den jeweiligen MPPT-Regler verbinden und dann die Daten für ....-mac_address und ....-encryption_key heraussuchen. Wie das geht beschreiben folgende Screenshots. Ihr klickt dann oben rechts und wählt dann
IMG_6020.jpg dann IMG_6019.jpg bis ihr das seht IMG_6018.jpg
Diese Daten trag ihr dann im vorgenannten Code ein - ohne Anführungszeichen
Bildschirmfoto 2024-10-20 um 20.49.03.png
Das macht ihr dann für jeden MPPT Regler. Wenn ihr mehrere habt müsste ihr natürlich den Code entsprechen modifizieren/kopieren - sollte aber anhand des Beispiels keine grosse Hürde darstellen.
Dann könnt ihr das kompilieren und auf das ESP-32 Modul flashen. Et voila - Nach nem Neustart des ESP Modul sollte HA es finden und ihr habt die entsprechenden Daten
Gut, jetzt jammern wieder einige und sagen, hab kein Home Assistant und will ich auch nicht. Gut verstehe ich, dann habt ihr auch keine Daten. Nun gut. Wenn ihr mir die MAC und den Encryption-key per PN zusendet, kann ich dann die entsprechende Firmware für das ESP-Modul kompilieren und euch per PN zurücksenden. Nächste Frage ist dann wie kommt die Firmware auf das Modul das ihr euch (hoffentlich) besorgt habt. Das ist wieder eine andere Geschichte, die der liebe Onkel gleich verrät.
Ihr müsstet euch dafür zuerst die Treiber auf eurem Windows/MAC Rechner installieren. Wie das geht steht hier beschrieben. Danach geht ihr auf https://web.esphome.io/ und wählt "Connect". Ihr solltet dann etwas so wie "USB serial" sehen und geht da auf verbinden. Rest zeigen Bilder - immer mehr als Worte.... Am besten geht das auf dem MAC mit Google Chrome. Safari wird nicht unterstützt. Bei Windows würde ich vermutlich auch den Google Chrome Browser nehmen. Vielleicht geht der Edge - weiss ich aber nicht.
Bildschirmfoto 2024-10-20 um 21.25.25.pngBildschirmfoto 2024-10-20 um 21.29.19.pngBildschirmfoto 2024-10-20 um 21.29.34.pngBildschirmfoto 2024-10-20 um 21.30.01.pngBildschirmfoto 2024-10-20 um 21.30.08.png
Bildschirmfoto 2024-10-20 um 21.30.16.pngBildschirmfoto 2024-10-20 um 21.30.28.pngBildschirmfoto 2024-10-20 um 21.32.04.png
Nach dem flashen seht ihr nach einiger Zeit "victron-ble" in den WLAN-Netzwerken. Verbindet euch damit und wartet auf eine erfolgreiche Verbindung. Gebt dann im Browser "192.168.4.1" ein und ihr gelangt auf folgende Seite:
Bildschirmfoto 2024-10-20 um 22.07.10.png
Hier könnt ihr euch dann mit eurem WLAN verbinden wenn ihr es auswählt oder falls ihr ein verstecktes habt die Verbindungsdaten eingebt.
Im Router solltet ihr dann nach erfolgreicher Verbindung sehen welche IP das Modul in eurem Netzwerk erhalten hat. Wenn ihr diese IP wiederum im Browser eingebt kommt ihr auf folgende Seite und seht im Idealfall die Daten.
Das obige Bild ist von meinem ersten Versuch, deshalb gibt es nicht genau das wieder, was im Code konfiguriert ist - aber sollte euch nur aufzeigen, dass es geht.
Vorteil dieser Lösung - ihr müsste nichts verkabeln - wer das dennoch möchte kann sich dieses Projekt zu Gemüte führen, sehe ich aber aufgrund der Problembeschreibung überdimensioniert an...
Wie immer - bei Fragen einfach Fragen....
Vielleicht kann Rudi noch mitteilen ob und wie gut das bei ihm klappt. Sein Auto is ja doch auch bissl grösser bzgl. Entfernungen usw...