TapHome

Ecowitt WS2910 (Cloud API)

Packet Parser → HTTP
Autor
Posljednje ažuriranje: 10. 2026
Ecowitt WS2910 (Cloud API)

Predložak Ecowitt WS2910 povezuje TapHome s Wi-Fi meteorološkom stanicom WS2910 Color Display preko Ecowitt Cloud API v3. Konzola WS2910 prikuplja podatke s vanjskog bežičnog senzorskog sklopa 7 u 1 sa solarnim napajanjem (temperatura, vlaga, vjetar, kiša, svjetlo/UV) i s ugrađenih unutarnjih senzora, a zatim očitanja preko Wi-Fi mreže šalje na poslužitelj Ecowitt u oblaku. TapHome šalje upite API-ju u oblaku preko HTTPS-a i sve podatke senzora prima u jednom JSON odgovoru.

Predložak sadrži 16 uređaja za praćenje, samo za čitanje: vanjski i unutarnji uvjeti, mjerenje vjetra, količina oborina u četiri vremenska razdoblja, tlak zraka, sunčevo zračenje i UV indeks. Potrebni su samo račun Ecowitt, WS2910 spojena na Wi-Fi koja šalje podatke na ecowitt.net i tri API pristupna podatka.

Konfiguracija

Račun Ecowitt i postavljanje Wi-Fi veze

Konzola WS2910 mora biti spojena na Wi-Fi i slati podatke na ecowitt.net. Početno postavljanje radi se u mobilnoj aplikaciji WSView Plus (iOS / Android):

  1. Konzolu napajajte isporučenim adapterom od 5 V DC (Wi-Fi radi samo s DC napajanjem, ne na baterije)
  2. Držite tipke WIND + PRESSURE oko 5 sekundi dok ikona Wi-Fi i M-B ne počnu treperiti
  3. U aplikaciji WSView Plus pritisnite Configure New Device i slijedite upute na zaslonu kako biste konzolu spojili na lokalnu Wi-Fi mrežu
  4. Na zaslonu za konfiguraciju poslužitelja uključite slanje podataka na Ecowitt Weather (ecowitt.net)

Nakon konfiguracije podaci senzora za nekoliko minuta pojavljuju se na nadzornoj ploči ecowitt.net.

Dobivanje API pristupnih podataka

Za integraciju s TapHome potrebna su tri pristupna podatka. Svi se izrađuju na ecowitt.net i ondje se njima upravlja:

  1. Registrirajte račun na www.ecowitt.net (ako to već niste učinili pri postavljanju Wi-Fi veze)
  2. Provjerite prikazuje li se WS2910 na nadzornoj ploči s podacima uživo
  3. Otvorite odjeljak API Management
  4. Izradite Application Key: on označava aplikaciju koja pristupa API-ju
  5. Izradite API Key: to je UUID niz vezan uz korisnika
  6. Pronađite MAC adresu stanice WS2910: vidljiva je u aplikaciji WSView Plus pod Device List ili na nadzornoj ploči ecowitt.net
Parametri uvoza

Pri uvozu predloška u TapHome unesite:

ParametarOpisGdje ga pronaći
Application keyIdentifikator aplikacije s ecowitt.netAPI Management → Application Key
API keyKorisnički API ključ (format UUID)API Management → API Key
Mac addressMAC adresa uređaja (XX:XX:XX:XX:XX:XX)Aplikacija WSView Plus → Device List ili nadzorna ploča ecowitt.net

Zadani interval očitavanja je 60 sekundi (60 000 ms), što odgovara intervalu javljanja unutarnjeg senzora konzole. Vanjski senzor javlja podatke konzoli svakih 16 sekundi, ali konzola ih prije slanja objedinjuje.

Ovisnost o internetu

Ovo je integracija isključivo preko oblaka. Svi podaci idu preko poslužitelja Ecowitt u oblaku (api.ecowitt.net:443). Predložak ne radi bez aktivne internetske veze i na centralnoj jedinici TapHome Core i na konzoli WS2910.

Konzola WS2910 istodobno je zaslon i Wi-Fi pristupnik, pa zaseban pristupnik nije potreban. Dok god je konzola napajana preko DC adaptera i spojena na Wi-Fi, podaci se šalju automatski.

Mogućnosti uređaja

Temperatura i vlaga

Uređaj Vanjska temperatura čita temperaturu (°C) i vlagu (%) s bežičnog senzorskog sklopa 7 u 1. Vanjski senzor mjeri od -40 °C do 60 °C s točnošću ±1 °C, a vlagu od 1 % do 99 % s točnošću ±5 %. Vlaga se dijeli sa 100 zbog raspona analognog ulaza TapHome 0–1.

Uređaj Unutarnja temperatura čita temperaturu i vlagu s ugrađenih senzora konzole. Raspon unutarnje temperature je -10 °C do 60 °C, vlage 1 % do 99 %.

Dostupne su i dvije izračunate vrijednosti:

  • Vanjska osjetna temperatura: temperatura kakvu osjećamo, uzima u obzir hlađenje vjetrom (ispod ~10 °C) i toplinski indeks (iznad ~27 °C), a izračunava je poslužitelj Ecowitt u oblaku iz temperature zraka, vlage i brzine vjetra
  • Vanjsko rosište: temperatura pri kojoj vanjski zrak postaje zasićen vodenom parom, izračunava se iz temperature i vlage
Mjerenje vjetra

Tri uređaja pokrivaju podatke o vjetru s anemometra i vjetrokaza na vanjskom senzorskom sklopu:

  • Brzina vjetra: srednja brzina vjetra u km/h. Raspon 0–180 km/h, točnost ±1 m/s (ispod 5 m/s) ili ±10 % (iznad 5 m/s)
  • Udar vjetra: najveća brzina vjetra tijekom mjernog intervala (najviši trosekundni prosjek) u km/h
  • Smjer vjetra: smjer iz kojeg vjetar puše, u stupnjevima (0° = sjever, 90° = istok, 180° = jug, 270° = zapad)
Oborine

Četiri uređaja prate količinu oborina u različitim vremenskim razdobljima, a peti trenutačni intenzitet:

  • Satne oborine: količina kiše u zadnjih 60 minuta (pomično razdoblje) u mm
  • Dnevne oborine: količina kiše od ponoći u mm
  • Tjedne oborine: količina kiše od početka tekućeg tjedna u mm
  • Mjesečne oborine: količina kiše od prvog dana tekućeg mjeseca u mm
  • Intenzitet kiše: trenutačni intenzitet kiše preračunat na mm/h. Točnost količine kiše je ±10 %, razlučivost 0,3 mm
Tlak zraka
  • Tlak zraka (apsolutni): tlak zraka bez korekcije za nadmorsku visinu, u hPa. Raspon 700–1100 hPa, točnost ±3 hPa
  • Tlak zraka (relativni): tlak zraka korigiran za nadmorsku visinu (sveden na razinu mora), u hPa
Sunčevo zračenje i UV
  • Sunčevo zračenje: jakost sunčevog zračenja u W/m² kako je javlja Ecowitt API (sam senzor svjetla stanice mjeri 0–200 klux, točnost ±15 %)
  • UV indeks: indeks ultraljubičastog zračenja na međunarodnoj ljestvici 0–15 (0 noću, 10+ ljeti u podne)
Dodatne mogućnosti

Ecowitt Cloud API daje i količinu kiše od početka trenutačne kiše (poništava se kad kiša prestane) i ukupnu godišnju količinu oborina. Te su vrijednosti u odgovoru API-ja, ali ih trenutačni predložak ne obrađuje. Hardver WS2910 podržava do 8 dodatnih višekanalnih senzora temperature i vlage WN31 i do 2 senzora kvalitete zraka PM2.5 WH41/WH43; API ih vjerojatno daje pod dodatnim putanjama podataka. Vanjska i unutarnja vlaga trenutačno su dostupne samo kao dio pripadajućih uređaja za temperaturu; zasebni uređaji za vlagu mogli bi se dodati u budućem ažuriranju predloška.

Rješavanje problema

API vraća grešku ili nema podataka
  1. Provjerite je li WS2910 na mreži na ecowitt.net: prijavite se na nadzornu ploču i provjerite prikazuju li se podaci uživo
  2. Provjerite jesu li sva tri pristupna podatka ispravna: application key, API key i MAC adresa
  3. Provjerite odgovara li format MAC adrese točno (XX:XX:XX:XX:XX:XX s dvotočkama)
  4. Provjerite napaja li se konzola WS2910 preko DC adaptera (Wi-Fi ne radi samo na baterije)
Zastarjela ili zakašnjela očitanja

Ecowitt Cloud API vraća najnovije podatke koje je poslala konzola WS2910. Konzola šalje podatke u intervalu postavljenom pri konfiguraciji (zadano 5 minuta za pohranu na ecowitt.net). Predložak šalje upit API-ju svakih 60 sekundi, ali se sami podaci mogu osvježavati rjeđe, ovisno o intervalu slanja.

Zadane jedinice su imperijalne

Ecowitt API prema zadanim postavkama vraća podatke u imperijalnim jedinicama (°F, inHg, mph, inči). Predložak u URL-u API-ja izričito postavlja ID-ove metričkih jedinica (temp_unitid=1, pressure_unitid=3, wind_speed_unitid=7, rainfall_unitid=12, solar_irradiance_unitid=16) kako bi sve vrijednosti primio u metričkim jedinicama. Te ID-ove jedinica ne treba mijenjati.

Ecowitt Cloud API zahtijeva aktivnu internetsku vezu i ovisi o dostupnosti poslužitelja Ecowitt u oblaku. Tijekom prekida rada oblaka ili interneta predložak ne prima nove podatke.

Dostupni uređaji

Ecowitt WS2910 Modul
Prilagođene varijable
application_key (string)Aplikacijski ključ (Application Key) za autentifikaciju na Ecowitt API-ju (dobiva se na nadzornoj ploči Ecowitt)
api_key (string)Korisnički API ključ (API Key) za pristup podacima uređaja (dobiva se na nadzornoj ploči Ecowitt)
mac_address (string)MAC adresa meteorološke stanice Ecowitt (pronaći ćete je u aplikaciji Ecowitt ili u postavkama uređaja)

Ecowitt

Čitanje (modul)
responseJson := "error";

IF(ISNULL(api_key) OR LENGTH(api_key) = 0)
   ADDERROR("Please set API key in module variables");
   RETURN(-1);
END

IF(ISNULL(application_key) OR LENGTH(application_key) = 0)
   ADDERROR("Please set Application key in module variables");
   RETURN(-2);
END

IF(ISNULL(mac_address) OR LENGTH(mac_address) = 0)
   ADDERROR("Please set MAC address in module variables");
   RETURN(-3);
END

VAR path := "api/v3/device/real_time?application_key=" + application_key + "&api_key=" + api_key + "&mac=" + mac_address + "&call_back=all&temp_unitid=1&pressure_unitid=3&wind_speed_unitid=7&rainfall_unitid=12&solar_irradiance_unitid=16";

VAR response := SENDHTTPREQUEST(path);

IF response.IsSuccess
    responseJson := response.Content;
ELSE
    VAR contentJson := response.Content;
    VAR errCode := response.StatusCode;
    VAR message := PARSEJSON(contentJson, "message");
    ADDERROR("Failed to read data - (" + errCode + ") " + message);
    RETURN(-4);
END

VAR code := PARSEJSON(responseJson, "code");

IF code != 0
    
    VAR msg := PARSEJSON(responseJson, "msg");
    ADDERROR("Failed to read data - " + msg);
    responseJson := "error";
END
Tlak zraka (apsolutni) Varijabla Samo za čitanje

Tlak zraka bez korekcije za nadmorsku visinu, raspon 700–1100 hPa

numeric Jedinica: hPa JSON parsejson()

Tlak zraka (apsolutni)

Čitanje
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.pressure.absolute.value");
RETURN(TODOUBLE(value));
Tlak zraka (relativni) Varijabla Samo za čitanje

Tlak zraka korigiran za nadmorsku visinu, sveden na razinu mora, u hPa

numeric Jedinica: hPa JSON parsejson()

Tlak zraka (relativni)

Čitanje
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.pressure.relative.value");
RETURN(TODOUBLE(value));
Dnevne oborine Varijabla Samo za čitanje

Količina kiše od ponoći u mm, poništava se u 00:00

numeric Jedinica: mm JSON parsejson()

Dnevne oborine

Čitanje
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.rainfall.daily.value");
RETURN(TODOUBLE(value));
Satne oborine Varijabla Samo za čitanje

Količina kiše u zadnjih 60 minuta (pomično razdoblje) u mm

numeric Jedinica: mm JSON parsejson()

Satne oborine

Čitanje
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.rainfall.1_hour.value");
RETURN(TODOUBLE(value));
Unutarnja temperatura Senzor temperature Samo za čitanje

Unutarnja temperatura (°C) i vlaga (raspon 0–1) koje mjeri konzola

numeric Jedinica: °C / % JSON parsejson()

Unutarnja temperatura

Čitanje vlažnosti
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.indoor.humidity.value");
RETURN(TODOUBLE(value) / 100);
Čitanje temperature
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.indoor.temperature.value");
RETURN(TODOUBLE(value));
Mjesečne oborine Varijabla Samo za čitanje

Količina kiše od prvog dana tekućeg mjeseca u mm

numeric Jedinica: mm JSON parsejson()

Mjesečne oborine

Čitanje
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.rainfall.monthly.value");
RETURN(TODOUBLE(value));
Vanjsko rosište Varijabla Samo za čitanje

Temperatura pri kojoj vanjski zrak postaje zasićen vodenom parom, izračunata iz temperature i vlage

numeric Jedinica: °C JSON parsejson()

Vanjsko rosište

Čitanje
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.outdoor.dew_point.value");
RETURN(TODOUBLE(value));
Vanjska osjetna temperatura Varijabla Samo za čitanje

Temperatura kakvu osjećamo, uzima u obzir hlađenje vjetrom i toplinski indeks

numeric Jedinica: °C JSON parsejson()

Vanjska osjetna temperatura

Čitanje
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.outdoor.feels_like.value");
RETURN(TODOUBLE(value));
Vanjska temperatura Senzor temperature Samo za čitanje

Vanjska temperatura (°C) i vlaga (raspon 0–1) s bežičnog senzorskog sklopa 7 u 1

numeric Jedinica: °C / % JSON parsejson()

Vanjska temperatura

Čitanje vlažnosti
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.outdoor.humidity.value");
RETURN(TODOUBLE(value) / 100.0);
Čitanje temperature
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.outdoor.temperature.value");
RETURN(TODOUBLE(value));
Intenzitet kiše Varijabla Samo za čitanje

Trenutačni intenzitet kiše preračunat na mm/h

numeric Jedinica: mm/hr JSON parsejson()

Intenzitet kiše

Čitanje
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.rainfall.rain_rate.value");
RETURN(TODOUBLE(value));
Sunčevo zračenje Varijabla Samo za čitanje

Jakost sunčevog zračenja u W/m², kako je javlja Ecowitt API

numeric Jedinica: W/m² JSON parsejson()

Sunčevo zračenje

Čitanje
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.solar_and_uvi.solar.value");
RETURN(TODOUBLE(value));
UV indeks Varijabla Samo za čitanje

Indeks ultraljubičastog zračenja na ljestvici 0–15, 0 noću, 10+ ljeti u podne

numeric JSON parsejson()

UV indeks

Čitanje
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.solar_and_uvi.uvi.value");
RETURN(TODOUBLE(value));
Tjedne oborine Varijabla Samo za čitanje

Količina kiše od početka tekućeg tjedna u mm

numeric Jedinica: mm JSON parsejson()

Tjedne oborine

Čitanje
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.rainfall.weekly.value");
RETURN(TODOUBLE(value));
Smjer vjetra Varijabla Samo za čitanje

Smjer vjetra u stupnjevima, 0° sjever, 90° istok, 180° jug, 270° zapad

numeric Jedinica: ° JSON parsejson()

Smjer vjetra

Čitanje
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.wind.wind_direction.value");
RETURN(TODOUBLE(value));
Udar vjetra Varijabla Samo za čitanje

Najveća brzina vjetra tijekom mjernog intervala u km/h

numeric Jedinica: km/h JSON parsejson()

Udar vjetra

Čitanje
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.wind.wind_gust.value");
RETURN(TODOUBLE(value));
Brzina vjetra Varijabla Samo za čitanje

Srednja brzina vjetra s anemometra u km/h, raspon 0–180 km/h

numeric Jedinica: km/h JSON parsejson()

Brzina vjetra

Čitanje
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.wind.wind_speed.value");
RETURN(TODOUBLE(value));
Povezivanje: Packet Parser → HTTP
Moguća poboljšanja (6)
  • Rainfall Event — Accumulated rainfall for the current rain event (resets when rain stops). Available in API response but not parsed by template
  • Yearly Precipitation — Accumulated rainfall since January 1st. Available in API response but not parsed by template
  • Outdoor Humidity (Standalone) — Outdoor humidity is only exposed as part of the Outdoor Temperature device (readhumidity script). A standalone humidity variable device could be useful for automations
  • Indoor Humidity (Standalone) — Indoor humidity is only exposed as part of the Indoor Temperature device (readhumidity script). A standalone humidity variable device could be useful for automations
  • Additional Temperature/Humidity Sensors (WN31) — WS2910 supports up to 8 WN31 multi-channel temperature/humidity sensors. API likely exposes these under additional data paths. Not implemented in template
  • PM2.5 Air Quality Sensors — WS2910 supports up to 2 WH41/WH43 PM2.5 air quality sensors. API likely exposes these under additional data paths. Not implemented in template

Izvori

Pronašli ste problem s ovim predloškom uređaja?

Recite nam što ne radi, što nedostaje ili kako bi se predložak trebao ponašati. Vaše povratne informacije pomažu nam da katalog bude točan.

Provjerio TapHome

Želite ovo koristiti u svojoj centralnoj jedinici TapHome Core?

Otvorite ovaj predložak na portalu Customer Portal kako biste ga primijenili na jedan od svojih domova ili predložili poboljšanje i poslali ga natrag u katalog.

Otvorite na portalu