SolixBar ist eine native macOS-Menueleisten-App fuer Anker SOLIX Uebersichtsdaten.
Sie zeigt Akku, PV, Hauslast, Netzbezug, Energiefluss und Ertrag direkt in der Menueleiste, mit modernem Dashboard, abgedockter schmaler Leiste und Verlaufsgraf.
English: SolixBar is a native macOS menu bar app for Anker SOLIX overview data. It provides a compact menu bar readout, a modern dropdown dashboard, a detachable slim bar, and a history graph.
Die Projekt-Homepage liegt in docs/ und kann mit GitHub Pages veroeffentlicht werden.
English: Project homepage files are in docs/ and can be published with GitHub Pages.
- Native AppKit-Menueleisten-App. / Native AppKit menu bar app.
- Demo-Modus zum Testen ohne Zugangsdaten. / Demo data mode for testing without credentials.
- Direkter SOLIX-Login sowie Live-Daten ueber lokalen JSON-Befehl oder JSON-URL. / Direct SOLIX login plus live data via local JSON command or JSON URL.
- Frei waehlbare Menueleistenwerte, Bezeichnungen, Symbole, App-Symbol und Skalierung. / Configurable menu bar values, labels, symbols, app icon visibility, and scaling.
- Getrennte Auswahl und Reihenfolge fuer Menueleiste und abgedockte Leiste mit sofortiger Live-Vorschau; beide Anzeigen bleiben auch beim Abdocken parallel konfigurierbar. / Independent selection and ordering for the menu bar and detached bar with instant live preview; both displays remain configurable in parallel while detached.
- Optionale farbige Energiefluss-Pfeile in der Menueleiste. / Optional colored energy-flow arrows in the menu bar.
- Abgedockte schmale Leiste mit Andocken-Funktion, Fixieren gegen versehentliches Verschieben und gespeichertem Zustand. / Detachable slim bar with dock action, optional movement lock, and restored state.
- Individuelle macOS-Warnungen fuer Akku, Solar-Einbruch, Hauslast, Netzbezug, Einspeisung sowie Akku-Ladung und -Entladung. / Individual macOS warnings for battery, solar drop, home load, grid import, grid export, battery charging, and battery discharging.
- Hell, Dunkel oder automatisch passend zum System. / Light, dark, or automatic system appearance.
- Deutsche oder englische sichtbare App-Texte. / German or English visible app text.
- Login-Autostart. / Login autostart support.
- Aufklapp-Dashboard mit Akku, PV, Hauslast, Netzbezug, Akku-Fluss, Tagesertrag, Gesamtertrag und Status. / Dropdown dashboard with battery, solar, home load, grid import, battery flow, daily yield, total yield, and status.
- Animierter Verlaufsgraf fuer Akku, Solar und Netzbezug. / Animated history graph for battery, solar, and grid import.
- Zeitraeume: Aktuell, 24 Stunden, 7 Tage, 30 Tage und individuell. / Graph ranges: current, 24 hours, 7 days, 30 days, and custom.
- Sichtbare Fragezeichen-Hilfen fuer jeden Messwert, jede Warnung und weitere Einstellungen. / Visible question-mark help controls for every metric, every warning, and additional settings.
- Lokale Logdatei fuer Fehleranalyse:
~/Library/Application Support/SolixBar/SolixBar.log. / Local log file for troubleshooting.
Aktuelle Version / Current version: 0.5.5
Versionshinweise stehen in CHANGELOG.md. / See CHANGELOG.md for release notes.
- macOS 14 oder neuer. / macOS 14 or newer.
- Das fertige Release benoetigt weder Python noch Xcode. / The packaged release requires neither Python nor Xcode.
- Nur fuer lokale Quellcode-Builds: Swift-Toolchain oder Xcode Command Line Tools. / Source builds only: Swift toolchain or Xcode Command Line Tools.
Direkt mit SwiftPM starten. / Run directly from SwiftPM:
swift run SolixBarApp-Bundle zum Doppelklicken erstellen. / Create a double-clickable app bundle:
sh scripts/package_app.sh
unzip outputs/SolixBar-0.5.5-macOS-arm64.zip -d outputs
open outputs/SolixBar.appDas Paket-Skript erwartet die lokale, nicht eingecheckte Python-Laufzeit unter work/; die veroeffentlichte ZIP-Datei enthaelt sie bereits. / The packaging script expects the local, untracked Python runtime below work/; the published ZIP already includes it.
SolixBar unterstuetzt vier Modi. / SolixBar supports four modes:
SOLIX Login: direkter Abruf mit AES-verschlüsselt lokal gespeicherten Zugangsdaten. / Direct fetch with locally stored AES-encrypted credentials.Demo: erzeugte Beispieldaten zum Testen der Oberflaeche. / Generated sample data for testing the UI.Lokaler JSON-Befehl: fuehrt einen lokalen Befehl aus und liest JSON aus stdout. / Runs a local command and reads JSON from stdout.JSON-URL: laedt JSON von einer lokalen oder entfernten HTTP-Adresse. / Fetches JSON from a local or remote HTTP endpoint.
Das JSON sollte so aussehen. / The JSON should look like this:
{
"siteName": "Anker SOLIX",
"batteryPercent": 82,
"solarWatts": 642,
"homeWatts": 318,
"gridWatts": -86,
"batteryWatts": 238,
"todayKWh": 3.74,
"totalKWh": 427.8,
"status": "Online",
"updatedAt": "2026-07-06T19:30:00Z"
}Anker stellt keine stabile oeffentliche SOLIX API bereit. SolixBar 0.5.5 liefert den benoetigten Python-Helper und seine Laufzeit im App-Bundle mit. Fuer den normalen SOLIX-Login sind keine Projektordner, Terminalbefehle oder persoenlichen Dateipfade mehr erforderlich. Der direkte Abruf fordert Echtzeitdaten fuer alle unterstuetzten Anlagengeraete an und liest danach Akku, PV, Hauslast, Netz und Akku-Fluss gemeinsam neu. Eine unabhaengige Ueberwachung stellt ausgebliebene oder festhaengende Aktualisierungen wieder her. Tagesertrag und PV-Gesamtertrag werden ueber die passenden SOLIX-Energieendpunkte gelesen; bei mehreren Wechselrichtern werden deren PV-Gesamtwerte addiert. Falls kein Gesamtwert verfuegbar ist, wird die reale Messung lokal und datenquellenuebergreifend fortgefuehrt.
English: Anker does not provide a stable public SOLIX API. SolixBar 0.5.5 bundles the required Python helper and runtime inside the app. Normal SOLIX login no longer requires a project checkout, Terminal commands, or personal file paths. Direct refreshes request real-time data from every supported system device and then reload battery, solar, home load, grid, and battery flow together. An independent watchdog recovers missed or stuck refreshes. Daily yield and PV lifetime total use the matching SOLIX energy endpoints; PV lifetime totals from multiple inverters are added together. If no lifetime total is available, the real measurement continues locally across live data sources.
Oeffne Einstellungen -> Datenquelle, waehle SOLIX Login, trage Mail,
Passwort und Land ein und druecke Speichern. Mail und Passwort werden ohne
Schluesselbund-Abfrage AES-verschluesselt im privaten Application-Support-Ordner
der App gespeichert. Dort liegen auch Verlauf, API-Cache und lokale Ertragswerte.
English: Open Settings -> Data Source, choose SOLIX Login, enter email,
password, and country, then press Save. Email and password are stored
AES-encrypted in the app's private Application Support folder without a Keychain
prompt. History, API cache, and local yield state are stored there as well.
Du kannst jederzeit zu Demo oder JSON-URL wechseln; SolixBar zeigt nur die
Felder an, die fuer den gewaehlten Modus notwendig sind.
English: You can still switch back to Demo or JSON-URL; SolixBar only shows
the fields needed for the selected mode.
Der separate Modus Lokaler JSON-Befehl bleibt fuer fortgeschrittene eigene Datenquellen erhalten.
English: The separate Local JSON Command mode remains available for advanced custom data sources.
Das Repository schliesst lokale Build-Produkte, gepackte Apps, Python-Laufzeiten und heruntergeladene API-Checkouts bewusst aus.
English: The repository intentionally excludes local build products, packaged apps, Python runtimes, and downloaded API checkouts.

