New device support request: LG fridge 2REBGLUB_2P__ / LG GBBS322CEV
Hi,
I successfully provisioned an LG refrigerator locally with rethink-cloud. The device connects as a ThinQ2 appliance and is visible in the Rethink management UI, but it is currently not mapped to Home Assistant.
The device appears online in Rethink, but the status is shown as warning/unsupported and no Home Assistant entities are created.
Device information
appliance: LG refrigerator
consumer_model: LG GBBS322CEV
rethink_model_id: 2REBGLUB_2P__
device_type: 101
protocol: thinq2
status_in_rethink: online / warning
modem_type: BEKEN_BK7234
app_version: clip_bkn_v1.9.238
country: DE
Current behavior
The device was provisioned successfully with the Rethink Android setup app.
Rethink shows the device as:
model_id: 2REBGLUB_2P__
device_type: 101
protocol: thinq2
status: online / warning
The device communicates with the local Rethink server, but no Home Assistant mapping is created because the model is currently unsupported.
Status query
The following status query packet works with this model:
AA0EF0ED1211010000010400EBBB
After sending this packet, the refrigerator responds with a 10EB full status frame.
Packet types observed
The device sends at least these packet types:
10EB:
meaning: full status / initial status
observed_prefix: AA66
10EC:
meaning: delta status
observed_prefix: AAC6
structure: appears to contain previous status block + current status block
10AF:
meaning: unknown
observed_prefix: AA0B
note: likely compact periodic status or monitor packet
Full status packet
Example full status packet with the following known state:
fridge_setpoint: +3 °C
freezer_setpoint: -20 °C
door: closed
Packet:
AA6610EB02050601FFFFFF0201FFFFFF00FFFFFF0000FFFFFFFFFFFFFFFF010101FF02FFFFFFFFFFFFFFFFFF01FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0078FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0005FFFFFFFFFF01010101000EBB
Confirmed setpoint mapping
The beginning of the 10EB full status packet appears to map as follows:
AA 66 10 EB 02 05 06 01 ...
│ │
│ └ freezer_raw
└ fridge_raw
Confirmed formulas:
fridge_setpoint:
full_frame_offset: 5
formula: 8 - raw
freezer_setpoint:
full_frame_offset: 6
formula: -14 - raw
Observed fridge examples:
fridge_setpoint:
raw_05: +3 °C
raw_06: +2 °C
raw_02: +6 °C
Observed freezer examples:
freezer_setpoint:
raw_04: -18 °C
raw_06: -20 °C
Confirmed examples:
AA6610EB02050401... = fridge +3 °C, freezer -18 °C
AA6610EB02060401... = fridge +2 °C, freezer -18 °C
AA6610EB02050601... = fridge +3 °C, freezer -20 °C
Confirmed door status
The door status appears to be a combined door state. It does not seem to distinguish between the fridge door and the freezer door in the currently observed packets.
Confirmed mapping:
door:
full_frame_offset: 10
status_block_offset: 7
values:
01: open
02: closed
note: appears to be a combined door state, not separate fridge/freezer door states
Relevant field in the full status packet:
AA 66 10 EB 02 05 06 01 FF FF FF 02 01 ...
^^
door_raw
Observed states:
door_open:
raw: 01
door_closed:
raw: 02
Fridge door test
Fridge door open:
AA6610EB02050601FFFFFF0101FFFFFF00FFFFFF0000FFFFFFFFFFFFFFFF010101FF02FFFFFFFFFFFFFFFFFF01FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0078FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0005FFFFFFFFFF01010101000FBB
Decoded:
Fridge door closed:
AA6610EB02050601FFFFFF0201FFFFFF00FFFFFF0000FFFFFFFFFFFFFFFF010101FF02FFFFFFFFFFFFFFFFFF01FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0078FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0005FFFFFFFFFF01010101000EBB
Decoded:
door_raw: 02
door: closed
Freezer door test
Freezer door open:
AA6610EB02050601FFFFFF0101FFFFFF00FFFFFF0000FFFFFFFFFFFFFFFF010101FF02FFFFFFFFFFFFFFFFFF01FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0078FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0005FFFFFFFFFF01010101000FBB
Decoded:
Freezer door closed:
AA6610EB02050601FFFFFF0201FFFFFF00FFFFFF0000FFFFFFFFFFFFFFFF010101FF02FFFFFFFFFFFFFFFFFF01FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0078FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0005FFFFFFFFFF01010101000EBB
Decoded:
door_raw: 02
door: closed
Conclusion:
separate_fridge_door: not observed
separate_freezer_door: not observed
combined_door_status: confirmed
Delta status packets
The device sends 10EC frames when values change. These appear to contain two complete status blocks:
10EC_structure:
first_block: previous status
second_block: current status
Example delta packet during a freezer setpoint change:
AAC610EC02050401FFFFFF0101FFFFFF00FFFFFF0000FFFFFFFFFFFFFFFF010101FF02FFFFFFFFFFFFFFFF01FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0078FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0005FFFFFFFF010101010002050601FFFFFF0101FFFFFF00FFFFFF0000FFFFFFFFFFFFFFFF010101FF02FFFFFFFFFFFFFFFFFF01FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0078FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0005FFFFFFFFFF01010101005DBB
This packet appears to represent:
previous_state:
fridge_raw: 05
freezer_raw: 04
fridge_setpoint: +3 °C
freezer_setpoint: -18 °C
current_state:
fridge_raw: 05
freezer_raw: 06
fridge_setpoint: +3 °C
freezer_setpoint: -20 °C
Door delta examples
Closed to open:
previous:
02050601FFFFFF0201...
current:
02050601FFFFFF0101...
Open to closed:
previous:
02050601FFFFFF0101...
current:
02050601FFFFFF0201...
Decoded:
door_raw_01: open
door_raw_02: closed
Periodic 10AF packets
The device also sends repeated short 10AF packets. These appeared in bursts of around 11 packets at roughly 5 second intervals.
Example:
Parsed:
AA 0B 10 AF 00 00 46 06 05 90 BB
At the time of this packet, the known setpoints were:
fridge_setpoint: +3 °C
freezer_setpoint: -20 °C
The last two payload bytes appear to match the confirmed raw setpoint values:
freezer_raw: 06
fridge_raw: 05
Using the confirmed formulas:
freezer_raw_06: -20 °C
fridge_raw_05: +3 °C
Possible interpretation:
10AF:
likely_contains:
freezer_raw: payload[-2]
fridge_raw: payload[-1]
purpose: unknown
possible_meaning: compact periodic status / monitor packet
The meaning of the byte 46 is still unknown.
Additional example packets
Full status, fridge +3 °C, freezer -18 °C
AA6610EB02050401FFFFFF0201FFFFFF00FFFFFF0000FFFFFFFFFFFFFFFF010101FF02FFFFFFFFFFFFFFFF01FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0078FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0005FFFFFFFF01010101000CBB
Decoded:
fridge_raw: 05
fridge_setpoint: +3 °C
freezer_raw: 04
freezer_setpoint: -18 °C
door_raw: 02
door: closed
Full status, fridge +2 °C, freezer -18 °C
AA6610EB02060401FFFFFF0201FFFFFF00FFFFFF0000FFFFFFFFFFFFFFFF010101FF02FFFFFFFFFFFFFFFF01FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0078FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0005FFFFFFFF01010101000FBB
Decoded:
fridge_raw: 06
fridge_setpoint: +2 °C
freezer_raw: 04
freezer_setpoint: -18 °C
door_raw: 02
door: closed
Full status, fridge +3 °C, freezer -20 °C, door closed
AA6610EB02050601FFFFFF0201FFFFFF00FFFFFF0000FFFFFFFFFFFFFFFF010101FF02FFFFFFFFFFFFFFFFFF01FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0078FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0005FFFFFFFFFF01010101000EBB
Decoded:
fridge_raw: 05
fridge_setpoint: +3 °C
freezer_raw: 06
freezer_setpoint: -20 °C
door_raw: 02
door: closed
Full status, fridge +3 °C, freezer -20 °C, door open
AA6610EB02050601FFFFFF0101FFFFFF00FFFFFF0000FFFFFFFFFFFFFFFF010101FF02FFFFFFFFFFFFFFFFFF01FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0078FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0005FFFFFFFFFF01010101000FBB
Decoded:
fridge_raw: 05
fridge_setpoint: +3 °C
freezer_raw: 06
freezer_setpoint: -20 °C
door_raw: 01
door: open
Suggested initial decoder
A first implementation for 2REBGLUB_2P__ could likely reuse parts of the existing fridge logic, but with larger status blocks.
model_id: 2REBGLUB_2P__
device_type: 101
protocol: thinq2
full_status:
packet_type: 10EB
frame_prefix: AA66
delta_status:
packet_type: 10EC
frame_prefix: AAC6
structure: previous_status + current_status
fields:
fridge_setpoint:
full_frame_offset: 5
formula: 8 - raw
freezer_setpoint:
full_frame_offset: 6
formula: -14 - raw
door:
full_frame_offset: 10
status_block_offset: 7
values:
01: open
02: closed
note: combined door state, not separate fridge/freezer door states
optional:
compact_status_10AF:
freezer_raw: payload[-2]
fridge_raw: payload[-1]
Suggested decoding logic
Pseudo logic for 10EB:
if frame_type == 10EB:
fridge_raw = frame[5]
freezer_raw = frame[6]
door_raw = frame[10]
fridge_setpoint = 8 - fridge_raw
freezer_setpoint = -14 - freezer_raw
if door_raw == 0x01:
door = "open"
elif door_raw == 0x02:
door = "closed"
Pseudo logic for 10EC:
if frame_type == 10EC:
previous_status = first status block
current_status = second status block
decode current_status using the same field mapping as 10EB
Pseudo logic for 10AF:
if frame_type == 10AF:
freezer_raw = payload[-2]
fridge_raw = payload[-1]
freezer_setpoint = -14 - freezer_raw
fridge_setpoint = 8 - fridge_raw
The 10AF packet should probably be treated as optional until its meaning is better understood.
Open questions
- What is the exact status block length for
2REBGLUB_2P__?
- Can the existing fridge decoder be generalized for this larger
10EB / 10EC payload format?
- Is
10AF known from other LG ThinQ2 appliances?
- Does this model only expose one combined door state, or is there a hidden separate fridge/freezer door field elsewhere?
- Are there additional fields for:
- current fridge temperature
- current freezer temperature
- express cool / super cool
- express freeze / super freeze
- alarm state
- diagnostic state
- compressor state
- defrost state
- energy saving mode
- What does the
46 byte in the observed 10AF packet represent?
Summary
Confirmed:
device:
model_id: 2REBGLUB_2P__
device_type: 101
protocol: thinq2
packets:
10EB: full status
10EC: delta status
10AF: unknown compact periodic status candidate
confirmed_fields:
fridge_setpoint:
offset: 5
formula: 8 - raw
freezer_setpoint:
offset: 6
formula: -14 - raw
door:
offset: 10
raw_01: open
raw_02: closed
note: combined door state
Unknown:
10AF:
meaning: unknown
likely_contains:
freezer_raw: payload[-2]
fridge_raw: payload[-1]
unknown_fields:
current_fridge_temperature
current_freezer_temperature
super_cool
super_freeze
alarm_state
compressor_state
defrost_state
separate_fridge_door
separate_freezer_door
I can provide more captures if needed.
New device support request: LG fridge
2REBGLUB_2P__/ LG GBBS322CEVHi,
I successfully provisioned an LG refrigerator locally with
rethink-cloud. The device connects as a ThinQ2 appliance and is visible in the Rethink management UI, but it is currently not mapped to Home Assistant.The device appears online in Rethink, but the status is shown as warning/unsupported and no Home Assistant entities are created.
Device information
Current behavior
The device was provisioned successfully with the Rethink Android setup app.
Rethink shows the device as:
The device communicates with the local Rethink server, but no Home Assistant mapping is created because the model is currently unsupported.
Status query
The following status query packet works with this model:
After sending this packet, the refrigerator responds with a
10EBfull status frame.Packet types observed
The device sends at least these packet types:
Full status packet
Example full status packet with the following known state:
Packet:
Confirmed setpoint mapping
The beginning of the
10EBfull status packet appears to map as follows:Confirmed formulas:
Observed fridge examples:
Observed freezer examples:
Confirmed examples:
Confirmed door status
The door status appears to be a combined door state. It does not seem to distinguish between the fridge door and the freezer door in the currently observed packets.
Confirmed mapping:
Relevant field in the full status packet:
Observed states:
Fridge door test
Fridge door open:
Decoded:
Fridge door closed:
Decoded:
Freezer door test
Freezer door open:
Decoded:
Freezer door closed:
Decoded:
Conclusion:
Delta status packets
The device sends
10ECframes when values change. These appear to contain two complete status blocks:Example delta packet during a freezer setpoint change:
This packet appears to represent:
Door delta examples
Closed to open:
Open to closed:
Decoded:
Periodic
10AFpacketsThe device also sends repeated short
10AFpackets. These appeared in bursts of around 11 packets at roughly 5 second intervals.Example:
Parsed:
At the time of this packet, the known setpoints were:
The last two payload bytes appear to match the confirmed raw setpoint values:
Using the confirmed formulas:
Possible interpretation:
The meaning of the byte
46is still unknown.Additional example packets
Full status, fridge +3 °C, freezer -18 °C
Decoded:
Full status, fridge +2 °C, freezer -18 °C
Decoded:
Full status, fridge +3 °C, freezer -20 °C, door closed
Decoded:
Full status, fridge +3 °C, freezer -20 °C, door open
Decoded:
Suggested initial decoder
A first implementation for
2REBGLUB_2P__could likely reuse parts of the existing fridge logic, but with larger status blocks.Suggested decoding logic
Pseudo logic for
10EB:Pseudo logic for
10EC:Pseudo logic for
10AF:The
10AFpacket should probably be treated as optional until its meaning is better understood.Open questions
2REBGLUB_2P__?10EB/10ECpayload format?10AFknown from other LG ThinQ2 appliances?46byte in the observed10AFpacket represent?Summary
Confirmed:
Unknown:
I can provide more captures if needed.