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ă.
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.
SENDHTTPREQUESTfuncț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ăzi | Cu această idee | |
|---|---|---|
| 600 de valori de trimis | 600 de dispozitive Variabilă | O singură valoare partajată |
| Cerere HTTP | Doar Packet parser | Și din smart rules |
| JSON construit în | Modulul care trimite | Orice 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.
SENDHTTPREQUESTsau 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.
SENDHTTPREQUESTtrimite 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
- Unde se folosesc scripturile arată ce poate face fiecare tip de script.
- Scripturi în smart rules și notificări descrie ce transmite o smart rule scriptului său.
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.
Asociate
Istoric status
- 3 nov. 2026 Colectare interes Publicat
Comentarii 0
Autentificați-vă cu contul dvs. TapHome pentru a comenta. Echipa aprobă comentariile înainte ca acestea să apară.
Niciun comentariu momentan.
·
Comentariul original a fost șters.
Ideile indică direcția, nu sunt angajamente. Nu publicăm date fixe; funcțiile lansate sunt anunțate în notele de lansare.
Autentificați-vă cu contul dvs. TapHome pentru a urmări. Vă trimitem un e-mail când apare o schimbare; vă puteți dezabona printr-un singur clic.
Vă confirmăm votul...