TapHome
Comunitate Beta Energie și contorizare

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

Integrarea stațiilor de încărcare SolaX HAC prin API-ul SolaX Developer Portal (OAuth2 prin HTTPS). Citește puterea de încărcare, energia, curenții pe faze și starea stației; comută modul STOP/FAST/ECO/GREEN, pornește și oprește încărcarea și setează limita de curent.

Packet Parser → HTTP6 dispozitiveRevizia 1.4 Ultima actualizare: 12 noiembrie 2026

Trimis de Adam Tížik

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

Import în aplicația TapHomeHardware › Packet Parser › Adăugați din șablon

Descărcați șablon
Pe această pagină

Ghid de integrare

Șablonul SolaX HAC Cloud API conectează TapHome la o stație de încărcare SolaX X1-HAC sau X3-HAC prin API-ul SolaX Developer Portal (OpenAPI). Autorul șablonului enumeră și stațiile de încărcare A1-HAC și C1/C3-HAC. TapHome nu comunică direct cu stația de încărcare: aceasta raportează către SolaXCloud prin Wi-Fi, LAN sau 4G, iar TapHome îi citește datele din cloudul SolaX prin HTTPS la fiecare 60 de secunde. Comenzile de scriere (mod de lucru, pornire și oprire, blocare, limită de curent) ajung înapoi la stația de încărcare tot prin cloud.

Înainte de importul șablonului trebuie îndeplinite două condiții. Stația de încărcare trebuie să fie online într-un cont SolaXCloud, iar acest cont are nevoie de o aplicație în SolaX Developer Portal, care furnizează Client ID și Client Secret. Dacă stația de încărcare funcționează alături de un invertor solar SolaX, șablonul SolaX Inverter (Cloud API) poate rula în același proiect TapHome. Acesta folosește vechiul API de monitorizare SolaxCloud, cu propriul token.

Conectarea stației de încărcare la SolaXCloud

Conexiunea la rețea

Stația de încărcare are trei moduri de conectare la internet. Toate folosesc DHCP, astfel încât adresa IP este atribuită automat de router.

  • Wi-Fi: doar 2,4 GHz (802.11 b/g/n). Rețelele de 5 GHz nu sunt acceptate.
  • Ethernet (LAN): portul RJ45 LAN (/ DI). Ethernetul folosește pinii 1, 2, 3 și 6 (TX+, TX−, RX+, RX−). Când este nevoie doar de Ethernet, lăsați ceilalți pini neconectați. Cu o conexiune LAN, configurarea Wi-Fi poate fi omisă.
  • 4G: doar pentru modelele care au „4G” în denumire (de exemplu X3-HAC-22P-B4G). Cartela nano SIM, care trebuie să accepte Cat-M, NB-IoT sau GSM, se montează numai de către un specialist autorizat. SolaX recomandă cel puțin 100 MB de date pe lună în scenariile Solar și Standard.
Definiția pinilor porturilor de comunicație LAN/DI, COM2-M și COM1-S ale stației de încărcare, cu culorile firelor RJ45

Cablul Ethernet către stația de încărcare trebuie protejat împotriva descărcărilor atmosferice. Dacă sunt necesare atât LAN-ul, cât și intrarea de semnal DI, sertizați pinii 1, 2, 3 și 6 pentru Ethernet și pinii 4, 5 și 8 pentru DI, apoi uniți cele două cabluri cu cuplorul RJ45 livrat împreună cu stația de încărcare.

Conexiunea 4G se configurează în aplicația SolaXCloud, în modul local: deschideți Dongle, apoi butonul de setări, setați Device Networking Mode la 4G, introduceți APN-ul operatorului și alegeți tipul de rețea acceptat de cartela SIM.

Adăugarea stației de încărcare în aplicația SolaXCloud

  1. Instalați aplicația SolaXCloud din App Store sau Google Play și înregistrați un cont cu o adresă de e-mail sau un număr de telefon și un cod de verificare.
  2. La prima autentificare, creați o centrală (plant): permiteți accesul la locație, introduceți numele centralei și finalizați celelalte setări.
  3. Adăugați stația de încărcare scanând sau tastând Registration No. de pe eticheta de tip. Stațiile de încărcare adăugate ulterior se adaugă din pagina Device, pictograma +, apoi Add Device sau Scan.
  4. Dacă stația de încărcare se conectează prin Wi-Fi, introduceți numele și parola rețelei Wi-Fi.
Aplicația SolaXCloud: adăugarea stației de încărcare după Registration No. de pe eticheta de tip

Eticheta de tip conține două numere diferite. Registration No. se folosește pentru adăugarea stației de încărcare în aplicație și pentru autentificarea locală. SN (numărul de serie al dispozitivului) este cel de care șablonul TapHome are nevoie ca DeviceSN. Aplicația afișează SN-ul dispozitivului pe pagina Basic information a stației de încărcare (atingeți partea de sus a paginii Details a stației). Numărul apare și în Developer Portal, la Device > Device List.

Reconectarea la Wi-Fi și accesul local

Dacă stația de încărcare devine offline, deschideți pagina Device din aplicație, atingeți cardul stației marcat offline și alegeți Reconfigure. Apoi introduceți din nou rețeaua de 2,4 GHz și parola.

Aplicația SolaXCloud: reconfigurarea Wi-Fi a stației de încărcare și autentificarea în modul local după Registration No.

Dacă reconfigurarea eșuează, există o a doua cale. Conectați un telefon sau un laptop la rețeaua Wi-Fi proprie a stației de încărcare, denumită după Registration No. (Wifi_XC…). Apoi deschideți http://192.168.10.10/ într-un browser și autentificați-vă ca admin, cu Registration No. ca parolă. Modul local din aplicație (More > Local Access sau, după autentificare, Service > Application > Local Access) folosește aceeași rețea.

Stația de încărcare își oprește automat rețeaua Wi-Fi locală la o oră după ce se conectează cu succes la rețea. Pentru a folosi ulterior accesul local, reporniți rețeaua din aplicație, la Network > Local Access.

Scenariul de utilizare și modurile de încărcare

Stația de încărcare funcționează într-unul dintre cele trei scenarii de utilizare, ales în aplicație la Advanced setting > Application scene:

  • Solar (implicit): sunt disponibile modurile de încărcare Green, Eco și Fast. Green și Eco necesită comunicația stației de încărcare cu invertorul sau cu un transformator de curent (CT) ori un contor la punctul de racordare la rețea, pentru ca stația să cunoască surplusul fotovoltaic.
  • Standard: stația de încărcare doar pornește și oprește încărcarea. Green și Eco nu există în acest scenariu.
  • OCPP: stația de încărcare este gestionată printr-un server OCPP, iar aplicația SolaXCloud ascunde selecția modului.
Scenariul Solar: stația de încărcare SolaX comunică cu invertorul, routerul Wi-Fi/LAN către cloud, CT/contor, RCBO și tabloul electric AC

Invertorul se conectează la portul COM1-S- (A1/B1). Un contor sau un CT se conectează la portul COM2-M- (A2/B2, intrările CT pe ceilalți pini). Nivelul curentului de încărcare pentru modul Green (3 A sau 6 A) și pentru modul Eco (6, 10, 16, 20 sau 25 A) se setează în aplicație la Details > Function Control > Charge Level. La modelele de 11 kW, Eco oferă doar 6 A și 10 A. Încărcarea Green și Eco necesită, de asemenea, un vehicul conform cu IEC 61851.

Configurarea accesului API în SolaX Developer Portal

  1. Autentificați-vă în SolaX Developer Portal și deschideți Quick Start sau Application.
  2. Creați o aplicație pentru centrala SolaXCloud care conține stația de încărcare. Aplicația trebuie să aibă cel puțin o centrală autorizată.
  3. În fila Authorization a aplicației, copiați Client ID și Client Secret.
  4. La Service API > Authorize, activați serviciile de monitorizare Data Monitoring Service (API_Telemetry_V2) și Information Access Service (API_Info_V2). Activați și serviciul de control al stației de încărcare, de care au nevoie comutatorul modului de lucru și acțiunile de service. Monitorizarea singură funcționează și fără el.
  5. Găsiți numărul de serie al stației de încărcare la Device > Device List. Este același SN ca în aplicația SolaXCloud.

Șablonul este setat pe hostul API european openapi-eu.solaxcloud.com. SolaX operează hosturi separate pentru China (openapi-cn.solaxcloud.com) și India (openapi-in.solaxcloud.com). Regiunea contului este afișată în Developer Portal. Așa cum este importat, șablonul nu funcționează cu o aplicație dintr-o altă regiune.

Parametri de import

În TapHome, importați șablonul și completați cei trei parametri de mai jos. Restul (token, interogare periodică, reîncercări) este gestionat de modul.

ParametruDescriereUnde se găsește
ClientIdClient ID al aplicației din Developer PortalApplication > Authorization
ClientSecretClient Secret al aceleiași aplicațiiApplication > Authorization
DeviceSNNumărul de serie al stației de încărcare (nu Registration No.)Developer Portal Device > Device List sau Basic information în aplicația SolaXCloud

Folosiți o pereche Client ID și Client Secret pentru un singur client. Fiecare aplicație are un singur token de acces valid, astfel că o nouă cerere de token îl anulează pe cel anterior. O a doua instanță a șablonului TapHome sau un alt instrument care interoghează cu aceleași date de autentificare anulează în mod repetat tokenul acestui șablon. Pentru o a doua stație de încărcare sau pentru un alt sistem, creați o aplicație separată în Developer Portal.

Funcțiile dispozitivului

Numele dispozitivelor din șablon sunt în slovacă. Fiecare este prezentat mai jos, cu numele din aplicație între paranteze.

Puterea și energia de încărcare

Puterea de încărcare (Nabíjací výkon) este un contor electric. Afișează puterea de încărcare actuală în kW și energia totală încărcată în kWh. Atributele de service afișează energia sesiunii curente (Energia aktuálnej relácie [kWh]), curenții pe fazele L1, L2 și L3 (Prúd L1 [A], Prúd L2 [A], Prúd L3 [A]) și curentul monofazat (Jednofázový prúd [A]).

Starea încărcării și codul de stare

  • Încărcare în curs (Nabíjanie prebieha) este un contact. Este activ (Nabíja) doar cât timp stația de încărcare raportează starea Charging. În orice altă stare este inactiv (Nenabíja), inclusiv în Suspended EV și Suspended EVSE.
  • Starea stației de încărcare (Stav nabíjačky) este codul de stare brut al stației:
CodStareCodStare
0Available7Suspended EV
1Preparing8Suspended EVSE
2Charging9Update
3Finishing10Card Activation
4Faulted11Start Delay
5Unavailable12Charge Pause
6Reserved13Stopping

Modul de lucru

Modul de lucru (Pracovný režim) este un comutator cu mai multe valori, cu patru valori: STOP, FAST, ECO și GREEN. Citește modul actual al stației de încărcare și setează unul nou din TapHome. ECO și GREEN funcționează conform descrierii scenariului Solar de mai sus și depind de comunicația stației de încărcare cu invertorul sau cu contorul.

Acțiuni de service

Dispozitivul de stare a stației de încărcare are patru acțiuni de service:

  • Pornire încărcare (Spustiť nabíjanie) și Oprire încărcare (Zastaviť nabíjanie).
  • Blocare / punere la dispoziție (Zamknúť / sprístupniť nabíjačku), cu valorile Blocare (Zamknúť) și Punere la dispoziție (Sprístupniť).
  • Setare limită de curent (Nastaviť limit prúdu): 6–32 A la modelele de 7 kW și 22 kW, 6–16 A la modelul de 11 kW.

Comenzile sunt asincrone. Răspunsul „OK, príkaz odoslaný” înseamnă că cloudul SolaX a acceptat comanda, nu că stația de încărcare a și executat-o. Rezultatul apare în citirile din ciclurile următoare.

Istoricul cardurilor și al sesiunilor în grafice

  • Card RFID (RFID karta) afișează numărul cardului care a pornit sesiunea sau 0 când nu se folosește niciun card.
  • Durata de încărcare a sesiunii (Čas nabíjania relácie) afișează durata sesiunii curente în minute.

API-ul SolaX nu oferă un istoric al cardurilor. Cu graficele (Charts) activate pentru aceste două variabile, TapHome construiește singur istoricul: ce card a încărcat, când și cât timp, cu o rezoluție de 60 de secunde. Cardurile se folosesc doar când modul de activare al stației de încărcare este setat pe RFID în aplicația SolaXCloud (Charger setting > Activation mode). Modul implicit Plug & Charge nu folosește card.

Depanare

Nu există date sau modulul afișează o eroare de autentificare

  • Verificați dacă stația de încărcare este online în aplicația SolaXCloud. Pictograma de server de pe ecranul stației arată dacă aceasta este conectată la SolaXCloud.
  • Verificați ClientId și ClientSecret față de fila Authorization. Un secret regenerat în portal trebuie introdus din nou.
  • Verificați dacă DeviceSN este numărul de serie al stației de încărcare, nu Registration No.
  • Verificați dacă aplicația are o centrală autorizată care conține stația de încărcare și dacă serviciile de monitorizare sunt autorizate. Codul API 10403 înseamnă că serviciul API nu are drepturi de acces. Codul 10500 înseamnă că aplicația nu are permisiune pentru datele acestui dispozitiv.
  • Codurile 10400 și 10402 înseamnă că tokenul nu este valid. Modulul solicită un token nou și repetă citirea în același ciclu. Dacă modulul raportează în continuare o eroare cu textul „aj po obnove tokenu” („chiar și după reînnoirea tokenului”), datele de autentificare sau serviciile autorizate sunt greșite.

Valorile nu se mai schimbă

Codurile 10405 și 10406 înseamnă că s-a atins limita de apeluri API. Modulul afișează un avertisment și păstrează valorile din ultimul ciclu reușit. Șablonul face o cerere pe minut. Alte instrumente care citesc același cont SolaX consumă din aceeași limită.

Modul de lucru sau acțiunile nu funcționează

  • O acțiune de service returnează textul SolaX API kód <code> când cloudul respinge comanda. Codul 10403 (fără drepturi de acces la interfață) poate însemna că serviciul de control al stației de încărcare nu este autorizat pentru aplicație.
  • ECO și GREEN funcționează doar în scenariul Solar și necesită o conexiune funcțională cu invertorul sau cu CT-ul/contorul. În scenariul Standard, stația de încărcare doar pornește și oprește încărcarea.

Instalații comerciale

Șablonul citește stația de încărcare ca parte a unei centrale rezidențiale (businessType=1). Potrivit autorului șablonului, o stație de încărcare dintr-o centrală comercială și industrială necesită valoarea 4, iar valorile de putere sunt atunci în kW în loc de W.

Dispozitive disponibile 6

Aceste dispozitive apar în TapHome după import.

SolaX Cloud API Modul
Variabile personalizate
AccessToken (string)
RealtimeData (string)
ClientId (string)
ClientSecret (string)
DeviceSN (string)

SolaX Cloud API

Citire (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 Contor electric
Atribute de service
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

Citirea consumului total
PARSEJSON(RealtimeData, "$.result[0].totalChargeEnergy", true)
Citirea cererii
PARSEJSON(RealtimeData, "$.result[0].chargingPower", true) / 1000
Atribute de service
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 Contact reed

Nabíjanie prebieha

Citire
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 Variabilă
Acțiuni de service
Spustiť nabíjanie
Zastaviť nabíjanie
Zamknúť / sprístupniť nabíjačku
Nastaviť limit prúdu

Stav nabíjačky

Citire
PARSEJSON(RealtimeData, "$.result[0].deviceStatus", true)
Acțiuni de service
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
Parametri: 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
Parametri: 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 Variabilă

RFID karta

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

Čas nabíjania relácie

Citire
VAR t := PARSEJSON(RealtimeData, "$.result[0].chargingTimeThisSession", true);
IF ISNULL(t)
    RETURN(0);
END
RETURN(t / 60);
Pracovný režim Comutator cu mai multe valori
Valori / Stări: STOP · FAST · ECO · GREEN

Pracovný režim

Citirea stării comutatorului
VAR mode := PARSEJSON(RealtimeData, "$.result[0].deviceWorkingMode", true);
IF ISNULL(mode)
    RETURN(0);
END
RETURN(mode);
Scrierea stării comutatorului
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
Conexiune: Packet Parser → HTTP

Parametri de import

Introduceți aceste valori când importați XML-ul.

Solicitat în aplicațieImplicit
ClientId: ID klienta z SolaX Developer PortáluSe introduce la import
ClientSecret: Client Secret z SolaX Developer PortáluSe introduce la import
DeviceSN: Sériové číslo nabíjačky (Device SN)Se introduce la import

Ați găsit o problemă la acest șablon de dispozitiv?

Spuneți-ne ce nu funcționează, ce lipsește sau cum ar trebui să se comporte șablonul. Feedbackul dvs. ne ajută să păstrăm catalogul corect.

Șablon · portalul TapHome SolaX X1/X3-HAC EV Charger (Cloud API) Deschideți acest șablon în Customer Portal pentru a-l aplica într-una dintre locuințele dvs. sau pentru a propune o îmbunătățire și a o trimite înapoi în catalog. Packet Parser → HTTP Vezi în portalul TapHome