Open keenanj123 opened 7 months ago
I just picked up a GE Profile oven as well, and it was pulled into the integration, though mis-categorized as a water heater.
@keenanj123 what's the model? Most ovens are supported in some way at this point (maybe not every feature, but at least the basics). @joaldes, HASS doesn't have a dedicated oven entity, so water heater was the closest approximation to an oven.
Thanks @simbaja for clarifying that for me!
Also picked up a the Profile Smart Oven. Happy to get any logs, packet caps, etc., needed for support of the product.
Model: P9OIAAS6TBB Software Version: 0.0.0.0 Wifi Module Version: 0.3.14.116
Integration didn't pick it up, but there's a mention of an unknown device in the logs:
2024-05-12 13:54:49.157 WARNING (MainThread) [custom_components.ge_home.update_coordinator] Could not find appliance 0200000EF598 in known device list.
2024-05-12 13:54:54.296 DEBUG (MainThread) [custom_components.ge_home.update_coordinator] resetting the coordinator
2024-05-12 13:54:54.298 DEBUG (MainThread) [custom_components.ge_home.update_coordinator] Setting up coordinator
2024-05-12 13:54:54.298 DEBUG (MainThread) [custom_components.ge_home.binary_sensor] Adding GE Binary Sensor Entities
2024-05-12 13:54:54.299 DEBUG (MainThread) [custom_components.ge_home.sensor] Adding GE Home sensors
2024-05-12 13:54:54.299 DEBUG (MainThread) [custom_components.ge_home.switch] Adding GE Home switches
2024-05-12 13:54:54.300 DEBUG (MainThread) [custom_components.ge_home.water_heater] Adding GE "Water Heaters"
2024-05-12 13:54:54.300 DEBUG (MainThread) [custom_components.ge_home.select] Adding GE Home selects
2024-05-12 13:54:54.300 DEBUG (MainThread) [custom_components.ge_home.climate] Adding GE Climate Entities
2024-05-12 13:54:54.301 DEBUG (MainThread) [custom_components.ge_home.light] Adding GE Home lights
2024-05-12 13:54:54.301 DEBUG (MainThread) [custom_components.ge_home.button] Adding GE Button Entities
2024-05-12 13:54:54.301 DEBUG (MainThread) [custom_components.ge_home.number] Adding GE Number Entities
2024-05-12 13:54:54.302 DEBUG (MainThread) [custom_components.ge_home.humidifier] Adding GE "Humidifiers"
2024-05-12 13:54:54.302 DEBUG (MainThread) [custom_components.ge_home.update_coordinator] Creating and starting client
2024-05-12 13:54:54.302 DEBUG (MainThread) [custom_components.ge_home.update_coordinator] Beginning session
2024-05-12 13:54:56.141 DEBUG (MainThread) [custom_components.ge_home.update_coordinator] Client running
2024-05-12 13:54:56.666 DEBUG (MainThread) [custom_components.ge_home.update_coordinator] Got roster update
2024-05-12 13:54:56.873 WARNING (MainThread) [custom_components.ge_home.update_coordinator] Could not find appliance 0200000EF598 in known device list.
2024-05-12 13:54:56.873 DEBUG (MainThread) [custom_components.ge_home.update_coordinator] Got initial update for 0200000EF598
2024-05-12 13:54:56.874 DEBUG (MainThread) [custom_components.ge_home.update_coordinator] Adding appliance api for appliance 0200000EF598 (ErdApplianceType.UNKNOWN)
2024-05-12 13:54:56.874 DEBUG (MainThread) [custom_components.ge_home.devices] Found device type: ErdApplianceType.UNKNOWN
2024-05-12 13:54:56.874 DEBUG (MainThread) [custom_components.ge_home.update_coordinator] Ready to go, sending ready signal
2024-05-12 13:54:56.876 DEBUG (MainThread) [custom_components.ge_home.binary_sensor] Found 1 appliance APIs
2024-05-12 13:54:56.876 DEBUG (MainThread) [custom_components.ge_home.binary_sensor] Found 0 unregistered binary sensors
2024-05-12 13:54:56.876 DEBUG (MainThread) [custom_components.ge_home.sensor] Found 1 appliance APIs
2024-05-12 13:54:56.876 DEBUG (MainThread) [custom_components.ge_home.sensor] Found 0 unregistered sensors
2024-05-12 13:54:56.876 DEBUG (MainThread) [custom_components.ge_home.switch] Found 1 appliance APIs
2024-05-12 13:54:56.876 DEBUG (MainThread) [custom_components.ge_home.switch] Found 0 unregistered switches
2024-05-12 13:54:56.876 DEBUG (MainThread) [custom_components.ge_home.water_heater] Found 1 appliance APIs
2024-05-12 13:54:56.877 DEBUG (MainThread) [custom_components.ge_home.water_heater] Found 0 unregistered water heaters
2024-05-12 13:54:56.877 DEBUG (MainThread) [custom_components.ge_home.select] Found 1 appliance APIs
2024-05-12 13:54:56.877 DEBUG (MainThread) [custom_components.ge_home.select] Found 0 unregistered selects
2024-05-12 13:54:56.877 DEBUG (MainThread) [custom_components.ge_home.climate] Found 1 appliance APIs
2024-05-12 13:54:56.877 DEBUG (MainThread) [custom_components.ge_home.climate] Found 0 unregistered climate entities
2024-05-12 13:54:56.877 DEBUG (MainThread) [custom_components.ge_home.light] Found 1 appliance APIs
2024-05-12 13:54:56.877 DEBUG (MainThread) [custom_components.ge_home.light] Found 0 unregistered lights
2024-05-12 13:54:56.877 DEBUG (MainThread) [custom_components.ge_home.button] Found 1 appliance APIs
2024-05-12 13:54:56.877 DEBUG (MainThread) [custom_components.ge_home.button] Found 0 unregistered buttons
2024-05-12 13:54:56.877 DEBUG (MainThread) [custom_components.ge_home.number] Found 1 appliance APIs
2024-05-12 13:54:56.877 DEBUG (MainThread) [custom_components.ge_home.number] Found 0 unregisterd numbers
2024-05-12 13:54:56.877 DEBUG (MainThread) [custom_components.ge_home.humidifier] Found 1 appliance APIs
2024-05-12 13:54:56.878 DEBUG (MainThread) [custom_components.ge_home.humidifier] Found 0 unregistered humidifiers
2024-05-12 13:54:56.878 DEBUG (MainThread) [custom_components.ge_home.update_coordinator] Requesting updates for 0200000EF598
Can you perhaps go to the SDK (https://github.com/simbaja/gehome) and get the detailed log from there? It'll give us an idea of the available information for that device.
Output from the latest version of gehomesdk
Pieces that looked suspiciously like auth credentials and the serial number have been <snip>
ed.
Using slower stringprep, consider compiling the faster cython/libidn one.
2024-05-13 20:05:55,735 DEBUG Using selector: SelectSelector
2024-05-13 20:05:55,735 DEBUG Getting OAuth2 token
2024-05-13 20:05:55,735 DEBUG received event: state_changed, processing callbacks...
2024-05-13 20:05:55,735 DEBUG processing callback: <bound method GeBaseClient._on_state_change of <gehomesdk.clients.websocket_client.GeWebsocketClient object at 0x00000223C138B4A0>>
2024-05-13 20:05:55,748 DEBUG Client changed state: GeClientState.INITIALIZING to GeClientState.AUTHORIZING_OAUTH
2024-05-13 20:05:57,668 DEBUG Getting WS credentials
2024-05-13 20:05:57,668 DEBUG received event: state_changed, processing callbacks...
2024-05-13 20:05:57,668 DEBUG processing callback: <bound method GeBaseClient._on_state_change of <gehomesdk.clients.websocket_client.GeWebsocketClient object at 0x00000223C138B4A0>>
2024-05-13 20:05:57,668 DEBUG Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2024-05-13 20:05:57,788 INFO Starting GE Appliances client
2024-05-13 20:05:57,788 DEBUG received event: state_changed, processing callbacks...
2024-05-13 20:05:57,788 DEBUG processing callback: <bound method GeBaseClient._on_state_change of <gehomesdk.clients.websocket_client.GeWebsocketClient object at 0x00000223C138B4A0>>
2024-05-13 20:05:57,867 DEBUG Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2024-05-13 20:05:57,932 DEBUG = connection is CONNECTING
2024-05-13 20:05:57,983 DEBUG > GET /?access_token=<snip> HTTP/1.1
2024-05-13 20:05:57,983 DEBUG > Host: ws-us-west-2.brillion.geappliances.com
2024-05-13 20:05:57,983 DEBUG > Upgrade: websocket
2024-05-13 20:05:57,983 DEBUG > Connection: Upgrade
2024-05-13 20:05:57,983 DEBUG > Sec-WebSocket-Key: <snip>
2024-05-13 20:05:57,984 DEBUG > Sec-WebSocket-Version: 13
2024-05-13 20:05:57,984 DEBUG > User-Agent: Python/3.12 websockets/12.0
2024-05-13 20:05:58,197 DEBUG < HTTP/1.1 101 Switching Protocols
2024-05-13 20:05:58,197 DEBUG < Date: Tue, 14 May 2024 02:05:58 GMT
2024-05-13 20:05:58,198 DEBUG < Connection: upgrade
2024-05-13 20:05:58,198 DEBUG < upgrade: websocket
2024-05-13 20:05:58,198 DEBUG < sec-websocket-accept: <snip>
2024-05-13 20:05:58,198 DEBUG = connection is OPEN
2024-05-13 20:05:58,198 DEBUG > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance/*/erd/*"]}' [91 bytes]
2024-05-13 20:05:58,198 DEBUG received event: state_changed, processing callbacks...
2024-05-13 20:05:58,198 DEBUG processing callback: <bound method GeBaseClient._on_state_change of <gehomesdk.clients.websocket_client.GeWebsocketClient object at 0x00000223C138B4A0>>
2024-05-13 20:05:58,199 DEBUG > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes]
2024-05-13 20:05:58,199 DEBUG Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED
2024-05-13 20:05:58,199 DEBUG received event: connected, processing callbacks...
2024-05-13 20:05:58,286 DEBUG < TEXT '{"kind":"websocket#subscribe","success":true}' [45 bytes]
2024-05-13 20:05:58,331 DEBUG < TEXT '{"kind":"websocket#connect","success":true}' [43 bytes]
2024-05-13 20:05:58,447 DEBUG < TEXT '{"kind":"websocket#api","id":"List-appliances",...5-12T20:32:12.161Z"}]}}' [433 bytes]
2024-05-13 20:05:58,447 DEBUG 0200000EF598 marked available
2024-05-13 20:05:58,447 DEBUG Adding appliance 0200000EF598
2024-05-13 20:05:58,447 DEBUG received event: add_appliance, processing callbacks...
2024-05-13 20:05:58,447 DEBUG processing callback: <function do_periodic_update at 0x00000223C14E8E00>
2024-05-13 20:05:58,447 DEBUG Requesting update for client 0200000EF598
2024-05-13 20:05:58,447 DEBUG > TEXT '{"kind": "websocket#api", "action": "api", "hos... "0200000EF598-allErd"}' [171 bytes]
2024-05-13 20:05:58,448 DEBUG Registering update callback for GeAppliance(0200000EF598) (Unknown Type)
2024-05-13 20:05:58,448 DEBUG Requesting features for client 0200000EF598
2024-05-13 20:05:58,448 DEBUG > TEXT '{"kind": "websocket#api", "action": "api", "hos...d": "Request-features"}' [172 bytes]
2024-05-13 20:05:58,448 DEBUG received event: got_appliance_list, processing callbacks...
2024-05-13 20:05:58,631 DEBUG < TEXT '{"kind":"websocket#api","id":"0200000EF598-allE...5-13T19:33:32.109Z"}]}}' [3703 bytes]
2024-05-13 20:05:58,631 DEBUG Setting ErdCode.MODEL_NUMBER to P9OIAAS6TBB
2024-05-13 20:05:58,631 DEBUG Setting ErdCode.SERIAL_NUMBER to <snip>
2024-05-13 20:05:58,631 DEBUG Setting ErdCode.USER_INTERFACE_LOCKED to False
2024-05-13 20:05:58,632 DEBUG Setting ErdCode.TEMPERATURE_UNIT to ErdMeasurementUnits.IMPERIAL
2024-05-13 20:05:58,632 DEBUG Setting ErdCode.APPLIANCE_TYPE to ErdApplianceType.UNKNOWN
2024-05-13 20:05:58,632 INFO Unknown appliance type found, value = 22
2024-05-13 20:05:58,632 DEBUG Setting ErdCode.SOUND_LEVEL to ErdSoundLevel.HIGH
2024-05-13 20:05:58,632 DEBUG Setting ErdCode.UNIT_TYPE to ErdUnitType.UNKNOWN
2024-05-13 20:05:58,632 DEBUG Setting ErdCode.BRAND to ErdBrand.GE_PROFILE
2024-05-13 20:05:58,632 DEBUG Setting ErdCode.WIFI_MODULE_SW_VERSION to 0.3.15.116
2024-05-13 20:05:58,632 DEBUG Setting ErdCode.WIFI_MODULE_SW_VERSION_AVAILABLE to 0.0.0.0
2024-05-13 20:05:58,632 DEBUG Setting ErdCode.ACM_UPDATING to False
2024-05-13 20:05:58,632 DEBUG Setting ErdCode.APPLIANCE_SW_VERSION to 45.0.1.164
2024-05-13 20:05:58,633 DEBUG Setting ErdCode.APPLIANCE_SW_VERSION_AVAILABLE to 0.0.0.0
2024-05-13 20:05:58,633 DEBUG Setting ErdCode.APPLIANCE_UPDATING to False
2024-05-13 20:05:58,633 DEBUG Setting ErdCode.UPPER_OVEN_REMOTE_ENABLED to False
2024-05-13 20:05:58,633 DEBUG Setting ErdCode.MICROWAVE_COOK_TIME_SETTING_MODIFICATION to b'\x02\x00'
2024-05-13 20:05:58,633 DEBUG Setting ErdCode.MICROWAVE_UNKNOWN_5C1B to b'\x00\x00\x00\x00'
2024-05-13 20:05:58,633 DEBUG Setting 0x9200 to b';\xd8\x01\x00'
2024-05-13 20:05:58,634 DEBUG Setting 0x9201 to b'\x00'
2024-05-13 20:05:58,634 DEBUG Setting 0x9203 to b'\x02'
2024-05-13 20:05:58,634 DEBUG Setting 0x9205 to b'\x00'
2024-05-13 20:05:58,634 DEBUG Setting 0x9206 to b'\x00'
2024-05-13 20:05:58,634 DEBUG Setting 0x9207 to b'\x00\x00\x01\x90\x00\x00\x02\xd0\x00\x00\x00\x00'
2024-05-13 20:05:58,634 DEBUG Setting 0x9209 to b'\x00'
2024-05-13 20:05:58,634 DEBUG Setting 0x920A to b'\x00\x00\x01\x90\x00\x00\x02\xd0\x00\x00\x00\x00\x01,\x01\xc2\x00\x00\x00<\x00\x00\n\x8c\x00\x00\xc3\x03'
2024-05-13 20:05:58,634 DEBUG Setting 0x920C to b'\x00\x00\x01^\x00\x00\x07\x08\x00\x00\x00\x00\x00\xaa\x01\xf4\x00\x00\x00<\x00\x00\xa8\xc0\x00\x00\xc7\x03'
2024-05-13 20:05:58,634 DEBUG Setting 0x9210 to b'\x00\x00\x01^\x00\x00\x0b\xb8\x00\x00\x00\x00\x00\xaa\x01\xf4\x00\x00\x00<\x00\x008@\x00\x00\xc7\x03'
2024-05-13 20:05:58,634 DEBUG Setting 0x9212 to b'\x00\x00\x01@\x00\x00\x03\x84\x00\x00\x00\x00\x00\xaa\x01\xf4\x00\x00\x00<\x00\x00\x1c \x00\x00\xc7\x03'
2024-05-13 20:05:58,634 DEBUG Setting 0x9214 to b'\x00\x00\x00\xaa\x00\x00\x0b\xb8\x00\x00\x00\x00\x00\xaa\x00\xfa\x00\x00\x00<\x00\x00*0\x00\x00\xc3\x03'
2024-05-13 20:05:58,635 DEBUG Setting 0x9220 to b'\x05\x00\x00\x00\x00\x00\x00\x00\x02\x02\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x08,<'
2024-05-13 20:05:58,635 DEBUG Setting 0x9222 to b'\x05\x00\x00\x00\x00\x00\x00\x00\x02\x02\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x08,<'
2024-05-13 20:05:58,635 DEBUG Setting 0x9225 to b'\x00'
2024-05-13 20:05:58,635 DEBUG Setting 0x922B to b'\x00'
2024-05-13 20:05:58,635 DEBUG Setting 0x922D to b'\x00\x00'
2024-05-13 20:05:58,635 DEBUG Setting 0x922F to b'\x00\x00\x00\x00'
2024-05-13 20:05:58,635 DEBUG Setting 0x9230 to b'\x00\x00\x01^\x00\x00\x04\xb0\x00\x00\x00\x00\x00\xaa\x01\xf4\x00\x00\x00<\x00\x00\x1c \x00\x00\xc3\x03'
2024-05-13 20:05:58,635 DEBUG Setting 0x9232 to b'\x00\x00\x01^\x00\x00\x02X\x00\x00\x00\x05\x00\xaa\x01\xf4\x00\x00\x00<\x00\x00\x1c \x00\x00\xc3\x03'
2024-05-13 20:05:58,635 DEBUG Setting 0x9234 to b'\x00\x02\x01\x90\x00\x00\x04\xb0\x00\x00\x00\x06\x01,\x01\xf4\x00\x00\x00<\x00\x00\x1c \x00\x00\xd0\x03'
2024-05-13 20:05:58,635 DEBUG Setting 0x9236 to b'\x00\x0c'
2024-05-13 20:05:58,635 DEBUG Setting 0x9237 to b'\x01'
2024-05-13 20:05:58,635 DEBUG Setting 0x9238 to b'\x00\x00\x01^\x00\x00\x07\x08\x00\x00\x00\x00\x00\xaa\x01\xc2\x00\x00\x00<\x00\x00\xa8\xc0\x00\x00\xc3\x03'
2024-05-13 20:05:58,635 DEBUG received event: appliance_state_change, processing callbacks...
2024-05-13 20:05:58,635 DEBUG processing callback: <bound method GeBaseClient._maybe_trigger_appliance_init_event of <gehomesdk.clients.websocket_client.GeWebsocketClient object at 0x00000223C138B4A0>>
2024-05-13 20:05:58,635 DEBUG processing callback: <function log_state_change at 0x00000223C14E8CC0>
2024-05-13 20:05:58,635 DEBUG received event: appliance_update_received, processing callbacks...
2024-05-13 20:05:58,636 DEBUG Got initial appliance type for GeAppliance(0200000EF598) (ErdApplianceType.UNKNOWN)
2024-05-13 20:05:58,636 DEBUG received event: appliance_got_type, processing callbacks...
2024-05-13 20:05:58,636 DEBUG processing callback: <function detect_appliance_type at 0x00000223C14E8D60>
2024-05-13 20:05:58,636 DEBUG Appliance state change detected in GeAppliance(0200000EF598) (ErdApplianceType.UNKNOWN). Updated keys: ErdCode.MODEL_NUMBER, ErdCode.SERIAL_NUMBER, ErdCode.USER_INTERFACE_LOCKED, ErdCode.TEMPERATURE_UNIT, ErdCode.APPLIANCE_TYPE, ErdCode.SOUND_LEVEL, ErdCode.UNIT_TYPE, ErdCode.BRAND, ErdCode.WIFI_MODULE_SW_VERSION, ErdCode.WIFI_MODULE_SW_VERSION_AVAILABLE, ErdCode.ACM_UPDATING, ErdCode.APPLIANCE_SW_VERSION, ErdCode.APPLIANCE_SW_VERSION_AVAILABLE, ErdCode.APPLIANCE_UPDATING, ErdCode.UPPER_OVEN_REMOTE_ENABLED, ErdCode.MICROWAVE_COOK_TIME_SETTING_MODIFICATION, ErdCode.MICROWAVE_UNKNOWN_5C1B, 0x9200, 0x9201, 0x9203, 0x9205, 0x9206, 0x9207, 0x9209, 0x920A, 0x920C, 0x9210, 0x9212, 0x9214, 0x9220, 0x9222, 0x9225, 0x922B, 0x922D, 0x922F, 0x9230, 0x9232, 0x9234, 0x9236, 0x9237, 0x9238
2024-05-13 20:05:58,636 DEBUG Appliance state change detected in GeAppliance(0200000EF598) (ErdApplianceType.UNKNOWN)
2024-05-13 20:05:58,689 DEBUG < TEXT '{"resource":"/appliance/*/erd/*","kind":"websoc...:true,"change":"ADDED"}' [97 bytes]
2024-05-13 20:05:58,782 DEBUG < TEXT '{"kind":"websocket#api","id":"Request-features"...N_V2_WARM_SUPPORTED"]}}' [1103 bytes]
2024-05-13 20:05:58,782 DEBUG Received features ['COMMON_V1_CONTROL_LOCK', 'COMMON_V1_SOUND_LEVEL', 'TOASTER_OVEN_V2_AIR_FRY_SUPPORTED', 'TOASTER_OVEN_V2_BAGEL_SUPPORTED', 'TOASTER_OVEN_V2_BAKE_SUPPORTED', 'TOASTER_OVEN_V2_CAKE_SUPPORTED', 'TOASTER_OVEN_V2_CAVITY_LIGHT_SUPPORTED', 'TOASTER_OVEN_V2_CONVECTION_BAKE_SUPPORTED', 'TOASTER_OVEN_V2_CONVECTION_FAN_CONTROL', 'TOASTER_OVEN_V2_COOKIE_WITH_PREFERENCES_SUPPORTED', 'TOASTER_OVEN_V2_COOKING_PUSH_NOTIFICATIONS', 'TOASTER_OVEN_V2_COOKTIME_MODIFICATION', 'TOASTER_OVEN_V2_DOOR_ALARM_SUPPORTED', 'TOASTER_OVEN_V2_FOUNDATION', 'TOASTER_OVEN_V2_LCD_BRIGHTNESS_SUPPORTED', 'TOASTER_OVEN_V2_PIZZA_WITH_PREFERENCES_SUPPORTED', 'TOASTER_OVEN_V2_REHEAT_SUPPORTED', 'TOASTER_OVEN_V2_RESET_USER_COOKING_PARAMETERS_TO_DEFAULT', 'TOASTER_OVEN_V2_ROAST_SUPPORTED', 'TOASTER_OVEN_V2_TOAST_SUPPORTED', 'TOASTER_OVEN_V2_WARM_SUPPORTED'] for 0200000EF598
2024-05-13 20:05:58,782 DEBUG received event: got_appliance_features, processing callbacks...
2024-05-13 20:06:18,213 DEBUG % sending keepalive ping
2024-05-13 20:06:18,213 DEBUG > PING 3e 2d b8 39 [binary, 4 bytes]
2024-05-13 20:06:18,250 DEBUG < PONG 3e 2d b8 39 [binary, 4 bytes]
2024-05-13 20:06:18,250 DEBUG % received keepalive pong
Checking in, to see if you need any additional information.
Apologies, been quite busy these last few weeks. I hope to have some time over the next couple to look into this.
first great work on this integration working well with my oven dishwasher and fridge. Could you add the GE Profile Smart Oven with No Preheat? Let me know what data needs to be collected.