diff --git a/identified.md b/identified.md index 283f82c..6783567 100644 --- a/identified.md +++ b/identified.md @@ -22,10 +22,11 @@ analysis. | 38 | Internal Unit Temp | ×0.1 | °C | −2.2 – 21.8 | STATISTICAL | Tracks outdoor ambient +5°C offset; r=0.953 vs reg_39 — consistent with enclosure heat from inverter/compressor. AP mode label: "T3 Suction" | | 39 | Outdoor Ambient Temp | ×0.1 | °C | −5.5 – 17.4 | STATISTICAL | Range consistent with UK ambient over logging period. AP mode label: "Evaporator Temp" | | 40 | System Return Temp | ×0.1 | °C | 16.9 – 52.8 | CONFIRMED | Tracks Shelly return within −0.4°C during stable flow. Actual system return water temp (EWT). AP mode label: "T5 Return Temp" | -| 45 | Discharge Gas Temp | ×0.1 | °C | 17.3 – 84.1 | STATISTICAL | Only register reaching >60°C; r=0.922 vs flow temp; mean 7.6°C above condensing temp. AP mode label: "T10 Discharge" | +| 45 | Discharge Gas Temp | ×0.1 | °C | 17.3 – 84.1 | CONFIRMED | Only register reaching >60°C; r=0.922 vs flow temp; mean 7.6°C above condensing temp. AP mode label: "T10 Discharge" | | 47 | Flow Rate | ×0.01 | l/min | — | NAMED | Sika VVX20 flow meter built into unit | -| 50 | Reported COP | ×0.01 | — | 2.75 – 5.97 | STATISTICAL | Mean 4.23 consistent with live COP; negative correlation with flow temp confirms higher lift → lower COP. Previously labelled "Suction Pressure" | +| 50 | Suction | ×0.01 | — | 2.75 – 5.97 | CONFIRMED | Cross-checked with HP installer page labelled: "Suction (bar). Previously labelled "Reported COP" | | 51 | Compressor Speed | ×1 | % | 0 – 100 | STATISTICAL | Exact 0–100 range; correlates with compressor frequency | +| 52 | Fan Suction | ×1 | Pa | - | CONFIRMED | Cross-check with HP installer page labelled: "Fan suction (Pa)" | | 53 | Compressor Frequency | ×0.1 | Hz | 0 – 60 | STATISTICAL | Raw 0–600 = 0–60 Hz; r=0.708 vs compressor speed % | | 64 | Heat Output | ×1 (signed Int16) | W | Observed: −8,870 to +6,745 (AdamLC 24h, 13 Apr 2026). Theoretical Int16: ±32,767 | CONFIRMED | r=0.999 vs flow×ΔT thermal calculation (heating, original identified.md analysis). Signed interpretation confirmed by two installations 13 Apr 2026: AdamLC defrost peaks −8,276 W / −8,870 W (raw 57,260 / 56,666); Stu startup transients −4 to −893 W. R48 phases during defrost validate reverse-cycle physics (3.85 bar equalized at entry, ~16 bar at peak-negative R64). | | 66 | Operating Mode | ×1 | enum | 0 – 3 | STATISTICAL | Discrete values 0/1/2/3 — likely Off / Heating / DHW / Defrost. Requires operational confirmation | diff --git a/qsh-modbus-sniffer/CHANGELOG.md b/qsh-modbus-sniffer/CHANGELOG.md index 3b68830..82cee62 100644 --- a/qsh-modbus-sniffer/CHANGELOG.md +++ b/qsh-modbus-sniffer/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## 4.10.0 - 2026-07-26 + +### Revise registers based on cross-validation + +Updated the following registers based on HP installer page +`Cosy Modbus Reg 52` -> `Fan suction` +`Cosy DHW Cylinder Temp` -> `Discharge Gas Temp` +`Cosy Reported COP` -> `Suction` + ## 4.9.0 - 2026-07-26 ### Breaking diff --git a/qsh-modbus-sniffer/config.yaml b/qsh-modbus-sniffer/config.yaml index 7fb9e3b..987f6c3 100644 --- a/qsh-modbus-sniffer/config.yaml +++ b/qsh-modbus-sniffer/config.yaml @@ -1,6 +1,6 @@ name: "QSH Modbus Sniffer" description: "Passive Modbus RTU sniffer for Octopus Cosy 6 heat pump. Captures all traffic between hub and outdoor unit via Waveshare RS485-to-WiFi gateway." -version: "4.9.0" +version: "4.10.0" slug: "qsh_modbus_sniffer" url: "https://github.com/stuartleeks/qsh-modbus-sniffer" arch: diff --git a/qsh-modbus-sniffer/rootfs/opt/qsh/cosy6_decoder.py b/qsh-modbus-sniffer/rootfs/opt/qsh/cosy6_decoder.py index a91b1fe..65959b3 100644 --- a/qsh-modbus-sniffer/rootfs/opt/qsh/cosy6_decoder.py +++ b/qsh-modbus-sniffer/rootfs/opt/qsh/cosy6_decoder.py @@ -160,12 +160,11 @@ # Previously misnamed "Condenser Mid Temp" — regs 29/30 are the actual # condenser (refrigerant) sensors. This is the water side. 44: {"name": "T9 Flow Temp", "scale": 0.1, "unit": "°C", "icon": "mdi:thermometer-water", "class": "temperature"}, - # CONFIRMED: DHW cylinder temp. During active DHW cycle (2026-02-18 - # 06:30-08:21), read 52.4°C rising to 54.4°C toward 55°C setpoint. - # Range 22-82°C spans ambient (off) through DHW boost temperatures. + # CONFIRMED: Compressor discharge gas temp. Matches HP installer page. + # Previously misnamed "DHW Cylinder Temp" - not available via Modbus # Previously misnamed "Compressor Shell Temp" — reg 56 is the actual # discharge temp (40.8°C), confirming this is NOT a compressor sensor. - 45: {"name": "DHW Cylinder Temp", "scale": 0.1, "unit": "°C", "icon": "mdi:thermometer-high", "class": "temperature"}, + 45: {"name": "Discharge Gas Temp", "scale": 0.1, "unit": "°C", "icon": "mdi:thermometer-high", "class": "temperature"}, # CONFIRMED (defrost validated, R290 cross-check): Primary frost signal. # Steady state 5.8-7.8°C. Drops to 0°C at defrost trigger. # Spikes to 37-55°C during hot gas defrost, decays as ice melts. @@ -206,16 +205,12 @@ # 13 bar → 35.1°C (matches condenser inlet R29). 5 bar → 4.8°C (matches # equalized evaporator R55). Closed. 48: {"name": "Discharge Pressure", "scale": 0.01, "unit": "bar", "icon": "mdi:gauge-full", "class": "pressure"}, - # STATISTICAL (identified.md + 2026-04-05 analysis): Reported COP. - # Raw range 236-635 at scale ×0.01 = 2.36-6.35 (unitless ratio). - # identified.md: mean 4.23, negative correlation with flow temp (higher - # lift → lower COP). Cross-validated: reg_64/reg_27 implied COP ≈ 3.94, - # Δ = 7% from reg_50 — within measurement uncertainty. - # 2026-04-05: inversely correlated with power/heat output. Mode means: - # idle 52.9 (/100=5.3), heating 35.6 (/100=3.6), DHW 32.0 (/100=3.2). - # Higher COP at idle is physically expected (no lift, residual circulation). - 50: {"name": "Reported COP", "scale": 0.01, "unit": "", "icon": "mdi:gauge", "class": None}, - + # CONFIRMED: Cross-validated with HP installer page during DWH cycle. + # Previously Reported COP but unlikely to be provided via Cosy + 50: {"name": "Suction", "scale": 0.01, "unit": "bar", "icon": "mdi:gauge", "class": "pressure"}, + # CONFIRMED: Cross-validated with HP installer page during DHW cycle + 52: {"name": "Fan Suction", "scale": 1, "unit": "Pa", "icon": "mdi:gauge", "class": "pressure"}, + # --- Flow Rate --- # NAMED: Second sniffer matched to "Flow Rate" from HP installer page. # Value 1714. Units unclear — if ×0.01 = 17.14 l/min.