Șablonul TapHome API este un șablon PacketParser HTTP care integrează în TapHome API-ul REST propriu al unei unități TapHome Core. Astfel este posibilă comunicația între unități Core — dispozitivele expuse pe o unitate TapHome Core pot fi preluate ca dispozitive native pe o altă unitate Core. Șablonul comunică prin HTTPS (din cloud, prin api.taphome.com:443) sau prin HTTP (în rețeaua locală, prin http://{core-ip}/api/...), cu autentificare prin token bearer.
Șablonul oferă 15 tipuri unice de dispozitive, cu câte 15 instanțe fiecare (225 de dispozitive în total): întrerupătoare, dimmere, senzori, contoare, jaluzele, iluminat, termostate și altele. Fiecare dispozitiv citește și scrie valori prin endpointurile getDeviceValue și setDeviceValue, cu anumiți parametri valueTypeId.
Șablonul TapHome API necesită doi parametri de configurare:
Token API — se generează în unitatea Core sursă, în Setări > Expun dispozitive > TapHome API. Tokenul folosește un format bearer propriu (Authorization: TapHome {token}). La un moment dat este activ un singur token — generarea unui token nou îl invalidează pe cel anterior.
ID dispozitiv — fiecare instanță de dispozitiv din șablon corespunde unui anumit ID de dispozitiv din unitatea Core sursă. Folosiți endpointul de descoperire (/api/TapHomeApi/v1/discovery) pentru a afișa toate dispozitivele expuse, cu ID-urile lor și tipurile de valori acceptate.
Șablonul acceptă două moduri de acces, cu aceeași structură a API-ului:
Cloud — https://api.taphome.com/api/TapHomeApi/v1/ (acces prin internet, funcționează de oriunde)
Rețea locală — http://{core-ip}/api/TapHomeApi/v1/ (acces prin LAN/VPN, latență mai mică, necesită Core 2021.3+)
Accesul prin rețeaua locală elimină dependența de internet și reduce latența. Atribuiți unității Core sursă o adresă IP statică sau o rezervare DHCP, deoarece TapHome Core nu acceptă descoperirea mDNS.
Șablonul acoperă 15 tipuri de dispozitive. Fiecare tip folosește anumite ID-uri ValueType pentru a citi și a scrie starea dispozitivului prin răspunsul JSON al API-ului ($.values[?(@.valueTypeId == N)].value).
Comutare și controlul ieșirilor
Întrerupător — control binar pornit/oprit prin ValueType 48 (SwitchState). Citește și scrie 1 (PORNIT) sau 0 (OPRIT).
Ieșire analogică — nivel continuu 0–100 % prin ValueType 42 (AnalogOutputValue). Se folosește pentru dimmere, actuatoare de robinet sau orice dispozitiv cu ieșire analogică.
Comutator cu mai multe valori — selector numeric de mod cu valorile 0–9 prin ValueType 49. Corespunde unor stări definite de utilizator, pentru controlul dispozitivelor cu mai multe moduri.
Senzori și contorizare
Intrare analogică — intrare numerică generică prin ValueType 55 (AnalogInputValue). Doar pentru citire.
Senzor de temperatură — temperatura (°C) prin ValueType 5 (RealTemperature) și umiditatea (%) prin ValueType 3. Doar pentru citire, interval de interogare de 15 secunde.
Senzor de luminozitate — nivelul luminii ambientale (lux) prin ValueType 2. Doar pentru citire, interval de interogare de 15 secunde.
Senzor de viteză a vântului — viteza vântului (m/s) prin ValueType 14. Doar pentru citire, interval de interogare de 15 secunde.
Contor electric — energia cumulată (kWh) prin ValueType 59 și puterea instantanee (kW) prin ValueType 60. Doar pentru citire, interval de interogare de 15 secunde.
Contact reed — stare binară deschis/închis prin ValueType 44. Returnează 1 (Deschis) sau 0 (Închis). Doar pentru citire.
Iluminat
Dual White Light — luminozitatea (%) prin ValueType 65 (HueBrightness) și temperatura de culoare corelată prin ValueType 89 (CCT).
Lumină RGB — control complet al culorii HSB: nuanța (0–360°) prin ValueType 40, saturația (0–100 %) prin ValueType 41, luminozitatea prin ValueType 65 și CCT prin ValueType 89.
Climatizare și umbrire
Termostat — citește temperatura curentă (ValueType 5) și umiditatea (ValueType 3) și controlează temperatura setată (ValueType 6).
Jaluzea — poziția (%) prin ValueType 46 (BlindsLevel) și unghiul lamelelor prin ValueType 10 (BlindsSlope).
Slide — poziția (%) prin ValueType 46 (BlindsLevel). Folosește același ValueType ca Jaluzea, dar fără controlul unghiului.
Utilizare generală
Variabilă — variabilă numerică de uz general prin ValueType 62 (VariableState). Poate reprezenta orice valoare personalizată în TapHome.
Diagnosticare de service
Modulul oferă un atribut de service — Dispozitive — care afișează toate dispozitivele expuse, cu ID-urile și tipurile lor, apelând endpointul /api/TapHomeApi/v1/discovery.
Dispozitivele de tip senzor (Luminozitate, Variabilă, Viteza vântului) includ pentru fiecare dispozitiv un atribut de service suplimentar — Tipuri de valori — care afișează toate ID-urile și denumirile ValueType disponibile pe dispozitivul respectiv.
Funcții suplimentare
TapHome API oferă și câteva ValueType la nivel de sistem pe care șablonul nu le interoghează în prezent: Device Status (ID 7) pentru starea de funcționare a dispozitivului, Operation Mode (ID 22) și Manual Timeout (ID 23) pentru controlul modului manual/automat. Există variante cu valoarea dorită pentru Analog Output (ID 67), Hue Brightness (ID 68) și Multi-Value Switch (ID 71), precum și indicatorul Blinds Is Moving (ID 66). Endpointurile de descoperire și de locație oferă informații de diagnosticare despre unitatea Core. Notificările webhook (limitare la 300 ms) oferă o alternativă în timp real la interogare. Aceste funcții pot fi adăugate într-o actualizare viitoare a șablonului.
Verificați dacă tokenul este corect și nu a fost regenerat — generarea unui token nou invalidează toate tokenurile anterioare
Verificați formatul antetului de autorizare: Authorization: TapHome {token} (atenție la prefixul TapHome în loc de Bearer)
Asigurați-vă că tokenul aparține locației Core corecte
API-ul returnează 403 Forbidden
Dispozitivul solicitat nu este expus prin TapHome API. În unitatea Core sursă, mergeți la Setări > Expun dispozitive > TapHome API și verificați dacă dispozitivul apare în listă.
Valori din cache sau învechite
API-ul limitează cererile getDeviceValue la intervale de 500 ms. Cererile mai rapide pot returna valori din cache. Comparați câmpul timestamp din răspuns — marcajele de timp identice indică date din cache. Măriți intervalul de interogare la cel puțin 1 secundă.
Cererile de scriere returnează HTTP 503
Endpointul setDeviceValue returnează 503 (Service Unavailable) dacă este apelat mai des de o dată la 500 ms. Distanțați cererile de scriere sau puneți-le într-o coadă, cu o întârziere suficientă.
Regenerarea unui token API îl invalidează pe cel anterior pentru interfața respectivă. Dacă un alt sistem regenerează tokenul folosit de șablon (de ex. la configurarea Home Assistant), șablonul pierde accesul — de aceea coordonați folosirea tokenului între integrările care partajează aceeași interfață. La versiunile Core mai vechi, o unitate Core oferă o singură interfață TapHome API cu un singur token activ; versiunile Core mai noi (2026.1+) acceptă mai multe instanțe ale interfeței pe aceeași unitate Core, fiecare cu propriul token, astfel încât integrările separate pot folosi tokenuri separate.
Dispozitive disponibile
TapHome APIModul
Atribute de service
Dispozitive
Variabile personalizate
API_token(string)
Token bearer TapHome API pentru autentificare (se generează în aplicația TapHome, în Setări → API)
TapHome API
Atribute de service
Devices
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/discovery", "GET", "", "Authorization: TapHome " + API_token);
IF response.IsSuccess
var max := PARSEJSON(response.content, "$.devices[-1:].deviceId");
var ret := "";
var i := 0;
do
ret := ret + "(" + PARSEJSON(response.content, "$.devices[" + tostring(i) + "].deviceId", true) + ") ";
ret := ret + PARSEJSON(response.content, "$.devices[" + tostring(i) + "].name", true);
ret := ret + " - " + PARSEJSON(response.content, "$.devices[" + tostring(i) + "].type", true);
ret := ret + "\n";
i := i + 1;
loop while i < max
RETURN(ret);
END
Intrare analogică (1)Intrare analogicăDoar citire
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Intrare analogică (1)
Citirea nivelului de intrare
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Ieșire analogică (1)Dimmer
Nivel de ieșire continuu (0–100 %) pentru dimmere, actuatoare de robinet sau dispozitive cu ieșire analogică
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Ieșire analogică (1)
Citirea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Întrerupător (1)Comutator
numericjson_path
Valori / Stări: ON · OFF
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Întrerupător (1)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul luminozității și al temperaturii de culoare corelate (CCT) pentru iluminat cu alb reglabil
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Dual White Light (1)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Consumul de energie cumulat (kWh) și puterea instantanee (kW)
numericUnitate: kWh / kWjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contor electric (1)
Citirea consumului total
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea cererii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de luminozitate (1)VariabilăDoar citire
numericUnitate: luxjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de luminozitate (1)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Variabilă (1)Variabilă
numericjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Variabilă (1)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scriere
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Lumină RGB (1)Lumină HSB
Control complet al culorii HSB — nuanță, saturație, luminozitate și temperatură de culoare corelată
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Lumină RGB (1)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Slide (1)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de viteză a vântului (1)VariabilăDoar citire
numericUnitate: m/sjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de viteză a vântului (1)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Contact reed (1)Contact reedDoar citire
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contact reed (1)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de temperatură (1)Senzor de temperaturăDoar citire
Citirea temperaturii (°C) și a umidității (%)
numericUnitate: °C / %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de temperatură (1)
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Termostat (1)Termostat
Temperatura curentă, umiditatea și temperatura setată reglabilă
numericUnitate: °Cjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Termostat (1)
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Comutator cu mai multe valori (1)Comutator cu mai multe valori
Selector numeric de mod cu valorile 0–9, pentru controlul dispozitivelor cu mai multe moduri
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Comutator cu mai multe valori (1)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul poziției (%) și al unghiului lamelelor pentru jaluzele și obloane
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Jaluzea (1)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Intrare analogică (2)
Citirea nivelului de intrare
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Ieșire analogică (2)Dimmer
Nivel de ieșire continuu (0–100 %) pentru dimmere, actuatoare de robinet sau dispozitive cu ieșire analogică
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Ieșire analogică (2)
Citirea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Întrerupător (2)Comutator
numericjson_path
Valori / Stări: ON · OFF
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Întrerupător (2)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul luminozității și al temperaturii de culoare corelate (CCT) pentru iluminat cu alb reglabil
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Dual White Light (2)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Consumul de energie cumulat (kWh) și puterea instantanee (kW)
numericUnitate: kWh / kWjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contor electric (2)
Citirea consumului total
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea cererii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de luminozitate (2)VariabilăDoar citire
numericUnitate: luxjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de luminozitate (2)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Variabilă (2)Variabilă
numericjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Variabilă (2)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scriere
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Lumină RGB (2)Lumină HSB
Control complet al culorii HSB — nuanță, saturație, luminozitate și temperatură de culoare corelată
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Lumină RGB (2)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Slide (2)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de viteză a vântului (2)VariabilăDoar citire
numericUnitate: m/sjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de viteză a vântului (2)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Contact reed (2)Contact reedDoar citire
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contact reed (2)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de temperatură (2)Senzor de temperaturăDoar citire
Citirea temperaturii (°C) și a umidității (%)
numericUnitate: °C / %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de temperatură (2)
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Termostat (2)Termostat
Temperatura curentă, umiditatea și temperatura setată reglabilă
numericUnitate: °Cjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Termostat (2)
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Comutator cu mai multe valori (2)Comutator cu mai multe valori
Selector numeric de mod cu valorile 0–9, pentru controlul dispozitivelor cu mai multe moduri
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Comutator cu mai multe valori (2)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul poziției (%) și al unghiului lamelelor pentru jaluzele și obloane
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Jaluzea (2)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Intrare analogică (3)
Citirea nivelului de intrare
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Ieșire analogică (3)Dimmer
Nivel de ieșire continuu (0–100 %) pentru dimmere, actuatoare de robinet sau dispozitive cu ieșire analogică
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Ieșire analogică (3)
Citirea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Întrerupător (3)Comutator
numericjson_path
Valori / Stări: ON · OFF
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Întrerupător (3)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul luminozității și al temperaturii de culoare corelate (CCT) pentru iluminat cu alb reglabil
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Dual White Light (3)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Consumul de energie cumulat (kWh) și puterea instantanee (kW)
numericUnitate: kWh / kWjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contor electric (3)
Citirea consumului total
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea cererii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de luminozitate (3)VariabilăDoar citire
numericUnitate: luxjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de luminozitate (3)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Variabilă (3)Variabilă
numericjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Variabilă (3)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scriere
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Lumină RGB (3)Lumină HSB
Control complet al culorii HSB — nuanță, saturație, luminozitate și temperatură de culoare corelată
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Lumină RGB (3)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Slide (3)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de viteză a vântului (3)VariabilăDoar citire
numericUnitate: m/sjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de viteză a vântului (3)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Contact reed (3)Contact reedDoar citire
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contact reed (3)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de temperatură (3)Senzor de temperaturăDoar citire
Citirea temperaturii (°C) și a umidității (%)
numericUnitate: °C / %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de temperatură (3)
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Termostat (3)Termostat
Temperatura curentă, umiditatea și temperatura setată reglabilă
numericUnitate: °Cjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Termostat (3)
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Comutator cu mai multe valori (3)Comutator cu mai multe valori
Selector numeric de mod cu valorile 0–9, pentru controlul dispozitivelor cu mai multe moduri
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Comutator cu mai multe valori (3)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul poziției (%) și al unghiului lamelelor pentru jaluzele și obloane
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Jaluzea (3)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Intrare analogică (4)
Citirea nivelului de intrare
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Ieșire analogică (4)Dimmer
Nivel de ieșire continuu (0–100 %) pentru dimmere, actuatoare de robinet sau dispozitive cu ieșire analogică
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Ieșire analogică (4)
Citirea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Întrerupător (4)Comutator
numericjson_path
Valori / Stări: ON · OFF
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Întrerupător (4)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul luminozității și al temperaturii de culoare corelate (CCT) pentru iluminat cu alb reglabil
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Dual White Light (4)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Consumul de energie cumulat (kWh) și puterea instantanee (kW)
numericUnitate: kWh / kWjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contor electric (4)
Citirea consumului total
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea cererii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de luminozitate (4)VariabilăDoar citire
numericUnitate: luxjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de luminozitate (4)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Variabilă (4)Variabilă
numericjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Variabilă (4)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scriere
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Lumină RGB (4)Lumină HSB
Control complet al culorii HSB — nuanță, saturație, luminozitate și temperatură de culoare corelată
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Lumină RGB (4)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Slide (4)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de viteză a vântului (4)VariabilăDoar citire
numericUnitate: m/sjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de viteză a vântului (4)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Contact reed (4)Contact reedDoar citire
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contact reed (4)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de temperatură (4)Senzor de temperaturăDoar citire
Citirea temperaturii (°C) și a umidității (%)
numericUnitate: °C / %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de temperatură (4)
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Termostat (4)Termostat
Temperatura curentă, umiditatea și temperatura setată reglabilă
numericUnitate: °Cjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Termostat (4)
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Comutator cu mai multe valori (4)Comutator cu mai multe valori
Selector numeric de mod cu valorile 0–9, pentru controlul dispozitivelor cu mai multe moduri
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Comutator cu mai multe valori (4)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul poziției (%) și al unghiului lamelelor pentru jaluzele și obloane
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Jaluzea (4)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Intrare analogică (5)
Citirea nivelului de intrare
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Ieșire analogică (5)Dimmer
Nivel de ieșire continuu (0–100 %) pentru dimmere, actuatoare de robinet sau dispozitive cu ieșire analogică
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Ieșire analogică (5)
Citirea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Întrerupător (5)Comutator
numericjson_path
Valori / Stări: ON · OFF
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Întrerupător (5)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul luminozității și al temperaturii de culoare corelate (CCT) pentru iluminat cu alb reglabil
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Dual White Light (5)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Consumul de energie cumulat (kWh) și puterea instantanee (kW)
numericUnitate: kWh / kWjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contor electric (5)
Citirea consumului total
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea cererii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de luminozitate (5)VariabilăDoar citire
numericUnitate: luxjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de luminozitate (5)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Variabilă (5)Variabilă
numericjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Variabilă (5)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scriere
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Lumină RGB (5)Lumină HSB
Control complet al culorii HSB — nuanță, saturație, luminozitate și temperatură de culoare corelată
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Lumină RGB (5)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Slide (5)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de viteză a vântului (5)VariabilăDoar citire
numericUnitate: m/sjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de viteză a vântului (5)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Contact reed (5)Contact reedDoar citire
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contact reed (5)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de temperatură (5)Senzor de temperaturăDoar citire
Citirea temperaturii (°C) și a umidității (%)
numericUnitate: °C / %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de temperatură (5)
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Termostat (5)Termostat
Temperatura curentă, umiditatea și temperatura setată reglabilă
numericUnitate: °Cjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Termostat (5)
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Comutator cu mai multe valori (5)Comutator cu mai multe valori
Selector numeric de mod cu valorile 0–9, pentru controlul dispozitivelor cu mai multe moduri
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Comutator cu mai multe valori (5)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul poziției (%) și al unghiului lamelelor pentru jaluzele și obloane
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Jaluzea (5)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Intrare analogică (6)
Citirea nivelului de intrare
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Ieșire analogică (6)Dimmer
Nivel de ieșire continuu (0–100 %) pentru dimmere, actuatoare de robinet sau dispozitive cu ieșire analogică
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Ieșire analogică (6)
Citirea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Întrerupător (6)Comutator
numericjson_path
Valori / Stări: ON · OFF
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Întrerupător (6)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul luminozității și al temperaturii de culoare corelate (CCT) pentru iluminat cu alb reglabil
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Dual White Light (6)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Consumul de energie cumulat (kWh) și puterea instantanee (kW)
numericUnitate: kWh / kWjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contor electric (6)
Citirea consumului total
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea cererii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de luminozitate (6)VariabilăDoar citire
numericUnitate: luxjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de luminozitate (6)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Variabilă (6)Variabilă
numericjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Variabilă (6)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scriere
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Lumină RGB (6)Lumină HSB
Control complet al culorii HSB — nuanță, saturație, luminozitate și temperatură de culoare corelată
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Lumină RGB (6)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Slide (6)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de viteză a vântului (6)VariabilăDoar citire
numericUnitate: m/sjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de viteză a vântului (6)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Contact reed (6)Contact reedDoar citire
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contact reed (6)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de temperatură (6)Senzor de temperaturăDoar citire
Citirea temperaturii (°C) și a umidității (%)
numericUnitate: °C / %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de temperatură (6)
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Termostat (6)Termostat
Temperatura curentă, umiditatea și temperatura setată reglabilă
numericUnitate: °Cjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Termostat (6)
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Comutator cu mai multe valori (6)Comutator cu mai multe valori
Selector numeric de mod cu valorile 0–9, pentru controlul dispozitivelor cu mai multe moduri
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Comutator cu mai multe valori (6)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul poziției (%) și al unghiului lamelelor pentru jaluzele și obloane
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Jaluzea (6)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Intrare analogică (7)
Citirea nivelului de intrare
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Ieșire analogică (7)Dimmer
Nivel de ieșire continuu (0–100 %) pentru dimmere, actuatoare de robinet sau dispozitive cu ieșire analogică
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Ieșire analogică (7)
Citirea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Întrerupător (7)Comutator
numericjson_path
Valori / Stări: ON · OFF
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Întrerupător (7)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul luminozității și al temperaturii de culoare corelate (CCT) pentru iluminat cu alb reglabil
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Dual White Light (7)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Consumul de energie cumulat (kWh) și puterea instantanee (kW)
numericUnitate: kWh / kWjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contor electric (7)
Citirea consumului total
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea cererii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de luminozitate (7)VariabilăDoar citire
numericUnitate: luxjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de luminozitate (7)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Variabilă (7)Variabilă
numericjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Variabilă (7)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scriere
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Lumină RGB (7)Lumină HSB
Control complet al culorii HSB — nuanță, saturație, luminozitate și temperatură de culoare corelată
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Lumină RGB (7)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Slide (7)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de viteză a vântului (7)VariabilăDoar citire
numericUnitate: m/sjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de viteză a vântului (7)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Contact reed (7)Contact reedDoar citire
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contact reed (7)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de temperatură (7)Senzor de temperaturăDoar citire
Citirea temperaturii (°C) și a umidității (%)
numericUnitate: °C / %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de temperatură (7)
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Termostat (7)Termostat
Temperatura curentă, umiditatea și temperatura setată reglabilă
numericUnitate: °Cjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Termostat (7)
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Comutator cu mai multe valori (7)Comutator cu mai multe valori
Selector numeric de mod cu valorile 0–9, pentru controlul dispozitivelor cu mai multe moduri
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Comutator cu mai multe valori (7)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul poziției (%) și al unghiului lamelelor pentru jaluzele și obloane
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Jaluzea (7)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Intrare analogică (8)
Citirea nivelului de intrare
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Ieșire analogică (8)Dimmer
Nivel de ieșire continuu (0–100 %) pentru dimmere, actuatoare de robinet sau dispozitive cu ieșire analogică
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Ieșire analogică (8)
Citirea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Întrerupător (8)Comutator
numericjson_path
Valori / Stări: ON · OFF
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Întrerupător (8)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul luminozității și al temperaturii de culoare corelate (CCT) pentru iluminat cu alb reglabil
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Dual White Light (8)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Consumul de energie cumulat (kWh) și puterea instantanee (kW)
numericUnitate: kWh / kWjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contor electric (8)
Citirea consumului total
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea cererii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de luminozitate (8)VariabilăDoar citire
numericUnitate: luxjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de luminozitate (8)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Variabilă (8)Variabilă
numericjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Variabilă (8)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scriere
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Lumină RGB (8)Lumină HSB
Control complet al culorii HSB — nuanță, saturație, luminozitate și temperatură de culoare corelată
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Lumină RGB (8)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Slide (8)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de viteză a vântului (8)VariabilăDoar citire
numericUnitate: m/sjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de viteză a vântului (8)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Contact reed (8)Contact reedDoar citire
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contact reed (8)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de temperatură (8)Senzor de temperaturăDoar citire
Citirea temperaturii (°C) și a umidității (%)
numericUnitate: °C / %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de temperatură (8)
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Termostat (8)Termostat
Temperatura curentă, umiditatea și temperatura setată reglabilă
numericUnitate: °Cjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Termostat (8)
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Comutator cu mai multe valori (8)Comutator cu mai multe valori
Selector numeric de mod cu valorile 0–9, pentru controlul dispozitivelor cu mai multe moduri
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Comutator cu mai multe valori (8)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul poziției (%) și al unghiului lamelelor pentru jaluzele și obloane
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Jaluzea (8)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Intrare analogică (9)
Citirea nivelului de intrare
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Ieșire analogică (9)Dimmer
Nivel de ieșire continuu (0–100 %) pentru dimmere, actuatoare de robinet sau dispozitive cu ieșire analogică
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Ieșire analogică (9)
Citirea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Întrerupător (9)Comutator
numericjson_path
Valori / Stări: ON · OFF
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Întrerupător (9)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul luminozității și al temperaturii de culoare corelate (CCT) pentru iluminat cu alb reglabil
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Dual White Light (9)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Consumul de energie cumulat (kWh) și puterea instantanee (kW)
numericUnitate: kWh / kWjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contor electric (9)
Citirea consumului total
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea cererii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de luminozitate (9)VariabilăDoar citire
numericUnitate: luxjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de luminozitate (9)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Variabilă (9)Variabilă
numericjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Variabilă (9)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scriere
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Lumină RGB (9)Lumină HSB
Control complet al culorii HSB — nuanță, saturație, luminozitate și temperatură de culoare corelată
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Lumină RGB (9)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Slide (9)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de viteză a vântului (9)VariabilăDoar citire
numericUnitate: m/sjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de viteză a vântului (9)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Contact reed (9)Contact reedDoar citire
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contact reed (9)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de temperatură (9)Senzor de temperaturăDoar citire
Citirea temperaturii (°C) și a umidității (%)
numericUnitate: °C / %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de temperatură (9)
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Termostat (9)Termostat
Temperatura curentă, umiditatea și temperatura setată reglabilă
numericUnitate: °Cjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Termostat (9)
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Comutator cu mai multe valori (9)Comutator cu mai multe valori
Selector numeric de mod cu valorile 0–9, pentru controlul dispozitivelor cu mai multe moduri
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Comutator cu mai multe valori (9)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul poziției (%) și al unghiului lamelelor pentru jaluzele și obloane
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Jaluzea (9)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Intrare analogică (10)
Citirea nivelului de intrare
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Ieșire analogică (10)Dimmer
Nivel de ieșire continuu (0–100 %) pentru dimmere, actuatoare de robinet sau dispozitive cu ieșire analogică
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Ieșire analogică (10)
Citirea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Întrerupător (10)Comutator
numericjson_path
Valori / Stări: ON · OFF
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Întrerupător (10)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul luminozității și al temperaturii de culoare corelate (CCT) pentru iluminat cu alb reglabil
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Dual White Light (10)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Consumul de energie cumulat (kWh) și puterea instantanee (kW)
numericUnitate: kWh / kWjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contor electric (10)
Citirea consumului total
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea cererii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de luminozitate (10)VariabilăDoar citire
numericUnitate: luxjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de luminozitate (10)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Variabilă (10)Variabilă
numericjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Variabilă (10)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scriere
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Lumină RGB (10)Lumină HSB
Control complet al culorii HSB — nuanță, saturație, luminozitate și temperatură de culoare corelată
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Lumină RGB (10)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Slide (10)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de viteză a vântului (10)VariabilăDoar citire
numericUnitate: m/sjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de viteză a vântului (10)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Contact reed (10)Contact reedDoar citire
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contact reed (10)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de temperatură (10)Senzor de temperaturăDoar citire
Citirea temperaturii (°C) și a umidității (%)
numericUnitate: °C / %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de temperatură (10)
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Termostat (10)Termostat
Temperatura curentă, umiditatea și temperatura setată reglabilă
numericUnitate: °Cjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Termostat (10)
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Comutator cu mai multe valori (10)Comutator cu mai multe valori
Selector numeric de mod cu valorile 0–9, pentru controlul dispozitivelor cu mai multe moduri
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Comutator cu mai multe valori (10)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul poziției (%) și al unghiului lamelelor pentru jaluzele și obloane
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Jaluzea (10)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Intrare analogică (11)
Citirea nivelului de intrare
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Ieșire analogică (11)Dimmer
Nivel de ieșire continuu (0–100 %) pentru dimmere, actuatoare de robinet sau dispozitive cu ieșire analogică
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Ieșire analogică (11)
Citirea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Întrerupător (11)Comutator
numericjson_path
Valori / Stări: ON · OFF
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Întrerupător (11)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul luminozității și al temperaturii de culoare corelate (CCT) pentru iluminat cu alb reglabil
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Dual White Light (11)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Consumul de energie cumulat (kWh) și puterea instantanee (kW)
numericUnitate: kWh / kWjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contor electric (11)
Citirea consumului total
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea cererii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de luminozitate (11)VariabilăDoar citire
numericUnitate: luxjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de luminozitate (11)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Variabilă (11)Variabilă
numericjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Variabilă (11)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scriere
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Lumină RGB (11)Lumină HSB
Control complet al culorii HSB — nuanță, saturație, luminozitate și temperatură de culoare corelată
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Lumină RGB (11)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Slide (11)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de viteză a vântului (11)VariabilăDoar citire
numericUnitate: m/sjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de viteză a vântului (11)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Contact reed (11)Contact reedDoar citire
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contact reed (11)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de temperatură (11)Senzor de temperaturăDoar citire
Citirea temperaturii (°C) și a umidității (%)
numericUnitate: °C / %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de temperatură (11)
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Termostat (11)Termostat
Temperatura curentă, umiditatea și temperatura setată reglabilă
numericUnitate: °Cjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Termostat (11)
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Comutator cu mai multe valori (11)Comutator cu mai multe valori
Selector numeric de mod cu valorile 0–9, pentru controlul dispozitivelor cu mai multe moduri
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Comutator cu mai multe valori (11)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul poziției (%) și al unghiului lamelelor pentru jaluzele și obloane
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Jaluzea (11)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Intrare analogică (12)
Citirea nivelului de intrare
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Ieșire analogică (12)Dimmer
Nivel de ieșire continuu (0–100 %) pentru dimmere, actuatoare de robinet sau dispozitive cu ieșire analogică
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Ieșire analogică (12)
Citirea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Întrerupător (12)Comutator
numericjson_path
Valori / Stări: ON · OFF
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Întrerupător (12)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul luminozității și al temperaturii de culoare corelate (CCT) pentru iluminat cu alb reglabil
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Dual White Light (12)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Consumul de energie cumulat (kWh) și puterea instantanee (kW)
numericUnitate: kWh / kWjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contor electric (12)
Citirea consumului total
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea cererii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de luminozitate (12)VariabilăDoar citire
numericUnitate: luxjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de luminozitate (12)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Variabilă (12)Variabilă
numericjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Variabilă (12)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scriere
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Lumină RGB (12)Lumină HSB
Control complet al culorii HSB — nuanță, saturație, luminozitate și temperatură de culoare corelată
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Lumină RGB (12)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Slide (12)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de viteză a vântului (12)VariabilăDoar citire
numericUnitate: m/sjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de viteză a vântului (12)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Contact reed (12)Contact reedDoar citire
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contact reed (12)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de temperatură (12)Senzor de temperaturăDoar citire
Citirea temperaturii (°C) și a umidității (%)
numericUnitate: °C / %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de temperatură (12)
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Termostat (12)Termostat
Temperatura curentă, umiditatea și temperatura setată reglabilă
numericUnitate: °Cjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Termostat (12)
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Comutator cu mai multe valori (12)Comutator cu mai multe valori
Selector numeric de mod cu valorile 0–9, pentru controlul dispozitivelor cu mai multe moduri
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Comutator cu mai multe valori (12)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul poziției (%) și al unghiului lamelelor pentru jaluzele și obloane
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Jaluzea (12)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Intrare analogică (13)
Citirea nivelului de intrare
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Ieșire analogică (13)Dimmer
Nivel de ieșire continuu (0–100 %) pentru dimmere, actuatoare de robinet sau dispozitive cu ieșire analogică
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Ieșire analogică (13)
Citirea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Întrerupător (13)Comutator
numericjson_path
Valori / Stări: ON · OFF
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Întrerupător (13)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul luminozității și al temperaturii de culoare corelate (CCT) pentru iluminat cu alb reglabil
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Dual White Light (13)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Consumul de energie cumulat (kWh) și puterea instantanee (kW)
numericUnitate: kWh / kWjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contor electric (13)
Citirea consumului total
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea cererii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de luminozitate (13)VariabilăDoar citire
numericUnitate: luxjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de luminozitate (13)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Variabilă (13)Variabilă
numericjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Variabilă (13)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scriere
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Lumină RGB (13)Lumină HSB
Control complet al culorii HSB — nuanță, saturație, luminozitate și temperatură de culoare corelată
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Lumină RGB (13)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Slide (13)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de viteză a vântului (13)VariabilăDoar citire
numericUnitate: m/sjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de viteză a vântului (13)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Contact reed (13)Contact reedDoar citire
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contact reed (13)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de temperatură (13)Senzor de temperaturăDoar citire
Citirea temperaturii (°C) și a umidității (%)
numericUnitate: °C / %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de temperatură (13)
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Termostat (13)Termostat
Temperatura curentă, umiditatea și temperatura setată reglabilă
numericUnitate: °Cjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Termostat (13)
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Comutator cu mai multe valori (13)Comutator cu mai multe valori
Selector numeric de mod cu valorile 0–9, pentru controlul dispozitivelor cu mai multe moduri
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Comutator cu mai multe valori (13)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul poziției (%) și al unghiului lamelelor pentru jaluzele și obloane
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Jaluzea (13)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Intrare analogică (14)
Citirea nivelului de intrare
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Ieșire analogică (14)Dimmer
Nivel de ieșire continuu (0–100 %) pentru dimmere, actuatoare de robinet sau dispozitive cu ieșire analogică
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Ieșire analogică (14)
Citirea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Întrerupător (14)Comutator
numericjson_path
Valori / Stări: ON · OFF
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Întrerupător (14)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul luminozității și al temperaturii de culoare corelate (CCT) pentru iluminat cu alb reglabil
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Dual White Light (14)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Consumul de energie cumulat (kWh) și puterea instantanee (kW)
numericUnitate: kWh / kWjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contor electric (14)
Citirea consumului total
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea cererii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de luminozitate (14)VariabilăDoar citire
numericUnitate: luxjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de luminozitate (14)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Variabilă (14)Variabilă
numericjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Variabilă (14)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scriere
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Lumină RGB (14)Lumină HSB
Control complet al culorii HSB — nuanță, saturație, luminozitate și temperatură de culoare corelată
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Lumină RGB (14)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Slide (14)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de viteză a vântului (14)VariabilăDoar citire
numericUnitate: m/sjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de viteză a vântului (14)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Contact reed (14)Contact reedDoar citire
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contact reed (14)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de temperatură (14)Senzor de temperaturăDoar citire
Citirea temperaturii (°C) și a umidității (%)
numericUnitate: °C / %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de temperatură (14)
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Termostat (14)Termostat
Temperatura curentă, umiditatea și temperatura setată reglabilă
numericUnitate: °Cjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Termostat (14)
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Comutator cu mai multe valori (14)Comutator cu mai multe valori
Selector numeric de mod cu valorile 0–9, pentru controlul dispozitivelor cu mai multe moduri
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Comutator cu mai multe valori (14)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul poziției (%) și al unghiului lamelelor pentru jaluzele și obloane
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Jaluzea (14)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Intrare analogică (15)
Citirea nivelului de intrare
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Ieșire analogică (15)Dimmer
Nivel de ieșire continuu (0–100 %) pentru dimmere, actuatoare de robinet sau dispozitive cu ieșire analogică
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Ieșire analogică (15)
Citirea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea nivelului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Întrerupător (15)Comutator
numericjson_path
Valori / Stări: ON · OFF
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Întrerupător (15)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul luminozității și al temperaturii de culoare corelate (CCT) pentru iluminat cu alb reglabil
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Dual White Light (15)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Consumul de energie cumulat (kWh) și puterea instantanee (kW)
numericUnitate: kWh / kWjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contor electric (15)
Citirea consumului total
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea cererii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de luminozitate (15)VariabilăDoar citire
numericUnitate: luxjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de luminozitate (15)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Variabilă (15)Variabilă
numericjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Variabilă (15)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scriere
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Lumină RGB (15)Lumină HSB
Control complet al culorii HSB — nuanță, saturație, luminozitate și temperatură de culoare corelată
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Lumină RGB (15)
Citirea luminozității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Slide (15)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de viteză a vântului (15)VariabilăDoar citire
numericUnitate: m/sjson_path
Atribute de service
Tipuri de valori
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de viteză a vântului (15)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Atribute de service
Value Types
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var ret := "";
var i := 0;
do
if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
ret := ret + "\n";
end
i := i + 1;
loop while i < 10
RETURN(ret);
END
Contact reed (15)Contact reedDoar citire
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Contact reed (15)
Citire
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Senzor de temperatură (15)Senzor de temperaturăDoar citire
Citirea temperaturii (°C) și a umidității (%)
numericUnitate: °C / %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Senzor de temperatură (15)
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Termostat (15)Termostat
Temperatura curentă, umiditatea și temperatura setată reglabilă
numericUnitate: °Cjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Termostat (15)
Citirea temperaturii
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea umidității
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Citirea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Scrierea temperaturii dorite
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Comutator cu mai multe valori (15)Comutator cu mai multe valori
Selector numeric de mod cu valorile 0–9, pentru controlul dispozitivelor cu mai multe moduri
numericjson_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Comutator cu mai multe valori (15)
Citirea stării comutatorului
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
Controlul poziției (%) și al unghiului lamelelor pentru jaluzele și obloane
numericUnitate: %json_path
Variabilă: Id — ID-ul dispozitivului TapHome — setați ID-ul dispozitivului pe care doriți să îl controlați (îl găsiți în aplicația TapHome sau prin endpointul /discovery)
Jaluzea (15)
Citirea nivelului jaluzelei
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
IF ISNULL(value)
ADDERROR("Incorrect device type for ID " + Id);
RETURN(NaN);
ELSE
RETURN(TODOUBLE(value));
END
ELSE
ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
RETURN(NaN);
END
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.
Vă mulțumim! Ne vom uita la problemă.
A apărut o eroare. Încercați din nou.
Verificat de TapHome
Doriți să folosiți acest șablon în TapHome Core?
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.