TapHome

Zhong Sheng (XY) Teplota, vlhkost, barometr

Modbus TCP
Přidal
Poslední aktualizace: 06. 2026
Zhong Sheng (XY) Teplota, vlhkost, barometr

Zhong Sheng (XY) Teplota, vlhkost, barometr je čínský tři-v-jednom RS-485 Modbus snímač, který zpřístupňuje okolní teplotu, relativní vlhkost a atmosférický tlak. Patří do stejné OEM rodiny jako známý převodník teploty a vlhkosti XY-MD02, doplněný o tlakový čip třídy BMP — avšak s nestandardním rozložením registrů specifickým pro tento rebrand.

TapHome šablona se ke snímači připojuje přes Modbus TCP pomocí Ethernet ↔ RS-485 brány, nikoli přímo. Brána propojuje TapHome Core (LAN) s RS-485 sběrnicí, kde snímač běží na konfigurovatelném Slave ID. Jsou zpřístupněna tři měření — teplota, relativní vlhkost a atmosférický tlak — každé kombinované s per-deployment kalibračním offsetem (CORTE, CORH, CORBAR).

Hardwarové připojení

Snímač je Modbus RTU zařízení na RS-485. TapHome Core k němu přistupuje přes síť pomocí Ethernet ↔ RS-485 brány (vhodná je jakákoli standardní Modbus TCP ↔ RTU brána, např. USR-TCP232, Waveshare nebo ekvivalentní DIN-lištový převodník).

1
2
3
4
┌─────────────┐            ┌───────────────────────┐            ┌──────────────────┐
│ TapHome Core│  Ethernet  │ Ethernet ↔ RS-485     │  RS-485    │ XY snímač        │
│             │ ─────────▶ │ brána (TCP port 502)  │ ─────────▶ │ (Slave ID 1)     │
└─────────────┘            └───────────────────────┘            └──────────────────┘
RS-485 zapojení
Barevné značení RS-485 kabelů na lisovaných svorkách

Snímač používá kabel s lisovanými svorkami se čtyřmi vodiči podle konvence reference Seeed S-THP-01A (identický pinout s většinou snímačů XY-série):

Barva vodičeFunkce
ČervenáV+ (napájení, 4,5–18 V DC)
ČernáGND (zem napájení / signálu)
ŽlutáRS-485 A+
BíláRS-485 B−

Připoj A+ a B− na odpovídající svorky Ethernet ↔ RS-485 brány a sdílej GND mezi snímačem, jeho napájecím zdrojem a bránou, abys předešel problémům se společným režimem (common-mode).

Zapojení RS-485 k Ethernet ↔ RS-485 bráně (příklad DataLogger)

Přesné barvy vodičů se mohou mírně lišit mezi OEM dávkami — vždy si před zapnutím ověř značení přímo na kabelu. Přepólování napájení snímač nepoškodí (má ochranu proti přepólování), ale snímač jednoduše neodpoví.

Pro sběrnice delší než ~100 m použij stíněný kroucený kabel pro A+ / B− a na konci vedení přidej 120 Ω zakončovací odpor. Udržuj všechny snímače na společném GND referenčním potenciálu.

Aktivace Modbus komunikace

Není potřeba žádné menu ani DIP přepínače — snímač opouští výrobu se zapnutým Modbus RTU. Integrace je čistě o zapojení RS-485 sběrnice, konfiguraci brány a zadání dvou hodnot při importu do TapHome.

Sériové parametry RS-485 (tovární výchozí)

XY-série i reference Seeed S-THP-01A opouští výrobu se stejnými sériovými nastaveními. TapHome šablona předpokládá tato výchozí nastavení:

NastaveníHodnota
Baud rate9600 bps
Datové bity8
Paritažádná
Stop bity1
Slave adresa1

Baud rate a slave adresa jsou softwarově konfigurovatelné přes holding registry přímo na snímači (viz Seeed S-THP-01A user guide, registry 0x0200 / 0x0201, nebo XY-MD02 datasheet). TapHome šablona tyto registry záměrně nezpřístupňuje — změna z TapHome by přerušila aktivní spojení.

Konfigurace brány

Nakonfiguruj Ethernet ↔ RS-485 bránu jako Modbus TCP slave (server) na TCP portu 502, který proxyuje na podloženou RS-485 sběrnici při 9600, 8-N-1. Přiděl jí statickou IP adresu (nebo DHCP rezervaci), aby se po odpojení napájení nezměnila.

Pokud brána podporuje více slave mapování, ponech tento snímač na Slave ID 1 — je to jednodušší než přepisovat adresu snímače a odpovídá to výchozímu nastavení šablony.

Import parametry TapHome

Při importu šablony do TapHome zadej dvě hodnoty:

ParametrVýchozíPopis
IP adresa192.168.1.0IP Ethernet ↔ RS-485 brány v LAN
Slave ID1Modbus adresa snímače na RS-485 sběrnici
Modulové proměnné — kalibrační offsety

Po importu jsou v TapHome → Proměnné modulu dostupné tři modulové proměnné pro per-deployment kalibraci. Aplikují se na každé surové čtení:

ProměnnáVýchozíJednotkaÚčel
CORTE0,5°CTeplotní offset přičtený ke každému surovému čtení teploty
CORH0,01%RHVlhkostní offset přičtený ke každému surovému čtení vlhkosti
CORBAR17hPaTlakový offset přičtený ke každému surovému čtení tlaku

CORBAR = 17 je site-specific korekce pro nadmořskou výšku — musí se přeladit pro každou instalaci. Ponechání tovární hodnoty zkreslí každé čtení tlaku o +17 hPa oproti skutečnému lokálnímu atmosférickému tlaku. Začni s CORBAR = 0 a lad podle známého referenčního barometru v nadmořské výšce instalace. Také CORTE a CORH by se měly ověřit proti referenčnímu teploměru / vlhkoměru umístěnému vedle snímače.

Schopnosti zařízení

Šablona zpřístupňuje tři read-only snímačová zařízení, všechna čtoucí holding registry přes bránu:

Teplota

Teplota vzduchu z integrovaného čipu třídy SHT, čtená z H:0 (uInt16) a škálovaná jako raw / 10 + CORTE. Vykazuje se v °C s rozlišením 0,1 °C a typickou přesností ±0,5 °C.

Relativní vlhkost

Relativní vlhkost ze stejného čipu třídy SHT, čtená z H:1 (uInt16) a škálovaná jako raw × 0,001 + CORH. Vykazuje se v %RH.

Škálovací faktor vlhkosti je podezřelý. Multiplikátor ×0,001 znamená, že surový registr by při 100 %RH obsahoval ≈ 100 000, což přeteče 16bitový registr (max 65 535). Referenční XY-MD02 používá /10 a Seeed S-THP-01A používá /100. Nejpravděpodobnější správný vzorec je raw / 10 — ve shodě s konvencí XY-MD02. Před důvěrou v měření si ověř čtení na skutečném hardwaru; pokud je hlášená vlhkost oříznutá nebo divoce mimo rozsah, uprav šablonu nebo použij jiný variant XY.

Atmosférický tlak

Atmosférický tlak z integrovaného čipu třídy BMP, čtený z H:4 jako 32bitové unsigned integer (rozprostírající se přes H:4H:5) a škálovaný jako raw / 100 + CORBAR. Vykazuje se v hPa s rozlišením 0,1 hPa.

Interval dotazování na úrovni zařízení je v XML šabloně 1 000 ms pro barometr, což je příliš agresivní — atmosférický tlak se mění v řádech minut, ne sekund. Po importu zvyš interval dotazování barometru v TapHome → Proměnné zařízení na 15 000–30 000 ms, aby ses snížil zátěž sběrnice bez ztráty jakéhokoli užitečného rozlišení. Interval 30 000 ms na úrovni modulu, který už používá teplota a vlhkost, je dobrým výchozím bodem i pro barometr.

Přehled registrů

RegistrParametrDatový typŠkála / offsetJednotkaInterval dotazování
H:0TeplotauInt16/ 10 + CORTE (0,5)°C30 000 ms (modulový)
H:1VlhkostuInt16× 0,001 + CORH (0,01) — ověřit%RH30 000 ms (modulový)
H:4H:5Atmosférický tlakuInt32/ 100 + CORBAR (17)hPa1 000 ms (příliš agresivní)

Surový datový typ uInt16 neumí nativně reprezentovat záporné hodnoty. Na skutečném XY-MD02 hardwaru přichází teploty pod nulou jako dvojkový doplněk se znaménkem. Pokud je snímač nasazen v prostředí, které pravidelně klesá pod 0 °C, dříve než se na záporná čtení spolehneš, ověř si, že se dekódují správně.

Řešení problémů

Po importu žádná čtení
  1. Pingni IP brány ze stejné podsítě jako TapHome Core — pokud neodpovídá, problém je na LAN / napájecí straně, ne na Modbusu.
  2. Potvrď, že brána je nakonfigurovaná jako Modbus TCP server na portu 502, nikoli jako transparentní TCP most.
  3. Ověř, že RS-485 sériová nastavení brány odpovídají 9600, 8-N-1 — nesoulad zde potichu vyvolá timeouty bez jakýchkoli čtení.
  4. Zkontroluj, že Slave ID snímače odpovídá hodnotě zadané při importu do TapHome (výchozí 1). Druhý snímač na stejné sběrnici se stejnou adresou způsobí kolizi.
  5. Prověř RS-485 zapojení: A+ na A+, B− na B−, sdílené GND mezi snímačem, napájením a bránou.
Nesmyslné hodnoty vlhkosti

XML šablona používá multiplikátor vlhkosti × 0,001, který je nekonzistentní s rodinou XY-MD02 (/10) a referencí Seeed S-THP-01A (/100). Pokud se vlhkost zasekne blízko nuly nebo nikdy nedosáhne pravděpodobných hodnot, surový registr pravděpodobně používá konvenci XY-MD02. Zkontroluj hodnotu surového registru Modbus ladicím nástrojem (např. qModbus) oproti referenčnímu vlhkoměru; pokud surové hodnoty kolem 500 odpovídají ~50 %RH, vzorec by měl být /10 a šablonu je třeba opravit.

Čtení tlaku zkreslené o ~17 hPa

Výchozí hodnota šablony CORBAR = 17 je starší site-specific korekce pro nadmořskou výšku. Pokud je tlak konzistentně o ~17 hPa vyšší než blízký referenční barometr (např. meteostanice), nastav CORBAR na 0 v TapHome → Proměnné modulu a přelaď podle reference.

Vysoká zátěž sběrnice / komunikační chyby

Zvyš interval dotazování barometru z 1 000 ms na 15 000–30 000 ms v TapHome → Proměnné zařízení. 1 Hz dotazování na sdílené RS-485 sběrnici nenechává pásmo pro ostatní slave a pro barometr nepřináší žádný přínos.

Záporná teplota se zobrazuje jako obrovské kladné číslo

Šablona čte teplotu jako uInt16. Skutečný XY hardware vrací záporné teploty jako dvojkový doplněk se znaménkem — surová hodnota 0xFF33 (≈ 65 331) dekódovaná jako unsigned vychází ≈ 6 533,1 °C, ale měla by být dekódována jako −20,5 °C. Pokud je snímač instalován v prostředí, které může klesnout pod 0 °C, dříve než se na podmrazná čtení spolehneš, ověř chování na skutečném hardwaru a zvaž výměnu šablony za variantu se znaménkovým Int16.

Dostupná zařízení

Teplota, vlhkost, barometr Modul
Vlastní proměnné
CORBAR (numeric) = 17Offset atmosférického tlaku v hPa přičtený ke každému surovému čtení barometru — slouží jako korekce pro konkrétní nadmořskou výšku / referenční úroveň
Adjust in TapHome → Module Variables after import. Start with 0 and tune against a known reference barometer at the installation altitude; +17 hPa is a legacy site-specific default and will bias pressure readings if left unchanged.
CORH (numeric) = 0.01Offset relativní vlhkosti v %RH přičtený ke každému surovému čtení vlhkosti — slouží ke kompenzaci driftu konkrétního snímače
Adjust in TapHome → Module Variables after import. Typical factory calibration is within ±3 %RH; tune against a reference hygrometer.
CORTE (numeric) = 0.5Teplotní offset v °C přičtený ke každému surovému čtení teploty — slouží ke kompenzaci driftu konkrétního snímače
Adjust in TapHome → Module Variables after import. Tune against a reference thermometer placed next to the sensor.
Atmosférický tlak Proměnná Pouze ke čtení

Atmosférický tlak z integrovaného čipu třídy BMP v hPa s aplikovaným per-deployment offsetem CORBAR

Registr: H:4 uInt32 Jednotka: hPa

Atmosférický tlak

Čtení
MODBUSR(H, 4, uInt32)/100 + CORBAR
Teplota Proměnná Pouze ke čtení

Teplota okolního vzduchu z integrovaného snímače rodiny SHT v °C s aplikovaným per-deployment offsetem CORTE

Registr: H:0 uInt16 Jednotka: °C

Teplota

Čtení
MODBUSR(H, 0, uInt16)/10 + CORTE
Relativní vlhkost Proměnná Pouze ke čtení

Relativní vlhkost z integrovaného snímače rodiny SHT v %RH s aplikovaným per-deployment offsetem CORH

Registr: H:1 uInt16 Jednotka: %RH

Relativní vlhkost

Čtení
MODBUSR(H, 1, uInt16)*0.001 + CORH
Připojení: Modbus TCP • Slave ID: $[SlaveId]
Možná vylepšení (10)
  • H:2 Dew Point — INT16 /100, °C — commonly exposed by SHT-family chips alongside temperature and humidity; not read by the current TapHome template.
  • H:3 Atmospheric Pressure (INT16 variant) — INT16 /10, hPa — alternative lower-resolution pressure register present on sister devices; this template uses the 32-bit variant at H:4 instead.
  • H:4 (frost point) Frost Point — INT16 /100, °C — useful for condensation prevention; register overlap with this template's barometer variant means it would only be available on firmware variants without the packed 32-bit pressure register.
  • H:5 (vapor pressure) Vapor Pressure / Wet Bulb / Vapor Concentration — Reference devices expose vapor pressure (/10, hPa), vapor concentration (/10, g/m³) and related psychrometric values; not known to be available on this specific Zhong Sheng (XY) rebrand.
  • H:0x0020 Temperature Unit Selector — UINT16 RW, 0=°C / 1=°F — configuration register for switching display units; not typically needed when the template fixes °C.
  • H:0x0200 Slave Address (writable) — UINT16 RW, 0..255 — would allow changing the Modbus slave ID from TapHome; intentionally left out because mis-writing it would break the connection.
  • H:0x0201 Baud Rate (writable) — UINT16 RW, 0..5 mapping to standard baud rates — same rationale as slave address: unsafe to expose in a user-editable template.
  • H:0x1000 Temperature (IEEE Float variant) — 32-bit IEEE float temperature at offset 0x1000; this template reads the cheaper uInt16 ×0.1 variant at H:0 instead.
  • H:0x1002 Humidity (IEEE Float variant) — 32-bit IEEE float humidity at offset 0x1002; this template reads the uInt16 variant at H:1 instead — consider switching to float if the uInt16 scaling proves wrong on real hardware.
  • H:0x1006 Atmospheric Pressure (IEEE Float variant) — 32-bit IEEE float pressure at offset 0x1006; alternative to the packed uInt32 this template uses at H:4.

Zdroje

Našli jste problém s touto šablonou zařízení?

Napište nám, co nefunguje, co chybí, nebo jak by se měla šablona chovat. Vaše zpětná vazba nám pomáhá udržet katalog přesný.

Ověřeno TapHome

Chcete to použít ve svém TapHome jádře?

Otevřete tuto šablonu v zákaznickém portálu a použijte ji ve svém domově, nebo navrhněte úpravu a odešlete ji zpět do katalogu.

Otevřít v portálu