Skip to content

MC_Lokale_Konfiguration

Joern edited this page Feb 24, 2025 · 9 revisions

Warum sind die nachfolgend beschriebenen Konfigurationen nicht im Backup enthalten, sondern müssen vom Nutzer selbst hinzugefügt werden ?

Antwort: Wie beschrieben werden keine offiziellen Maxxisun APIs für den Zweck des Auslesens und Änderung der Maxxicharge Einstellungen verwendet. Da nicht sichergestellt werden kann, dass dies mit jeder zukünftige CCU Firmware Version funktionieren, muss ein Anwender wissen, welche HA Dateien/Konfig.Einstellung für die Funktionalität notwendig sind. Damit soll der Anwender sich soweit mit der Materie beschäftigen, dass er diese Funktionen bei Problemen entweder selbst, oder durch Übernahme von aktualisierten Einstellungen der Community wieder zum Laufen bekommt.


Lokale CCU Konfiguration auslesen und ändern

Mittels http://maxxi.local oder alternativ durch Aufruf http://<CCU-IP-Adresse> steht seit CCU Firmware Version 0.41 eine Anzeige der aktuellen CCU Daten, sowie eine einfache, cloudunabhängige/lokale Möglichkeit zur Änderung der CCU Steuerungsparameter zur Verfügung.

Info/Hinweis: Wenn die Namensauflösung von "maxxi.local" oder ähnliche lokalen Geräteadressen in Eurem Netzwerk nicht sauber funktioniert, hängt das nicht mit der Bereitstellung des Namens durch das Gerät, sondern mit dem individuellen Setup des lokalen Netzwerks zusammen. Die Namensauflösung erfolgt über bestimmte Ports, die möglicherweise gesperrt sind. Es gibt aber auch noch andere Gründe, die die Namensauflösung verhindern. Wenn der Aufruf über den Namen nicht, oder nur sporadisch funktioniert, einfach die IP-Adresse der CCU verwenden. Dann wird es klappen.

Für die lokalen Konfigurationsdaten gibt es derzeit noch keine offizielles API von Maxxisun. Trotzdem gibt es (wie fast immer) technische Wege die Daten auszulesen und auch unabhängig vom UI zu ändern. Letzteres ist in Verbindung mit einem HA System von besonderem Nutzen, da sich damit Konfigurationsparameter wie z.B. minimaler SOC oder maximaler SOC automatisch über das HA System ändern lassen. Ein konkretes Beispiel folgt am Ende.

Auslesen der aktuellen CCU Konfigurationsdaten

https://github.com/Joern-R/maxxicharge-local-ha?tab=readme-ov-file#2-auslesen-der-aktuellen-maxxicharge-konfiguration-inoffiziell

Mittes der im HA vorhandenen "Web-scraping" Technologie werden können Datenfelder aus einer HTML-(Internet oder Lokal)-Seite extrahiert und als Entität in HA (wie jede andere Entität) gespeichert und verfügbar gemacht werden.

Vorteil des Web-Scraping ist, dass es mit praktisch jeder HTML-Seite funktioniert. Großer Nachteil ist, dass es von der Struktur und dem Aufbau der HTML-Seite abhängt. Änderungen der Seite können dazu führen, dass falsche oder ggf. auch gar keine Daten mehr extrahiert werden.

Wichtig: Nach jedem Update oder auch Downgrade der Maxxicharge CCU Firmware Version ist zu prüfen, ob die Felder noch korrekt mit den richtigen Daten gefüllt werden.

Hinweis: Um nicht zu viele Aufrufe des lokalen UIs zu erzeugen, werden die Daten in der bereitgestellten Konfiguration nur alle 60 Sekunden aktualisiert.

Ändern von CCU Konfigurationsdaten von Homeassistant aus

Unter dem nachfolgende Link ist beschrieben, wie man (derzeit noch ohne offizielles API) Konfigurationsdaten der CCU aus Homeassisant heraus ändern kann. Der dortigen Beschreibung ist aktuell nicht viel hinzuzufügen. Es gelten dieselben Einschränkungen bzgl. möglichen Problemen nach Upgrade/Downgrade der CCU Version wie beim Auslesen der Konfigurationsdaten.

https://github.com/Joern-R/maxxicharge-local-ha?tab=readme-ov-file#3-%C3%A4ndern-der-aktuellen-maxxicharge-konfiguration-inoffiziell

Beispiel: Änderung der Konfigurationsdaten - Winterbetrieb

Ein konkreter Anwendungsfall für automatisierte Änderung von Konfigurationsdaten ist der "Winterbetrieb" des Maxxicharge. Das funktioniert mit 2 einfachen Automatisierungen in HA, indem die Einstellung "Minimaler Entladung der Batterie" automatisch geändert wird.

  1. Wenn der aktuelle Ladestand (SOC) über 60% ist, wird die "Minimale Entladung der Batterie" auf 40% gesetzt.
  2. Wenn der aktuelle Ladestand (SOC) unter 41% ist, wird die "Minimale Entladung der Batterie" auf 60% gesetzt.

Dadurch pendelt der Ladezustand zwischen 40% und 60% - und zwar ohne Mikroschwankungen, sondern bei Laden konstant steigend, und bei Entladen zurück auf 40%. Man könnte jetzt noch weitere Parameter, wie die erwartete Solarleistung des Tages,... mit rein nehmen. Das erscheint mir persönlich aber angesichts der geringen Solarproduktion im Winter eher übertrieben. Am Ende kann sich da jeder "austoben" wie er möchte.

Konfiguration (für die beiden Wintertrieb Automatisisierung) folgt hier. Voraussetzung ist dabei, das sowohl die REST Kommandos, als auch die Eingabefelder so benannt sind, wie in Konfiguration beschrieben. Wenn nicht - kein Problem - dann einfach Eure Entitätsbezeichnungen verwenden.


Winter1

alias: Maxxi-SoC-Winter-1
description: Wenn SoC über 60 dann Entladung starten
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.maxxicharge1_ladestand
    above: 60
conditions: []
actions:
  - data:
      wert: 40
    action: rest_command.maxxicharge_minimaler_soc
  - action: input_number.set_value
    target:
      entity_id: input_number.maxxi_local_min_soc
    data:
      value: 40
mode: single

Hinweis: Die Automatisierung ändert sowohl die Einstellung der CCU (mittels: rest_command.maxxicharge_minimaler_soc) alsauch die Einstellung im Eingabefeld (mittels: input_number.set_value). Wer keine Eingabefelder auf dem UI hat, braucht da natürlich nichts zu ändern.


Winter2

alias: Maxxi-SoC-Winter-2
description: Wenn SoC < 41 dann nicht weiter Entladen
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.maxxicharge1_ladestand
    below: 41
conditions: []
actions:
  - data:
      wert: 60
    action: rest_command.maxxicharge_minimaler_soc
  - action: input_number.set_value
    target:
      entity_id: input_number.maxxi_local_min_soc
    data:
      value: 60
mode: single

Hinweis: Die Automatisierung ändert sowohl die Einstellung der CCU (mittels: rest_command.maxxicharge_minimaler_soc) alsauch die Einstellung im Eingabefeld (mittels: input_number.set_value). Wer keine Eingabefelder auf dem UI hat, braucht da natürlich nichts zu ändern.

Clone this wiki locally