TapHome

Zhong Sheng (XY) Teplota, vlhkosť, barometer

Modbus TCP
Pridal
Posledná aktualizácia: 05. 2026
Zhong Sheng (XY) Teplota, vlhkosť, barometer

Zhong Sheng (XY) Teplota, vlhkosť, barometer je čínsky tri-v-jednom RS-485 Modbus snímač, ktorý poskytuje okolitú teplotu, relatívnu vlhkosť a atmosférický tlak. Patrí do rovnakej OEM rodiny ako známy prevodník teploty a vlhkosti XY-MD02, doplnený o tlakový čip triedy BMP — avšak s neštandardným rozložením registrov špecifickým pre tento rebrand.

TapHome šablóna sa k snímaču pripája cez Modbus TCP pomocou Ethernet ↔ RS-485 brány, nie priamo. Brána prepája TapHome Core (LAN) na RS-485 zbernicu, kde snímač beží na konfigurovateľnom Slave ID. Sú vystavené tri merania — teplota, relatívna vlhkosť a atmosférický tlak — každé kombinované s per-deployment kalibračným offsetom (CORTE, CORH, CORBAR).

Hardvérové pripojenie

Snímač je Modbus RTU zariadenie na RS-485. TapHome Core ho dosahuje cez sieť pomocou Ethernet ↔ RS-485 brány (vhodná je akákoľvek štandardná Modbus TCP ↔ RTU brána, napr. USR-TCP232, Waveshare alebo ekvivalentný DIN-lištový prevodní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 zapojenie
Farebné značenie RS-485 káblov na lisovaných svorkách

Snímač používa kábel s lisovanými svorkami so štyrmi vodičmi podľa konvencie referencie Seeed S-THP-01A (identické pinout s väčšinou snímačov XY-série):

Farba vodičaFunkcia
ČervenáV+ (napájanie, 4,5–18 V DC)
ČiernaGND (zem napájania / signálu)
ŽltáRS-485 A+
BielaRS-485 B−

Pripoj A+ a B− na zodpovedajúce svorky Ethernet ↔ RS-485 brány a zdieľaj GND medzi snímačom, jeho napájacím zdrojom a bránou, aby si predišiel problémom so spoločným režimom (common-mode).

Zapojenie RS-485 k Ethernet ↔ RS-485 bráne (príklad DataLogger)

Presné farby vodičov sa môžu mierne líšiť medzi OEM dávkami — vždy si pred zapnutím overe značenie priamo na kábli. Prepólovanie napájania snímač nepoškodí (má ochranu proti prepólovaniu), ale snímač jednoducho neodpovie.

Pre zbernice dlhšie ako ~100 m použi tienený krútený kábel pre A+ / B− a na konci vedenia pridaj 120 Ω zakončovací odpor. Udrž všetky snímače na spoločnom GND referenčnom potenciáli.

Aktivácia Modbus komunikácie

Nie je potrebné žiadne menu ani DIP prepínače — snímač opúšťa výrobu so zapnutým Modbus RTU. Integrácia je čisto o zapojení RS-485 zbernice, konfigurácii brány a zadaní dvoch hodnôt pri importe do TapHome.

Sériové parametre RS-485 (továrenské východiská)

XY-séria aj referencia Seeed S-THP-01A opúšťajú výrobu s rovnakými sériovými nastaveniami. TapHome šablóna predpokladá tieto východiská:

NastavenieHodnota
Baud rate9600 bps
Dátové bity8
Paritažiadna
Stop bity1
Slave adresa1

Baud rate a slave adresa sú softvérovo konfigurovateľné cez holding registre priamo na snímači (viď Seeed S-THP-01A user guide, registre 0x0200 / 0x0201, alebo XY-MD02 datasheet). TapHome šablóna zámerne tieto registre nevystavuje — zmena z TapHome by prerušila aktívne spojenie.

Konfigurácia brány

Nakonfiguruj Ethernet ↔ RS-485 bránu ako Modbus TCP slave (server) na TCP porte 502, ktorý proxyuje na podloženú RS-485 zbernicu pri 9600, 8-N-1. Prideľ jej statickú IP adresu (alebo DHCP rezerváciu), aby sa po odpojení napájania nezmenila.

Ak brána podporuje viacero slave mapovaní, nechaj tento snímač na Slave ID 1 — je to jednoduchšie ako prepisovať adresu snímača a zodpovedá to východisku šablóny.

Import parametre TapHome

Pri importe šablóny do TapHome zadaj dve hodnoty:

ParameterVýchodiskoPopis
IP adresa192.168.1.0IP Ethernet ↔ RS-485 brány v LAN
Slave ID1Modbus adresa snímača na RS-485 zbernici
Modulové premenné — kalibračné offsety

Po importe sú v TapHome → Premenné modulu dostupné tri modulové premenné pre per-deployment kalibráciu. Aplikujú sa na každé surové čítanie:

PremennáVýchodiskoJednotkaÚčel
CORTE0,5°CTeplotný offset pripočítaný ku každému surovému čítaniu teploty
CORH0,01%RHVlhkostný offset pripočítaný ku každému surovému čítaniu vlhkosti
CORBAR17hPaTlakový offset pripočítaný ku každému surovému čítaniu tlaku

CORBAR = 17 je site-specific korekcia pre nadmorskú výšku — musí sa preladiť pri každej inštalácii. Ponechanie továrenskej hodnoty skreslí každé čítanie tlaku o +17 hPa voči skutočnému lokálnemu atmosférickému tlaku. Začni s CORBAR = 0 a lad podľa známeho referenčného barometra na nadmorskej výške inštalácie. Aj CORTE a CORH by sa mali overiť oproti referenčnému teplomeru / vlhkomeru umiestnenému vedľa snímača.

Schopnosti zariadenia

Šablóna vystavuje tri read-only snímačové zariadenia, všetky čítajúce holding registre cez bránu:

Teplota

Teplota vzduchu z integrovaného čipu triedy SHT, čítaná z H:0 (uInt16) a škálovaná ako raw / 10 + CORTE. Vykazuje sa v °C s rozlíšením 0,1 °C a typickou presnosťou ±0,5 °C.

Relatívna vlhkosť

Relatívna vlhkosť z toho istého čipu triedy SHT, čítaná z H:1 (uInt16) a škálovaná ako raw × 0,001 + CORH. Vykazuje sa v %RH.

Škálovací faktor vlhkosti je podozrivý. Multiplikátor ×0,001 znamená, že surový register by pri 100 %RH obsahoval ≈ 100 000, čo pretečie 16-bitový register (max 65 535). Referenčný XY-MD02 používa /10 a Seeed S-THP-01A používa /100. Najpravdepodobnejší správny vzorec je raw / 10 — v zhode s konvenciou XY-MD02. Pred dôverou v merania over čítania na skutočnom hardvéri; ak je hlásená vlhkosť orezaná alebo divoko mimo rozsah, uprav šablónu alebo použi iný variant XY.

Atmosférický tlak

Atmosférický tlak z integrovaného čipu triedy BMP, čítaný z H:4 ako 32-bitové unsigned integer (rozprestierajúce sa cez H:4H:5) a škálovaný ako raw / 100 + CORBAR. Vykazuje sa v hPa s rozlíšením 0,1 hPa.

Interval dotazovania na úrovni zariadenia je v XML šablóne 1 000 ms pre barometer, čo je príliš agresívne — atmosférický tlak sa mení v rádoch minút, nie sekúnd. Po importe zvýš interval dotazovania barometra v TapHome → Premenné zariadenia na 15 000–30 000 ms, aby si znížil záťaž zbernice bez straty akéhokoľvek užitočného rozlíšenia. Interval 30 000 ms na úrovni modulu, ktorý už používa teplota a vlhkosť, je dobrým východiskom aj pre barometer.

Prehľad registrov

RegisterParameterDátový typŠkála / offsetJednotkaInterval dotazovania
H:0TeplotauInt16/ 10 + CORTE (0,5)°C30 000 ms (modulový)
H:1VlhkosťuInt16× 0,001 + CORH (0,01) — overiť%RH30 000 ms (modulový)
H:4H:5Atmosférický tlakuInt32/ 100 + CORBAR (17)hPa1 000 ms (príliš agresívne)

Surový dátový typ uInt16 nevie natívne reprezentovať záporné hodnoty. Na skutočnom XY-MD02 hardvéri prichádzajú teploty pod nulou ako dvojkový doplnok so znamienkom. Ak je snímač nasadený v prostredí, ktoré pravidelne klesá pod 0 °C, pred tým, ako sa na záporné čítania spoľahneš, overe si, či sa dekódujú správne.

Riešenie problémov

Po importe žiadne čítania
  1. Pingni IP brány z rovnakej podsiete ako TapHome Core — ak neodpovedá, problém je na LAN / napájacej strane, nie na Modbuse.
  2. Potvrd, že brána je nakonfigurovaná ako Modbus TCP server na porte 502, nie ako transparentný TCP most.
  3. Overe, že RS-485 sériové nastavenia brány zodpovedajú 9600, 8-N-1 — nezhoda tu potichu vyvolá timeouty bez akýchkoľvek čítaní.
  4. Skontroluj, že Slave ID snímača zodpovedá hodnote zadanej pri importe do TapHome (východisko 1). Druhý snímač na tej istej zbernici s rovnakou adresou spôsobí kolíziu.
  5. Preveru RS-485 zapojenie: A+ na A+, B− na B−, spoločné GND medzi snímačom, napájaním a bránou.
Nezmyselné hodnoty vlhkosti

XML šablóna používa multiplikátor vlhkosti × 0,001, ktorý je nekonzistentný s rodinou XY-MD02 (/10) a referenciou Seeed S-THP-01A (/100). Ak sa vlhkosť zasekne blízko nuly alebo nikdy nedosiahne pravdepodobné hodnoty, surový register pravdepodobne používa konvenciu XY-MD02. Skontroluj hodnotu surového registra Modbus ladiacim nástrojom (napr. qModbus) oproti referenčnému vlhkomeru; ak surové hodnoty okolo 500 zodpovedajú ~50 %RH, vzorec by mal byť /10 a šablónu treba opraviť.

Čítanie tlaku skreslené o ~17 hPa

Východisko šablóny CORBAR = 17 je staršia site-specific korekcia pre nadmorskú výšku. Ak je tlak konzistentne o ~17 hPa vyšší než blízky referenčný barometer (napr. meteostanica), nastav CORBAR na 0 v TapHome → Premenné modulu a prelaď podľa referencie.

Vysoké zaťaženie zbernice / komunikačné chyby

Zvýš interval dotazovania barometra z 1 000 ms na 15 000–30 000 ms v TapHome → Premenné zariadenia. 1 Hz dotazovanie na zdieľanej RS-485 zbernici nenecháva pásmo pre ostatných slavov a pre barometer neprináša žiadny prínos.

Záporná teplota sa zobrazuje ako obrovské kladné číslo

Šablóna číta teplotu ako uInt16. Skutočný XY hardvér vracia záporné teploty ako dvojkový doplnok so znamienkom — surová hodnota 0xFF33 (≈ 65 331) dekódovaná ako unsigned vychádza ≈ 6 533,1 °C, ale mala by byť dekódovaná ako −20,5 °C. Ak je snímač inštalovaný v prostredí, ktoré môže klesnúť pod 0 °C, overe správanie na skutočnom hardvéri a zváž výmenu šablóny za variant so znamienkovým Int16 pred tým, ako sa na podmrazné čítania spoľahneš.

Dostupné zariadenia

Teplota, vlhkosť, barometer Modul
Vlastné premenné
CORBAR (numeric) = 17Offset atmosférického tlaku v hPa pripočítaný ku každému surovému čítaniu barometra — slúži ako korekcia pre konkrétnu nadmorskú 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 relatívnej vlhkosti v %RH pripočítaný ku každému surovému čítaniu vlhkosti — slúži na kompenzáciu driftu konkrétneho snímača
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 pripočítaný ku každému surovému čítaniu teploty — slúži na kompenzáciu driftu konkrétneho snímača
Adjust in TapHome → Module Variables after import. Tune against a reference thermometer placed next to the sensor.
Atmosférický tlak Premenná Len na čítanie

Atmosférický tlak z integrovaného čipu triedy BMP v hPa s aplikovaným per-deployment offsetom CORBAR

Register: H:4 uInt32 Jednotka: hPa

Atmosférický tlak

Čítanie
MODBUSR(H, 4, uInt32)/100 + CORBAR
Teplota Premenná Len na čítanie

Teplota okolitého vzduchu z integrovaného snímača rodiny SHT v °C s aplikovaným per-deployment offsetom CORTE

Register: H:0 uInt16 Jednotka: °C

Teplota

Čítanie
MODBUSR(H, 0, uInt16)/10 + CORTE
Relatívna vlhkosť Premenná Len na čítanie

Relatívna vlhkosť z integrovaného snímača rodiny SHT v %RH s aplikovaným per-deployment offsetom CORH

Register: H:1 uInt16 Jednotka: %RH

Relatívna vlhkosť

Čítanie
MODBUSR(H, 1, uInt16)*0.001 + CORH
Pripojenie: Modbus TCP • Slave ID: $[SlaveId]
Možné vylepšenia (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 ste problém s touto šablónou zariadenia?

Napíšte nám, čo nefunguje, čo chýba, alebo ako by sa mala šablóna správať. Vaša spätná väzba nám pomáha udržiavať katalóg presný.

Overené TapHomom

Chcete to použiť vo svojom TapHome jadre?

Otvorte túto šablónu v Customer Portali a aplikujte ju na svoj domov, alebo navrhnite zmenu a odošlite ju späť do katalógu.

Otvoriť v portáli