Posielanie dát zo skriptov von z TapHome: textová premenná a HTTP zo smart rules
Integrácia, ktorá v skriptoch smart rules vypočíta stovky hodnôt, ich dnes nevie poslať externej službe jednou požiadavkou. Textová premenná, zdieľané kolekcie alebo HTTP požiadavky zo skriptov smart rules by umožnili ľubovoľnému skriptu zostaviť jeden JSON a odoslať ho.
Dnes sa hodnoty vypočítané v niekoľkých skriptoch dostanú do modulu, ktorý posiela HTTP požiadavky, len cez stovky pomocných zariadení. S týmto nápadom by skripty zdieľali jednu hodnotu, napríklad celý JSON dokument, a modul by ju poslal jednou požiadavkou.
Prečo a ako by ste to použili
Čoraz viac inštalácií spolupracuje s externou službou: energetický manažment cez spotový trh, firemný backend, nástroj na reporty. Taká služba zvyčajne čaká jednu požiadavku s množstvom dát. TapHome tieto dáta vie vypočítať, ale nevie ich jednoducho poskladať a odoslať:
- Smart rule Skript vie čítať všetky zariadenia inštalácie a robiť zložité výpočty, ale HTTP požiadavku poslať nevie.
SENDHTTPREQUESTfunguje len v skriptoch Packet parser. - Modul Packet parser vie posielať požiadavky, ale jeho skripty vidia len premenné a zariadenia tohto modulu.
- Hodnoty medzi nimi sa dajú odovzdať len cez zariadenia a zariadenie Premenná drží jedno číslo, nie text ani zoznam.
Typický prípad: cloudová služba plánuje, kedy domáca batéria nabíja, vybíja alebo predáva do siete. Každé dve minúty čaká jednu JSON požiadavku s predikciou solárnych ziskov a predikciou spotreby pre každú hodinu dneška a zajtrajška (4 × 24 hodnôt) a s nákupnými a predajnými spotovými cenami pre každých 15 minút (2 × 96 hodnôt). To je 288 vzoriek, každá s časovou značkou, teda takmer 600 čísel. Ceny, predikcia aj model spotreby už žijú v rôznych skriptoch inštalácie. Aby sa dostali do jediného modulu, ktorý volá službu, inštalatér by potreboval stovky zariadení Premenná, jedno na každú hodnotu.
Čítanie výsledku späť problém nie je: modul Packet parser sa vie služby každých 20 sekúnd opýtať na aktuálny povel a zobraziť ho ako Viachodnotový prepínač. Chýba len cesta von.
| Dnes | S týmto nápadom | |
|---|---|---|
| 600 hodnôt na odoslanie | 600 zariadení Premenná | Jedna zdieľaná hodnota |
| HTTP požiadavka | Len Packet parser | Aj zo smart rules |
| JSON sa skladá v | Odosielajúcom module | Ľubovoľnom skripte |
Čo bude možné
Tento nápad posudzujeme a riešenie sme ešte nevybrali. Nič z toho nie je naplánované a podrobnosti sa ešte môžu zmeniť. Prípad vyššie by vyriešila ktorákoľvek z týchto možností:
- Textová premenná. Zariadenie Premenná, ktoré namiesto čísla drží text. Jeden skript zostaví JSON reťazec a uloží ho, iný skript, napríklad v module Packet parser, ho prečíta a pošle ako telo požiadavky.
- Zdieľané kolekcie. Kolekcia hodnôt, napríklad zoznam cien, definovaná raz a čitateľná zo skriptov smart rules aj zo skriptov Packet parser.
- HTTP požiadavky zo smart rule Skript.
SENDHTTPREQUESTalebo podobná funkcia priamo v smart rule, takže skript, ktorý dáta vypočíta, ich aj odošle. - Odosielanie cez definovaný kanál. Cieľ, napríklad HTTP endpoint, by sa definoval raz a ľubovoľný skript by doň mohol posielať dáta, podobne ako sa posiela notifikácia.
Čo nebude možné
- Nové výpočty v TapHome. Nápad presúva dáta medzi skriptmi a von z TapHome. Samotnému TapHome nepridáva optimalizáciu ani predikcie.
- Viac serverov z jedného modulu. Aj s textovou premennou alebo zdieľanými kolekciami posiela modul Packet parser požiadavky na jednu adresu nastavenú v jeho nastaveniach. Každý ďalší server stále potrebuje vlastný modul.
- Neobmedzená história v jednej hodnote. Nápad je určený pre dáta jedného výpočtu, napríklad predikciu na najbližšie dni, nie na ukladanie meraní za mesiace.
Ako to riešiť dnes
- Celú prácu urobte v jednom module Packet parser. Premenné modulu zdieľajú všetky skripty a zariadenia modulu a vedia držať celú JSON odpoveď. Keď dáta prichádzajú z toho istého servera, na ktorý ich posielate, modul ich vie stiahnuť, prepočítať a odoslať bez smart rule. Pozrite Skripty a pomocné premenné na module.
- Použite rôzne cesty na tom istom serveri.
SENDHTTPREQUESTposiela na adresu modulu, ale cesta, metóda, telo a hlavičky sa môžu pri každom volaní líšiť. Pozrite Funkcie Packet parser. - Verejné vstupy nech zbiera prijímajúca služba. Keď službu, ktorá dáta prijíma, prevádzkujete vy, verejné vstupy, napríklad spotové ceny, si vie stiahnuť sama. TapHome potom posiela len to, čo vie iba on, napríklad stav batérie alebo spotrebu.
- Zariadenia v module pre pár hodnôt. Smart rule Skript zapíše každú hodnotu do vlastného zariadenia Premenná v module Packet parser. Skript na zápis v module vie prečítať všetky svoje zariadenia a poslať ich jednou požiadavkou. Funguje to pre desiatky hodnôt; pre stovky to praktické nie je, lebo každá hodnota potrebuje vlastné zariadenie.
Viac informácií
- Kde sa používajú skripty uvádza, čo ktorý druh skriptu vie.
- Skripty v smart rules a notifikáciách opisuje, čo smart rule odovzdáva svojmu skriptu.
Ktorú službu chcete pripojiť a koľko dát potrebuje? Zahlasujte za tento nápad, sledujte ho, vyplňte anketu a napíšte nám do komentárov.
Čo z toho by vyriešilo vašu integráciu? Vyberte všetko, čo platí.
Súvisiace
História stavov
- 3. 11. 2026 Zbierame záujem Zverejnené
Komentáre 0
Na komentovanie sa prihláste účtom TapHome. Komentáre pred zverejnením schvaľuje tím.
Zatiaľ bez komentárov.
·
Pôvodný komentár bol zmazaný.
Nápady ukazujú smer, nie záväzky. Termíny nezverejňujeme; vydané funkcie oznamujeme v release notes.
Prihláste sa účtom TapHome a sledujte. Keď sa niečo zmení, pošleme vám e-mail; odhlásiť sa dá jedným klikom.
Potvrdzovanie hlasu…