Reference list of observed Tuya DPID mappings for a CT clamp energy sensor using Zigbee cluster 0xEF00. Use to avoid mis-mapping in drivers, gateways, and integrators.
Note: Vendor/model specific. Validate against your device logs.
-
0x70 — Voltage
- Scale: ×0.1 V
- Example: 2353 → 235.3 V
-
0x6E — Active power (P)
- Scale: ×1 W
- Example: 99 → 99 W
-
0x71 — Apparent power (S)
- Scale: ×0.01 VA
- Example: 11823 → 118.23 VA
- Sanity: S ≈ V × I, so I_est ≈ S/V using V from 0x70
-
0x6F — Frequency
- Scale: ×0.01 Hz
- Example: 4931 → 49.31 Hz
- Note: Previously misinterpreted as current
-
0x65 — Energy counter (units TBD)
- Hypothesis: Wh or 0.01 kWh
- Method: Compare Δenergy/Δt versus average P over time
- Example raw values ~27000 (could be ~27.0 kWh if Wh; ~270.0 kWh if 0.01 kWh)
-
0x73 — Energy counter (units TBD)
- Hypothesis: total or mirror of 0x65
- Check: delta/hour behavior, reset at midnight, or persistent total
-
0x66 — Enum state/mode
- Observed: 0
- Likely: device mode/relay/operational state (no effect seen yet)
-
0x6A — Temperature (probable)
- Observed: 23, 28 (plausible °C)
-
0x72, 0x69 — Flags/thresholds (unclear)
- Often 0; may represent alarms or thresholds (not active)
-
0x79 — Unknown percentage-like metric
- Often 100; may be device-specific indicator
- Estimated current I_est (A) ≈ S/V using 0x71 and 0x70
- Power factor PF ≈ P/S using 0x6E and 0x71
- Device-specific: These mappings are from observed logs for a particular Tuya CT clamp.
- Current logging: Firmware logs 0x70 (V), 0x6E (P), 0x71 (S), 0x6F (Hz); 0x65/0x73 raw; derived I≈S/V and PF≈P/S.
- Energy unit confirmation (0x65/0x73):
- Record P (W) and energy over a known interval.
- Compute expected Δenergy ≈ average(P) × Δt_hours.
- Match against raw delta to infer scale (Wh vs 0.01 kWh).
- Daily reset detection:
- Track midnight behavior. If counter resets, likely “today” energy; if not, total accumulator.
| DPID | Name | Type | Scale | Unit | Status | Notes |
|---|---|---|---|---|---|---|
| 0x70 | voltage | value | 0.1 | V | confirmed | |
| 0x6E | active_power | value | 1 | W | confirmed | |
| 0x71 | apparent_power | value | 0.01 | VA | confirmed | I_est ≈ S/V |
| 0x6F | frequency | value | 0.01 | Hz | confirmed | |
| 0x65 | energy_counter | value | TBD | Wh or 0.01 kWh | likely | confirm via Δenergy/Δt vs avg P |
| 0x73 | energy_counter_alt | value | TBD | Wh or 0.01 kWh | likely | total or mirror of 0x65 |
| 0x66 | mode_state | enum | — | — | likely | operational state |
| 0x6A | temperature | value | 1 | °C | probable | |
| 0x72 | flags_thresholds | bitmap_or_enum | — | — | unclear | often 0 |
| 0x69 | flags_thresholds_2 | bitmap_or_enum | — | — | unclear | often 0 |
| 0x79 | percent_like_metric | value | — | — | unclear | often 100 |
Derived:
- current_A ≈ apparent_power_VA / voltage_V
- power_factor ≈ active_power_W / apparent_power_VA
- Share logs: Raw DPID, payloads, scales, and real-world meter references.
- Propose fixes: Open PRs to adjust scales, units, or add new DPIDs.
- Verification checklist: Include Δenergy/Δt vs average P, and reset behaviors.
MIT