TapHome
Colectare interes Funcție

Trimiterea datelor din scripturi în afara TapHome: o variabilă text și HTTP din smart rules

O integrare care calculează sute de valori în scripturile smart rules nu le poate trimite astăzi unui serviciu extern într-o singură cerere. O variabilă text, colecții partajate sau cereri HTTP din scripturile smart rules ar permite oricărui script să construiască un singur JSON și să îl trimită.

Today, values from several TapHome scripts reach the HTTP module only through hundreds of helper devices. With this idea, the scripts share one JSON value that the HTTP module sends to the API.
Today, values from several TapHome scripts reach the HTTP module only through hundreds of helper devices. With this idea, the scripts share one JSON value that the HTTP module sends to the API.

Astăzi, valorile calculate în mai multe scripturi ajung la modulul care trimite cererile HTTP doar prin sute de dispozitive auxiliare. Cu această idee, scripturile ar partaja o singură valoare, de exemplu un document JSON întreg, iar modulul ar trimite-o într-o singură cerere.

De ce și cum l-ați folosi

Tot mai multe instalații lucrează cu un serviciu extern: management energetic prin piața spot, un backend al companiei, un instrument de raportare. Un astfel de serviciu așteaptă de obicei o singură cerere cu multe date. TapHome poate calcula aceste date, dar nu le poate pune ușor laolaltă și trimite:

  • Smart rule Script poate citi fiecare dispozitiv al instalației și poate face calcule complexe, dar nu poate trimite o cerere HTTP. SENDHTTPREQUEST funcționează doar în scripturile Packet parser.
  • Un modul Packet parser poate trimite cereri, dar scripturile sale văd doar variabilele și dispozitivele acelui modul.
  • Singura cale de a transmite valori între cele două este prin dispozitive, iar un dispozitiv Variabilă reține un singur număr, nu text sau o listă.

Un caz tipic: un serviciu cloud planifică momentul în care bateria casei se încarcă, se descarcă sau vinde energie în rețea. La fiecare două minute așteaptă o cerere JSON cu predicția producției solare și predicția consumului pentru fiecare oră de azi și de mâine (4 × 24 de valori) și cu prețurile spot de cumpărare și de vânzare pentru fiecare 15 minute (2 × 96 de valori). Sunt 288 de eșantioane, fiecare cu marcaj de timp, deci aproape 600 de numere. Prețurile, predicția și modelul de consum se află deja în scripturi diferite ale instalației. Pentru a ajunge în singurul modul care apelează serviciul, instalatorul ar avea nevoie de sute de dispozitive Variabilă, câte unul pentru fiecare valoare.

Citirea rezultatului înapoi nu este problema: un modul Packet parser poate cere serviciului comanda curentă la fiecare 20 de secunde și o poate afișa ca Comutator cu mai multe valori. Lipsește doar drumul spre exterior.

AstăziCu această idee
600 de valori de trimis600 de dispozitive VariabilăO singură valoare partajată
Cerere HTTPDoar Packet parserȘi din smart rules
JSON construit înModulul care trimiteOrice script

Ce va fi posibil

Evaluăm această idee și nu am ales încă o soluție. Nimic din ce urmează nu este planificat, iar detaliile se pot încă schimba. Oricare dintre aceste opțiuni ar rezolva cazul de mai sus:

  • O variabilă text. Un dispozitiv Variabilă care reține text în loc de număr. Un script construiește un șir JSON și îl salvează, alt script, de exemplu într-un modul Packet parser, îl citește și îl trimite ca corp al cererii.
  • Colecții partajate. O colecție de valori, de exemplu o listă de prețuri, definită o singură dată și care poate fi citită din scripturile smart rules și din scripturile Packet parser.
  • Cereri HTTP din smart rule Script. SENDHTTPREQUEST sau o funcție similară direct în smart rule, astfel încât scriptul care calculează datele să le și trimită.
  • Trimitere printr-un canal definit. O destinație, de exemplu un endpoint HTTP, ar fi definită o singură dată, iar orice script i-ar putea trimite date, similar cu trimiterea unei notificări.

Ce nu va fi posibil

  • Calcule noi în TapHome. Ideea mută date între scripturi și în afara TapHome. Nu adaugă optimizare sau predicții în TapHome.
  • Mai multe servere dintr-un singur modul. Și cu o variabilă text sau cu colecții partajate, un modul Packet parser își trimite cererile la singura adresă setată în setările sale. Fiecare server în plus are nevoie în continuare de propriul modul.
  • Istoric nelimitat într-o singură valoare. Ideea este gândită pentru datele unui singur calcul, de exemplu o predicție pentru zilele următoare, nu pentru stocarea măsurătorilor pe luni întregi.

Cum se poate rezolva astăzi

  • Faceți totul într-un singur modul Packet parser. Variabilele modulului sunt partajate de toate scripturile și dispozitivele modulului și pot reține un răspuns JSON întreg. Când datele vin de la același server către care le trimiteți, modulul le poate descărca, procesa și trimite fără o smart rule. Consultați Scripturi și variabile auxiliare pe modul.
  • Folosiți căi diferite pe același server. SENDHTTPREQUEST trimite la adresa modulului, dar calea, metoda, corpul și antetele pot fi diferite la fiecare apel. Consultați Funcții Packet parser.
  • Lăsați serviciul care primește datele să colecteze singur datele publice. Când dvs. administrați serviciul care primește datele, acesta poate descărca singur datele publice, de exemplu prețurile spot. TapHome trimite atunci doar ce știe numai el, de exemplu starea bateriei sau consumul.
  • Dispozitive în modul pentru câteva valori. O smart rule Script scrie fiecare valoare în propriul dispozitiv Variabilă din modulul Packet parser. Scriptul de scriere al modulului poate citi toate dispozitivele sale și le poate trimite într-o singură cerere. Acest lucru funcționează pentru câteva zeci de valori; pentru sute nu este practic, deoarece fiecare valoare are nevoie de propriul dispozitiv.

Aflați mai multe

Ce serviciu doriți să conectați și de câte date are nevoie? Votați această idee, urmăriți-o, răspundeți la sondaj și scrieți-ne în comentarii.

Care dintre acestea ar rezolva integrarea dvs.? Alegeți toate variantele potrivite.

Rezultate în timp real · 0 persoane

Autentificați-vă pentru a răspunde

Asociate

Istoric status

  • 3 nov. 2026 Colectare interes Publicat

Comentarii 0

Alăturați-vă discuției

Autentificați-vă cu contul dvs. TapHome pentru a comenta. Echipa aprobă comentariile înainte ca acestea să apară.

Niciun comentariu momentan.

Ideile indică direcția, nu sunt angajamente. Nu publicăm date fixe; funcțiile lansate sunt anunțate în notele de lansare.