Open partsdotpdf opened 1 year ago
Ooops, debug log attached; log_fridge_2023-01-28T01-41-13.800Z.log
Yeah, looks like it's probably using a different control/sensor scheme. Can you follow the directions over on the SDK repo and post that log? Let's see what it's exposing...
Wew nice tool. Some output below and attached some dumps. Been a bit of a self education, feel a bit dumb, some of the 'features' on the fridge/app just change the temperature & lock out changes. Ie: Ice boost and fast freeze both lock the freezer temperature to -22C.
items of interest from the 'startup' of the script:
DEBUG Received features ['REFRIGERATION_V1_CONVERTIBLE_DRAWER', 'REFRIGERATION_V1_FOUNDATION'] for D828C9BA6A66
Icemaker boost on/off - see on/off toggle log below.
DEBUG Setting 0x100D to b'\x00'
Somehow related to the variable temperature zone.
DEBUG Setting 0x1022 to b'\x00\x00'
No idea what this one is. Didn't see it at all.
DEBUG Setting 0x1023 to b'\x00\xf8\x07\x00\x13\x0f\x17\x01 \x1c"\x02%")\x03'
the 'iceboost' feature turn on:
DEBUG Setting 0x100D to b'\x01'
DEBUG Setting ErdCode.TEMPERATURE_SETTING to FridgeSetPoints(fridge=37, freezer=-8)
turn off:
DEBUG Setting 0x100D to b'\x00'
DEBUG Setting ErdCode.TEMPERATURE_SETTING to FridgeSetPoints(fridge=37, freezer=1)
variable zone action, (change temperature to -17C):
DEBUG Setting 0x1022 to b'\x00\x01'
DEBUG Appliance state change detected in GeAppliance(D828C9BA6A66) (ErdApplianceType.FRIDGE). Updated keys: 0x1022
Few other examples changing the variable temperature below... all the same Setting 0x1022 to...
'freezer' -22C: b'\x00\xf8'
'freezer' -20C: b'\x00\xfc'
'freezer' -19C: b'\x00\xfe'
'freezer' -18C: b'\x00\x00'
'freezer' -14C: b'\x00\x07'
'soft chill' -7C: b'\x01\x13'
'chill' -2C: b'\x02\x1c'
'chill' -1C: b'\x02\x1e'
'chill' 0C: b'\x02 '
'chill' 1C: b'\x02"'
'fridge 1C': b'\x03"'
'fridge 2C': b'\x03$'
'fridge' 3C: b'\x03%'
So my guess would be the first byte is the index/ID for the variable zone mode [freezer, soft chill, chill, fridge] & second is the temperature of some sort. Each mode has a limited temperature range in the app [[-22,-14],[-9,-5],[-2,1],[1,5]]. Hope that makes sense. Not sure why for positive temps it appears to no longer use hex for the second character. Fun fun!
fast-freeze-on-off.txt ice-maker-on-off.txt iceboost-on-off.txt log-start.txt varzone-set-neg14C.txt varZone-set-neg17C.txt
I added in the new erd codes, converter & configuration to gehomesdk/erd/... Can't get the websocket example to recognise the erd new codes. I'm stumped. Any ideas?
I added: To erdconfiguration.py;
ErdConfigurationEntry(ErdCode.VARIABLE_ZONE_MODE_TEMP, ErdVariableZoneModeConverter(), ErdCodeClass.FRIDGE_SENSOR),`
To erdcodes.py
ICE_MAKER_TURBO = "0x100d"
VARIABLE_ZONE_MODE_TEMP = "0x1022"
FRIDGE_UNKNOWN_1023 = "0x1023"
Made a new converter in its own file per the above and added all the gizmos to the inits...
Did you pip install the development version using the -e flag? Otherwise, it may try to use the package from the web.
SMH. Yeah that'll do it. Up and running now. Basic function working but getting the converter right is a little annoying with the inconsistent temperature values.
So far I get something like, which looks pretty good;
Setting ErdCode.VARIABLE_ZONE_MODE_TEMP to ErdVariableZoneModeTemp(mode=<ErdVariableZoneMode.SOFT_FREEZE: '01'>, temperature=-9)
Are you happy for me to raise a pull request when I'm done?
Yep, feel free to do so, happy to integrate.
Hi there,
I have a Quad door F&P fridge (RF605QUAA) which is detected by this integration. Basic functionality works really well. This is a great integration!
It has a few features which are not supported/detected - can I help fix this?
Let me know what I can provide to help. Have dumped some shorter log output below and attached a longer log.
I see the model sensor: FridgeModelInfo(has_fridge=True, has_freezer=True, has_convertable_drawer=False, doors=2, raw_value='107904')
Some logs extract: 2023-01-28 12:34:04.197 DEBUG (MainThread) [custom_components.ge_home.update_coordinator] Got initial update for D828C9BA6A66 2023-01-28 12:34:04.197 DEBUG (MainThread) [custom_components.ge_home.update_coordinator] Adding appliance api for appliance D828C9BA6A66 (ErdApplianceType.FRIDGE) 2023-01-28 12:34:04.197 DEBUG (MainThread) [custom_components.ge_home.devices] Found device type: ErdApplianceType.FRIDGE 2023-01-28 12:34:34.583 DEBUG (MainThread) [custom_components.ge_home.update_coordinator] Updating <Entity N7M005726551 Fridge Model Info: FridgeModelInfo(has_fridge=True, has_freezer=True, has_convertable_drawer=False, doors=2, raw_value='107904')> (ge_home_N7M005726551_fridge_model_info, sensor.n7m005726551_fridge_model_info) 2023-01-28 12:34:34.584 DEBUG (MainThread) [custom_components.ge_home.entities.fridge.ge_abstract_fridge] Turbo mode not supported. 2023-01-28 12:34:34.585 DEBUG (MainThread) [custom_components.ge_home.update_coordinator] Updating (ge_home_N7M005726551_fridge, water_heater.n7m005726551_fridge)
2023-01-28 12:34:34.585 DEBUG (MainThread) [custom_components.ge_home.entities.fridge.ge_abstract_fridge] No temperature setpoint limits available. Using hardcoded limits.
2023-01-28 12:34:34.592 DEBUG (MainThread) [custom_components.ge_home.entities.fridge.ge_abstract_fridge] No temperature setpoint limits available. Using hardcoded limits.
2023-01-28 12:34:34.593 DEBUG (MainThread) [custom_components.ge_home.entities.fridge.ge_abstract_fridge] Turbo mode not supported.
2023-01-28 12:34:34.594 DEBUG (MainThread) [custom_components.ge_home.entities.fridge.ge_abstract_fridge] Device doesn't report current temperature.
2023-01-28 12:34:34.594 DEBUG (MainThread) [custom_components.ge_home.entities.fridge.ge_abstract_fridge] Turbo mode not supported.
2023-01-28 12:34:34.594 DEBUG (MainThread) [custom_components.ge_home.entities.fridge.ge_fridge] Device does not report door status.
2023-01-28 12:34:34.595 DEBUG (MainThread) [custom_components.ge_home.update_coordinator] Updating (ge_home_N7M005726551_water_filter_status, sensor.n7m005726551_water_filter_status)
2023-01-28 12:34:34.596 DEBUG (MainThread) [custom_components.ge_home.update_coordinator] Updating (ge_home_N7M005726551_freezer, water_heater.n7m005726551_freezer)
2023-01-28 12:34:34.596 DEBUG (MainThread) [custom_components.ge_home.entities.fridge.ge_abstract_fridge] No temperature setpoint limits available. Using hardcoded limits.
2023-01-28 12:34:34.597 DEBUG (MainThread) [custom_components.ge_home.entities.fridge.ge_abstract_fridge] No temperature setpoint limits available. Using hardcoded limits.
2023-01-28 12:34:34.599 DEBUG (MainThread) [custom_components.ge_home.entities.fridge.ge_abstract_fridge] Device doesn't report current temperature.
2023-01-28 12:34:34.600 DEBUG (MainThread) [custom_components.ge_home.entities.fridge.ge_freezer] Device does not report door status.
2023-01-28 12:34:34.601 DEBUG (MainThread) [custom_components.ge_home.update_coordinator] Updating (ge_home_N7M005726551_ice_maker_control_status_freezer, binary_sensor.n7m005726551_ice_maker_control_status_freezer)
2023-01-28 12:35:04.537 DEBUG (MainThread) [custom_components.ge_home.update_coordinator] Updating (ge_home_N7M005726551_sabbath_mode, switch.n7m005726551_sabbath_mode)
2023-01-28 12:35:04.538 DEBUG (MainThread) [custom_components.ge_home.update_coordinator] Updating <Entity N7M005726551 Fridge Model Info: FridgeModelInfo(has_fridge=True, has_freezer=True, has_convertable_drawer=False, doors=2, raw_value='107904')> (ge_home_N7M005726551_fridge_model_info, sensor.n7m005726551_fridge_model_info)