TapHome

Ecowitt WS2910 (Cloud API)

Packet Parser → HTTP
Beküldő
Utoljára frissítve: 06. 2026
Ecowitt WS2910 (Cloud API)

Az Ecowitt WS2910 sablon a TapHome-ot az Ecowitt Cloud API v3-on keresztül kapcsolja össze a WS2910 színes kijelzős Wi-Fi időjárás-állomással. A WS2910 konzol gyűjti az adatokat a kültéri napelemes vezeték nélküli 7-az-1-ben szenzortömbjéből (hőmérséklet, páratartalom, szél, eső, fény/UV), valamint a beépített beltéri szenzorokból, majd Wi-Fi-n keresztül feltölti a mért értékeket az Ecowitt felhőszerverre. A TapHome HTTPS-en lekérdezi a felhő API-t, és egyetlen JSON válaszban megkapja az összes szenzor adatot.

A sablon 16 csak olvasható figyelőeszközt biztosít a kültéri és beltéri körülmények, szélmérések, csapadékösszegzés négy időskálán, légnyomás, napsugárzás és UV-index monitorozásához. Az egyetlen követelmény egy Ecowitt fiók, a Wi-Fi-hez csatlakoztatott és az ecowitt.net-re feltöltő WS2910, valamint három API hitelesítő adat.

Konfiguráció

Ecowitt fiók és Wi-Fi beállítás

A WS2910 konzolnak csatlakoznia kell a Wi-Fi-hez és adatokat kell feltöltenie az ecowitt.net-re. A kezdeti beállítás a WSView Plus mobilalkalmazáson (iOS / Android) keresztül történik:

  1. Tápláld a konzolt a mellékelt 5V DC adapterrel (a Wi-Fi csak DC tápellátással működik, elemekkel nem)
  2. Tartsd nyomva a WIND + PRESSURE gombokat kb. 5 másodpercig, amíg a Wi-Fi ikon és az M-B villogni nem kezd
  3. A WSView Plus alkalmazásban nyomd meg a Configure New Device gombot, és kövesd a képernyőn megjelenő utasításokat a konzol helyi Wi-Fi hálózathoz csatlakoztatásához
  4. Engedélyezd az Ecowitt Weather (ecowitt.net) feltöltést a szerver konfigurációs képernyőn

A konfigurálás után a szenzor adatok néhány percen belül megjelennek az ecowitt.net dashboardon.

API hitelesítő adatok beszerzése

A TapHome integrációhoz három hitelesítő adat szükséges. Mindegyiket az ecowitt.net oldalon hozod létre és kezeled:

  1. Regisztrálj fiókot a www.ecowitt.net oldalon (ha még nem tetted meg a Wi-Fi beállítás során)
  2. Győződj meg róla, hogy a WS2910 megjelenik a dashboardon élő adatokkal
  3. Navigálj az API Management szekcióba
  4. Hozz létre egy Application Key-t — ez azonosítja az API-hoz hozzáférő alkalmazást
  5. Hozz létre egy API Key-t — ez egy felhasználó-specifikus UUID karakterlánc
  6. Keresd meg a WS2910 MAC-címét — a WSView Plus alkalmazásban a Device List alatt vagy az ecowitt.net dashboardon látható
Import paraméterek

A sablon TapHome-ba importálásakor add meg:

ParaméterLeírásHol található
Application keyAlkalmazás-azonosító az ecowitt.net-rőlAPI Management → Application Key
API keyFelhasználói API kulcs (UUID formátum)API Management → API Key
Mac addressEszköz MAC-címe (XX:XX:XX:XX:XX:XX)WSView Plus alkalmazás → Device List, vagy ecowitt.net dashboard

Az alapértelmezett lekérdezési intervallum 60 másodperc (60 000 ms), ami megfelel a konzol beltéri szenzorának jelentési intervallumának. A kültéri szenzor 16 másodpercenként jelent a konzolnak, de az adatokat a konzol összesíti a feltöltés előtt.

Internetfüggőség

Ez egy kizárólag felhőalapú integráció. Minden adat az Ecowitt felhőszerveren (api.ecowitt.net:443) halad keresztül. A sablon nem működik aktív internetkapcsolat nélkül sem a TapHome Core-on, sem a WS2910 konzolon.

A WS2910 konzol egyszerre működik kijelzőként és Wi-Fi átjáróként — nincs szükség külön gateway eszközre. Amíg a konzol a DC adapterrel van táplálva és csatlakozik a Wi-Fi-hez, az adatok automatikusan feltöltődnek.

Eszközképességek

Hőmérséklet és páratartalom

Az Outdoor Temperature eszköz a hőmérsékletet (°C) és páratartalmat (%) olvassa a 7-az-1-ben vezeték nélküli szenzortömbből. A kültéri szenzor mérési tartománya −40 °C-tól 60 °C-ig terjed ±1 °C pontossággal, a páratartalom 1%-tól 99%-ig ±5% pontossággal. A páratartalom 100-zal van osztva a TapHome 0–1 analóg bemeneti tartományához.

Az Indoor Temperature eszköz a konzol beépített szenzoraiból olvassa a hőmérsékletet és páratartalmat. A beltéri hőmérséklet tartománya −10 °C-tól 60 °C-ig, a páratartalom 1%-tól 99%-ig terjed.

Két további számított érték érhető el:

  • Outdoor Feels Like Temperature — érzékelt hőmérséklet a szélhűtés (~10 °C alatt) és hőindex (~27 °C felett) figyelembevételével, az Ecowitt felhő számítja a léghőmérsékletből, páratartalomból és szélsebességből
  • Outdoor Dew Point — az a hőmérséklet, amelynél a kültéri levegő eléri a vízgőztelítettséget, a hőmérsékletből és páratartalomból számítva
Szélmérések

Három eszköz fedi le a kültéri szenzortömb szélmérő és szélirányjelző adatait:

  • Wind Speed — tartós szélsebesség km/h-ban. Tartomány 0–180 km/h, pontosság ±1 m/s (5 m/s alatt) vagy ±10% (5 m/s felett)
  • Wind Gust — csúcs szélsebesség a mérési intervallumon belül (legmagasabb 3 másodperces átlag) km/h-ban
  • Wind Direction — iránytű szerinti irány, ahonnan a szél fúj, fokban (0° = észak, 90° = kelet, 180° = dél, 270° = nyugat)
Csapadék

Négy eszköz követi a csapadékösszegzést különböző időskálákon, plusz egy pillanatnyi intenzitás:

  • Hourly Precipitation — összegyűlt csapadék az utolsó 60 percben (gördülő ablak) mm-ben
  • Daily Precipitation — összegyűlt csapadék éjfél óta mm-ben
  • Weekly Precipitation — összegyűlt csapadék az aktuális hét kezdete ��ta mm-ben
  • Monthly Precipitation — összegyűlt csapadék az aktuális hónap első napja óta mm-ben
  • Rain Rate — aktuális csapadékintenzitás, mm/h-ra extrapolálva. A csapadékmennyiség pontossága ±10%, 0,3 mm felbontással
Légnyomás
  • Air Pressure (Absolute) — légnyomás magassági kompenzáció nélkül hPa-ban. Tartomány 700–1100 hPa, pontosság ±3 hPa
  • Air Pressure (Relative) — magasságra kompenzált légnyomás (tengerszinti egyenérték) hPa-ban
Napsugárzás és UV
  • Solar Irradiance — napsugárzás intenzitása W/m²-ben. Fényszenzor tartomány 0–200 klux, pontosság ±15%
  • UV Index — ultraibolya sugárzási index a nemzetközi 0–15 skálán (0 éjszaka, 10+ nyári déli napfényben)
További képességek

Az Ecowitt Cloud API emellett biztosít csapadékesemény-összegzést (az eső megszűnésekor nullázódik) és éves összes csapadékot. Ezek elérhetők az API válaszban, de az aktuális sablon nem dolgozza fel őket. A WS2910 hardver legfeljebb 8 további WN31 többcsatornás hőmérséklet/páratartalom szenzort és legfeljebb 2 WH41/WH43 PM2.5 levegőminőség-szenzort támogat — az API valószínűleg további adatútvonalakon teszi ezeket elérhetővé. A kültéri és beltéri páratartalom jelenleg csak a megfelelő hőmérséklet-eszközök részeként érhető el; önálló páratartalom-eszközök egy jövőbeli sablonfrissítésben kerülhetnének hozzáadásra.

Hibaelhárítás

Az API hibát ad vissza vagy nincs adat
  1. Ellenőrizd, hogy a WS2910 online-e az ecowitt.net-en — jelentkezz be a dashboardra és nézd meg, hogy az élő adatok megjelennek-e
  2. Erősítsd meg mindhárom hitelesítő adat helyességét: application key, API key és MAC-cím
  3. Győződj meg róla, hogy a MAC-cím formátuma pontosan egyezik (XX:XX:XX:XX:XX:XX kettőspontokkal)
  4. Ellenőrizd, hogy a WS2910 konzol a DC adapterrel van-e táplálva (a Wi-Fi nem működik csak elemről)
Elavult vagy késleltetett értékek

Az Ecowitt Cloud API a WS2910 konzol által feltöltött legfrissebb adatokat adja vissza. A konzol a beállítás során konfigurált intervallumban tölti fel az adatokat (alapértelmezés szerint 5 perc az ecowitt.net tárolásához). A sablon 60 másodpercenként kérdezi le az API-t, de a mögöttes adatok a feltöltési intervallumtól függően ritkábban frissülhetnek.

Az alapértelmezett mértékegységek angolszász rendszerűek

Az Ecowitt API alapértelmezés szerint angolszász mértékegységekben (°F, inHg, mph, inch) adja vissza az adatokat. A sablon kifejezetten metrikus mértékegység-azonosítókat állít be az API URL-ben (temp_unitid=1, pressure_unitid=3, wind_speed_unitid=7, rainfall_unitid=12, solar_irradiance_unitid=16), hogy minden értéket metrikus egységekben kapjon. Ezeket a mértékegység-azonosítókat nem szabad módosítani.

Az Ecowitt Cloud API aktív internetkapcsolatot igényel, és az Ecowitt felhőszerver elérhetőségétől függ. Felhőkimaradások vagy internetszakadások során a sablon nem kap frissített adatokat.

Elérhető eszközök

Ecowitt WS2910 Modul
Egyéni változók
application_key (string)Ecowitt API alkalmazáskulcs a hitelesítéshez (az Ecowitt dashboardból szerezhető be)
api_key (string)Ecowitt API-kulcs az eszközadatok eléréséhez (az Ecowitt dashboardból szerezhető be)
mac_address (string)Az Ecowitt időjárás-állomás MAC-címe (az Ecowitt alkalmazásban vagy az eszközbeállításokban található)

Ecowitt

Olvasás (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
Légnyomás (abszolút) Változó Csak olvasható

Légnyomás magassági kompenzáció nélkül — tartomány 700–1100 hPa

numeric Egység: hPa JSON parsejson()

Légnyomás (abszolút)

Olvasás
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.pressure.absolute.value");
RETURN(TODOUBLE(value));
Légnyomás (relatív) Változó Csak olvasható

Magasságra kompenzált légnyomás — tengerszinti egyenérték hPa-ban

numeric Egység: hPa JSON parsejson()

Légnyomás (relatív)

Olvasás
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.pressure.relative.value");
RETURN(TODOUBLE(value));
Napi csapadék Változó Csak olvasható

Összegyűlt csapadék éjfél óta mm-ben — nullázás 00:00-kor

numeric Egység: mm JSON parsejson()

Napi csapadék

Olvasás
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.rainfall.daily.value");
RETURN(TODOUBLE(value));
Óránkénti csapadék Változó Csak olvasható

Összegyűlt csapadék az utolsó 60 percben (gördülő ablak) mm-ben

numeric Egység: mm JSON parsejson()

Óránkénti csapadék

Olvasás
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.rainfall.1_hour.value");
RETURN(TODOUBLE(value));
Beltéri hőmérséklet Hőmérséklet-érzékelő Csak olvasható

Konzol által mért beltéri hőmérséklet (°C) és páratartalom (0–1 tartomány)

numeric Egység: °C / % JSON parsejson()

Beltéri hőmérséklet

Páratartalom olvasása
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.indoor.humidity.value");
RETURN(TODOUBLE(value) / 100);
Hőmérséklet olvasása
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.indoor.temperature.value");
RETURN(TODOUBLE(value));
Havi csapadék Változó Csak olvasható

Összegyűlt csapadék az aktuális hónap első napja óta mm-ben

numeric Egység: mm JSON parsejson()

Havi csapadék

Olvasás
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.rainfall.monthly.value");
RETURN(TODOUBLE(value));
Kültéri harmatpont Változó Csak olvasható

Hőmérséklet, amelynél a kültéri levegő eléri a vízgőztelítettséget — hőmérsékletből és páratartalomból számítva

numeric Egység: °C JSON parsejson()

Kültéri harmatpont

Olvasás
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.outdoor.dew_point.value");
RETURN(TODOUBLE(value));
Kültéri érzékelt hőmérséklet Változó Csak olvasható

Érzékelt hőmérséklet a szélhűtés és hőindex figyelembevételével

numeric Egység: °C JSON parsejson()

Kültéri érzékelt hőmérséklet

Olvasás
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.outdoor.feels_like.value");
RETURN(TODOUBLE(value));
Kültéri hőmérséklet Hőmérséklet-érzékelő Csak olvasható

Kültéri hőmérséklet (°C) és páratartalom (0–1 tartomány) a 7-az-1-ben vezeték nélküli szenzortömbből

numeric Egység: °C / % JSON parsejson()

Kültéri hőmérséklet

Páratartalom olvasása
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.outdoor.humidity.value");
RETURN(TODOUBLE(value) / 100.0);
Hőmérséklet olvasása
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.outdoor.temperature.value");
RETURN(TODOUBLE(value));
Esőintenzitás Változó Csak olvasható

Aktuális csapadékintenzitás, mm/h-ra extrapolálva

numeric Egység: mm/hr JSON parsejson()

Esőintenzitás

Olvasás
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.rainfall.rain_rate.value");
RETURN(TODOUBLE(value));
Napsugárzás Változó Csak olvasható

Napsugárzás intenzitása W/m²-ben — tartomány 0–200 klux

numeric Egység: W/m² JSON parsejson()

Napsugárzás

Olvasás
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.solar_and_uvi.solar.value");
RETURN(TODOUBLE(value));
UV-index Változó Csak olvasható

Ultraibolya sugárzási index a 0–15 skálán — 0 éjszaka, 10+ nyári déli napfényben

numeric JSON parsejson()

UV-index

Olvasás
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.solar_and_uvi.uvi.value");
RETURN(TODOUBLE(value));
Heti csapadék Változó Csak olvasható

Összegyűlt csapadék az aktuális hét kezdete óta mm-ben

numeric Egység: mm JSON parsejson()

Heti csapadék

Olvasás
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.rainfall.weekly.value");
RETURN(TODOUBLE(value));
Szélirány Változó Csak olvasható

Iránytű szerinti irány fokban — 0° észak, 90° kelet, 180° dél, 270° nyugat

numeric Egység: ° JSON parsejson()

Szélirány

Olvasás
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.wind.wind_direction.value");
RETURN(TODOUBLE(value));
Széllökés Változó Csak olvasható

Csúcs szélsebesség a mérési intervallumon belül km/h-ban

numeric Egység: km/h JSON parsejson()

Széllökés

Olvasás
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.wind.wind_gust.value");
RETURN(TODOUBLE(value));
Szélsebesség Változó Csak olvasható

Tartós szélsebesség az anemométerből km/h-ban — tartomány 0–180 km/h

numeric Egység: km/h JSON parsejson()

Szélsebesség

Olvasás
IF(ISNULL(responseJson) | responseJson = "error")
    RETURN(NaN);
END

VAR value := PARSEJSON(responseJson,"data.wind.wind_speed.value");
RETURN(TODOUBLE(value));
Kapcsolat: Packet Parser → HTTP
Lehetséges fejlesztések (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

Források

Talált problémát ezzel az eszközsablonnal?

Írja meg, mi nem működik, mi hiányzik, vagy hogyan kellene a sablonnak viselkednie. Visszajelzése segít, hogy a katalógus pontos maradjon.

TapHome által hitelesítve

Használni szeretnéd ezt a TapHome Core-odban?

Nyisd meg ezt a sablont az ügyfélportálon, hogy alkalmazd az otthonaid egyikére, vagy készíts egy módosítást és küldd vissza a katalógusba.

Megnyitás a portálon