TapHome
Community Beta Energie & Messung

SolaX X1/X3-HAC EV Charger (Cloud API)

Integration der SolaX HAC Wallbox über die API des SolaX Developer Portal (OAuth2 über HTTPS). Liest Ladeleistung, Energie, Phasenströme und Status der Wallbox; schaltet den Modus STOP/FAST/ECO/GREEN, startet und stoppt das Laden und setzt die Strombegrenzung.

Packet Parser → HTTP6 GeräteRevision 1.4 Zuletzt aktualisiert: 12. November 2026

Eingereicht von Adam Tížik

SolaX X1/X3-HAC EV Charger (Cloud API)

Import in die TapHome AppHardware › Packet Parser › Aus Vorlage hinzufügen

Vorlage herunterladen
Auf dieser Seite

Integrationsanleitung

Die Vorlage SolaX HAC Cloud API verbindet TapHome über die API des SolaX Developer Portal (OpenAPI) mit einer Wallbox SolaX X1-HAC oder X3-HAC. Der Autor der Vorlage führt außerdem die Wallboxen A1-HAC und C1/C3-HAC auf. TapHome kommuniziert nicht direkt mit der Wallbox: Die Wallbox meldet ihre Daten über WLAN, LAN oder 4G an SolaXCloud, und TapHome liest sie alle 60 Sekunden über HTTPS aus der SolaX-Cloud. Schreibbefehle (Betriebsmodus, Start und Stopp, Sperre, Strombegrenzung) gelangen auf demselben Weg über die Cloud zurück zur Wallbox.

Bevor Sie die Vorlage importieren, müssen zwei Voraussetzungen erfüllt sein. Die Wallbox muss in einem SolaXCloud-Konto online sein, und für dieses Konto wird im SolaX Developer Portal eine Anwendung benötigt, die Client ID und Client Secret bereitstellt. Arbeitet die Wallbox neben einem SolaX-Wechselrichter, kann die Vorlage SolaX Inverter (Cloud API) im selben TapHome-Projekt laufen. Sie nutzt die ältere Monitoring-API von SolaxCloud mit eigenem Token.

Wallbox mit SolaXCloud verbinden

Netzwerkverbindung

Die Wallbox bietet drei Wege ins Internet. Alle nutzen DHCP, der Router vergibt die IP-Adresse also automatisch.

  • WLAN: nur 2,4 GHz (802.11 b/g/n). 5-GHz-Netze werden nicht unterstützt.
  • Ethernet (LAN): der RJ45-Anschluss LAN (/ DI). Ethernet nutzt die Pins 1, 2, 3 und 6 (TX+, TX−, RX+, RX−). Wird nur Ethernet benötigt, bleiben die übrigen Pins unbeschaltet. Bei einer LAN-Verbindung kann die WLAN-Einrichtung entfallen.
  • 4G: nur bei Modellen mit „4G“ im Namen (zum Beispiel X3-HAC-22P-B4G). Eine autorisierte Fachkraft muss eine Nano-SIM-Karte einsetzen, die Cat-M, NB-IoT oder GSM unterstützt. SolaX empfiehlt in den Szenen Solar und Standard mindestens 100 MB Daten pro Monat.
Pinbelegung der Kommunikationsanschlüsse LAN/DI, COM2-M und COM1-S der Wallbox mit den RJ45-Aderfarben

Das Ethernet-Kabel zur Wallbox muss gegen Blitzeinschlag geschützt sein. Werden LAN und der Signaleingang DI gemeinsam benötigt, crimpen Sie die Pins 1, 2, 3 und 6 für Ethernet und die Pins 4, 5 und 8 für DI und verbinden Sie dann beide Kabel mit dem RJ45-Kupplungsstück, das der Wallbox beiliegt.

Die 4G-Verbindung wird in der SolaXCloud-App im lokalen Modus eingerichtet: Öffnen Sie Dongle und dann die Einstellungsschaltfläche, setzen Sie Device Networking Mode auf 4G, geben Sie den APN des Netzbetreibers ein und wählen Sie den Netztyp, den die SIM-Karte unterstützt.

Wallbox in der SolaXCloud-App hinzufügen

  1. Installieren Sie die App SolaXCloud aus dem App Store oder von Google Play und registrieren Sie ein Konto mit E-Mail-Adresse oder Telefonnummer und einem Bestätigungscode.
  2. Legen Sie bei der ersten Anmeldung eine Anlage an: Erlauben Sie den Standortzugriff, geben Sie einen Anlagennamen ein und schließen Sie die übrigen Einstellungen ab.
  3. Fügen Sie die Wallbox hinzu, indem Sie die Registration No. von ihrem Typenschild scannen oder eintippen. Später hinzugefügte Wallboxen laufen über die Seite Device, das Symbol + und dann Add Device oder Scan.
  4. Geben Sie den WLAN-Namen und das Passwort ein, wenn die Wallbox per WLAN verbunden wird.
SolaXCloud-App: Wallbox über die Registration No. vom Typenschild hinzufügen

Das Typenschild zeigt zwei verschiedene Nummern. Die Registration No. dient zum Hinzufügen der Wallbox in der App und zur lokalen Anmeldung. Die SN (Seriennummer des Geräts) braucht die TapHome-Vorlage als DeviceSN. Die App zeigt die Geräte-SN auf der Seite Basic information der Wallbox (tippen Sie auf den oberen Teil der Seite Details der Wallbox). Außerdem ist sie im Developer Portal unter Device > Device List aufgeführt.

WLAN neu verbinden und lokaler Zugriff

Geht die Wallbox offline, öffnen Sie in der App die Seite Device, tippen Sie auf die als offline markierte Karte der Wallbox und wählen Sie Reconfigure. Geben Sie dann das 2,4-GHz-Netz und das Passwort erneut ein.

SolaXCloud-App: WLAN der Wallbox neu konfigurieren und Anmeldung im lokalen Modus mit der Registration No.

Schlägt die Neukonfiguration fehl, gibt es einen zweiten Weg. Verbinden Sie ein Smartphone oder Notebook mit dem eigenen WLAN der Wallbox, das nach ihrer Registration No. benannt ist (Wifi_XC…). Öffnen Sie dann http://192.168.10.10/ im Browser und melden Sie sich als admin an, mit der Registration No. als Passwort. Der lokale Modus der App (More > Local Access, oder Service > Application > Local Access nach der Anmeldung) nutzt dasselbe Netz.

Die Wallbox schaltet ihr lokales WLAN eine Stunde nach der erfolgreichen Verbindung mit dem Netzwerk automatisch ab. Um den lokalen Zugriff später zu nutzen, schalten Sie das Netz in der App unter Network > Local Access wieder ein.

Anwendungsszene und Lademodi

Die Wallbox arbeitet in einer von drei Anwendungsszenen, die Sie in der App unter Advanced setting > Application scene wählen:

  • Solar (Standard): Die Lademodi Green, Eco und Fast stehen zur Verfügung. Green und Eco setzen voraus, dass die Wallbox mit dem Wechselrichter oder mit einem Stromwandler (CT) bzw. Zähler am Netzanschluss kommuniziert, damit sie den PV-Überschuss kennt.
  • Standard: Die Wallbox startet und stoppt das Laden nur. Green und Eco gibt es in dieser Szene nicht.
  • OCPP: Die Wallbox wird über einen OCPP-Server verwaltet, und die SolaXCloud-App blendet die Modusauswahl aus.
Szene Solar: SolaX-Wallbox in Kommunikation mit dem Wechselrichter, WLAN/LAN-Router zur Cloud, CT/Zähler, RCBO und AC-Verteiler

Der Wechselrichter wird an den Anschluss COM1-S- (A1/B1) angeschlossen. Ein Zähler oder CT kommt an den Anschluss COM2-M- (A2/B2, CT-Eingänge auf den übrigen Pins). Die Ladestromstufe für den Modus Green (3 A oder 6 A) und für den Modus Eco (6, 10, 16, 20 oder 25 A) stellen Sie in der App unter Details > Function Control > Charge Level ein. Bei 11-kW-Modellen bietet Eco nur 6 A und 10 A. Laden mit Green und Eco setzt außerdem ein Fahrzeug voraus, das IEC 61851 entspricht.

API-Zugang im SolaX Developer Portal einrichten

  1. Melden Sie sich im SolaX Developer Portal an und öffnen Sie Quick Start oder Application.
  2. Legen Sie eine Anwendung für die SolaXCloud-Anlage an, zu der die Wallbox gehört. Die Anwendung muss mindestens eine autorisierte Anlage haben.
  3. Kopieren Sie auf der Registerkarte Authorization der Anwendung die Client ID und das Client Secret.
  4. Aktivieren Sie unter Service API > Authorize die Monitoring-Dienste Data Monitoring Service (API_Telemetry_V2) und Information Access Service (API_Info_V2). Aktivieren Sie auch den Steuerdienst für EV-Ladestationen, den die Umschaltung des Betriebsmodus und die Service-Aktionen benötigen. Das reine Monitoring funktioniert ohne ihn.
  5. Die Seriennummer der Wallbox finden Sie unter Device > Device List. Es ist dieselbe SN wie in der SolaXCloud-App.

Die Vorlage ist auf den europäischen API-Host openapi-eu.solaxcloud.com eingestellt. SolaX betreibt eigene Hosts für China (openapi-cn.solaxcloud.com) und Indien (openapi-in.solaxcloud.com). Die Region des Kontos wird im Developer Portal angezeigt. Mit einer Anwendung in einer anderen Region funktioniert die Vorlage im importierten Zustand nicht.

Importparameter

Importieren Sie die Vorlage in TapHome und füllen Sie die drei folgenden Parameter aus. Alles andere (Token, Abfrage, Wiederholungen) übernimmt das Modul.

ParameterBeschreibungWo zu finden
ClientIdClient ID der Anwendung im Developer PortalApplication > Authorization
ClientSecretClient Secret derselben AnwendungApplication > Authorization
DeviceSNSeriennummer der Wallbox (nicht die Registration No.)Developer Portal Device > Device List oder Basic information in der SolaXCloud-App

Verwenden Sie ein Paar aus Client ID und Client Secret nur für einen einzigen Client. Jede Anwendung hat nur ein gültiges Zugriffstoken, eine neue Token-Anforderung macht also das vorherige ungültig. Eine zweite Instanz der TapHome-Vorlage oder ein anderes Tool, das mit denselben Zugangsdaten abfragt, macht das Token dieser Vorlage immer wieder ungültig. Legen Sie für eine zweite Wallbox oder für ein anderes System eine eigene Anwendung im Developer Portal an.

Gerätefunktionen

Die Gerätenamen in der Vorlage sind slowakisch. Jedes Gerät ist unten mit seinem Namen in der App in Klammern aufgeführt.

Ladeleistung und Energie

Ladeleistung (Nabíjací výkon) ist ein Stromzähler. Er zeigt die aktuelle Ladeleistung in kW und die insgesamt geladene Energie in kWh. Seine Service-Attribute zeigen die Energie der aktuellen Ladesitzung (Energia aktuálnej relácie [kWh]), die Phasenströme L1, L2 und L3 (Prúd L1 [A], Prúd L2 [A], Prúd L3 [A]) und den einphasigen Strom (Jednofázový prúd [A]).

Ladezustand und Statuscode

  • Laden läuft (Nabíjanie prebieha) ist ein Reedkontakt. Er ist nur eingeschaltet (Nabíja), solange die Wallbox den Status Charging meldet. In jedem anderen Status ist er ausgeschaltet (Nenabíja), auch bei Suspended EV und Suspended EVSE.
  • Status der Wallbox (Stav nabíjačky) ist der unverarbeitete Statuscode der Wallbox:
CodeStatusCodeStatus
0Available7Suspended EV
1Preparing8Suspended EVSE
2Charging9Update
3Finishing10Card Activation
4Faulted11Start Delay
5Unavailable12Charge Pause
6Reserved13Stopping

Betriebsmodus

Betriebsmodus (Pracovný režim) ist ein Mehrfachschalter mit vier Werten: STOP, FAST, ECO und GREEN. Er liest den aktuellen Modus der Wallbox und setzt aus TapHome einen neuen. ECO und GREEN verhalten sich wie oben bei der Szene Solar beschrieben und hängen von der Kommunikation der Wallbox mit dem Wechselrichter oder dem Zähler ab.

Service-Aktionen

Das Gerät Status der Wallbox trägt vier Service-Aktionen:

  • Laden starten (Spustiť nabíjanie) und Laden stoppen (Zastaviť nabíjanie).
  • Sperren / freigeben (Zamknúť / sprístupniť nabíjačku), mit den Werten Sperren (Zamknúť) und Freigeben (Sprístupniť).
  • Strombegrenzung setzen (Nastaviť limit prúdu): 6–32 A bei den Modellen mit 7 kW und 22 kW, 6–16 A beim Modell mit 11 kW.

Die Befehle sind asynchron. Die Antwort „OK, príkaz odoslaný“ bedeutet, dass die SolaX-Cloud den Befehl angenommen hat, nicht dass die Wallbox ihn bereits ausgeführt hat. Das Ergebnis zeigt sich in den Messwerten der nächsten Zyklen.

Karten- und Sitzungsverlauf in Diagrammen

  • RFID-Karte (RFID karta) zeigt die Nummer der Karte, mit der die Ladesitzung gestartet wurde, oder 0, wenn keine Karte verwendet wird.
  • Ladezeit der Sitzung (Čas nabíjania relácie) zeigt die Dauer der aktuellen Ladesitzung in Minuten.

Die SolaX-API liefert keinen Kartenverlauf. Sind für diese beiden Variablen Diagramme aktiviert, erstellt TapHome den Verlauf selbst: welche Karte wann und wie lange geladen hat, mit einer Auflösung von 60 Sekunden. Karten werden nur verwendet, wenn der Aktivierungsmodus der Wallbox in der SolaXCloud-App auf RFID steht (Charger setting > Activation mode). Der Standardmodus Plug & Charge verwendet keine Karte.

Fehlerbehebung

Keine Daten oder ein Authentifizierungsfehler am Modul

  • Prüfen Sie, ob die Wallbox in der SolaXCloud-App online ist. Das Server-Symbol auf dem Display der Wallbox zeigt, ob sie mit SolaXCloud verbunden ist.
  • Vergleichen Sie ClientId und ClientSecret mit der Registerkarte Authorization. Ein im Portal neu erzeugtes Secret muss erneut eingegeben werden.
  • Prüfen Sie, ob DeviceSN die Seriennummer der Wallbox ist und nicht die Registration No.
  • Prüfen Sie, ob die Anwendung eine autorisierte Anlage mit der Wallbox hat und ob die Monitoring-Dienste autorisiert sind. Der API-Code 10403 bedeutet, dass der API-Dienst keine Zugriffsrechte hat. Der Code 10500 bedeutet, dass die Anwendung keine Berechtigung für die Daten dieses Geräts hat.
  • Die Codes 10400 und 10402 bedeuten, dass das Token ungültig ist. Das Modul fordert ein neues Token an und wiederholt das Auslesen im selben Zyklus. Meldet das Modul danach weiterhin einen Fehler mit dem Text „aj po obnove tokenu“ („auch nach Erneuerung des Tokens“), sind die Zugangsdaten oder die autorisierten Dienste falsch.

Messwerte ändern sich nicht mehr

Die Codes 10405 und 10406 bedeuten, dass das Limit der API-Aufrufe erreicht ist. Das Modul zeigt eine Warnung und behält die Werte des letzten erfolgreichen Zyklus. Die Vorlage stellt eine Anfrage pro Minute. Andere Tools, die dasselbe SolaX-Konto auslesen, zählen zum selben Limit.

Betriebsmodus oder Aktionen schlagen fehl

  • Eine Service-Aktion gibt den Text SolaX API kód <code> zurück, wenn die Cloud den Befehl ablehnt. Der Code 10403 (keine Zugriffsrechte auf die Schnittstelle) kann bedeuten, dass der Steuerdienst für EV-Ladestationen für die Anwendung nicht autorisiert ist.
  • ECO und GREEN funktionieren nur in der Szene Solar und benötigen eine funktionierende Verbindung zum Wechselrichter oder zum CT/Zähler. In der Szene Standard startet und stoppt die Wallbox das Laden nur.

Gewerbliche Installationen

Die Vorlage liest die Wallbox als Teil einer privaten Anlage (businessType=1). Laut dem Autor der Vorlage benötigt eine Wallbox in einer Gewerbe- und Industrieanlage den Wert 4, und ihre Leistungswerte sind dann in kW statt in W.

Verfügbare Geräte 6

Diese Geräte erscheinen nach dem Import in TapHome.

SolaX Cloud API Modul
Benutzerdefinierte Variablen
AccessToken (string)
RealtimeData (string)
ClientId (string)
ClientSecret (string)
DeviceSN (string)

SolaX Cloud API

Lesen (Modul)
IF LENGTH(AccessToken) = 0
    VAR tokenBody := "client_id=" + ClientId + "&client_secret=" + ClientSecret + "&grant_type=client_credentials";
    VAR tokenResponse := SENDHTTPREQUEST("/openapi/auth/oauth/token", "POST", tokenBody, "Content-Type: application/x-www-form-urlencoded");
    IF tokenResponse.IsSuccess
        VAR newToken := PARSEJSON(tokenResponse.Content, "$.result.access_token", true);
        IF !ISNULL(newToken)
            AccessToken := newToken;
        ELSE
            ADDERROR(1, "SolaX auth: odpoveď bez access_token");
        END
    ELSE
        ADDERROR(1, "SolaX auth zlyhala: HTTP " + tokenResponse.StatusCode);
    END
END

IF LENGTH(AccessToken) > 0
    VAR rtResponse := SENDHTTPREQUEST("/openapi/v2/device/realtime_data?snList=" + DeviceSN + "&deviceType=4&businessType=1", "GET", "", "Authorization: bearer " + AccessToken);
    IF rtResponse.IsSuccess
        VAR rtCode := PARSEJSON(rtResponse.Content, "$.code", true);
        IF rtCode = 10000
            RealtimeData := rtResponse.Content;
        ELSEIF rtCode = 10400 | rtCode = 10402
            VAR tokenBody2 := "client_id=" + ClientId + "&client_secret=" + ClientSecret + "&grant_type=client_credentials";
            VAR tokenResponse2 := SENDHTTPREQUEST("/openapi/auth/oauth/token", "POST", tokenBody2, "Content-Type: application/x-www-form-urlencoded");
            AccessToken := "";
            IF tokenResponse2.IsSuccess
                VAR newToken2 := PARSEJSON(tokenResponse2.Content, "$.result.access_token", true);
                IF !ISNULL(newToken2)
                    AccessToken := newToken2;
                    rtResponse := SENDHTTPREQUEST("/openapi/v2/device/realtime_data?snList=" + DeviceSN + "&deviceType=4&businessType=1", "GET", "", "Authorization: bearer " + AccessToken);
                    IF rtResponse.IsSuccess
                        rtCode := PARSEJSON(rtResponse.Content, "$.code", true);
                        IF rtCode = 10000
                            RealtimeData := rtResponse.Content;
                        ELSE
                            ADDERROR(2, "SolaX API kód " + rtCode + " aj po obnove tokenu");
                        END
                    END
                END
            END
        ELSEIF rtCode = 10405 | rtCode = 10406
            ADDWARNING("SolaX limit volaní API (kód " + rtCode + "), zobrazujú sa dáta z minulého cyklu");
        ELSE
            ADDWARNING("SolaX prechodná chyba, kód " + rtCode);
        END
    ELSE
        ADDERROR(3, "Chyba čítania dát: HTTP " + rtResponse.StatusCode);
    END
END
Nabíjací výkon Stromzähler
Serviceattribute
Energia aktuálnej relácie [kWh]
Prúd L1 [A]
Prúd L2 [A]
Prúd L3 [A]
Jednofázový prúd [A]

Nabíjací výkon

Gesamtverbrauch lesen
PARSEJSON(RealtimeData, "$.result[0].totalChargeEnergy", true)
Bedarf lesen
PARSEJSON(RealtimeData, "$.result[0].chargingPower", true) / 1000
Serviceattribute
Energia aktuálnej relácie [kWh]
PARSEJSON(RealtimeData, "$.result[0].chargingEnergyThisSession", true)
Prúd L1 [A]
PARSEJSON(RealtimeData, "$.result[0].l1Current", true)
Prúd L2 [A]
PARSEJSON(RealtimeData, "$.result[0].l2Current", true)
Prúd L3 [A]
PARSEJSON(RealtimeData, "$.result[0].l3Current", true)
Jednofázový prúd [A]
PARSEJSON(RealtimeData, "$.result[0].singlePhaseCurrent", true)
Nabíjanie prebieha Reed-Kontakt

Nabíjanie prebieha

Lesen
VAR status := PARSEJSON(RealtimeData, "$.result[0].deviceStatus", true);
IF ISNULL(status)
    RETURN(0);
END
IF status = 2
    RETURN(1);
END
RETURN(0);
Stav nabíjačky Variable
Serviceaktionen
Spustiť nabíjanie
Zastaviť nabíjanie
Zamknúť / sprístupniť nabíjačku
Nastaviť limit prúdu

Stav nabíjačky

Lesen
PARSEJSON(RealtimeData, "$.result[0].deviceStatus", true)
Serviceaktionen
Spustiť nabíjanie
VAR body := "{\"snList\":[\"" + DeviceSN + "\"],\"workCmd\":2,\"workMode\":2,\"businessType\":1}";
VAR r := SENDHTTPREQUEST("/openapi/v2/device/evc_control/set_evc_charge_command", "POST", body, "Authorization: bearer " + AccessToken, "Content-Type: application/json");
VAR c := 0;
IF r.IsSuccess
    c := PARSEJSON(r.Content, "$.code", true);
    IF c = 10400 | c = 10402
        VAR tb := "client_id=" + ClientId + "&client_secret=" + ClientSecret + "&grant_type=client_credentials";
        VAR tr := SENDHTTPREQUEST("/openapi/auth/oauth/token", "POST", tb, "Content-Type: application/x-www-form-urlencoded");
        IF tr.IsSuccess
            VAR nt := PARSEJSON(tr.Content, "$.result.access_token", true);
            IF !ISNULL(nt)
                AccessToken := nt;
                r := SENDHTTPREQUEST("/openapi/v2/device/evc_control/set_evc_charge_command", "POST", body, "Authorization: bearer " + AccessToken, "Content-Type: application/json");
                IF r.IsSuccess
                    c := PARSEJSON(r.Content, "$.code", true);
                END
            END
        END
    END
    IF c = 10000
        RETURN("OK, príkaz odoslaný");
    END
    RETURN("SolaX API kód " + c);
END
ADDERROR(r.StatusCode);
RETURN("Chyba");
Zastaviť nabíjanie
VAR body := "{\"snList\":[\"" + DeviceSN + "\"],\"workCmd\":3,\"workMode\":3,\"businessType\":1}";
VAR r := SENDHTTPREQUEST("/openapi/v2/device/evc_control/set_evc_charge_command", "POST", body, "Authorization: bearer " + AccessToken, "Content-Type: application/json");
VAR c := 0;
IF r.IsSuccess
    c := PARSEJSON(r.Content, "$.code", true);
    IF c = 10400 | c = 10402
        VAR tb := "client_id=" + ClientId + "&client_secret=" + ClientSecret + "&grant_type=client_credentials";
        VAR tr := SENDHTTPREQUEST("/openapi/auth/oauth/token", "POST", tb, "Content-Type: application/x-www-form-urlencoded");
        IF tr.IsSuccess
            VAR nt := PARSEJSON(tr.Content, "$.result.access_token", true);
            IF !ISNULL(nt)
                AccessToken := nt;
                r := SENDHTTPREQUEST("/openapi/v2/device/evc_control/set_evc_charge_command", "POST", body, "Authorization: bearer " + AccessToken, "Content-Type: application/json");
                IF r.IsSuccess
                    c := PARSEJSON(r.Content, "$.code", true);
                END
            END
        END
    END
    IF c = 10000
        RETURN("OK, príkaz odoslaný");
    END
    RETURN("SolaX API kód " + c);
END
ADDERROR(r.StatusCode);
RETURN("Chyba");
Zamknúť / sprístupniť nabíjačku
Parameter: Stav
VAR body := "{\"snList\":[\"" + DeviceSN + "\"],\"workCmd\":" + lockCmd + ",\"workMode\":" + lockCmd + ",\"businessType\":1}";
VAR r := SENDHTTPREQUEST("/openapi/v2/device/evc_control/set_evc_charge_command", "POST", body, "Authorization: bearer " + AccessToken, "Content-Type: application/json");
VAR c := 0;
IF r.IsSuccess
    c := PARSEJSON(r.Content, "$.code", true);
    IF c = 10400 | c = 10402
        VAR tb := "client_id=" + ClientId + "&client_secret=" + ClientSecret + "&grant_type=client_credentials";
        VAR tr := SENDHTTPREQUEST("/openapi/auth/oauth/token", "POST", tb, "Content-Type: application/x-www-form-urlencoded");
        IF tr.IsSuccess
            VAR nt := PARSEJSON(tr.Content, "$.result.access_token", true);
            IF !ISNULL(nt)
                AccessToken := nt;
                r := SENDHTTPREQUEST("/openapi/v2/device/evc_control/set_evc_charge_command", "POST", body, "Authorization: bearer " + AccessToken, "Content-Type: application/json");
                IF r.IsSuccess
                    c := PARSEJSON(r.Content, "$.code", true);
                END
            END
        END
    END
    IF c = 10000
        RETURN("OK, príkaz odoslaný");
    END
    RETURN("SolaX API kód " + c);
END
ADDERROR(r.StatusCode);
RETURN("Chyba");
Nastaviť limit prúdu
Parameter: Limit prúdu [A] (7/22 kW: 6-32, 11 kW: 6-16) (6–32 iLim)
VAR body := "{\"snList\":[\"" + DeviceSN + "\"],\"currentLimit\":" + iLim + ",\"businessType\":1}";
VAR r := SENDHTTPREQUEST("/openapi/v2/device/evc_control/set_evc_current_limit", "POST", body, "Authorization: bearer " + AccessToken, "Content-Type: application/json");
VAR c := 0;
IF r.IsSuccess
    c := PARSEJSON(r.Content, "$.code", true);
    IF c = 10400 | c = 10402
        VAR tb := "client_id=" + ClientId + "&client_secret=" + ClientSecret + "&grant_type=client_credentials";
        VAR tr := SENDHTTPREQUEST("/openapi/auth/oauth/token", "POST", tb, "Content-Type: application/x-www-form-urlencoded");
        IF tr.IsSuccess
            VAR nt := PARSEJSON(tr.Content, "$.result.access_token", true);
            IF !ISNULL(nt)
                AccessToken := nt;
                r := SENDHTTPREQUEST("/openapi/v2/device/evc_control/set_evc_current_limit", "POST", body, "Authorization: bearer " + AccessToken, "Content-Type: application/json");
                IF r.IsSuccess
                    c := PARSEJSON(r.Content, "$.code", true);
                END
            END
        END
    END
    IF c = 10000
        RETURN("OK, príkaz odoslaný");
    END
    RETURN("SolaX API kód " + c);
END
ADDERROR(r.StatusCode);
RETURN("Chyba");
RFID karta Variable

RFID karta

Lesen
VAR rfid := PARSEJSON(RealtimeData, "$.result[0].rfidnumber", true);
IF ISNULL(rfid)
    RETURN(0);
END
RETURN(rfid);
Čas nabíjania relácie Variable

Čas nabíjania relácie

Lesen
VAR t := PARSEJSON(RealtimeData, "$.result[0].chargingTimeThisSession", true);
IF ISNULL(t)
    RETURN(0);
END
RETURN(t / 60);
Pracovný režim Mehrwertschalter
Werte / Zustände: STOP · FAST · ECO · GREEN

Pracovný režim

Schaltzustand lesen
VAR mode := PARSEJSON(RealtimeData, "$.result[0].deviceWorkingMode", true);
IF ISNULL(mode)
    RETURN(0);
END
RETURN(mode);
Schaltzustand schreiben
VAR body := "{\"snList\":[\"" + DeviceSN + "\"],\"workMode\":" + Mu + ",\"businessType\":1}";
VAR r := SENDHTTPREQUEST("/openapi/v2/device/evc_control/set_evc_work_mode", "POST", body, "Authorization: bearer " + AccessToken, "Content-Type: application/json");
VAR c := 0;
IF r.IsSuccess
    c := PARSEJSON(r.Content, "$.code", true);
    IF c = 10400 | c = 10402
        VAR tb := "client_id=" + ClientId + "&client_secret=" + ClientSecret + "&grant_type=client_credentials";
        VAR tr := SENDHTTPREQUEST("/openapi/auth/oauth/token", "POST", tb, "Content-Type: application/x-www-form-urlencoded");
        IF tr.IsSuccess
            VAR nt := PARSEJSON(tr.Content, "$.result.access_token", true);
            IF !ISNULL(nt)
                AccessToken := nt;
                r := SENDHTTPREQUEST("/openapi/v2/device/evc_control/set_evc_work_mode", "POST", body, "Authorization: bearer " + AccessToken, "Content-Type: application/json");
                IF r.IsSuccess
                    c := PARSEJSON(r.Content, "$.code", true);
                END
            END
        END
    END
    IF c != 10000
        ADDERROR(1, "SolaX API kód " + c);
    END
ELSE
    ADDERROR(r.StatusCode);
END
Verbindung: Packet Parser → HTTP

Importparameter

Diese Werte geben Sie beim Import des XML ein.

In der App abgefragtStandard
ClientId: ID klienta z SolaX Developer PortáluBeim Import eingeben
ClientSecret: Client Secret z SolaX Developer PortáluBeim Import eingeben
DeviceSN: Sériové číslo nabíjačky (Device SN)Beim Import eingeben

Haben Sie ein Problem mit dieser Gerätevorlage gefunden?

Sagen Sie uns, was nicht funktioniert, was fehlt oder wie sich die Vorlage verhalten sollte. Ihr Feedback hilft uns, den Katalog genau zu halten.

Vorlage · TapHome-Portal SolaX X1/X3-HAC EV Charger (Cloud API) Öffne diese Vorlage im Kundenportal, um sie auf eine deiner Wohnungen anzuwenden, oder entwirf eine Anpassung und reiche sie an den Katalog ein. Packet Parser → HTTP Im TapHome-Portal ansehen