
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).
| |
RS-485 zapojení

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če | Funkce |
|---|---|
| Č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).

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 rate | 9600 bps |
| Datové bity | 8 |
| Parita | žádná |
| Stop bity | 1 |
| Slave adresa | 1 |
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:
| Parametr | Výchozí | Popis |
|---|---|---|
| IP adresa | 192.168.1.0 | IP Ethernet ↔ RS-485 brány v LAN |
| Slave ID | 1 | Modbus 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 |
|---|---|---|---|
CORTE | 0,5 | °C | Teplotní offset přičtený ke každému surovému čtení teploty |
CORH | 0,01 | %RH | Vlhkostní offset přičtený ke každému surovému čtení vlhkosti |
CORBAR | 17 | hPa | Tlakový offset přičtený ke každému surovému čtení tlaku |
CORBAR = 17je 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 sCORBAR = 0a lad podle známého referenčního barometru v nadmořské výšce instalace. TakéCORTEaCORHby 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,001znamená, ž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á/10a Seeed S-THP-01A používá/100. Nejpravděpodobnější správný vzorec jeraw / 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:4–H: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ů
| Registr | Parametr | Datový typ | Škála / offset | Jednotka | Interval dotazování |
|---|---|---|---|---|---|
H:0 | Teplota | uInt16 | / 10 + CORTE (0,5) | °C | 30 000 ms (modulový) |
H:1 | Vlhkost | uInt16 | × 0,001 + CORH (0,01) — ověřit | %RH | 30 000 ms (modulový) |
H:4–H:5 | Atmosférický tlak | uInt32 | / 100 + CORBAR (17) | hPa | 1 000 ms (příliš agresivní) |
Surový datový typ
uInt16neumí 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í
- 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.
- Potvrď, že brána je nakonfigurovaná jako Modbus TCP server na portu 502, nikoli jako transparentní TCP most.
- Ověř, že RS-485 sériová nastavení brány odpovídají 9600, 8-N-1 — nesoulad zde potichu vyvolá timeouty bez jakýchkoli čtení.
- 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. - Prověř RS-485 zapojení:
A+naA+,B−naB−, 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.