If you bought a cheap Tuya WiFi temperature/humidity sensor (the wsdcg one, the small white box that runs on two AAA batteries), you will eventually ask: “Why does this need an internet connection? Can’t it just talk to my phone over Wi-Fi like the smart plug does?”
The honest answer is no, and this guide explains exactly why. The reason is physical, not a software shortcut — which is also why open-source local-control projects such as LocalTuya and tuya-local cannot read these sensors over LAN either. This page exists so you don’t waste a weekend trying.
On this page
1. Why battery sensors can’t do LAN
Three letters explain everything: RTC. Real-Time Clock. The same chip that lets your wristwatch keep time on a single CR2032 battery for years is what lets the Tuya wsdcg run for 12–18 months on two AAA cells.
Here’s the actual lifecycle of a battery WiFi sensor:
- Sensor wakes up. Total wake time: ~1.5 seconds.
- It reads the SHT3x temperature/humidity chip via I2C. Time: ~50 ms.
- It boots the ESP8266/BL602 Wi-Fi radio — the most power-hungry part. Time: 800–1200 ms.
- It associates with your Wi-Fi (saved credentials), opens a TLS socket to
m1.tuyaeu.comorm1.tuyaus.com, sends a 200-byte JSON payload, gets ack, closes socket. - Wi-Fi radio powers down. RTC takes over.
- RTC counts down ~10 minutes (or whatever the firmware specifies). When it reaches zero, the boot sequence repeats.
During the ~10 minute sleep window, the device is essentially dead. It’s drawing about 4 microamps to keep the RTC ticking. It is NOT listening on a TCP port. It cannot accept inbound connections. If you sent a packet to it, the device wouldn’t even know — the Wi-Fi radio isn’t even powered on.
For LAN control to work, a device has to keep its Wi-Fi radio in associated/listening mode 24/7, drawing roughly 80–200 mA. On batteries, that’s a 12-month device that dies in 18 hours. The math forbids it. This isn’t a Tuya choice or a software limitation; it’s physics.
The smart plug analogy. Your Tuya plug works over LAN because its Wi-Fi radio is hot 24/7. It can do this because it’s hard-wired into 230 V mains. If you tried to run that same firmware on AAA batteries, the plug would be dead before sunset.
2. Sensors that fall in this category
Every battery-powered WiFi Tuya sensor we know of works the same way. The main Tuya categories:
| Category code | What it is | Typical battery | Wake interval |
|---|---|---|---|
wsdcg | Temperature + humidity sensor | 2x AAA | ~10 min (configurable 1–30) |
co2bj battery variant | CO2 + temp + humidity | 1x 18650 li-ion or 4x AA | ~5 min |
ldcg | Light/lux sensor | 2x AAA | ~15 min |
zwjcy | Soil moisture (battery WiFi) | 2x AA | ~20 min |
mcs | Door/window contact | 1x CR2032 | Event-driven (open/close) |
pir | PIR motion sensor | 2x AAA | Event-driven (motion) |
sj (water leak) | Water leak sensor | 1x CR2032 | Event-driven (wet) |
If your sensor takes batteries and connects to your home Wi-Fi (not a Tuya gateway, not Zigbee), it’s in this list. There are exactly zero exceptions we’ve found.
In short: you cannot get a vendor-firmware battery WiFi sensor to do LAN control without major modifications, such as flashing custom firmware.
3. Two real options
Given the sensors you already own (or are about to buy), here are your real, working paths:
| Cloud Bridge | Zigbee replacement | |
|---|---|---|
| Sensors you keep | Existing Tuya WiFi battery sensors | Replace with Aqara/Sonoff |
| Setup cost | $0 (Tuya’s free developer trial) | ~$20 hub + $15–25/sensor |
| Setup time | 15–30 min | 30 min |
| Cloud needed? | Yes (Tuya) | No (after pairing) |
| Refresh rate | ~15 min | 3–15 min |
| Battery life | 1–2 yrs | 1–3 yrs |
| Privacy | Good (you own keys) | Best (zero cloud) |
| Reliability | Internet-dependent | Local mesh |
4. Option A: Cloud Bridge (works today)
Tuya Cloud Bridge
You sign up for a Tuya IoT developer account (Tuya offers it as a free trial), link your Smart Life devices to it, and GrowVPD reads sensor values via Tuya’s OpenAPI — about every 15 minutes in the background. The actual sensor wakes whenever its firmware decides (typically every 10–15 min) and pushes to Tuya cloud; we read it back from Tuya cloud.
Pros: Works with your existing sensors. No new hardware. Free within the limits of Tuya’s developer trial (Tuya sets them).
Cons: Internet outage = no readings. Update latency is the sensor’s wake interval plus the app’s ~15-minute cloud check.
Setup: Follow our 5-step wizard in Cloud Bridge Setup.
5. Option B: Zigbee replacement (best long-term)
Switch to Zigbee TH/soil sensors
Zigbee is the right protocol for battery sensors. The radio negotiates a tiny 1–3 KB transmission window every few minutes and is otherwise off. Battery life is genuinely 1–3 years even with frequent reporting (3–5 min intervals).
You buy:
- One Tuya Zigbee gateway (~$20). GrowVPD reads the Zigbee sensors through the gateway on your local network; hubs that aren’t Tuya gateways (for example Sonoff ZB-Bridge or Aqara Hub M2) are not supported. See the Zigbee hub guide.
- One or more Zigbee sensors: Aqara WSDCGQ11LM (~$15 TH sensor — legendary 2-year battery), a Tuya Zigbee soil moisture sensor, Sonoff SNZB-02 (~$12, slightly less polished but cheap).
Pros: 3–5 minute updates instead of 15. No internet needed (after pairing). Mesh network self-heals if one sensor falls offline. Battery life beats Wi-Fi sensors by 2–3x. Privacy: zero cloud traffic for sensor readings.
Cons: Buy a second hub if you don’t already have one. Pairing flow is slightly fiddlier (4 steps vs 2). Total cost ~$35–50 vs the original WiFi sensor.
Why we recommend it: If you’re buying sensors for the first time, just go Zigbee. Readings stay on your local network and don’t depend on the internet.
6. How often you actually get readings
One of the most underrated aspects of battery WiFi sensors: even when set up correctly via Cloud Bridge, you don’t get continuous data. Here’s the realistic refresh cadence:
| Mode | Sensor wake interval | Reading reaches GrowVPD in |
|---|---|---|
| Tuya WiFi battery + Cloud Bridge | 10–15 min (factory default) | The sensor’s interval plus the app’s ~15-min cloud check in the background |
| Aqara Zigbee TH | ~3 min or on threshold change | 3–5 min via local Zigbee mesh |
| Mains-powered Tuya TH (rare) | 30 sec | 30 sec while the Automation tab is open (LAN mode) |
| Bluetooth TH (Govee, Inkbird, SwitchBot…) | Broadcasts every few seconds | When the phone picks up a broadcast (within Bluetooth range) |
For VPD calculations and most automations, 5–15 minute updates are fine — tent humidity doesn’t change in 30 seconds anyway. But if you want truly live data (for tuning a fresh setup or dialing in dehumidifier hysteresis), Zigbee or BLE is the path.
7. FAQ
Q: My Tuya WiFi TH sensor sometimes shows 30+ minute gaps. Is this normal?
Yes, frustratingly. If Wi-Fi reception is weak at the sensor location, it sometimes fails to upload its reading on a wake cycle. It then sleeps another 10 minutes and tries again, so the data has gaps. The weaker the signal where the sensor sits, the more often this happens.
Q: Can I just plug my battery sensor into a USB charger to keep it powered?
Some users have tried; results are mixed. Even with stable power, the firmware still goes into deep sleep between wake intervals (because the firmware logic is “sleep first, ignore battery health”). USB power makes the battery last forever, but doesn’t change the wake schedule. So you still don’t get LAN.
Q: What if Tuya releases a new firmware that does LAN for these?
It would have to fundamentally change the device’s power model, and we are not aware of any Tuya firmware update that does this.
Q: Are there battery sensors that work without the cloud?
Yes — Bluetooth ones, not WiFi. They broadcast their readings with Bluetooth Low Energy, and GrowVPD reads them directly while the phone is within range: Govee, Inkbird, SwitchBot, ThermoPro, SensorPush, Ruuvi, Shelly BLU and Xiaomi thermometers with custom ATC firmware.
Q: I bought 5 of these wsdcg sensors before knowing this. Did I waste money?
No. They work via Cloud Bridge, and 5 sensors fit within the limits of Tuya’s free developer trial. You’ll get a fresh reading roughly every 15 minutes, which is enough for most grow automation. Just plan to add one Aqara TH sensor in your most-active tent for higher-fidelity data over time.