Delta Wallbox via Modbus in HA

Hallo zusammen

Hier ein Beitrag für alle, die so ein Setup bereits haben oder wollen. Ich mache das, damit nicht alle so viel Chaos erleben wie ich. Ich hoffe sehr, dass es jemandem eine Tages hilft.

Fast alle Infos konnte ich über diesen Forum-Thread finden. Danke vielmals denen, die dazu beigetragen haben. Unter anderem habe ich die KI auf den Thread gehetzt, um die relevantesten Informationen herauszusuchen, das war eine gute Idee, hätte ich von anfang an machen sollen.

Geschichte:
Nach installierter PV-Anlage musste eine andere Wallbox her, ich hatte den Juice-Booster 2, und der kann nicht dynamisch laden. Er kann nicht ins Smarthome eingebunden werden.

Nun habe ich eine Delta AC Max Basic gekauft. Sie hat einen modbus Anschluss. Diesen habe ich dann mittels RS485 Adapter und eines ESP32 in Homeassistant eingebunden mit ESPhome und MQTT. (Wobei ich mir die MQTT hätte sparen können, da ich ja die Entitäten von ESPhome auch erhalte. Besser kann es für mich kaum sein, die Wallbox ist sehr günstig und die Verarbeitung hat mich positiv überrascht.

Ich habe einen Homeassistant Yellow. Da dieser nicht ESPHome kompilieren kann wegen mangelnder Leistung/Ram, musste ich das auf dem Laptop machen.

Strom für die Module habe ich von der Wallbox selbst nehmen wollen, aber meine Module konnten damit nur ungenügend gespiesen werden. Im Forum hat jemand gemeint, dass es für seine Module gereicht hat. Deshalb habe ich innerhalb der Wallbox eine fliegende Steckdose (Verlängerungskabel-Abschnitt) gemacht und da ein USB Netzteil eingesteckt.

Der KI (claude.ai) habe ich gesagt, was ich will und was ich habe und dann hat mir die KI die yaml Datei gemacht, die ich dann kompilieren und flashen musste.
Auf dem Desktop habe ich dafür einen Ordner gemacht für die Dateien und da die yaml und die secrets.yaml abgelegt.
Da ich keine Ahnung davon hatte, hat mir die KI alles gut erklärt. So hat es dann auch geklappt.

Wie ich secrets.yaml benutzt habe:
die secrets.yaml sieht im Aufbau so aus:

wifi_ssid: “MeinWLAN”
wifi_password: “MeinPasswort123”

mqtt_username: “homeassistant”
mqtt_password: “MeinMqttPasswort”

ha_api_key: “xxxxxxxxxxxxxxxxxxxxxxxxxxxxx”
ota_password: “MeinOtaPasswort”

wifi_ap_password: “FallbackPasswort”

In der yaml des ESP32 muss man das dann so machen:

wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password

ESPHome ersetzt !secret wifi_ssid beim Kompilieren automatisch durch den Wert aus secrets.yaml.

Probleme:
Hatte ich viele.

  • Ungenügende Speisung für die Module in der Wallbox
  • Nicht übereinstimmende Begriffe in secrets.yaml und der wallbox.yaml
  • Falsche Register Abfragen für die Wallbox, keine Daten kamen an.
  • Verdrehte Datenleitungen (Data+ und Data-)
  • App-Einrichtung und Firmware Update der Wallbox katatrophal. Ist aber im Prinzip auch nicht notwendig. Anleitung: App und Firmware update Delta
  • Und einiges mehr.

Als Anhänge habe ich euch die Wallbox yaml und die Automation, die ich verwende, um die Ladung am Auto zu steuern.
Die Wallbox ist mit 1 Phase angeschlossen und mit 16A abgesichert.
In Homeassistant habe ich einen “input select” Helfer gemacht, wo ich steuern kann, wie ich das Auto laden möchte.
(Ein anderer Weg wäre evcc zu benutzen, ein HACS repository. Die Wallbox kann die KI als “Benutzerdefiniert” erstellen, dann braucht man keinen Token kaufen. Damit kann man ziemlich einfach alles regeln, was nötig ist in Zusammenhang mit PV, Wallbox und Auto.)
Steuern tu ich in 100W Schritten, aber die Sprünge werden automatisch zu 1A-Schritten. Also ca. alle 230W geht etwas mehr. Ich weiss aber nicht, ob das am Auto liegt, an irgendwelchen protokollen oder sonst was.

Lade-Varianten des “input select” Helfers:

  • Aus
  • Ein (Auto wird geladen, koste es was es wolle)
  • PV-Überschuss (Auto wird geladen, sobald genügend Überschuss vorhanden ist)
  • Nur NT (Niedriger Stromtarif, Auto wird nur “Günstig” geladen.

Hier die Automation die ich in HA verwende:
Lade Automation Auto-s42.txt (6,0 KB)

Und noch das yaml des ESP32, der mittels RS485 Adapter die Wallbox mit HA verbindet:
ESP32_delta_acmax_basic-s42.yaml (6,6 KB)

Hier noch eine yaml für evcc für die Delta AC Max Basic. (Die gibt es in den Vorlagen, aber dann muss man den Token kaufen. Monatlich 4.- oder einmalig 150.-) Mit dieser yaml kann man einfach eine benutzerdefinierte Wallbox anlegen und so die Vorlage und den Token umgehen:
Delta AC MAx Basic yaml für evcc.txt (1,4 KB)

Und noch Unterlagen von Delta aus dem Forum und aus dem Netz:

Hier wollte ich die pdf posten, da das nich geht, poste ich halt die Links dazu:
EVCS Modbus Register Delta Wallbox
Modbus Register Table Delta

Und noch 2 Bilder:

Moin,
Vielen Dank für deine Anleitung, hat mir persönlich sehr geholfen. Allerdings hätte ich noch ein Problem, dass ich bis dato nicht gelöst bekommen habe.
Wie startest / beendest / pausierst du den Ladevorgang? Ich finde dafür kein Register. Wenn ich das Auto anschließe springt der Status auf “Verbunden - wartet auf Freigabe”, aber da kann ich Modbus-Seitig nichts machen…
Aktuell sehe ich da nur zwei Möglichkeiten:
A) Bluetooth App weiter benutzen um den Ladevorgang zu starten,
B) DIP-Schalter 2 der WB auf “OFF”, dann sollte ja theoretisch das Laden per Schlüssel aktiv sein und dann einfach den Schlüssel dauerhaft auf ON lassen. Würde aber bedeuten, dass dann theoretisch jeder einfach bei mir Zuhause laden könnte (ohne Autorisierung)…

Ich hoffe du hast eine Idee, danke und Gruß

Hoi Timo

Ich nutze die Freigabe nicht, da eigene geschlossene Garage, der Schlüsselschalter ist stets auf ein.

Ich habe die KI gefragt, ob man den Schlüsselschalter auf 2 Kontakte des ESP32 legen kann. Das geht aber nur über weitere Hilfsmittel wie Optokoppler oder so (Da kenne ich mich nicht aus).

Was man machen könnte, ein Shelly mini im WLAN, das mit der Shelly integration einfügen in HA (Kein Shelly Konto oder cloud nötig) und dann mittels dieses Relais die Freigabe machen. Also die beiden Drähte vom Schlüsselschalter abklemmen und an das Relais (Potentialfrei) anschliessen. Strom für den Shelly auch von den 230 V abgreifen, die an der Wallbox angeschlossen ist. So wie ich es gemacht habe für das ESP32 Netzteil in meinem Setup.
Als Relais kannst du nehmen: Shelly 1Mini.
L/N ist klar, Stromversorgung.
I und SW ist dann der Schlüsselschalter. Dann kannst du das in der Automation einfügen und erst wenn der Shelly durch deine Eingabe den kontakt schliesst, ist Freigabe.
Und eben: Shelly ist einfach ein Beispiel. Kannst auch was anderes nehmen. Ich beschreibe halt gerne, was ich kenne und nutze.

Hier noch die Antwort der KI: (Nicht geprüft und nicht getestet!)
Ja, das geht sehr gut mit ESPHome! Du kannst einfach einen binary_sensor für den Schlüsselschalter-Eingang und einen switch (mit GPIO-Ausgang) für die potentialfreie Freigabe hinzufügen.

Hier die ergänzenden Blöcke, die du in deine YAML vom esp32 einfügen kannst:

yaml

# ============================================================
# Schlüsselschalter Eingang (z.B. GPIO18)
# ============================================================
binary_sensor:
  - platform: gpio
    pin:
      number: GPIO18
      mode:
        input: true
        pullup: true   # interner Pullup, Schalter gegen GND
      inverted: true   # LOW = aktiv (Schalter geschlossen)
    name: "Schlüsselschalter"
    id: key_switch
    icon: mdi:key-variant
    on_press:
      then:
        - switch.turn_on: freigabe_relay
    on_release:
      then:
        - switch.turn_off: freigabe_relay

# ============================================================
# Potentialfreier Ausgang (z.B. GPIO19) – z.B. via Relais/Optokoppler
# ============================================================
switch:
  - platform: gpio
    pin: GPIO19
    name: "Freigabe Ausgang"
    id: freigabe_relay
    icon: mdi:electric-switch
    restore_mode: ALWAYS_OFF

Ein paar Hinweise:

  • GPIO18 ist der Eingang vom Schlüsselschalter – Schalter zwischen GPIO18 und GND, interner Pullup aktiviert

  • GPIO19 ist der Ausgang – da schliesst du ein Relais oder Optokoppler an, dessen Kontakt dann potentialfrei ist

  • Den ESP32 direkt als potentialfreien Kontakt nutzen geht nicht – du brauchst zwingend ein Relais-Modul oder Optokoppler dazwischen

  • Freie GPIOs beim ESP32 DevKit: z.B. GPIO18, GPIO19, GPIO21, GPIO22, GPIO23 – meide GPIO0, GPIO2, GPIO12, GPIO15 (Bootpins)


Noch eine Ergänzung!
Du kannst auch auf die Relais für Freigabe verzichten. Schlüssel immer auf ein.

Und dann programmierst du einen Helfer “Freigabe”
Und erst wenn dieser Helfer auf “Ein” steht, dann darf die Laderegelung arbeiten.

Quasi eine Condition ganz am Anfang der Automation.

So müsste es gehen ohne weitere Hilfsmittel.

Hast du meine Automation kopiert?
Sie hat noch einen Bug.

Hier ist die aktuellste Version:
Bei der müsstest du aber eben noch den Freigabe Helfer ändern. Ich habe eine Pause Switch als condition, den kannst du genau gleich als Freigabe nutzen.

yaml:

alias: Auto laden Laderegelung Delta (30s)
description: >
Regelt die Ladeleistung der Delta Wallbox anhand PV-Überschuss. PV-Überschuss:
dynamisch 1400–3450W mit Hysterese beim Stopp. Ein/Nur NT: konfigurierbar.
triggers:
minutes: “*”
seconds: /30
trigger: time_pattern
entity_id: input_select.auto_lademodus
trigger: state
entity_id: input_boolean.auto_laden_pause
trigger: state
entity_id: input_number.wallbox_ladeleistung_fur_ein_nt
trigger: state
entity_id: schedule.hochtarif
to: “on”
trigger: state
conditions:
condition: template
value_template: “{{ wb_angeschlossen }}”
actions:
if:
condition: state
entity_id: input_boolean.auto_laden_pause #Den kannst du als Freigabe nutzen. Solange der auf "on" steht lädt es nicht.
state: “on”
then:
target:
entity_id: number.delta_ac_max_basic_evse1_ladeleistung_limit
data:
value: 0
action: number.set_value
target:
entity_id: input_number.wallbox_hysterese_start
data:
value: 0
action: input_number.set_value
stop: Pause aktiv
if:
condition: template
value_template: “{{ wb_charge_state == 0 }}”
then:
target:
entity_id: number.delta_ac_max_basic_evse1_ladeleistung_limit
data:
value: 0
action: number.set_value
stop: Kein Fahrzeug – Limit auf 0 gesetzt
if:
condition: template
value_template: “{{ wb_charge_state == 5 }}”
then:
target:
entity_id: number.delta_ac_max_basic_evse1_ladeleistung_limit
data:
value: 0
action: number.set_value
target:
entity_id: input_number.wallbox_hysterese_start
data:
value: 0
action: input_number.set_value
stop: Laden abgeschlossen – Limit auf 0 gesetzt
if:
condition: template
value_template: |
{{ trigger.entity_id == ‘schedule.hochtarif’
and states(‘input_select.auto_lademodus’) == ‘Nur NT’ }}
then:
target:
entity_id: input_select.auto_lademodus
data:
option: PV-Überschuss
action: input_select.select_option
stop: Nur NT → HT begonnen, Modus auf PV-Überschuss gewechselt
if:
condition: template
value_template: |
{{ (bezug <= ausschalten_netz_w or pv > reserve)
and netzspitze_start > 0 }}
then:
target:
entity_id: input_number.wallbox_hysterese_start
data:
value: 0
action: input_number.set_value
choose:
conditions:
condition: template
value_template: “{{ modus == ‘Ein’ }}”
sequence:
target:
entity_id: number.delta_ac_max_basic_evse1_ladeleistung_limit
data:
value: “{{ fix_limit if wb_angeschlossen else 0 }}”
action: number.set_value
target:
entity_id: input_number.wallbox_hysterese_start
data:
value: 0
action: input_number.set_value
conditions:
condition: template
value_template: “{{ modus == ‘Nur NT’ }}”
sequence:
if:
condition: state
entity_id: schedule.hochtarif
state: “off”
then:
target:
entity_id: number.delta_ac_max_basic_evse1_ladeleistung_limit
data:
value: “{{ fix_limit if wb_angeschlossen else 0 }}”
action: number.set_value
else:
target:
entity_id: number.delta_ac_max_basic_evse1_ladeleistung_limit
data:
value: 0
action: number.set_value
target:
entity_id: input_number.wallbox_hysterese_start
data:
value: 0
action: input_number.set_value
conditions:
condition: template
value_template: “{{ modus == ‘PV-Überschuss’ }}”
sequence:
choose:
conditions:
condition: template
value_template: “{{ wb_aktiv }}”
sequence:
variables:
netto: “{{ pv - reserve - bezug }}”
new_limit: >
{% set raw = wb_limit + netto %} {% set clamped = [[raw,
max_limit] | min, min_limit] | max %} {{ ((clamped //
100) * 100) | int }}
if:
condition: template
value_template: >
{{ wb_limit <= min_limit and bezug >
ausschalten_netz_w
and netzspitze_start == 0 }}
then:
target:
entity_id: input_number.wallbox_hysterese_start
data:
value: “{{ now().timestamp() | int }}”
action: input_number.set_value
if:
condition: template
value_template: >
{{ netzspitze_start > 0 and netzspitze_seconds >=
off_delay
and bezug > ausschalten_netz_w and wb_limit <= min_limit }}
then:
target:
entity_id: number.delta_ac_max_basic_evse1_ladeleistung_limit
data:
value: 0
action: number.set_value
target:
entity_id: input_number.wallbox_hysterese_start
data:
value: 0
action: input_number.set_value
stop: Hysterese abgelaufen – Wallbox gestoppt
target:
entity_id: number.delta_ac_max_basic_evse1_ladeleistung_limit
data:
value: “{{ new_limit }}”
action: number.set_value
conditions:
condition: template
value_template: >-
{{ not wb_aktiv and wb_angeschlossen and pv >= start_bei
and bezug <= 0 }}
sequence:
target:
entity_id: number.delta_ac_max_basic_evse1_ladeleistung_limit
data:
value: “{{ min_limit }}”
action: number.set_value
target:
entity_id: input_number.wallbox_hysterese_start
data:
value: 0
action: input_number.set_value
conditions:
condition: template
value_template: “{{ modus == ‘Aus’ }}”
sequence:
target:
entity_id: number.delta_ac_max_basic_evse1_ladeleistung_limit
data:
value: 0
action: number.set_value
target:
entity_id: input_number.wallbox_hysterese_start
data:
value: 0
action: input_number.set_value
variables:
modus: “{{ states(‘input_select.auto_lademodus’) }}”
pv: “{{ states(‘sensor.pv_uberschuss’) | float(0) }}”
bezug: “{{ states(‘sensor.leistung_bezug_korrigiert’) | float(0) }}”
wb_limit: >-
{{ states(‘number.delta_ac_max_basic_evse1_ladeleistung_limit’) | float(0)
}}
wb_charge_state: “{{ states(‘sensor.delta_ac_max_basic_evse1_charge_state’) | int(0) }}”
wb_angeschlossen: “{{ wb_charge_state >= 1 }}”
wb_aktiv: “{{ wb_charge_state == 3 and wb_limit > 0 }}”
reserve: 50
min_limit: 1400
max_limit: 3450
fix_limit: “{{ states(‘input_number.wallbox_ladeleistung_fur_ein_nt’) | int(1400) }}”
ausschalten_netz_w: 300
off_delay: 120
netzspitze_start: “{{ states(‘input_number.wallbox_hysterese_start’) | int(0) }}”
netzspitze_seconds: “{{ (now().timestamp() - netzspitze_start) if netzspitze_start > 0 else 0 }}”
start_bei: 1200
mode: restart

:crayon:by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)

Hi ich bin neu hier. Hab mir jetzt auch die delta Wallbox gekauft und bin gerade dabei das ganze so umzusetzen wie hier beschrieben. Wollte jetzt nur nochmal sicher gehen wo genau GND ist? So wie ich das sehe in der Anleitung, aus einem anderen post, sieht man nur wo D+ und D- ist. Stimmt das so wenn ich von vorne auf die wallbox schaue:

ganz rechts D-

links daneben D+

Und links daneben GND

Danke schonmal für eure hilfe:)

Hallo bottniko

Schön, dass du dich meldest.

Das mit dem Ground ist so eine Sache…
Ich hatte massive Probleme, das zum Laufen zu bringen, irgendwann habe ich es mit dem GND versucht, das hat aber nichts gebracht. Der GND ist eigentlich ein Überbleibsel vom troubleshooting und verzweifeltem Lösung suchen.

Als es dann endlich lief, habe ich den nicht zurückgebaut, um zu prüfen, ob es ihn noch benötigt.
Höchstwahrscheinlich läuft es auch ohne den GND.

Probier mal ohne.

Ich wünsche dir viel Erfolg!

Das mit der Baudrate ging bei mir nicht, ich fahre mit 19200.
Das war glaube ich default. Wenn das alles so läuft, brauchst du auch die App Einrichtung nicht machen, damit habe ich am meisten Zeit vertan, da das nicht so “User-Friendly” gemacht ist.

Vielen Dank für die info​:+1:. Dann braucht man also auch kein Update zu machen wenn man die app nicht nutzt oder?

Probiers mal ohne. Kannst dann immer noch, wenn nichts geht.

Ich habe mein Setup so wie nachfolgend im Photovoltaikforum beschrieben immer noch nicht zum Laufen gebracht. Bei der App einrichtung sowie den erweiterten Einstellungen (passwort für alle die es interessiert:0000) hingegen gab es bei mir weniger probleme(immer wenn was unterbrochen wurde einfach wallbox aus-und wieder einschalten). Habt ihr Ideen was ich falsch mache?

Waveshare Modbus Kommunikationsprobleme

Habe bei meinem Setup immer noch Probleme das ganze zum laufen zu bringen (Photovoltaikforum Seite 27 #270) .Welche Firmwareversion habt ihr installiert?

:crayon:by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)

Hoi Bottniko

Ich habe deine Bilder und die Daten und den Text aus dem Photovoltaik Forum der KI gefüttert.

Die KI empfiehlt, den Waveshare mal mit DC zu versorgen statt Usb, und dann nochmal schauen.
Ausserdem Baudraten alles mal 9600 einstellen. (Ich habe bei mir jedoch 19200 und das geht stabil.)

Ich möchte noch wegen der Speisung nachfragen, einfach um sicher zu gehen:
Was ist das für eine USB Speisung? Nur 5V oder kann es andere Volt auch? Bei nur 5V ist vermutlich die Speisung zu schwach, da der Waveshare 7-32V angeschrieben ist. Versuch mal ein USB-C Netzteil eines Laptops oder ein kräftiges USB Netzteil eines Handys, was mehr kann als 5V.
(Einfach in der Annahme und Hoffnung, dass es daran liegt)
Bei mir lag es nämlich anfangs unter anderem an der Speisung. Ich wollte die 5V der Wallbox anzapfen, ging nicht. Dann habe ich den RS485 abgesteckt, dann war die LED des ESP32 heller, aber immer noch keine Kommunikation. Danach habe ich ein USB Netzgerät angeschlossen und seither geht es.

Meine Firmware ist die, die es vor 3 Monaten als aktuellste gab.

Ich hoffe, du kommst weiter.
Gruss

Lies hier was die KI meint:
Meine Frage: (Die Formatierung der Zeilen ging beim Kopieren verloren.)

weiss: waveshare RS485 B- Orange: Waveshare RS485 A+

WAllbox: weiss: Pin5 RS485 D- Orange: Pin4 RS485 D+

Das ist mit dieser yaml:esphome: name: ${device_name} friendly_name: ${friendly_name} min_version: 2025.11.0 name_add_mac_suffix: false esp32: board: esp32-s3-devkitc-1 variant: esp32s3 flash_size: 16MB framework: type: esp-idf psram: mode: octal speed: 80MHz

Enable logging

logger: level: DEBUG baud_rate: 0

Enable Home Assistant API

api:

Allow Over-The-Air updates

ota:

platform: esphome password: ${ota_password} wifi: ssid: ${wifi_ssid} password: ${wifi_password} ap: ssid: "Wallbox Fallback" password: ${wifi_ap_password} captive_portal: web_server: port: 80 local: true

============================================================

UART / ModBus RTU Konfiguration

============================================================

uart: id: modbus_uart tx_pin: GPIO17 rx_pin: GPIO18 #waveshare spezifisch baud_rate: ${uart_baud_rate} parity: NONE stop_bits: 1 data_bits: 8 modbus: id: modbus_bus uart_id: modbus_uart flow_control_pin: GPIO21 send_wait_time: 1000ms modbus_controller:

id: wallbox modbus_id: modbus_bus address: ${modbus_address} setup_priority: -10 command_throttle: 1000ms update_interval: 10s sensor:

platform: modbus_controller modbus_controller_id: wallbox name: "Wallbox Status" id: charger_state register_type: read address: 100 value_type: U_WORD accuracy_decimals: 0 icon: mdi:ev-station

platform: modbus_controller modbus_controller_id: wallbox name: "Aktuelle Ladeleistung" id: evse1_charging_power register_type: read address: 1005 value_type: U_DWORD accuracy_decimals: 0 unit_of_measurement: "W" device_class: power state_class: measurement icon: mdi:lightning-bolt

Und hier die Antwort darauf:

Ich sehe das Setup klar:

Bild 1: Waveshare ESP32-S3-RS485-CAN Board im Sicherungskasten Bild 2: Delta Wallbox geöffnet, RS485 Klemmen belegt

Die Verkabelung A+→D+ und B-→D- ist korrekt.

Jetzt ist das Problem klar. timo_dk gibt in Beitrag #273 die entscheidenden Hinweise:


Was bottronik noch nicht gemacht hat:

  1. Baudrate auf 9600 ändern – timo_dk hatte erst 19200 und hat dann auf 9600 gewechselt (und auch in der Delta-App entsprechend geändert)

  2. DIP-Schalter 2 auf “OFF” – das ist Waveshare-spezifisch! Dieser Schalter steuert vermutlich den integrierten Abschlusswiderstand (120Ω) des Waveshare-Boards. Bei 10m Kabel + eigenem Abschlusswiderstand in der Wallbox könnte ein zweiter (im Board) das Signal verschlechtern

  3. DC-Versorgung – der Waveshare wird direkt per DC (7-36V) versorgt, nicht nur per USB


Mein Rat an bottronik wäre:

DIP-Schalter 2 prüfen/auf OFF → Waveshare-Doku checken was dieser Schalter macht

Baudrate in Delta-App und YAML auf 9600 testen

Sicherstellen dass der Waveshare stabil mit DC versorgt wird, nicht nur USB

Hat bottronik die DIP-Schalter-Belegung des Waveshare-Boards zur Hand?

Was nicht auf den Bildern zu sehen war, dass der Waveshare direkt mit einem 12V 15W Hutschienennetzteil versorgt wird. DIP-Schalter 2 habe ich ebenfalls mal umgeschaltet (und alles neu gestartet), allerdings ohne erfolg. Ich habe jetzt auch mal Delta direkt angeschrieben, mal schauen ob ich irgendwas herausfinden kann.

Habe jetzt die Garantie in Anspruch nehmen können und die Ersatzwallbox zum laufen gebracht :tada:. Allerdings hat auch diese zunächst Probleme gemacht. Fehlercode 086 und dauerhaft rot leuchtendes Licht wurde mir angezeigt. Habe dann an den steckern rumgespielt (hat sich beim Transport anscheinend irgendeiner gelockert) und dann hats geklappt. Ich werde eine genauere Anleitung mit meinem Setup zur Verfügung stellen sobald ich alle Automationen in meinem HA umgesetzt habe.

Hi @all.
Seit einigen Wochen bin nun auch Besitzer einer Delta AC Max Basic. Vorher gar nicht groß drüber nachgedacht, einfach nur auf den Preis geschaut.
Hab das Teil dann zu einem unglaublich niedrigen Preis bekommen. Dann erst mich mit den technischen Daten und Anschlussmöglichkeiten befasst.
Große Probleme beim ersten Einrichten mit Bluetooth. Ging plötzlich, hab dann Firmwareupdate gemacht und am nächsten Tag ging wieder gar nichts.
Mittlerweile hab ich festgestellt, dass die Box nach einigen Stunden, manchmal auch Tagen die Bluetooth-Verbindung verliert. Da hilft nur
Hauptsicherung aus und wieder ein - dann geht alles wieder.
Dann mich mit Modbus befasst. Wochenlang ohne jeden Erfolg. Mit unterschedlichsten Gegenstellen - Linux-Rechner und einfacher RS485-Adapter, Windows-Rechner.
Modbus-TCP-Gateway. Nicht die geringste Antwort von der Box. Ich denke, aus mangelndem Wissen - falsche Register, falsche Adressen, falsche Polung…
Plötzlich ging dann Modbus und ich hab mich mit den ganzen Registern befasst. Letztendlich auch mit den sehr hilfreichen Informationen aus diesem Thread hier
alles zum Laufen bekommen, einschließlich der Einbindung in HA. Nun ist auch das Bluetooth-Problem nicht mehr so schlimm, da ich die Box ja komplett mit Modbus
steuern kann. Nun arbeite ich daran, das Überschuss-Laden zu organisieren. Charging Power Limit läßt sich über Register 1600 einstellen. Leider nur bis
4,2 kW herunter, aber da kann man nichts machen, die Box kann eben dreiphasig nur bis 6A herunter regeln und geht auch nicht auf einphasiges Laden zu stellen.
Stellt man weniger als 4200 ein, geht der Strom auf Null.
Register 1602 Suspend Charging ist mir aber noch ein Rätsel. Setze es auf 1 und lese danach zurück, bleibt es auf 0. Fahrzeug wird munter weiter geladen. Wenn
aber das Fahrzeug fertig geladen ist, geht das Register auf 1. lässt sich dann auch per Modbus auf 0 oder 1 setzen und bleibt dann auch so. Kann also mit
diesem Register den Ladevorgang nicht unterbrechen und fortsetzen. Auch der Schlüsselschalter ist mir ein Rätsel. Einschalten mit dem Schlüssel startet korrekt
den Ladevorgang. Aber wenn ich dann den Schlüssel wieder auf AUS drehe, passiert nix, das Fahrzeug lädt einfach weiter. Momentan hätte ich als einzige Möglichkeit
zum Unterbrechen die Ladeleistung mit Register 1600 auf weniger als 4200 zu stellen. Ist irgendwie unbefriedigend. Da aber ansonsten fast alles funktioniert,
tippe ich auf einen Firmware-Bug. Leider hat man nur die Möglichkeit über die App und Bluetooth auf eine neue Version zu warten.
Interessant wäre ja zu wissen, ob bei jemandem das Suspend Charging mit Register 1602 funktioniert.
Ich bleibe jedenfalls an der Sache dran und werde mich bei neuen Erkenntnissen auch wieder melden. Bin auch gerne bereit, bei Problemen oder Fragen zu helfen.

Grüße und bis demnächst…
Thomas.

Hallo Thomas

Willkommen hier im Forum.

Das mit dem Suspend geht bei mir auch nicht. ich setze einfach 0 und dann stoppt die Ladung. Das Auto meldet dann aber einen Fehler (Status 7, Fehler), ist aber ja noch eingesteckt, und sobald ich wieder einen Leistungswert setze, geht es weiter. Deshalb heisst es dann bei mir Fehler, Fahrzeug noch eingesteckt. Beim Losfahren kann es sein, dass das Auto schimpft, weil die Ladung aus Sicht des Autos mit “0 W Ladeleistung” abgebrochen hat.
Bei meinem Hyundai geht das so, ich kann stoppen und starten, soviel ich will.
Mein Cousin hat einen E-Golf, nach ca. 4x stoppen streikt das Auto und verweigert weitere Ladungen. Da würde vermutlich ein Shelly im CP-Signal Kreis helfen. Das würde ein ein-/ausstecken simulieren, wenn man das so programmieren würde.

Das mit der Umschaltung 1/3 Phasen hat ein anderer User mal gemacht, da kann ich nicht mitreden aber hier der Link zur Forumsseite. Startet auf Seite 14 und auf Seite 17 hat er noch ergänzungen gepostet.

Das mit den 6A Minimum Ladegeschweindigkeit ist ein internationaler Standard. Weiter runter geht es schlicht nicht.

Der Schlüsselschalter… Naja, der Schlüssel steckt bei mir und steht auf “Ein”. Die Freigabe mache ich dann mit der Automation in Homeassistant. Wenn jemand fremdes einstecken würde, würde nichts laden, weil ich in HA zuerst den Betriebsmodus einstellen muss, wie ich laden möchte.

Was du machen kannst: Einen Helfer machen (Schalter/Input_Boolean) und den als Condition in der Automation einfügen. Somit wird die Automation erst ausgeführt, wenn dieser Schalter auf ein steht. So kann nur derjenige laden, der diesen Schalter auf ein stellen kann.

Ich wünsche dir weiter viel Erfolg.
Seit ich den Beitrag hier erstellt habe, läuft die Anlage/Wallbox/Automation in HA einwandfrei. Ich hatte nie Probleme. Die Delta App habe ich seither nie mehr geöffnet.