Wasn’t sure where to post this, but thought I should share for anyone needing the mappings
Rinnai DemandDuo Hybrid (EHPG215VM / EHPG265VM / EHPG285VM / EHPG300VM)
LocalTuya DPS mapping — Tuya category “rs”, protocol 3.4
Mapping verified 1:1 against the Rinnai app’s “Status Query” screen.
================================================================================
CONTROLS
DPS Type Description
1 bool Power (on/off)
2 enum Mode — values: ECO | HYBRID | ELECTRIC | STANDARD | VACATION
5 int Set Temperature (°C, range 15–70, step 1)
12 bool Child Lock
================================================================================
STATUS / TELEMETRY
DPS Type Description App label
3 int °C Tank Temperature (cloud copy of 103) (cloud-spec only, not in app)
8 enum Work State (standby/heating/warm) (not in app status query)
18 bitmap Fault code (E01–E12, see below) (not in app status query)
101 int °C Ambient Temperature Ambient Temp
102 int °C Compressor Discharge Temperature Discharge Temp
103 int °C Tank Temperature Tank Temp
104 int °C Evaporator Temperature Evaporator Temp
105 int °C Suction Line Temperature Suction Temp
106 bool High Pressure Switch (closed=ok) High Pressure Switch
107 int EEV Opening (steps; 480=wide open) EEV Opening
108 bool Fan running FAN
109 bool Compressor running Compressor
110 bool 4-way Valve (reversing valve) 4-way Valve
111 bool Defrost cycle active Defrost
112 bool Electric Element drawing Electrical Element
113 bool Disinfection (anti-Legionella) Disinfection
114 int V Mains Voltage Mains Voltage
115 bool PV Signal (solar diversion input) PV Signal
116 bool Off-peak Tariff signal Off-peak Tariff
117 bool One-shot Boost active One-shot Boost
118 int h Compressor Operation Hours Comp Operation Hours
119 int h Unit On Hours Unit On Hours
120 string Software Version (e.g. “V2.2”) Software version
================================================================================
FAULT BITMAP (DPS 18)
Bit Code Meaning
0 E01 Ambient temp sensor fault
1 E02 Upper tank temp sensor fault
2 E03 Discharge temp sensor fault
3 E04 Evaporator temp sensor fault
4 E05 Suction temp sensor fault
5 E06 Lower tank temp sensor fault
6 E07 High-pressure protection
7 E08 Discharge temp too high
8 E09 Low-voltage protection
9 E10 High-voltage protection
10 E11 Fan fault
11 E12 Communication fault
================================================================================
NOTES
-
The Tuya cloud spec only exposes DPS 1, 3, 5, 8, 12, 18 + a
temp_current
reading — no mode, no telemetry. Everything in the 100-block is local-only,
which is why LocalTuya (or another local-protocol client) is required to
see and control it. -
DPS 3 and DPS 103 are the same physical tank reading exposed via two
different DPS IDs. DPS 103 is what the app shows as “Tank Temp”. -
Mode values are sent as uppercase strings exactly as listed. Verify the
literal value by reading DPS 2 while the unit is in the target mode at
the physical control panel — values may differ on other Rinnai SKUs. -
DPS 107 (EEV Opening) is in expansion-valve steps, not watts. It sits at
~480 (wide open / idle) and modulates lower while the compressor runs. -
DPS 114 reads single-digit jitter around mains voltage (e.g. 232–239 V on
NZ supply) — useful as a “mains is alive” signal.