SAX Speicher mit ADW200 ins Energiedashboard

Hallo in die Runde,

Ich habe seit einem Monat den SAX Speicher 7.7 kWh mit dem ADW200 am laufen.

Ich bekomme es einfach nicht hin, die Werte funktionierend ins Energie Dashboard zu bekommen.

Vielleicht hat das schon jemand hinbekommen und kann mir dabei helfen.

Vielen Dank im Voraus

Bernd

Hi, ich hab zwar nicht diesen Speicher, kämpfe mich gerade mit derm SolarFlow 2400AC, ab. Der Speicher den Du hast hab ich mal im Netz gefunden das man das über eine Auslesbare Steckdose machen kann. Also müsste es auch möglich sein mit einem Shelly 3EM pro das ganze zu machen. Bei mir hab ich den im Sicherungskasten und kann somit ede einzelne Phase sehen was dort erzeugt wird und was in Haus geht, das ganze kann man dann im Energiedashbord reinpacken. Das sollte die einfachste Lösung sein um nicht einen zu großen Aufwand zu betreiben.

Danke für das Feedback,

den Shelly 3EM hatte ich vorher für meine PV Anlage.

Ich hatte ihn aber ausgetauscht um den von SAX empfohlenen ADW200 zu verwenden. Ich dachte mir, so ist alles original und lässt sich bei Problemen auch besser Supporten.

Eigentlich sollte es ja auch damit gehen, nur ich kriege es leider nicht hin. Er fragt ja sogar die ein und ausgehende Leistung auf allen drei Phasen und auch noch die Leistung der PV Anlagen ab.

Leider ist die WebApp von SAX sehr bescheiden. Dort kann man nur die unterschiedlichen Leistungskurven anschauen, aber nicht die Tages, Wochen und Monatsverbräuche auslesen. Das ist wirklich sehr schwach. Auch fehlt mir eine Funktion in der App um die Speicherladung und Entladung zu begrenzen. Die App hat noch viel Luft nach oben.

Ich gebe die Hoffnung nicht auf, dass ich aus den Modbus Werten, die ich übermittelt bekomme, die Werte als kWh Werte in das Energieportal übermittelt bekomme.

Vielleicht versuche ich, in der kommenden Woche noch mal einen Tipp vom Support zu bekommen, der ist bei der Firma hervorragend.

Nachtrag: Ich habe es dank ChatGPT hinbekommen und es läuft so wie es soll. Es waren viele Schritte nötig, die ich nicht alle verstanden hatte. Aber der Erfolg gibt der KI Recht.

1 „Gefällt mir“

Hallo, könntest du die Lösung trotzdem einmal sizzieren, da ich mit den Werten der Register 40096 und 40097 (SAX_a_energy_produced und sax-a-energy_consumed) auch nichts anfangen kann, da es sich immer um stündliche Werte handelt.

Derzeit verwende ich zwei Integral sensoren, die aus der Leistung des SAX die geflossene Energiemenge berechnen. Diese sind dann im Energiedashboard eingebunden.

Hallo

Das fällt mir schwer, da ich viele Schritte einfach nur nach Anweisung der KI gemacht hatte.

Im Anhang sind mal die Einstellungen aus dem Energieportal.

Die PV Module kommen aber nicht vom SAX Speicher sondern per ESP.

Ich kann dir mal die yaml zusenden die ich dazu benötige.

Ich habe auch noch EVCC am laufen, teilweise greifen die auch darauf zu. Ich habe von dem yaml Code leider keine Ahnung, bin froh wenn es irgendwie funktioniert :wink:

Die Modbuswerte kommen direkt aus der SAX Integration.

Ich hoffe es hilft dir vielleicht ein wenig weiter.

/homeassistant/sensors.yaml

# ============================================================
# sensors.yaml – stabile Integration (klassisches Schema)
# EVCC- & SAX-basierte Energiequellen (fürs Energy-Dashboard)
# ============================================================

# ------------------------------------------------------------
# Template-Sensoren (Duty-Cycle + SAX-Leistungen)
# ------------------------------------------------------------
- platform: template
  sensors:
    duty_cycle:
      unique_id: duty_cycle_from_rpi_rf_mod
      friendly_name: "Duty Cycle"
      unit_of_measurement: "%"
      availability_template: >
        {{ states('sensor.rpi_rf_mod_001f5f298d98e4_duty_cycle_level') not in ['unknown','unavailable',''] }}
      value_template: >
        {{ states('sensor.rpi_rf_mod_001f5f298d98e4_duty_cycle_level')|float(0) | round(1) }}

    sax_total_active_power:
      friendly_name: "SAX Gesamtleistung"
      # kein unique_id, um Konflikte mit alter Entität zu vermeiden
      unit_of_measurement: "W"
      device_class: power
      value_template: >
        {% set l1 = states('sensor.sax_battery_a_active_power_l1') | float(0) %}
        {% set l2 = states('sensor.sax_battery_a_active_power_l2') | float(0) %}
        {% set l3 = states('sensor.sax_battery_a_active_power_l3') | float(0) %}
        {{ (l1 + l2 + l3) | round(1) }}

    sax_grid_import_power:
      friendly_name: "SAX Netzbezug Leistung"
      unique_id: sax_grid_import_power
      unit_of_measurement: "W"
      device_class: power
      value_template: >
        {% set total = states('sensor.sax_total_active_power') | float(0) %}
        {% if total > 0 %}
          {{ total | round(1) }}
        {% else %}
          0
        {% endif %}

    sax_grid_export_power:
      friendly_name: "SAX Einspeisung Leistung"
      unique_id: sax_grid_export_power
      unit_of_measurement: "W"
      device_class: power
      value_template: >
        {% set total = states('sensor.sax_total_active_power') | float(0) %}
        {% if total < 0 %}
          {{ (-total) | round(1) }}
        {% else %}
          0
        {% endif %}

# ------------------------------------------------------------
# EVCC → kWh (fürs Energy-Dashboard)
# ------------------------------------------------------------
- platform: integration
  source: sensor.evcc_netzbezug_power_safe
  name: "EVCC Netzbezug Energie"
  unique_id: evcc_netzbezug_energy
  unit_prefix: k
  round: 3
  method: left

- platform: integration
  source: sensor.evcc_einspeisung_power_safe
  name: "EVCC Einspeisung Energie"
  unique_id: evcc_einspeisung_energy
  unit_prefix: k
  round: 3
  method: left

- platform: integration
  source: sensor.evcc_batterie_power_safe
  name: "EVCC Batterie Energie"
  unique_id: evcc_batterie_energy
  unit_prefix: k
  round: 3
  method: left

- platform: integration
  source: sensor.evcc_pv_leistung_safe
  name: "EVCC PV Energie"
  unique_id: evcc_pv_energy
  unit_prefix: k
  round: 3
  method: left

# ------------------------------------------------------------
# SAX Energie (kWh) – aus SAX-Leistung berechnet
# ------------------------------------------------------------
- platform: integration
  source: sensor.sax_total_active_power
  name: "SAX Energie Gesamt"
  unique_id: sax_energy_total
  unit_prefix: k
  round: 3
  method: left

- platform: integration
  source: sensor.sax_grid_import_power
  name: "SAX Netzbezug Energie"
  unique_id: sax_grid_import_energy
  unit_prefix: k
  round: 3
  method: left

- platform: integration
  source: sensor.sax_grid_export_power
  name: "SAX Einspeisung Energie"
  unique_id: sax_grid_export_energy
  unit_prefix: k
  round: 3
  method: left

# ------------------------------------------------------------
# Monitoring / Feintuning (EVCC-Wh-Zähler für Detailansicht)
# ------------------------------------------------------------
- platform: integration
  source: sensor.evcc_netzbezug_power_safe
  name: "EVCC Netzbezug Energie (Wh)"
  unique_id: evcc_netzbezug_energy_wh
  method: left
  round: 2

- platform: integration
  source: sensor.evcc_einspeisung_power_safe
  name: "EVCC Einspeisung Energie (Wh)"
  unique_id: evcc_einspeisung_energy_wh
  method: left
  round: 2

/homeassistant/templates/sax.yaml

# =========================
# TEMPLATE SENSORS – SAX, PV, Grid, EVCC (robust / delayed)
# =========================
- sensor:
    # PV-Leistung (Summe aller PV-Anlagen)
    - name: "PV Leistung"
      unique_id: pv_leistung
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{
          (states('sensor.esphome_web_7ae3e9_friendly_name_acpower')|float(0)) +
          (states('sensor.esphome_web_977f31_friendly_name_acpower')|float(0)) +
          (states('sensor.esphome_web_7cf2b7_friendly_name_acpower')|float(0)) +
          (states('sensor.garage_pv_power')|float(0))
        }}

    # Batterie Entladung positiv (→ Haus/Netz)
    # Name so gewählt, dass Entity-ID = sensor.sax_batt_discharge_w
    - name: "sax_batt_discharge_w"
      unique_id: sax_batt_discharge_w
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      icon: mdi:battery-arrow-down
      state: >
        {% set p = states('sensor.sax_battery_a_power') %}
        {% if p in ['unknown', 'unavailable', 'none', None] or (p is none) %}
          {{ this.state | float(0) }}
        {% else %}
          {% set val = p | float(0) %}
          {{ iif(val > 0, val, 0) }}
        {% endif %}

    # Batterie Ladung positiv (← PV/Netz)
    # Name so gewählt, dass Entity-ID = sensor.sax_batt_charge_w
    - name: "sax_batt_charge_w"
      unique_id: sax_batt_charge_w
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      icon: mdi:battery-arrow-up
      state: >
        {% set p = states('sensor.sax_battery_a_power') %}
        {% if p in ['unknown', 'unavailable', 'none', None] or (p is none) %}
          {{ this.state | float(0) }}
        {% else %}
          {% set val = p | float(0) %}
          {{ iif(val < 0, -val, 0) }}
        {% endif %}

    # GRID Import Power (Bezug aus Netz)
    - name: "Grid Import Power"
      unique_id: grid_import_power
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      icon: mdi:transmission-tower-import
      state: >
        {% set g = states('sensor.sax_battery_a_smart_meter_total_power') %}
        {% if g in ['unknown', 'unavailable', 'none', None] or (g is none) %}
          {{ this.state | float(0) }}
        {% else %}
          {% set val = g | float(0) %}
          {{ iif(val > 0, val, 0) }}
        {% endif %}

    # GRID Export Power (Einspeisung ins Netz)
    - name: "Grid Export Power"
      unique_id: grid_export_power
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      icon: mdi:transmission-tower-export
      state: >
        {% set g = states('sensor.sax_battery_a_smart_meter_total_power') %}
        {% if g in ['unknown', 'unavailable', 'none', None] or (g is none) %}
          {{ this.state | float(0) }}
        {% else %}
          {% set val = g | float(0) %}
          {{ iif(val < 0, -val, 0) }}
        {% endif %}

    # Hauslast berechnet (PV + Netz + Batterie)
    - name: "Home Load Calc"
      unique_id: home_load_calc
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      icon: mdi:home-lightning-bolt
      state: >
        {% set pv   = states('sensor.pv_leistung')|float(0) %}
        {% set grid = states('sensor.sax_battery_a_smart_meter_total_power')|float(0) %}
        {% set dis  = states('sensor.sax_batt_discharge_w')|float(0) %}
        {% set cha  = states('sensor.sax_batt_charge_w')|float(0) %}
        {% set imp  = iif(grid > 0, grid, 0) %}
        {% set exp  = iif(grid < 0, -grid, 0) %}
        {{ (pv + imp + dis - cha - exp) | round(0) }}

    # EVCC Fahrzeug-SoC (Text)
    - name: "EVCC Fahrzeug-SoC Text"
      unique_id: evcc_fahrzeug_soc_text
      state: >
        {% set soc = states('sensor.evcc_fahrzeug_soc') | float(0) %}
        {% if soc > 0 %}
          {{ soc | round(0) }} %
        {% else %}
          "unbekannt"
        {% endif %}

    # =========================
    # EVCC-kompatible Energie-Templates (für Summenbildung)
    # =========================
    - name: "EVCC Netzbezug Power"
      unique_id: evcc_netzbezug_power
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: "{{ states('sensor.grid_import_power')|float(0) }}"

    - name: "EVCC Einspeisung Power"
      unique_id: evcc_einspeisung_power
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: "{{ states('sensor.grid_export_power')|float(0) }}"

    # EVCC Batterie Power (positiv = Entladung, negativ = Ladung)
    - name: "EVCC Batterie Power"
      unique_id: evcc_batterie_power
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {% set dis = states('sensor.sax_batt_discharge_w')|float(0) %}
        {% set cha = states('sensor.sax_batt_charge_w')|float(0) %}
        {{ dis - cha }}
        
# --- EVCC "safe" Power-Sensoren als Trigger-Templates (30s Takt) ---
- trigger:
    - platform: time_pattern
      seconds: "/30"
    - platform: state
      entity_id:
        - sensor.evcc_netzbezug_power
        - sensor.evcc_einspeisung_power
        - sensor.evcc_batterie_power
        - sensor.evcc_pv_leistung
  sensor:
    - name: "EVCC Netzbezug Power (safe)"
      unique_id: evcc_netzbezug_power_safe
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: "{{ states('sensor.evcc_netzbezug_power') | float(0) }}"

    - name: "EVCC Einspeisung Power (safe)"
      unique_id: evcc_einspeisung_power_safe
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: "{{ states('sensor.evcc_einspeisung_power') | float(0) }}"

    - name: "EVCC Batterie Power (safe)"
      unique_id: evcc_batterie_power_safe
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: "{{ states('sensor.evcc_batterie_power') | float(0) }}"

    - name: "EVCC PV-Leistung (safe)"
      unique_id: evcc_pv_leistung_safe
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: "{{ states('sensor.evcc_pv_leistung') | float(0) }}"

Hallo,

hat jemand jetzt schon eine Möglichkeit gefunden die Daten aus dem AWD200 abzurufen?
Ich finde es ziemlich bescheiden, das SAX diese Infos nicht dokumentiert.
Man sieht die Daten zwar im Dashboard von SAX, aber ich möchte die Daten ahlt gerne in einem onPrem. System verwalten und nicht auf den Hersteller angewiesen sein.

Danke Euch für jede Info dazu.

VG Andreas

Hallo,

Ich habe von SAX die Infos über das AWD200 Smartmeter bekommen.
Die Daten sind per Modbus unter 40112 lesbar.

- name: "PV Leistung SAX"
 unique_id: sax_pv_power
 slave: 40
 address: 40112
 unit_of_measurement: "W"
 device_class: power
 state_class: measurement
 data_type: uint16
 scale: 10

Vielleicht hilft es dem einen oder anderen.

Hier noch die Übersicht von SAX

:crayon:by HarryP:
. Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)
. Code-/Logzeilen formatiert (bitte immer in </> einbinden)
. s.a.: (Neues Update & Features - Hier in der Community 🫶)

Mittlerweile gibt es das Kapitel „Unterstützte Protokolle“ in der Installationsanleitung.