Deye 12kw "Nachfolger" 14Kw Chisage Mars-14G1-LE Hybrid Inverter mit WiFi Wechselrichter Inverter 3phasig On-Off-Grid VDE

Hi Zusammen,

ich liebäugele auch gerade mit dem Mars 14kW Hybrid G2, genauer 2 Stück davon, einen für die Südseite, einen für die Nordseite des Dachs und ca. 60-72 Module.

Die ISM Steuerung von TitanSolar finde ich zwar eine spannende Option, aber wesentlich mehr würde mich die EOS Lösung von Andreas interessieren in dem Kontext. Hat sowas jemand von Euch auf dem Schirm oder gar schon in Umsetzung?

Ich fände es mega spannend, damit netzdienliches Laden/Entladen zu steuern, vielleicht mit Tibber etc. und sowieso eine Anbindung an meine Bus (LCH/LinHK) und damit z.B. auch die nicht intelligente Wallbox für das Auto zu versorgen. Das Auto kann ich bezüglich Laden/Entladen fernsteuern (Spring), die Wallbox könnte notfalls über Bus Relais zusätzlich aktiv getrennt werden.

Ganz spannend wird es natürlich auch mit der Wärmepumpe (14 kW, Erdwärme).

Ich hab derzeit deutlich mehr Vertrauen in das EOS System, weil hier mit viel Support rechne und das Forum sicherlich ein große Ressource wird.

Hat jemand der Mars mal bezüglich der Notstrom Fähigkeiten getestet?

Mich haben viele andere Wechselrichter bislang nicht überzeugt. Ich komme aus der IT und eine USV Anlage schaltet nun mal so schnell, dass ein laufender PC es am besten nicht mitbekommt. Wenn ich von Wechselrichtern mit Umschaltzeiten im Sekundenbereich lese, frage ich mich ob die das ernst meinen?

Der Mars hat ja hier schon Werte eher im Bereich einer USV. Aber klappt das in der Realität auch und ist die Ausgangsleistung dann auch entsprechend hoch? Immerhin will die 14kW Wärmepumpe ordentlich Strom und der Ofen, Toaster, Waschmaschine sollten ja auch noch funktionieren.

Und wie sieht es mit 2 * WR und 2 * Akku aus? Habe ich dann 1 * Master WR und 1 * Slave und die Akkus hängen parallel am System, damit ich die vollen Akkukapazität im Notfall ziehen kann?
Ich denke nicht das ich mehr als 14kW ziehen muss (wenn das ging wäre natürlich fein), aber ich will nicht auf die halbe Leistung beschränkt sein. Auch will ich das Netz nicht trennen im Sinne eins für die WP und eins für das restliche Haus. Die Akkuleistung sollte für alles zur Verfügung stehen. Geht das?

Titansolar bietet ja sogar gerade ein solches Paket an, aber ich erreich da halt seit Wochen niemanden...

Wäre schön, wenn jemand was weiß und hier etwas Licht ins Dunkel bringen kann.

Vielen Dank und allen schöne Feiertage!
Axel

@axel-mertes ja die ISM Steuerung von TitanSolar ist interessant aber zu teuer. Eigentlich kannst du alles über Modbus selbs steuern, musst dir hat ein passendes Programm in Ha oder Iobroker oder Nodered schreiben.
Zur Notstromversorgung, diese habe ich mal manuell getestet und ja diese hat einwandfrei funktioniert, habe während dem test ergessen dass noch zwei PC´s sowie Fernseher an waren, keins ist ausgegangen. Die 14kW schafft er wenn du genügend PV und oder Ausreichend Speicher zur Verfügung hast.
Von TitanSolar bin ich enttäuscht auf meine Fragen zum WR wurden 2 Monate nicht geantwortet und dann auch noch falsche Antworten gegeben. Problematisch finde ich auch, dass man kein PayPal anbietet, in der heutigen Zeit bei mir direkt ein Ausschlusskriterium.
Persönlich würde ich jedoch auf Deye oder Solis zurückgreifen, in der Software des Chisage sind leider einige Bugs enthalten und der WR ist auch nicht so plug&play.

1 „Gefällt mir“

Danke für die Rückmeldung.

Bei 30 * 450W = 13.500, reicht da ein Deye 12kW? Oder ist der am Ende zu klein?
Und kann man zwei Deye so verschalten, das einer die Nord- und der andere die Südseite macht?

Oder gibt es Alternativen, die das allein packen?
35° Rhein-Main, exakt Südlich ausgerichtet, identisch gen Norden. Will möglichst nah an die zulässigen 30kW installierte Leistung kommen, wenn auch gen Norden vermutlich nur ~60% kommen. Würdet ihr für Norden dann einen kleiner dimensionierten WR nehmen?

@axel-mertes das kommt auf die Module an. Die WR können nur max. 800V DC Spannung, omit wärst du bei Trina Modulen bei etwa 15 Module pro String.
Persönlich würde ich zwei identische 12k WR nehmen. Hier könntest du dann pro WR einen Süd und einen Nord String aufschalten, somit bekommst du immer die volle Südseiten Leistung.
Es gibt aber auch eine neuere Leistungsstärkere Version der Deye, der kann aber nur max. 20kW AC.

Ich habe anfänglich auch den Chisage im Auge gehabt, aber nachdem TitanSolar auf Anfrage nicht reagiert hat habe ich mich für einen Deye 12kW entschieden und auch nicht bereut. Der Deye wird halt von Dritten unterstützt, den Chisage kennt noch keiner was heißt dass du alle Integrationen selber machen musst.

Was den zweiten Wechselrichter betrifft, denk mal drüber nach ob nicht ein Deye/Chisage + normaler Stringwechselrichter besser wäre. Niedrigerer Standby Verbrauch und wahrscheinlich in Summe billiger.

Sehe ich das auf den bildern richtig? die Anschlüsse grid, load und gen haben eigene steck Verbindungen ? wie fummelig sind die stecker? das erinnert mich an growatt und schreckt mich erstmal ab... ich finde den Anschluss Bereich beim deye wirklich gelungen und ein Argument für das gerät...

ja sind leider Steckverbinder sind etwas fummelig aber es geht.

@thescc Hallo ich nutze die pylontech us3000c ich muss mal am 30. schauen was da steht ich bin zur Zeit nicht zuhause

1 „Gefällt mir“

Hallo mys0x,

ich bemühe mich seit 2 Monaten ein Softwareupdate zu bekommen, bislang ohne Erfolg.

Hast Du eines bekommen und wenn ja, an wen hast Du dich gewendet?

Ich habe mich über die Hersteller Website an den Hersteller gewendet. Dieser hat dann mir mir über WhatsApp kommuniziert und mir das Update aufgespielt. +86 178 1989 7698 Das war die Telefonnummer.

@thescc moin zusammen habe es endlich geschafft zu schauen. Unter Lithiumbatmode steht bei mir 128 ciren ist eingeschaltet

@Thorsten87, guten Tag, ich bin neu in diesem Forum. Könnten Sie mir sagen, wie genau Sie den Chisage Mars 14G2 in Home Assistant integriert haben?

Was möchtest du denn genau wissen bzw. wo hakt es denn gerade? Grob erklärt habe ich es ja schon im post 42.

Welche Integration hast du verwendet?

Guten Morgen.
@JCElec ich lese den WR über die Modbus Integration aus. Mittlerweile habe ich die Modbus.yaml etwas optimiert.

  - name: EW11
    type: tcp
    host: 192.168.1.18
    port: 8899

    sensors:
 
      - name: WR_1
        slave: 1
        address: 26
        input_type: holding
        count: 30
        data_type: custom
        structure: ">26H4h"
        
      - name: WR_2
        slave: 1
        address: 56
        input_type: holding
        count: 33
        data_type: custom
        structure: ">9H24h"
        
      - name: WR_3
        slave: 1
        address: 2026
        input_type: holding
        count: 25
        data_type: custom
        structure: ">13h12H"
        
      - name: WR_4
        slave: 1
        address: 2055
        input_type: holding
        count: 3
        data_type: custom
        structure: ">3H"

      - name: WR_5
        slave: 1
        address: 2065
        input_type: holding
        count: 18
        data_type: custom
        structure: ">18H"

Ausgelesen werden die Modbus Entitäten über Templates angelegt als Helfer Template-Sensoren

Als Beispiel das Template des Batterie Spannungssensor

{{ (states('sensor.wr_3').split(',')[0] | float /100)}}

Volständige Liste der Werte und Deren Templates:

sensors:
      - wr_inverter_voltage_l1:
        unique_id: wr_inverter_voltage_l1
        friendly_name: "WR Inverter Spannung L1"
        state: "{{ (states('sensor.wr_1').split(',')[0] |float / 10)}}"
        unit_of_measurement: V
        device_class: voltage
        
      - wr_inverter_voltage_l2:
        unique_id: wr_inverter_voltage_l2
        friendly_name: "WR Inverter Spannung L2"
        value_template: "{{ (states('sensor.wr_1').split(',')[1] |float / 10)}}"
        unit_of_measurement: V
        device_class: voltage
        state_class: measurement
      - wr_inverter_voltage_l3:
        unique_id: wr_inverter_voltage_l3
        friendly_name: "WR Inverter Spannung L3"
        value_template: "{{ (states('sensor.wr_1').split(',')[2] |float / 10)}}"
        unit_of_measurement: V
        device_class: voltage
        state_class: measurement
      - wr_inverter_current_l1:
        unique_id: wr_inverter_current_l1
        friendly_name: "WR Inverter Strom L1"
        value_template: "{{ (states('sensor.wr_1').split(',')[3] |float / 100) }}"
        unit_of_measurement: A
        device_class: current
        state_class: measurement
      - wr_inverter_current_l2:
        unique_id: wr_inverter_current_l2
        friendly_name: "WR Inverter Strom L2"
        value_template: "{{ (states('sensor.wr_1').split(',')[4] |float / 100) }}"
        unit_of_measurement: A
        device_class: current
        state_class: measurement
      - wr_inverter_current_l3:
        unique_id: wr_inverter_current_l3
        friendly_name: "WR Inverter Strom L3"
        value_template: "{{ (states('sensor.wr_1').split(',')[5] |float / 100) }}"
        unit_of_measurement: A
        device_class: current
        state_class: measurement
      - wr_grid_voltage_l1:
        unique_id: wr_grid_voltage_l1
        friendly_name: "WR Netz Spannung L1"
        value_template: "{{ (states('sensor.wr_1').split(',')[6] |float / 10) }}"
        unit_of_measurement: V
        device_class: voltage
        state_class: measurement
      - wr_grid_voltage_l2:
        unique_id: wr_grid_voltage_l2
        friendly_name: "WR Netz Spannung L2"
        value_template: "{{ (states('sensor.wr_1').split(',')[7] |float / 10) }}"
        unit_of_measurement: V
        device_class: voltage
        state_class: measurement
      - wr_grid_voltage_l3:
        unique_id: wr_grid_voltage_l3
        friendly_name: "WR Netz Spannung L3"
        value_template: "{{ (states('sensor.wr_1').split(',')[8] |float / 10) }}"
        unit_of_measurement: V
        device_class: voltage
        state_class: measurement
      - wr_grid_current_l1:
        unique_id: wr_grid_current_l1
        friendly_name: "WR Netz Strom L1"
        value_template: "{{ (states('sensor.wr_1').split(',')[9] |float / 100) }}"
        unit_of_measurement: A
        device_class: current
        state_class: measurement
      - wr_grid_current_l2:
        unique_id: wr_grid_current_l2
        friendly_name: "WR Netz Strom L2"
        value_template: "{{ (states('sensor.wr_1').split(',')[10] |float / 100) }}"
        unit_of_measurement: A
        device_class: current
        state_class: measurement
      - wr_grid_current_l3:
        unique_id: wr_grid_current_l3
        friendly_name: "WR Netz Strom L3"
        value_template: "{{ (states('sensor.wr_1').split(',')[11] |float / 100) }}"
        unit_of_measurement: A
        device_class: current
        state_class: measurement
      - wr_load_voltage_l1:
        unique_id: wr_load_voltage_l1
        friendly_name: "WR Load Spannung L1"
        value_template: "{{ (states('sensor.wr_1').split(',')[12] |float / 10) }}"
        unit_of_measurement: V
        device_class: voltage
        state_class: measurement
      - wr_load_voltage_l2:
        unique_id: wr_load_voltage_l2
        friendly_name: "WR Load Spannung L2"
        value_template: "{{ (states('sensor.wr_1').split(',')[13] |float / 10) }}"
        unit_of_measurement: V
        device_class: voltage
        state_class: measurement
      - wr_load_voltage_l3:
        unique_id: wr_load_voltage_l3
        friendly_name: "WR Load Spannung L3"
        value_template: "{{ (states('sensor.wr_1').split(',')[14] |float / 10) }}"
        unit_of_measurement: V
        device_class: voltage
        state_class: measurement
      - wr_load_current_l1:
        unique_id: wr_load_current_l1
        friendly_name: "WR Load Strom L1"
        value_template: "{{ (states('sensor.wr_1').split(',')[15] |float / 100) }}"
        unit_of_measurement: A
        device_class: current
        state_class: measurement
      - wr_load_current_l2:
        unique_id: wr_load_current_l2
        friendly_name: "WR Load Strom L2"
        value_template: "{{ (states('sensor.wr_1').split(',')[16] |float / 100) }}"
        unit_of_measurement: A
        device_class: current
        state_class: measurement
      - wr_load_current_l3:
        unique_id: wr_load_current_l3
        friendly_name: "WR Load Strom L3"
        value_template: "{{ (states('sensor.wr_1').split(',')[17] |float / 100) }}"
        unit_of_measurement: A
        device_class: current
        state_class: measurement
      - wr_inverter_frequency:
        unique_id: wr_inverter_frequency
        friendly_name: "WR Inverter Frequenz"
        value_template: "{{ (states('sensor.wr_1').split(',')[26] |float / 100) }}"
        unit_of_measurement: Hz
        device_class: frequency
        state_class: measurement
      - wr_grid_frequency:
        unique_id: wr_grid_frequency
        friendly_name: "WR Netz Frequenz"
        value_template: "{{ (states('sensor.wr_1').split(',')[27] |float / 100) }}"
        unit_of_measurement: Hz
        device_class: frequency
        state_class: measurement
      - wr_max_temp:
        unique_id: wr_max_temp
        friendly_name: "WR Max Temperatur"
        value_template: "{{ (states('sensor.wr_2').split(',')[0] |float / 10) }}"
        unit_of_measurement: °C
        device_class: temperature
        state_class: measurement
      - wr_workstage:
        unique_id: wr_workstage
        friendly_name: "WR Workstage"
        value_template: "{{ states('sensor.wr_2').split(',')[1]}}"
        
      - wr_ct_power_l1:
        unique_id: wr_ct_power_l1
        friendly_name: "WR CT Leistung L1"
        value_template: "{{ states('sensor.wr_2').split(',')[2]}}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - wr_ct_power_l2:
        unique_id: wr_ct_power_l2
        friendly_name: "WR CT Leistung L2"
        value_template: "{{ states('sensor.wr_2').split(',')[3]}}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - wr_ct_power_l3:
        unique_id: wr_ct_power_l3
        friendly_name: "WR CT Leistung L3"
        value_template: "{{ states('sensor.wr_2').split(',')[4]}}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - wr_inverter_power_l1:
        unique_id: wr_inverter_power_l1
        friendly_name: "WR Inverter Leistung L1"
        value_template: "{{ states('sensor.wr_2').split(',')[9]}}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - wr_inverter_power_l2:
        unique_id: wr_inverter_power l2
        friendly_name: "WR Inverter Leistung L2"
        value_template: "{{ states('sensor.wr_2').split(',')[10]}}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - wr_inverter_power_l3:
        unique_id: wr_inverter_power_l3
        friendly_name: "WR Inverter Leistung L3"
        value_template: "{{ states('sensor.wr_2').split(',')[11]}}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - wr_inverter_power_total:
        unique_id: wr_inverter_power_total
        friendly_name: "WR Inverter Leistung total"
        value_template: "{{(states('sensor.wr_2').split(',')[9] | float)+(states('sensor.wr_2').split(',')[10] | float)+(states('sensor.wr_2').split(',')[11] | float)}}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - wr_grid_power_l1:
        unique_id: wr_grid_power_l1
        friendly_name: "WR Netz Leistung L1"
        value_template: "{{ states('sensor.wr_2').split(',')[21]}}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - wr_grid_power_l2:
        unique_id: wr_grid_power l2
        friendly_name: "WR Netz Leistung L2"
        value_template: "{{ states('sensor.wr_2').split(',')[22]}}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - wr_grid_power_l3:
        unique_id: wr_grid_power_l3
        friendly_name: "WR Netz Leistung L3"
        value_template: "{{ states('sensor.wr_2').split(',')[23]}}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - wr_grid_power_total:
        unique_id: wr_grid_power_total
        friendly_name: "WR Netz Leistung total"
        value_template: "{{(states('sensor.wr_2').split(',')[21] | float)+(states('sensor.wr_2').split(',')[22] | float)+(states('sensor.wr_2').split(',')[23] | float)}}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - wr_load_power_l1:
        unique_id: wr_load_power_l1
        friendly_name: "WR Load Leistung L1"
        value_template: "{{ states('sensor.wr_2').split(',')[30]}}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - wr_load_power_l2:
        unique_id: wr_load_power_l2
        friendly_name: "WR Load Leistung L2"
        value_template: "{{ states('sensor.wr_2').split(',')[31]}}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - wr_load_power_l3:
        unique_id: wr_load_power_l3
        friendly_name: "WR Load Leistung L3"
        value_template: "{{ states('sensor.wr_2').split(',')[32]}}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - wr_battery_voltage:
        unique_id: wr_battery_voltage
        friendly_name: "WR BAT Spannung"
        value_template: "{{ (states('sensor.wr_3').split(',')[0] | float /100)}}"
        unit_of_measurement: V
        device_class: voltage
        state_class: measurement
      - wr_battery_current:
        unique_id: wr_battery_current
        friendly_name: "WR BAT Strom"
        value_template: "{{ (states('sensor.wr_3').split(',')[1] | float /10)}}"
        unit_of_measurement: A
        device_class: current
        state_class: measurement
      - wr_pv1_voltage:
        unique_id: wr_pv1_voltage
        friendly_name: "WR PV1 Spannung"
        value_template: "{{ (states('sensor.wr_3').split(',')[2] | float /10)}}"
        unit_of_measurement: V
        device_class: voltage
        state_class: measurement
      - wr_pv1_current:
        unique_id: wr_pv1_current
        friendly_name: "WR PV1 Strom"
        value_template: "{{ (states('sensor.wr_3').split(',')[3] | float /100)}}"
        unit_of_measurement: A
        device_class: current
        state_class: measurement
      - wr_pv2_voltage:
        unique_id: wr_pv2_voltage
        friendly_name: "WR PV2 Spannung"
        value_template: "{{ (states('sensor.wr_3').split(',')[4] | float /10)}}"
        unit_of_measurement: V
        device_class: voltage
        state_class: measurement
      - wr_pv2_current:
        unique_id: wr_pv2_current
        friendly_name: "WR PV2 Strom"
        value_template: "{{ (states('sensor.wr_3').split(',')[5] | float /100)}}"
        unit_of_measurement: A
        device_class: current
        state_class: measurement
      - wr_battery_power:
        unique_id: wr_battery_power
        friendly_name: "WR BAT Leistung"
        value_template: "{{ states('sensor.wr_3').split(',')[10]}}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - wr_pv1_power:
        unique_id: wr_pv1_power
        friendly_name: "WR PV1 Leistung"
        value_template: "{{ states('sensor.wr_3').split(',')[11]}}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - wr_pv2_power:
        unique_id: wr_pv2_power
        friendly_name: "WR PV2 Leistung"
        value_template: "{{ states('sensor.wr_3').split(',')[12]}}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - wr_pv_power_total:
        unique_id: wr_pv_power_total
        friendly_name: "WR PV Leistung total"
        value_template: "{{(states('sensor.wr_3').split(',')[11] | float)+(states('sensor.wr_3').split(',')[12] | float)}}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - wr_battery_soc:
        unique_id: wr_battery_soc
        friendly_name: "WR BAT SOC"
        value_template: "{{ states('sensor.wr_3').split(',')[13]}}"
        unit_of_measurement: '%'
        device_class: battery
        state_class: measurement
      - wr_temp_s1_4:
        unique_id: wr_temp_s1_4
        friendly_name: "WR Temp S1-4"
        value_template: "{{((states('sensor.wr_3').split(',')[17] | float /10)+(states('sensor.wr_3').split(',')[18] | float /10)+(states('sensor.wr_3').split(',')[19] | float /10)+(states('sensor.wr_3').split(',')[20] | float /10) )| float /4}}"
        unit_of_measurement: °C
        device_class: temperature
        state_class: measurement
      - wr_temp_r1_4:
        unique_id: wr_temp_r1_4
        friendly_name: "WR Temp R1-4"
        value_template: "{{((states('sensor.wr_3').split(',')[21] | float /10)+(states('sensor.wr_3').split(',')[22] | float /10)+(states('sensor.wr_3').split(',')[24] | float /10) )| float /3}}"
        unit_of_measurement: °C
        device_class: temperature
        state_class: measurement
      - wr_battery_temp:
        unique_id: wr_battery_temp
        friendly_name: "WR BAT Temp"
        value_template: "{{ (states('sensor.wr_4').split(',')[0] | float /10)}}"
        unit_of_measurement: °C
        device_class: temperature
        state_class: measurement
      - wr_battery_temp_max:
        unique_id: wr_battery_temp_max
        friendly_name: "WR BAT MAX Temp"
        value_template: "{{ (states('sensor.wr_4').split(',')[1] | float /10)}}"
        unit_of_measurement: °C
        device_class: temperature
        state_class: measurement
      - wr_pv_production_day:
        unique_id: wr_pv_production_day
        friendly_name: "WR PV Produktion day"
        value_template: "{{(states('sensor.wr_5').split(',')[0] | float /10)}}"
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
      - wr_pv_production_total:
        unique_id: wr_pv_production_total
        friendly_name: "WR PV Produktion total"
        value_template: "{{(states('sensor.wr_5').split(',')[1] | float /10 *1000)+(states('sensor.wr_5').split(',')[2] | float /10)}}"
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
      - wr_battery_charge_day:
        unique_id: wr_battery_charge_day
        friendly_name: "WR BAT CHG day"
        value_template: "{{(states('sensor.wr_5').split(',')[3] | float /10)}}"
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
      - wr_battery_charge_total:
        unique_id: wr_battery_charge_total
        friendly_name: "WR BAT CHG total"
        value_template: "{{(states('sensor.wr_5').split(',')[4] | float /10 *1000)+(states('sensor.wr_5').split(',')[5] | float /10)}}"
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
      - wr_battery_discharge_day:
        unique_id: wr_battery_discharge_day
        friendly_name: "WR BAT DCHG day"
        value_template: "{{(states('sensor.wr_5').split(',')[6] | float /10)}}"
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
      - wr_battery_discharge_total:
        unique_id: wr_battery_discharge_total
        friendly_name: "WR BAT DCHG total"
        value_template: "{{(states('sensor.wr_5').split(',')[7] | float /10 *1000)+(states('sensor.wr_5').split(',')[8] | float /10)}}"
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
      - wr_grid_buy_day:
        unique_id: wr_grid_buy_day
        friendly_name: "WR Netzbezug day"
        value_template: "{{(states('sensor.wr_5').split(',')[9] | float /10)}}"
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
      - wr_grid_buy_total:
        unique_id: wr_grid_buy_total
        friendly_name: "WR Netzbezug total"
        value_template: "{{(states('sensor.wr_5').split(',')[10] | float /10 *1000)+(states('sensor.wr_5').split(',')[11] | float /10)}}"
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
      - wr_grid_sell_day:
        unique_id: wr_grid_sell_day
        friendly_name: "WR Netzverkauf day"
        value_template: "{{(states('sensor.wr_5').split(',')[12] | float /10)}}"
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
      - wr_grid_sell_total:
        unique_id: wr_grid_sell_total
        friendly_name: "WR Netzverkauf total"
        value_template: "{{(states('sensor.wr_5').split(',')[13] | float /10 *1000)+(states('sensor.wr_5').split(',')[14] | float /10)}}"
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
      - wr_load_day:
        unique_id: wr_load_day
        friendly_name: "WR Load day"
        value_template: "{{(states('sensor.wr_5').split(',')[15] | float /10)}}"
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
      - wr_load_total:
        unique_id: wr_load_total
        friendly_name: "WR Load total"
        value_template: "{{(states('sensor.wr_5').split(',')[16] | float /10 *1000)+(states('sensor.wr_5').split(',')[17] | float /10)}}"
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing

Ich hoffe dir Damit weitergeholfen zu haben. Es gibt leider keine fertige Integration dafür , aber es läuft stabil und zuverlässig.

Vielen Dank, ich werde weiterhin versuchen, es zum Laufen zu bringen.

@TheSCC
Hallo, ich habe eine Frage zu den Bildern der Battery Settings 1. Bei Dir stehen bei Bat Cap AH 400 drin. Ich habe von Titansolar 3 Batterien mit jeweils 15 KW (300 AH). Trage ich dann hier den Wert von einer Batterie (300 AH) ein oder den Gesamtwert der 3 Batterien (900 AH)?

Vielen Dank im Voraus für eine Rückmeldung

Moin, trag da für dich 900 ein. Habe aber festgestellt, dass diese Eingabe für lifepo4 nichts bringt

Moin,

falls jemand braucht: Tool für Auto-Generation von Chisage modbus config für HA.

autiwire/chisage-ha-gen

mfg Rouven R.

Hallo zusammen,

hiermit möchte ich meinen Weg hin zu einem erfolgreichen Zugriff via Modbus und KNX auf den Chisage Wechselrichter Mars-14G1-LE Hybrid mit Titan Solar Batteriespeicher 30 kWh zusammenfassen.

Beide Komponenten habe ich bei Titan Solar gekauft.
Inzwischen hat dieser Händler Insolvenz angemeldet - kein Wunder bei deren Geschäftsgebaren.

Bei Auslieferung der Geräte im Frühjahr 2024 hatte der Wechselrichter folgende Versionsnummern:

  • INV: V0.8.0.1.2.f
  • DCDC: V0.7.0.0.2.e
  • DISP: V1.2.0.3

Das werksseitige Kennwort war 750912.

 
Firmware-Update:
Mit dieser Konstellation konnte ich trotz vieler Stunden Try-and-error nur Error melden beim Versuch, eine Modbus-Verbindung aufzubauen.

Daraufhin habe ich mich im Frühjahr 2025 über das Kontaktformular auf Service und Support - CHISAGE ESS - DE an den Hersteller gewandt.
Dieser reagierte super freundlich und unerwartet kompetent innerhalb eines Tages über WhatsApp (chinesische Rufnummer) und hat dann remote innerhalb eines weiteren Tages eine neue Firmware in drei Teilen eingespielt. Dafür braucht man also jedes Mal deren Techniker :frowning:

Während des Update-Vorgangs, der insg. ca. 2 Stunden gedauert hat, musste ich in der Nähe des WR sein um den WR am schwarzen Drehknopf aus und später wieder einzuschalten.
Weiterhin musste ich den WR für ein Teilupdate komplett stromlos schalten und danach wieder einschalten, weil es zunächst fehlschlug. Das hat geholfen.

Nach dem Update hatte mein Gerät folgende Versionsnummern:

  • INV: V0.8.0.1.3.7
  • DCDC: V0.7.0.0.3.4
  • Dis: V1.2.1.7
  • Protocol: V1.0.0.5 (wurde mit voriger FW nicht angezeigt)
  • WiFi Firmware: V1.0.0.3 (wurde mit voriger FW nicht angezeigt).

Ich habe das Default-Kennwort oben erwähnt, weil mir der Techniker sagte, dass Geräte mit diesem Default-Kennwort sehr alt sind.
Inzwischen lautet das werksseitige Default-Kennwort 888888

 
Hardware-Montage:

Zunächst habe ich den Wechselrichter über Pin 7 und 8 an das Modbus / KNX Gateway der Firma MDT angeschlossen.
Dazu habe ich das herkömmliche, orange Netzwerkkabel in die ganz rechte RJ45 Buchse des Wechselrichters gesteckt.

Auf der anderen Seite habe ich ein Breakout-Kabel verwendet, das auf der einen Seite eine RJ45 Buchse hat und auf der anderen Seite 8 Terminals:

Terminal 7 und 8 habe ich mit dem Modbus-Anschluss des MDT KNX Modbus Gateway RTU485 verbunden.

Die beiden KNX-Leitungen habe ich auf der einen Seite an den KNX-Bus angeschlossen und auf der anderen Seite an die KNX-Terminals des MDT Gateways.

Das MDT Gateway wird über KNX mit Strom versorgt, braucht also keinen separaten Stromanschluss.

Damit waren die Hardwarearbeiten erledigt.

 
Software-Konfiguration:

Im MDT Gateway habe ich mit Hilfe der KNX-Software ETS6 (kostenpflichtig) im ersten Schritt die Modbus Basiseinstellungen wie folgt vorgenommen:

Dann habe ich die für meine Anwendung erforderlichen Modbus Register jeweils einem Kanal zugeordnet und konfiguriert.

Entnommen habe ich die Modbus Register, deren Konfiguration und deren Bedeutung einer Excel-Datei, die mir der Chisage Support im Rahmen des Updates zugemailt hat:

20250217-Mars Modbus Protocol - MSE formattiert.xlsx (110,9 KB)

Es scheint wohl so zu sein, dass der Wechselrichter die Daten pro Leitung einzeln ausgibt, also z.B: den PV-Ertrag pro String. Möchte man z.B. die aktuelle Summe des PV-Ertrags beider Strings wissen, muss man sich das selbst ausrechnen.

Dann habe ich in ETS6 jedem Kanal eine KNX Gruppenadresse zugeordnet.

Und zu guter letzt habe ich in der Home Assistant knx.yaml Datei den KNX-Gruppenadressen je eine Entität zugeordnet, die dann für beliebige Anzeigen und Automatisierungen in Home Assistant verwendet werden können.

Gelernt habe ich bei der Gelegenheit noch, dass man sich die Daten des Wechselrichters nicht nur in der App sondern auch in einem Webportal anzeigen lassen kann:

 
Wie geht es weiter?

Nachdem diese Basisarbeit erledigt war, kann ich mich nun daran machen, mein eigenes EMS (Energie-Management-System) in Home-Assistant zu konfigurieren. Damit kann dann z.B. abhängig vom PV-Ertrag und dem Batterie-Ladezustand entschieden werden, ob die Wallbox das E-Auto laden soll oder nicht.