TapHome
Komunita Beta Energia a meranie

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

Integrácia nabíjačky elektromobilov SolaX HAC cez API SolaX Developer Portalu (OAuth2 cez HTTPS). Číta nabíjací výkon, energiu, fázové prúdy a stav nabíjačky; prepína režim STOP/FAST/ECO/GREEN, spúšťa a zastavuje nabíjanie a nastavuje limit prúdu.

Packet Parser → HTTP6 zariadeníRevízia 1.4 Posledná aktualizácia: 12. novembra 2026

Pridal Adam Tížik

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

Import do aplikácie TapHomeHardvér › Packet Parser › Pridať zo šablóny

Stiahnuť šablónu
Na tejto stránke

Návod na integráciu

Šablóna SolaX HAC Cloud API prepojí TapHome s nabíjačkou elektromobilov SolaX X1-HAC alebo X3-HAC cez API SolaX Developer Portalu (OpenAPI). Autor šablóny uvádza aj nabíjačky A1-HAC a C1/C3-HAC. TapHome s nabíjačkou nekomunikuje priamo: nabíjačka sa hlási do SolaXCloud cez Wi-Fi, LAN alebo 4G a TapHome číta jej dáta zo SolaX cloudu cez HTTPS každých 60 sekúnd. Zapisovacie príkazy (pracovný režim, spustenie a zastavenie, zamknutie, limit prúdu) idú späť do nabíjačky rovnakou cestou cez cloud.

Pred importom šablóny musia byť splnené dve veci. Nabíjačka musí byť online v účte SolaXCloud a tento účet potrebuje v SolaX Developer Portali aplikáciu, ktorá poskytne Client ID a Client Secret. Ak nabíjačka pracuje spolu so solárnym invertorom SolaX, v tom istom projekte TapHome môže bežať aj šablóna SolaX Inverter (Cloud API). Tá používa staršie monitorovacie API SolaxCloud s vlastným tokenom.

Pripojenie nabíjačky k SolaXCloud

Sieťové pripojenie

Nabíjačka sa môže pripojiť na internet tromi spôsobmi. Všetky používajú DHCP, takže IP adresu pridelí router automaticky.

  • Wi-Fi: len 2,4 GHz (802.11 b/g/n). Siete 5 GHz nie sú podporované.
  • Ethernet (LAN): port RJ45 LAN (/ DI). Ethernet používa piny 1, 2, 3 a 6 (TX+, TX−, RX+, RX−). Ak je potrebný len Ethernet, ostatné piny nechajte nezapojené. Pri pripojení cez LAN sa dá nastavenie Wi-Fi preskočiť.
  • 4G: len pre modely s „4G“ v názve (napríklad X3-HAC-22P-B4G). Nano SIM kartu s podporou Cat-M, NB-IoT alebo GSM musí vložiť oprávnený odborník. SolaX odporúča aspoň 100 MB dát mesačne v scenároch Solar a Standard.
Zapojenie pinov komunikačných portov nabíjačky elektromobilov LAN/DI, COM2-M a COM1-S s farbami vodičov RJ45

Ethernetový kábel k nabíjačke musí byť chránený pred úderom blesku. Ak je potrebný LAN aj signálový vstup DI, nalisujte piny 1, 2, 3 a 6 pre Ethernet a piny 4, 5 a 8 pre DI a oba káble potom spojte spojkou RJ45, ktorá je súčasťou balenia nabíjačky.

Pripojenie 4G sa nastavuje v aplikácii SolaXCloud v lokálnom režime: otvorte Dongle, potom tlačidlo nastavení, nastavte Device Networking Mode na 4G, zadajte APN operátora a zvoľte typ siete, ktorý SIM karta podporuje.

Pridanie nabíjačky v aplikácii SolaXCloud

  1. Nainštalujte aplikáciu SolaXCloud z App Store alebo Google Play a zaregistrujte účet pomocou e-mailovej adresy alebo telefónneho čísla a overovacieho kódu.
  2. Pri prvom prihlásení vytvorte elektráreň (plant): povoľte prístup k polohe, zadajte názov elektrárne a dokončite ostatné nastavenia.
  3. Pridajte nabíjačku naskenovaním alebo zadaním Registration No. z jej typového štítku. Neskôr pridávané nabíjačky sa pridávajú cez stránku Device, ikonu + a potom Add Device alebo Scan.
  4. Ak sa nabíjačka pripája cez Wi-Fi, zadajte názov a heslo siete Wi-Fi.
Aplikácia SolaXCloud: pridanie nabíjačky elektromobilov podľa Registration No. z typového štítku

Na typovom štítku sú dve rôzne čísla. Registration No. slúži na pridanie nabíjačky v aplikácii a na lokálne prihlásenie. SN (sériové číslo zariadenia) je to, čo šablóna TapHome potrebuje ako DeviceSN. Aplikácia zobrazuje SN zariadenia na stránke nabíjačky Basic information (ťuknite na hornú časť stránky Details nabíjačky). Nájdete ho aj v Developer Portali v časti Device > Device List.

Opätovné pripojenie Wi-Fi a lokálny prístup

Ak je nabíjačka offline, otvorte v aplikácii stránku Device, ťuknite na kartu nabíjačky označenú ako offline a zvoľte Reconfigure. Potom znova zadajte sieť 2,4 GHz a heslo.

Aplikácia SolaXCloud: nové nastavenie Wi-Fi nabíjačky elektromobilov a prihlásenie v lokálnom režime podľa Registration No.

Ak nové nastavenie zlyhá, existuje druhý spôsob. Pripojte telefón alebo notebook k vlastnej sieti Wi-Fi nabíjačky, ktorá je pomenovaná podľa jej Registration No. (Wifi_XC…). Potom v prehliadači otvorte http://192.168.10.10/ a prihláste sa ako admin s Registration No. ako heslom. Lokálny režim v aplikácii (More > Local Access, alebo Service > Application > Local Access po prihlásení) používa tú istú sieť.

Nabíjačka svoju lokálnu sieť Wi-Fi automaticky vypne hodinu po úspešnom pripojení k sieti. Ak chcete lokálny prístup použiť neskôr, sieť znova zapnite v aplikácii v časti Network > Local Access.

Scenár použitia a režimy nabíjania

Nabíjačka pracuje v jednom z troch scenárov použitia, ktorý sa volí v aplikácii v časti Advanced setting > Application scene:

  • Solar (predvolený): k dispozícii sú režimy nabíjania Green, Eco a Fast. Green a Eco vyžadujú, aby nabíjačka komunikovala so solárnym invertorom alebo s prúdovým transformátorom (CT) či elektromerom na prípojke siete, aby poznala prebytok FV výroby.
  • Standard: nabíjačka len spúšťa a zastavuje nabíjanie. Green a Eco v tomto scenári neexistujú.
  • OCPP: nabíjačka je riadená cez OCPP server a aplikácia SolaXCloud voľbu režimu skryje.
Scenár Solar: nabíjačka elektromobilov SolaX komunikuje so solárnym invertorom, router Wi-Fi/LAN do cloudu, prúdový transformátor (CT) alebo elektromer, prúdový chránič s nadprúdovou ochranou (RCBO) a rozvádzač AC

Solárny invertor sa pripája na port COM1-S- (A1/B1). Elektromer alebo prúdový transformátor (CT) sa pripája na port COM2-M- (A2/B2, vstupy CT na ostatných pinoch). Úroveň nabíjacieho prúdu pre režim Green (3 A alebo 6 A) a pre režim Eco (6, 10, 16, 20 alebo 25 A) sa nastavuje v aplikácii v časti Details > Function Control > Charge Level. Pri modeloch 11 kW ponúka Eco len 6 A a 10 A. Nabíjanie v režimoch Green a Eco tiež vyžaduje vozidlo, ktoré spĺňa normu IEC 61851.

Nastavenie prístupu k API v SolaX Developer Portali

  1. Prihláste sa do SolaX Developer Portalu a otvorte Quick Start alebo Application.
  2. Vytvorte aplikáciu pre elektráreň SolaXCloud, ktorá obsahuje nabíjačku. Aplikácia musí mať aspoň jednu autorizovanú elektráreň.
  3. Na karte aplikácie Authorization skopírujte Client ID a Client Secret.
  4. V časti Service API > Authorize zapnite monitorovacie služby Data Monitoring Service (API_Telemetry_V2) a Information Access Service (API_Info_V2). Zapnite aj službu ovládania nabíjačky elektromobilov, ktorú potrebuje prepínač pracovného režimu a servisné akcie. Samotné monitorovanie funguje aj bez nej.
  5. Sériové číslo nabíjačky nájdete v časti Device > Device List. Je to to isté SN ako v aplikácii SolaXCloud.

Šablóna je nastavená na európsky API host openapi-eu.solaxcloud.com. SolaX prevádzkuje samostatné hosty pre Čínu (openapi-cn.solaxcloud.com) a Indiu (openapi-in.solaxcloud.com). Región účtu je uvedený v Developer Portali. S aplikáciou v inom regióne šablóna v importovanej podobe nefunguje.

Parametre importu

V TapHome importujte šablónu a vyplňte tri parametre uvedené nižšie. Všetko ostatné (token, dopytovanie, opakované pokusy) rieši modul.

ParameterPopisKde ho nájsť
ClientIdClient ID aplikácie v Developer PortaliApplication > Authorization
ClientSecretClient Secret tej istej aplikácieApplication > Authorization
DeviceSNSériové číslo nabíjačky (nie Registration No.)Developer Portal Device > Device List alebo Basic information v aplikácii SolaXCloud

Jednu dvojicu Client ID a Client Secret používajte len pre jedného klienta. Každá aplikácia má len jeden platný prístupový token, takže nová žiadosť o token zruší predchádzajúci. Druhá inštancia šablóny TapHome alebo iný nástroj, ktorý dopytuje s tými istými prístupovými údajmi, bude token tejto šablóny neustále rušiť. Pre druhú nabíjačku alebo pre iný systém vytvorte v Developer Portali samostatnú aplikáciu.

Možnosti zariadenia

Názvy zariadení v šablóne sú v slovenčine. Nižšie je každé uvedené presne tak, ako ho zobrazí aplikácia.

Nabíjací výkon a energia

Nabíjací výkon je elektromer. Zobrazuje aktuálny nabíjací výkon v kW a celkovú nabitú energiu v kWh. Jeho servisné atribúty zobrazujú energiu aktuálnej relácie (Energia aktuálnej relácie [kWh]), fázové prúdy L1, L2 a L3 (Prúd L1 [A], Prúd L2 [A], Prúd L3 [A]) a jednofázový prúd (Jednofázový prúd [A]).

Stav nabíjania a stavový kód

  • Nabíjanie prebieha je kontakt. Je zapnutý (Nabíja) len vtedy, keď nabíjačka hlási stav Charging. Pri každom inom stave je vypnutý (Nenabíja), vrátane Suspended EV a Suspended EVSE.
  • Stav nabíjačky je surový stavový kód nabíjačky:
KódStavKódStav
0Available7Suspended EV
1Preparing8Suspended EVSE
2Charging9Update
3Finishing10Card Activation
4Faulted11Start Delay
5Unavailable12Charge Pause
6Reserved13Stopping

Pracovný režim

Pracovný režim je viachodnotový prepínač so štyrmi hodnotami: STOP, FAST, ECO a GREEN. Číta aktuálny režim nabíjačky a z TapHome nastavuje nový. ECO a GREEN sa správajú tak, ako je opísané pri scenári Solar vyššie, a závisia od komunikácie nabíjačky so solárnym invertorom alebo elektromerom.

Servisné akcie

Zariadenie stavu nabíjačky má štyri servisné akcie:

  • Spustiť nabíjanie a Zastaviť nabíjanie.
  • Zamknúť / sprístupniť nabíjačku s hodnotami Zamknúť a Sprístupniť.
  • Nastaviť limit prúdu: 6–32 A pri modeloch 7 kW a 22 kW, 6–16 A pri modeli 11 kW.

Príkazy sú asynchrónne. Odpoveď „OK, príkaz odoslaný“ znamená, že SolaX cloud príkaz prijal, nie že ho nabíjačka už vykonala. Výsledok sa prejaví v hodnotách nasledujúcich cyklov.

História kariet a relácií v grafoch

  • RFID karta zobrazuje číslo karty, ktorá reláciu spustila, alebo 0, keď sa karta nepoužíva.
  • Čas nabíjania relácie zobrazuje trvanie aktuálnej relácie v minútach.

SolaX API históriu kariet neposkytuje. Keď sú pri týchto dvoch premenných zapnuté grafy, TapHome si históriu vytvorí sám: ktorá karta nabíjala, kedy a ako dlho, s rozlíšením 60 sekúnd. Karty sa používajú len vtedy, keď je režim aktivácie nabíjačky v aplikácii SolaXCloud nastavený na RFID (Charger setting > Activation mode). Predvolený režim Plug & Charge kartu nepoužíva.

Riešenie problémov

Žiadne dáta alebo chyba overenia na module

  • Skontrolujte, či je nabíjačka online v aplikácii SolaXCloud. Ikona servera na displeji nabíjačky ukazuje, či je pripojená k SolaXCloud.
  • Skontrolujte ClientId a ClientSecret voči karte Authorization. Secret, ktorý bol v portáli vygenerovaný znova, treba zadať znova.
  • Skontrolujte, či je DeviceSN sériové číslo nabíjačky, nie Registration No.
  • Skontrolujte, či má aplikácia autorizovanú elektráreň s nabíjačkou a či sú autorizované monitorovacie služby. Kód API 10403 znamená, že služba API nemá prístupové práva. Kód 10500 znamená, že aplikácia nemá oprávnenie na dáta tohto zariadenia.
  • Kódy 10400 a 10402 znamenajú, že token nie je platný. Modul si vyžiada nový token a čítanie zopakuje v tom istom cykle. Ak modul aj potom hlási chybu s textom „aj po obnove tokenu“, prístupové údaje alebo autorizované služby sú nesprávne.

Hodnoty sa prestanú meniť

Kódy 10405 a 10406 znamenajú, že sa dosiahol limit volaní API. Modul zobrazí upozornenie a ponechá hodnoty z posledného úspešného cyklu. Šablóna posiela jednu požiadavku za minútu. Do toho istého limitu sa započítavajú aj ďalšie nástroje, ktoré čítajú ten istý účet SolaX.

Pracovný režim alebo akcie zlyhávajú

  • Servisná akcia vráti text SolaX API kód <code>, keď cloud príkaz odmietne. Kód 10403 (žiadne prístupové práva k rozhraniu) môže znamenať, že pre aplikáciu nie je autorizovaná služba ovládania nabíjačky elektromobilov.
  • ECO a GREEN fungujú len v scenári Solar a potrebujú funkčné spojenie so solárnym invertorom alebo s prúdovým transformátorom (CT) či elektromerom. V scenári Standard nabíjačka len spúšťa a zastavuje nabíjanie.

Komerčné inštalácie

Šablóna číta nabíjačku ako súčasť rezidenčnej elektrárne (businessType=1). Podľa autora šablóny potrebuje nabíjačka v komerčnej a priemyselnej elektrárni hodnotu 4 a jej hodnoty výkonu sú potom v kW namiesto W.

Dostupné zariadenia 6

Tieto zariadenia sa po importe zobrazia v TapHome.

SolaX Cloud API Modul
Vlastné premenné
AccessToken (string)
RealtimeData (string)
ClientId (string)
ClientSecret (string)
DeviceSN (string)

SolaX Cloud API

Čítanie (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 Elektromer
Servisné atribúty
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

Čítanie celkovej spotreby
PARSEJSON(RealtimeData, "$.result[0].totalChargeEnergy", true)
Čítanie odberu
PARSEJSON(RealtimeData, "$.result[0].chargingPower", true) / 1000
Servisné atribúty
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 Jazýčkový kontakt

Nabíjanie prebieha

Čítanie
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 Premenná
Servisné akcie
Spustiť nabíjanie
Zastaviť nabíjanie
Zamknúť / sprístupniť nabíjačku
Nastaviť limit prúdu

Stav nabíjačky

Čítanie
PARSEJSON(RealtimeData, "$.result[0].deviceStatus", true)
Servisné akcie
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
Parametre: 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
Parametre: 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 Premenná

RFID karta

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

Čas nabíjania relácie

Čítanie
VAR t := PARSEJSON(RealtimeData, "$.result[0].chargingTimeThisSession", true);
IF ISNULL(t)
    RETURN(0);
END
RETURN(t / 60);
Pracovný režim Viacstavový prepínač
Hodnoty / Stavy: STOP · FAST · ECO · GREEN

Pracovný režim

Čítanie stavu prepínača
VAR mode := PARSEJSON(RealtimeData, "$.result[0].deviceWorkingMode", true);
IF ISNULL(mode)
    RETURN(0);
END
RETURN(mode);
Zápis stavu prepínača
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
Pripojenie: Packet Parser → HTTP

Parametre importu

Tieto hodnoty zadáte pri importe XML.

Pýta sa v aplikáciiPredvolené
ClientId: ID klienta z SolaX Developer PortáluZadáte pri importe
ClientSecret: Client Secret z SolaX Developer PortáluZadáte pri importe
DeviceSN: Sériové číslo nabíjačky (Device SN)Zadáte pri importe

Našli ste problém s touto šablónou zariadenia?

Napíšte nám, čo nefunguje, čo chýba, alebo ako by sa mala šablóna správať. Vaša spätná väzba nám pomáha udržiavať katalóg presný.

Šablóna · portál TapHome SolaX X1/X3-HAC EV Charger (Cloud API) Otvorte túto šablónu v Customer Portali a aplikujte ju na svoj domov, alebo navrhnite zmenu a odošlite ju späť do katalógu. Packet Parser → HTTP Zobraziť v portáli TapHome