Add support for WTWN3 (F4J7TN1W) washer and RC90U2_WW (RC9DN9029) dryer - #177
Open
kristinn93 wants to merge 2 commits into
Open
Add support for WTWN3 (F4J7TN1W) washer and RC90U2_WW (RC9DN9029) dryer#177kristinn93 wants to merge 2 commits into
kristinn93 wants to merge 2 commits into
Conversation
LG F4J7TN1W 8 kg front-load washer (TITAN2 platform), ThinQ1 with the QCA4002 module (FwVer QC_Modem_1.2.80). Its 28-byte status frame has the same layout as the already supported WTDN3 (F2J7HG1W) without the dryer byte, so the handler mirrors WTDN3 and reuses its STATES/ERRORS tables. The course, wash, temperature, rinse and spin tables come from LG's own modelJson for WTWN3 (Monitoring.protocol / Value / Course / SmartCourse). Exposes power (switch), start/pause buttons, status, error and error_message, course (base course, overridden by a downloaded course in byte 20), wash, temp, spin, rinse, TurboWash, pre-wash, steam, crease care, medic rinse, door lock, child lock, remote start, standby, washes since tub clean and initial/remaining/delay-start time. Confirmed on a real F4J7TN1W: power, status through Off, Ready, Measuring and Washing of a Tub Clean cycle, course, wash, spin, temperature, rinse, times, door lock (locked once the cycle starts) and the tub clean counter. The remaining fixtures are a real Mix cycle captured from a WTWN3 plus two synthetic frames, clearly labeled, covering the option bits, child lock, remote start and the downloaded-course override; those follow the spec and the WTDN3 handler and have not been exercised on this machine yet. Developed with the assistance of Claude (Anthropic). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
LG RC9DN9029 9 kg DUAL Inverter heat pump dryer (EU/Nordic market), ThinQ2 with the QCOM_QCA4010 module (clip_hna_v1.9.230, protocolVer 4.9). It speaks the same AABB dialect as the US dryers (RV13B6ES_D_US_WIFI, RV13B6BSD_D_US_WIFI): 0x30 0xEC status updates carrying a previous and a current record, a single-record 0x30 0xEB reply to the family-wide F0ED status request (sent once per connect so the entities survive a rethink restart), a 0x30 0x31 serial frame and 0x30 0x19 / 0x30 0x72 events. The record itself is the 25-byte EU layout prefixed 0x00 0x19 and follows LG's modelJson Monitoring.protocol for RC90U2_WW byte for byte, so it needs its own handler rather than an alias. Exposes power, status, phase (published only while a cycle runs, the byte is stale when idle), error and error_message, course (base course overridden by a downloaded course in byte 20), dry level, Eco Hybrid, remaining/initial time, delay end time and flag, anti crease, child lock, damp dry beep and hand iron. No commands: the AABB command codes used by the EU washers are unverified on this dryer. All test fixtures are real frames captured live while driving the panel: power off/on, eleven courses (one of them downloaded) with their default dry level / Eco Hybrid / time estimate, the Dry Level button, Delay End, and the start of a Cool Air cycle (Running, Cooling phase, remaining time counting down). Anti crease and child lock were each toggled by a panel button not yet matched to its label; damp dry beep, hand iron and the error table follow the spec and have not been observed. Option2 is not decoded: its RemoteStart bit was set for a whole cycle started from the panel and did not react to arming Remote Start on the panel, so its meaning is unconfirmed. Developed with the assistance of Claude (Anthropic). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two new handlers, one commit each, with tests against captured frames.
WTWN3 (LG F4J7TN1W), ThinQ1 washer. Same frame as WTDN3 minus the dryer byte; tables from LG's modelJson. Confirmed live: power, states up to Washing, course/wash/spin/temp/rinse, times, door lock, tub clean count. Option bits, child lock, remote start and the commands are spec-only so far (synthetic fixtures, labelled).
RC90U2_WW (LG RC9DN9029), ThinQ2 heat pump dryer. US-dryer AABB dialect with the 25-byte EU record from LG's modelJson. Read-only. Confirmed live: power, Ready/Running, phase, 11 courses, dry level, Eco Hybrid, times, Delay End. Damp dry beep, hand iron, errors and Paused/End are spec-only. Unexplained bits are not exposed.