One oven not showing up

I'm having an issue connecting my second oven.
I first installed the integration and both ovens shower up but one was unavailable. So I deleted the integration and tried again and now it only shows one oven and it says integration not loaded check logs.
This is the error code I get
2021-06-21 23:42:51 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/ge_home/update_coordinator.py", line 285, in on_device_initial_update
self.maybe_add_appliance_api(appliance)
File "/config/custom_components/ge_home/update_coordinator.py", line 121, in maybe_add_appliance_api
api.build_entities_list()
File "/config/custom_components/ge_home/devices/base.py", line 112, in build_entities_list
e for e in self.get_all_entities()
File "/config/custom_components/ge_home/devices/oven.py", line 34, in get_all_entities
cooktop_config: ErdCooktopConfig = self.appliance.get_erd_value(ErdCode.COOKTOP_CONFIG)
File "/usr/local/lib/python3.8/site-packages/gehomesdk/ge_appliance.py", line 119, in get_erd_value
return self._property_cache[erd_code]
KeyError: <ErdCode.COOKTOP_CONFIG: '0x551c'>

Can you use the sdk so we can get some debug logs for this?  I'm guessing that perhaps the cooktop config doesn't match what we've seen so far (this is all reverse engineered, no public api is available, so we may be wrong at times).

I'm not really sure how to use the sdk. Can you point me in the direction where  I can learn how to use it?

sure:

clone the gehome repository
open the folder in vscode
create a venv in vscode (python -m venv .venv)
activate the venv (should be able to activate by trying to open the activate.ps1 script in the new venv folder).  It will show (venv) as part of the integrated shell command line
install the gehome sdk locally (pip3 install -e .)
create a new file called secrets.py under the examples folder.  In this file, put two lines:

USERNAME = {your username}
PASSWORD = {your password}

replacing the {your username} and {your password} with your user account details
7. click on the websocket_example.py to open it
8. click run -> start debugging.  Make sure that it's got the right interpreter (from your venv) and you can select the "single file" option
That should get you into the sdk and once you hit run, it'll enumerate things and give more detailed messages that we can the use to diagnose the issue.  Hope this helps.

im running into this error:
Traceback (most recent call last):
File "c:\Users\Sklahr\Downloads\gehome-master\examples\websocket_example.py", line 15, in
from gehomesdk import (
File "c:\users\sklahr\downloads\gehome-master\gehomesdk_init_.py", line 6, in
from .clients import *
File "c:\users\sklahr\downloads\gehome-master\gehomesdk\clients_init_.py", line 17, in
from .base_client import GeBaseClient
File "c:\users\sklahr\downloads\gehome-master\gehomesdk\clients\base_client.py", line 4, in
from gehomesdk.clients.async_login_flows import async_get_oauth2_token, async_refresh_oauth2_token
File "c:\users\sklahr\downloads\gehome-master\gehomesdk\clients\async_login_flows.py", line 2, in
from lxml import etree
ModuleNotFoundError: No module named 'lxml'

Should be able to do a pip install lxml to clear that one, also might need to do pip install slixmpp to resolve a few others.

Now i get this
2021-07-20 12:48:32,895 DEBUG    Using selector: SelectSelector
c:\Users\Sklahr\Downloads\gehome-master\examples\websocket_example.py:74: DeprecationWarning: The object should be created within an async function
session = aiohttp.ClientSession()
2021-07-20 12:48:32,897 DEBUG    Getting OAuth2 token
2021-07-20 12:48:32,942 DEBUG    Client changed state: GeClientState.INITIALIZING to GeClientState.AUTHORIZING_OAUTH
2021-07-20 12:48:33,127 ERROR    Task exception was never retrieved
future: <Task finished name='Task-1' coro=<GeBaseClient.async_get_credentials_and_run() done, defined at c:\users\sklahr\downloads\gehome-master\gehomesdk\clients\base_client.py:114> exception=TypeError('expected string or bytes-like object')>
Traceback (most recent call last):
File "c:\users\sklahr\downloads\gehome-master\gehomesdk\clients\base_client.py", line 116, in async_get_credentials_and_run
await self.async_get_credentials(session)
File "c:\users\sklahr\downloads\gehome-master\gehomesdk\clients\base_client.py", line 187, in async_get_credentials
await self.async_do_full_login_flow()
File "c:\users\sklahr\downloads\gehome-master\gehomesdk\clients\base_client.py", line 191, in async_do_full_login_flow
self.credentials = await self._async_do_full_login_flow()
File "c:\users\sklahr\downloads\gehome-master\gehomesdk\clients\websocket_client.py", line 63, in _async_do_full_login_flow
await self._async_get_oauth2_token()
File "c:\users\sklahr\downloads\gehome-master\gehomesdk\clients\base_client.py", line 214, in _async_get_oauth2_token
oauth_token = await async_get_oauth2_token(self._session, self.account_username, self.account_password)
File "c:\users\sklahr\downloads\gehome-master\gehomesdk\clients\async_login_flows.py", line 131, in async_get_oauth2_token
code = await async_get_authorization_code(session, account_username, account_password)
File "c:\users\sklahr\downloads\gehome-master\gehomesdk\clients\async_login_flows.py", line 40, in async_get_authorization_code
clean_username = re.sub(email_regex, r'\1', account_username)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1776.0_x64__qbz5n2kfra8p0\lib\re.py", line 210, in sub
return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or bytes-like object

Did you create a secrets.py file under the examples?  The values should be quoted (apologize for not making it clear before), so something like:
USERNAME =<EMAIL_ADDRESS>PASSWORD = "password1234"
I'm guessing you may have used the {} in there, which would have actually created a dictionary object.  Again, sorry for not being more clear.

is this what im supposed to be trying to get?
(.venv) PS C:\Users\Sklahr\Downloads\gehome-master> & c:/Users/Sklahr/Downloads/gehome-master/.venv/Scripts/python.exe c:/Users/Sklahr/Downloads/gehome-master/examples/websocket_example.py
2021-07-20 12:58:20,068 DEBUG    Using selector: SelectSelector
c:\Users\Sklahr\Downloads\gehome-master\examples\websocket_example.py:74: DeprecationWarning: The object should be created within an async function
session = aiohttp.ClientSession()
2021-07-20 12:58:20,070 DEBUG    Getting OAuth2 token
2021-07-20 12:58:20,123 DEBUG    Client changed state: GeClientState.INITIALIZING to GeClientState.AUTHORIZING_OAUTH
2021-07-20 12:58:21,218 DEBUG    Getting WS credentials
2021-07-20 12:58:21,219 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-07-20 12:58:21,345 INFO     Starting GE Appliances client
2021-07-20 12:58:21,445 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-07-20 12:58:21,500 DEBUG    client - state = CONNECTING
2021-07-20 12:58:21,617 DEBUG    client - event = connection_made(<asyncio.sslproto._SSLProtocolTransport object at 0x000001D6C7DC55E0>)
2021-07-20 12:58:21,618 DEBUG    client ! failing CONNECTING WebSocket connection with code 1006
2021-07-20 12:58:21,618 DEBUG    client x closing TCP connection
2021-07-20 12:58:21,640 DEBUG    client - event = eof_received()
2021-07-20 12:58:21,640 DEBUG    client - event = connection_lost(None)
2021-07-20 12:58:21,640 DEBUG    client - state = CLOSED
2021-07-20 12:58:21,641 DEBUG    client x code = 1006, reason = [no reason]
2021-07-20 12:58:21,641 WARNING  Unhandled exception on first connect attempt: module 'secrets' has no attribute 'token_bytes', disconnecting
2021-07-20 12:58:21,642 DEBUG    Waiting before reconnecting
2021-07-20 12:58:21,642 DEBUG    Client changed state: GeClientState.CONNECTING to GeClientState.DROPPED
2021-07-20 12:58:21,642 DEBUG    Client changed state: GeClientState.DROPPED to GeClientState.WAITING
2021-07-20 12:58:23,663 DEBUG    Refreshing authentication before reconnecting
2021-07-20 12:58:23,665 DEBUG    Refreshing OAuth2 token
2021-07-20 12:58:23,668 DEBUG    Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH
2021-07-20 12:58:23,898 DEBUG    Getting WS credentials
2021-07-20 12:58:23,901 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-07-20 12:58:23,969 INFO     Disconnecting
2021-07-20 12:58:23,970 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.DISCONNECTING
2021-07-20 12:58:23,970 DEBUG    Client changed state: GeClientState.DISCONNECTING to GeClientState.DISCONNECTED

Closer.  We've run into this one before, so hopefully one more step will get you going.
Please rename the "secrets.py" file to "secret.py".  Then in the webclient_example.py, change the reference to examples.secrets to examples.secret (line 13).  Hopefully that'll get it going.

ok the code is running now. and it looks like its finding the double oven, but im not sure about the single oven. what do i do now?
BTW thanks so much for your help!

Fantastic.  Can you post the output from what it's generating so we can see what it's seeing?  Also, do you have both ovens listed in the SmartHQ app?

I have both ovens listed. the output keeps running do you want me to send all of it?

Yep, just kill it after the initial bout of activity and send what it generated.  It keeps going so that we can monitor changes and such and figure out what is happening as we hit buttons and such.

Here you go
2021-07-20 13:27:41,672 DEBUG    Using selector: SelectSelector
c:\Users\Sklahr\Downloads\gehome-master\examples\websocket_example.py:74: DeprecationWarning: The object should be created within an async function
session = aiohttp.ClientSession()
2021-07-20 13:27:41,679 DEBUG    Getting OAuth2 token
2021-07-20 13:27:41,725 DEBUG    Client changed state: GeClientState.INITIALIZING to GeClientState.AUTHORIZING_OAUTH
2021-07-20 13:27:42,786 DEBUG    Getting WS credentials
2021-07-20 13:27:42,788 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-07-20 13:27:42,937 INFO     Starting GE Appliances client
2021-07-20 13:27:42,976 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-07-20 13:27:43,033 DEBUG    client - state = CONNECTING
2021-07-20 13:27:43,121 DEBUG    client - event = connection_made(<asyncio.sslproto._SSLProtocolTransport object at 0x000001BE578916A0>)
2021-07-20 13:27:43,122 DEBUG    client > GET /?access_token=ue1cp31e0i1mwszr8dq6gzsrbemcrg98 HTTP/1.1
2021-07-20 13:27:43,122 DEBUG    client > Headers([('Host', 'ws-us-east-1.brillion.geappliances.com'), ('Upgrade', 'websocket'), ('Connection',
'Upgrade'), ('Sec-WebSocket-Key', 'wwQ77T2+DiaENWRrzgVedg=='), ('Sec-WebSocket-Version', '13'), ('Sec-WebSocket-Extensions', 'permessage-deflate; client_max_window_bits'), ('User-Agent', 'Python/3.9 websockets/9.1')])
2021-07-20 13:27:43,366 DEBUG    client - event = data_received(<212 bytes>)
2021-07-20 13:27:43,367 DEBUG    client < HTTP/1.1 101 Switching Protocols
2021-07-20 13:27:43,368 DEBUG    client < Headers([('Date', 'Tue, 20 Jul 2021 17:27:43 GMT'), ('Connection', 'upgrade'), ('upgrade', 'websocket'), ('sec-websocket-accept', '2bIrIYCAAdVDqpU9XmxV4xpoIE0='), ('sec-websocket-extensions', 'permessage-deflate')])
2021-07-20 13:27:43,369 DEBUG    client - state = OPEN
2021-07-20 13:27:43,371 DEBUG    client > Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind": "websocket#subscribe", "action": "subscribe", "resources": ["/appliance//erd/"]}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:43,373 DEBUG    client > Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind": "websocket#api", "action": "api", "host": "api.brillion.geappliances.com", "method": "GET", "path": "/v1/appliance", "id": "List-appliances"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:43,376 DEBUG    Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED
2021-07-20 13:27:43,438 DEBUG    client - event = data_received(<49 bytes>)
2021-07-20 13:27:43,440 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#subscribe","success":true}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:43,623 DEBUG    client - event = data_received(<16 bytes>)
2021-07-20 13:27:43,624 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#connect","success":true}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:43,694 DEBUG    client - event = data_received(<256 bytes>)
2021-07-20 13:27:43,694 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"List-appliances","request":{"host":"api.brillion.geappliances.com","method":"GET","path":"/v1/appliance"},"success":true,"code":200,"body":{"kind":"appliance#applianceList","userId":"54325g8m1gszbyw","items":[{"applianceId":"D828C9562025","type":"Oven","brand":"Unknown","jid":"d828c9562025_54325g8m1gszbyw","nickname":"Double Oven","online":"ONLINE"},{"applianceId":"D828C9572971","type":"Oven","brand":"Unknown","jid":"d828c9572971_54325g8m1gszbyw","nickname":"Single Oven","online":"ONLINE"}]}}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:43,702 DEBUG    D828C9562025 marked available
2021-07-20 13:27:43,703 DEBUG    Adding appliance D828C9562025
2021-07-20 13:27:43,703 DEBUG    Requesting update for client D828C9562025
2021-07-20 13:27:43,704 DEBUG    client > Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind": "websocket#api", "action": "api", "host": "api.brillion.geappliances.com", "method": "GET", "path": "/v1/appliance/D828C9562025/erd", "id": "D828C9562025-allErd"}', rsv1=False, rsv2=False,
rsv3=False)
2021-07-20 13:27:43,705 DEBUG    Requesting features for client D828C9562025
2021-07-20 13:27:43,706 DEBUG    client > Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind": "websocket#api", "action": "api", "host": "api.brillion.geappliances.com", "method": "GET", "path": "/v1/appliance/D828C9562025/feature", "id": "Request-features"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:43,712 DEBUG    D828C9572971 marked available
2021-07-20 13:27:43,712 DEBUG    Adding appliance D828C9572971
2021-07-20 13:27:43,713 DEBUG    Requesting update for client D828C9572971
2021-07-20 13:27:43,714 DEBUG    client > Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind": "websocket#api", "action": "api", "host": "api.brillion.geappliances.com", "method": "GET", "path": "/v1/appliance/D828C9572971/erd", "id": "D828C9572971-allErd"}', rsv1=False, rsv2=False,
rsv3=False)
2021-07-20 13:27:43,715 DEBUG    Requesting features for client D828C9572971
2021-07-20 13:27:43,716 DEBUG    client > Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind": "websocket#api", "action": "api", "host": "api.brillion.geappliances.com", "method": "GET", "path": "/v1/appliance/D828C9572971/feature", "id": "Request-features"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:43,718 DEBUG    Registering update callback for GeAppliance(D828C9562025) (Unknown Type)
2021-07-20 13:27:43,718 DEBUG    Registering update callback for GeAppliance(D828C9572971) (Unknown Type)
2021-07-20 13:27:43,810 DEBUG    client - event = data_received(<52 bytes>)
2021-07-20 13:27:43,810 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"resource":"/appliance//erd/","kind":"websocket#subscription","success":true,"change":"ADDED"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:43,879 DEBUG    client - event = data_received(<409 bytes>)
2021-07-20 13:27:43,881 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"D828C9562025-allErd","request":{"host":"api.brillion.geappliances.com","method":"GET","path":"/v1/appliance/D828C9562025/erd"},"success":true,"code":200,"body":{"kind":"appliance#erdList","userId":"54325g8m1gszbyw","applianceId":"D828C9562025","items":[{"erd":"0x0001","value":"0C5A544439304453534E31535300000000000000000000000000000000000000","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x0002","value":"0B534E5652313334333032510000000000000000000000000000000000000000","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x0006","value":"00","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x0007","value":"00","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x0008","value":"07","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x0009","value":"00","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x000A","value":"03","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x0100","value":"0000024D","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x0101","value":"00000000","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x0105","value":"00","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x0106","value":"00000419","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x0107","value":"00000000","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x0108","value":"00","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x5000","value":"01","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x5001","value":"01","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x5003","value":"01","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x5007","value":"08D8","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x5008","value":"022600AA","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x5100","value":"00000000000000000000000000","time":"2021-07-20T17:17:09.738Z"},{"erd":"0x5101","value":"00","time":"2021-07-20T17:17:09.757Z"},{"erd":"0x5102","value":"0000","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x5103","value":"0000","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x5104","value":"0000","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x5105","value":"0000","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x5106","value":"00","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x5107","value":"00","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x5108","value":"FFFF","time":"2021-07-19T23:07:45.806Z"},{"erd":"0x5109","value":"0000","time":"2021-07-20T17:17:16.584Z"},{"erd":"0x510A","value":"01","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x510B","value":"0000000E6673399CBCCF","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x510D","value":"00DA","time":"2021-07-20T17:27:17.926Z"},{"erd":"0x5113","value":"00014000000000000000000000000000000000000000","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x5200","value":"00000000000000000000000000","time":"2021-07-19T23:42:31.156Z"},{"erd":"0x5201","value":"00","time":"2021-07-19T23:42:31.191Z"},{"erd":"0x5202","value":"0000","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x5204","value":"0000","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x5206","value":"00","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x5208","value":"FFFF","time":"2021-07-19T23:42:31.191Z"},{"erd":"0x5209","value":"0000","time":"2021-07-19T23:42:31.768Z"},{"erd":"0x520A","value":"01","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x520B","value":"0000000E6673399CBCCF","time":"2021-07-18T23:06:57.339Z"},{"erd":"0x520D","value":"0064","time":"2021-07-20T03:23:21.919Z"},{"erd":"0x5213","value":"00014000000000000000000000000000000000000000","time":"2021-07-18T23:06:57.339Z"}]}}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:43,892 DEBUG    Setting ErdCode.MODEL_NUMBER to ZTD90DSSN1SS
2021-07-20 13:27:43,893 DEBUG    Setting ErdCode.SERIAL_NUMBER to SNVR134302Q
2021-07-20 13:27:43,894 DEBUG    Setting ErdCode.CLOCK_FORMAT to ErdClockFormat.TWELVE_HOUR
2021-07-20 13:27:43,895 DEBUG    Setting ErdCode.TEMPERATURE_UNIT to ErdMeasurementUnits.IMPERIAL
2021-07-20 13:27:43,897 DEBUG    Setting ErdCode.APPLIANCE_TYPE to ErdApplianceType.OVEN
2021-07-20 13:27:43,898 DEBUG    Setting ErdCode.SABBATH_MODE to False
2021-07-20 13:27:43,898 DEBUG    Setting ErdCode.SOUND_LEVEL to ErdSoundLevel.HIGH
2021-07-20 13:27:43,901 DEBUG    Setting ErdCode.WIFI_MODULE_SW_VERSION to <IP_ADDRESS>
2021-07-20 13:27:43,902 DEBUG    Setting ErdCode.WIFI_MODULE_SW_VERSION_AVAILABLE to <IP_ADDRESS>
2021-07-20 13:27:43,903 DEBUG    Setting ErdCode.APPLIANCE_UPDATING to False
2021-07-20 13:27:43,903 DEBUG    Setting ErdCode.LCD_SW_VERSION to <IP_ADDRESS>
2021-07-20 13:27:43,905 DEBUG    Setting ErdCode.LCD_SW_VERSION_AVAILABLE to <IP_ADDRESS>
2021-07-20 13:27:43,906 DEBUG    Setting ErdCode.LCD_UPDATING to False
2021-07-20 13:27:43,906 DEBUG    Setting ErdCode.HOUR_12_SHUTOFF_ENABLED to True
2021-07-20 13:27:43,907 DEBUG    Setting ErdCode.END_TONE to ErdEndTone.REPEATED_BEEP
2021-07-20 13:27:43,908 DEBUG    Setting ErdCode.CONVECTION_CONVERSION to True
2021-07-20 13:27:43,909 DEBUG    Setting ErdCode.OVEN_CONFIGURATION to OvenConfiguration(has_knob=False, has_warming_drawer=False, has_light_bar=False, has_lower_oven=True, has_lower_oven_kitchen_timer=True, raw_value='08D8')
2021-07-20 13:27:43,909 DEBUG    Setting ErdCode.OVEN_MODE_MIN_MAX_TEMP to OvenRanges(lower=170, upper=550)
2021-07-20 13:27:43,911 DEBUG    Setting ErdCode.UPPER_OVEN_COOK_MODE to Off
2021-07-20 13:27:43,912 DEBUG    Setting ErdCode.UPPER_OVEN_CURRENT_STATE to Off
2021-07-20 13:27:43,912 DEBUG    Setting ErdCode.UPPER_OVEN_DELAY_TIME_REMAINING to 0:00:00
2021-07-20 13:27:43,913 DEBUG    Setting ErdCode.UPPER_OVEN_PROBE_DISPLAY_TEMP to 0
2021-07-20 13:27:43,914 DEBUG    Setting ErdCode.UPPER_OVEN_COOK_TIME_REMAINING to 0:00:00
2021-07-20 13:27:43,915 DEBUG    Setting ErdCode.UPPER_OVEN_KITCHEN_TIMER to 0:00:00
2021-07-20 13:27:43,916 DEBUG    Setting ErdCode.UPPER_OVEN_USER_TEMP_OFFSET to 0
2021-07-20 13:27:43,917 DEBUG    Setting ErdCode.UPPER_OVEN_PROBE_PRESENT to False
2021-07-20 13:27:43,917 DEBUG    Got timespan value of 65535. Treating as None.
2021-07-20 13:27:43,918 DEBUG    Setting ErdCode.UPPER_OVEN_DISPLAY_TEMPERATURE to 0
2021-07-20 13:27:43,918 DEBUG    Setting ErdCode.UPPER_OVEN_REMOTE_ENABLED to True
2021-07-20 13:27:43,919 DEBUG    Setting ErdCode.UPPER_OVEN_AVAILABLE_COOK_MODES to {<ErdOvenCookMode.BAKE_NOOPTION: 1>, <ErdOvenCookMode.CONVMULTIBAKE_NOOPTION: 27>, <ErdOvenCookMode.CONVROAST_NOOPTION: 36>, <ErdOvenCookMode.CONVBAKE_NOOPTION: 18>}
2021-07-20 13:27:43,920 DEBUG    Setting ErdCode.UPPER_OVEN_RAW_TEMPERATURE to 218
2021-07-20 13:27:43,921 DEBUG    Setting 0x5113 to b'\x00\x01@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
2021-07-20 13:27:43,922 DEBUG    Setting ErdCode.LOWER_OVEN_COOK_MODE to Off
2021-07-20 13:27:43,922 DEBUG    Setting ErdCode.LOWER_OVEN_CURRENT_STATE to Off
2021-07-20 13:27:43,923 DEBUG    Setting ErdCode.LOWER_OVEN_DELAY_TIME_REMAINING to 0:00:00
2021-07-20 13:27:43,923 DEBUG    Setting ErdCode.LOWER_OVEN_COOK_TIME_REMAINING to 0:00:00
2021-07-20 13:27:43,924 DEBUG    Setting ErdCode.LOWER_OVEN_USER_TEMP_OFFSET to 0
2021-07-20 13:27:43,924 DEBUG    Got timespan value of 65535. Treating as None.
2021-07-20 13:27:43,925 DEBUG    Setting ErdCode.LOWER_OVEN_DISPLAY_TEMPERATURE to 0
2021-07-20 13:27:43,925 DEBUG    Setting ErdCode.LOWER_OVEN_REMOTE_ENABLED to True
2021-07-20 13:27:43,926 DEBUG    Setting ErdCode.LOWER_OVEN_AVAILABLE_COOK_MODES to {<ErdOvenCookMode.BAKE_NOOPTION: 1>, <ErdOvenCookMode.CONVMULTIBAKE_NOOPTION: 27>, <ErdOvenCookMode.CONVROAST_NOOPTION: 36>, <ErdOvenCookMode.CONVBAKE_NOOPTION: 18>}
2021-07-20 13:27:43,926 DEBUG    Setting ErdCode.LOWER_OVEN_RAW_TEMPERATURE to 100
2021-07-20 13:27:43,927 DEBUG    Setting 0x5213 to b'\x00\x01@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
2021-07-20 13:27:43,927 DEBUG    Got initial appliance type for GeAppliance(D828C9562025) (ErdApplianceType.OVEN)
2021-07-20 13:27:43,928 DEBUG    Appliance state change detected in GeAppliance(D828C9562025) (ErdApplianceType.OVEN). Updated keys: ErdCode.MODEL_NUMBER, ErdCode.SERIAL_NUMBER, ErdCode.CLOCK_FORMAT, ErdCode.TEMPERATURE_UNIT, ErdCode.APPLIANCE_TYPE, ErdCode.SABBATH_MODE, ErdCode.SOUND_LEVEL, ErdCode.WIFI_MODULE_SW_VERSION, ErdCode.WIFI_MODULE_SW_VERSION_AVAILABLE, ErdCode.APPLIANCE_UPDATING, ErdCode.LCD_SW_VERSION, ErdCode.LCD_SW_VERSION_AVAILABLE, ErdCode.LCD_UPDATING, ErdCode.HOUR_12_SHUTOFF_ENABLED, ErdCode.END_TONE, ErdCode.CONVECTION_CONVERSION, ErdCode.OVEN_CONFIGURATION, ErdCode.OVEN_MODE_MIN_MAX_TEMP, ErdCode.UPPER_OVEN_COOK_MODE, ErdCode.UPPER_OVEN_CURRENT_STATE, ErdCode.UPPER_OVEN_DELAY_TIME_REMAINING, ErdCode.UPPER_OVEN_PROBE_DISPLAY_TEMP, ErdCode.UPPER_OVEN_COOK_TIME_REMAINING, ErdCode.UPPER_OVEN_KITCHEN_TIMER, ErdCode.UPPER_OVEN_USER_TEMP_OFFSET, ErdCode.UPPER_OVEN_PROBE_PRESENT, ErdCode.UPPER_OVEN_DISPLAY_TEMPERATURE, ErdCode.UPPER_OVEN_REMOTE_ENABLED, ErdCode.UPPER_OVEN_AVAILABLE_COOK_MODES, ErdCode.UPPER_OVEN_RAW_TEMPERATURE, 0x5113, ErdCode.LOWER_OVEN_COOK_MODE, ErdCode.LOWER_OVEN_CURRENT_STATE, ErdCode.LOWER_OVEN_DELAY_TIME_REMAINING, ErdCode.LOWER_OVEN_COOK_TIME_REMAINING, ErdCode.LOWER_OVEN_USER_TEMP_OFFSET, ErdCode.LOWER_OVEN_DISPLAY_TEMPERATURE, ErdCode.LOWER_OVEN_REMOTE_ENABLED, ErdCode.LOWER_OVEN_AVAILABLE_COOK_MODES, ErdCode.LOWER_OVEN_RAW_TEMPERATURE, 0x5213
2021-07-20 13:27:43,930 DEBUG    client - event = data_received(<81 bytes>)
2021-07-20 13:27:43,932 DEBUG    Appliance state change detected in GeAppliance(D828C9562025) (ErdApplianceType.OVEN)
2021-07-20 13:27:43,933 INFO     Turning on the oven!
2021-07-20 13:27:43,934 DEBUG    client > Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind": "websocket#api", "action": "api", "host": "api.brillion.geappliances.com", "method": "POST", "path": "/v1/appliance/D828C9562025/erd/0x5100", "id": "D828C9562025-setErd-0x5100", "body": {"kind": "appliance#erdListEntry", "userId": "54325g8m1gszbyw", "applianceId": "D828C9562025", "erd": "0x5100", "value": "01015e00000000000000000000", "ackTimeout": 10, "delay": 0}}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:43,935 INFO     Set the timer!
2021-07-20 13:27:43,936 DEBUG    client > Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind": "websocket#api", "action": "api", "host": "api.brillion.geappliances.com", "method": "POST", "path": "/v1/appliance/D828C9562025/erd/0x5105", "id": "D828C9562025-setErd-0x5105", "body": {"kind": "appliance#erdListEntry", "userId": "54325g8m1gszbyw", "applianceId": "D828C9562025", "erd": "0x5105", "value": "0000002d", "ackTimeout":
10, "delay": 0}}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:43,937 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"Request-features","request":{"host":"api.brillion.geappliances.com","method":"GET","path":"/v1/appliance/D828C9572971/feature"},"success":true,"code":200,"body":{"kind":"appliance#applianceFeature","userId":"54325g8m1gszbyw","applianceId":"D828C9572971","features":["COOKING_V1_UPPER_OVEN_FOUNDATION"]}}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:43,939 DEBUG    Received features ['COOKING_V1_UPPER_OVEN_FOUNDATION'] for D828C9572971
2021-07-20 13:27:43,942 DEBUG    client - event = data_received(<28 bytes>)
2021-07-20 13:27:43,943 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"Request-features","request":{"host":"api.brillion.geappliances.com","method":"GET","path":"/v1/appliance/D828C9562025/feature"},"success":true,"code":200,"body":{"kind":"appliance#applianceFeature","userId":"54325g8m1gszbyw","applianceId":"D828C9562025","features":["COOKING_V1_LOWER_OVEN_FOUNDATION","COOKING_V1_UPPER_OVEN_FOUNDATION"]}}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:43,944 DEBUG    Received features ['COOKING_V1_LOWER_OVEN_FOUNDATION', 'COOKING_V1_UPPER_OVEN_FOUNDATION'] for D828C9562025
2021-07-20 13:27:43,965 DEBUG    client - event = data_received(<318 bytes>)
2021-07-20 13:27:43,966 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"D828C9572971-allErd","request":{"host":"api.brillion.geappliances.com","method":"GET","path":"/v1/appliance/D828C9572971/erd"},"success":true,"code":200,"body":{"kind":"appliance#erdList","userId":"54325g8m1gszbyw","applianceId":"D828C9572971","items":[{"erd":"0x0001","value":"0C5A4B5339304453534E31535300000000000000000000000000000000000000","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x0002","value":"0B534E4453313331303534510000000000000000000000000000000000000000","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x0006","value":"00","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x0007","value":"00","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x0008","value":"07","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x0009","value":"00","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x000A","value":"03","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x0100","value":"0000024D","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x0101","value":"00000000","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x0105","value":"00","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x0106","value":"00000419","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x0107","value":"00000000","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x0108","value":"00","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x5000","value":"01","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x5001","value":"01","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x5003","value":"01","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x5007","value":"08C0","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x5008","value":"022600AA","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x5100","value":"00000000000000000000000000","time":"2021-07-20T17:16:48.060Z"},{"erd":"0x5101","value":"00","time":"2021-07-20T17:16:48.140Z"},{"erd":"0x5102","value":"0000","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x5103","value":"0000","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x5104","value":"0000","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x5105","value":"0000","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x5106","value":"00","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x5107","value":"00","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x5108","value":"FFFF","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x5109","value":"0000","time":"2021-07-20T17:16:48.726Z"},{"erd":"0x510A","value":"01","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x510B","value":"0000000E0673399CBCCF","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x510D","value":"00C3","time":"2021-07-20T17:27:09.908Z"},{"erd":"0x5113","value":"00000000000000000000000000000000000000000000","time":"2021-07-20T11:22:51.814Z"},{"erd":"0x5200","value":"00000000000000000000000000","time":"2021-06-22T02:30:07.833Z"},{"erd":"0x5201","value":"00","time":"2021-06-22T02:30:07.833Z"},{"erd":"0x5202","value":"0000","time":"2021-06-22T02:30:07.833Z"},{"erd":"0x5203","value":"0000","time":"2021-06-22T02:30:07.833Z"},{"erd":"0x5204","value":"0000","time":"2021-06-22T02:30:07.833Z"},{"erd":"0x5205","value":"0000","time":"2021-06-22T02:30:07.833Z"},{"erd":"0x5206","value":"00","time":"2021-06-22T02:30:07.833Z"},{"erd":"0x5207","value":"00","time":"2021-06-22T02:30:07.833Z"},{"erd":"0x5208","value":"0000","time":"2021-06-22T02:30:07.833Z"},{"erd":"0x5209","value":"0000","time":"2021-06-22T02:30:07.833Z"},{"erd":"0x520A","value":"00","time":"2021-06-22T02:30:07.833Z"},{"erd":"0x520B","value":"00000000000000000000","time":"2021-06-22T02:30:07.833Z"},{"erd":"0x520D","value":"0000","time":"2021-06-22T02:30:07.833Z"},{"erd":"0x5300","value":"0000000000000000000000000000000000000000000000","time":"2021-06-22T02:30:09.537Z"},{"erd":"0x551C","value":"0000","time":"2021-06-22T02:30:09.617Z"},{"erd":"0x5770","value":"00","time":"2021-06-22T02:30:11.345Z"}]}}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:43,972 DEBUG    Setting ErdCode.MODEL_NUMBER to ZKS90DSSN1SS
2021-07-20 13:27:43,973 DEBUG    Setting ErdCode.SERIAL_NUMBER to SNDS131054Q
2021-07-20 13:27:43,973 DEBUG    Setting ErdCode.CLOCK_FORMAT to ErdClockFormat.TWELVE_HOUR
2021-07-20 13:27:43,974 DEBUG    Setting ErdCode.TEMPERATURE_UNIT to ErdMeasurementUnits.IMPERIAL
2021-07-20 13:27:43,974 DEBUG    Setting ErdCode.APPLIANCE_TYPE to ErdApplianceType.OVEN
2021-07-20 13:27:43,975 DEBUG    Setting ErdCode.SABBATH_MODE to False
2021-07-20 13:27:43,975 DEBUG    Setting ErdCode.SOUND_LEVEL to ErdSoundLevel.HIGH
2021-07-20 13:27:43,976 DEBUG    Setting ErdCode.WIFI_MODULE_SW_VERSION to <IP_ADDRESS>
2021-07-20 13:27:43,977 DEBUG    Setting ErdCode.WIFI_MODULE_SW_VERSION_AVAILABLE to <IP_ADDRESS>
2021-07-20 13:27:43,977 DEBUG    Setting ErdCode.APPLIANCE_UPDATING to False
2021-07-20 13:27:43,978 DEBUG    Setting ErdCode.LCD_SW_VERSION to <IP_ADDRESS>
2021-07-20 13:27:43,979 DEBUG    Setting ErdCode.LCD_SW_VERSION_AVAILABLE to <IP_ADDRESS>
2021-07-20 13:27:43,979 DEBUG    Setting ErdCode.LCD_UPDATING to False
2021-07-20 13:27:43,980 DEBUG    Setting ErdCode.HOUR_12_SHUTOFF_ENABLED to True
2021-07-20 13:27:43,980 DEBUG    Setting ErdCode.END_TONE to ErdEndTone.REPEATED_BEEP
2021-07-20 13:27:43,982 DEBUG    Setting ErdCode.CONVECTION_CONVERSION to True
2021-07-20 13:27:43,983 DEBUG    Setting ErdCode.OVEN_CONFIGURATION to OvenConfiguration(has_knob=False, has_warming_drawer=False, has_light_bar=False, has_lower_oven=False, has_lower_oven_kitchen_timer=False, raw_value='08C0')
2021-07-20 13:27:43,983 DEBUG    Setting ErdCode.OVEN_MODE_MIN_MAX_TEMP to OvenRanges(lower=170, upper=550)
2021-07-20 13:27:43,984 DEBUG    Setting ErdCode.UPPER_OVEN_COOK_MODE to Off
2021-07-20 13:27:43,985 DEBUG    Setting ErdCode.UPPER_OVEN_CURRENT_STATE to Off
2021-07-20 13:27:43,985 DEBUG    Setting ErdCode.UPPER_OVEN_DELAY_TIME_REMAINING to 0:00:00
2021-07-20 13:27:43,985 DEBUG    Setting ErdCode.UPPER_OVEN_PROBE_DISPLAY_TEMP to 0
2021-07-20 13:27:43,986 DEBUG    Setting ErdCode.UPPER_OVEN_COOK_TIME_REMAINING to 0:00:00
2021-07-20 13:27:43,987 DEBUG    Setting ErdCode.UPPER_OVEN_KITCHEN_TIMER to 0:00:00
2021-07-20 13:27:43,988 DEBUG    Setting ErdCode.UPPER_OVEN_USER_TEMP_OFFSET to 0
2021-07-20 13:27:43,988 DEBUG    Setting ErdCode.UPPER_OVEN_PROBE_PRESENT to False
2021-07-20 13:27:43,989 DEBUG    Got timespan value of 65535. Treating as None.
2021-07-20 13:27:43,989 DEBUG    Setting ErdCode.UPPER_OVEN_DISPLAY_TEMPERATURE to 0
2021-07-20 13:27:43,990 DEBUG    Setting ErdCode.UPPER_OVEN_REMOTE_ENABLED to True
2021-07-20 13:27:43,990 DEBUG    Setting ErdCode.UPPER_OVEN_AVAILABLE_COOK_MODES to {<ErdOvenCookMode.BAKE_NOOPTION: 1>, <ErdOvenCookMode.CONVMULTIBAKE_NOOPTION: 27>, <ErdOvenCookMode.CONVROAST_NOOPTION: 36>, <ErdOvenCookMode.CONVBAKE_NOOPTION: 18>}
2021-07-20 13:27:43,991 DEBUG    Setting ErdCode.UPPER_OVEN_RAW_TEMPERATURE to 195
2021-07-20 13:27:43,991 DEBUG    Setting 0x5113 to b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
2021-07-20 13:27:43,992 DEBUG    Setting ErdCode.LOWER_OVEN_COOK_MODE to Off
2021-07-20 13:27:43,993 DEBUG    Setting ErdCode.LOWER_OVEN_CURRENT_STATE to Off
2021-07-20 13:27:43,994 DEBUG    Setting ErdCode.LOWER_OVEN_DELAY_TIME_REMAINING to 0:00:00
2021-07-20 13:27:43,994 DEBUG    Setting ErdCode.LOWER_OVEN_PROBE_DISPLAY_TEMP to 0
2021-07-20 13:27:43,995 DEBUG    Setting ErdCode.LOWER_OVEN_COOK_TIME_REMAINING to 0:00:00
2021-07-20 13:27:43,995 DEBUG    Setting ErdCode.LOWER_OVEN_KITCHEN_TIMER to 0:00:00
2021-07-20 13:27:43,996 DEBUG    Setting ErdCode.LOWER_OVEN_USER_TEMP_OFFSET to 0
2021-07-20 13:27:43,996 DEBUG    Setting ErdCode.LOWER_OVEN_PROBE_PRESENT to False
2021-07-20 13:27:43,997 DEBUG    Setting ErdCode.LOWER_OVEN_ELAPSED_COOK_TIME to 0:00:00
2021-07-20 13:27:43,998 DEBUG    Setting ErdCode.LOWER_OVEN_DISPLAY_TEMPERATURE to 0
2021-07-20 13:27:43,999 DEBUG    Setting ErdCode.LOWER_OVEN_REMOTE_ENABLED to False
2021-07-20 13:27:44,000 DEBUG    Setting ErdCode.LOWER_OVEN_AVAILABLE_COOK_MODES to set()
2021-07-20 13:27:44,000 DEBUG    Setting ErdCode.LOWER_OVEN_RAW_TEMPERATURE to 0
2021-07-20 13:27:44,001 DEBUG    Setting ErdCode.MICROWAVE_RECIPE_STATUS to b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
2021-07-20 13:27:44,001 DEBUG    Setting ErdCode.COOKTOP_CONFIG to ErdCooktopConfig.NONE
2021-07-20 13:27:44,002 DEBUG    Setting ErdCode.CLOSED_LOOP_COOKING_CONFIGURATION to b'\x00'
2021-07-20 13:27:44,003 DEBUG    Got initial appliance type for GeAppliance(D828C9572971) (ErdApplianceType.OVEN)
2021-07-20 13:27:44,004 DEBUG    Appliance state change detected in GeAppliance(D828C9572971) (ErdApplianceType.OVEN). Updated keys: ErdCode.MODEL_NUMBER, ErdCode.SERIAL_NUMBER, ErdCode.CLOCK_FORMAT, ErdCode.TEMPERATURE_UNIT, ErdCode.APPLIANCE_TYPE, ErdCode.SABBATH_MODE, ErdCode.SOUND_LEVEL, ErdCode.WIFI_MODULE_SW_VERSION, ErdCode.WIFI_MODULE_SW_VERSION_AVAILABLE, ErdCode.APPLIANCE_UPDATING, ErdCode.LCD_SW_VERSION, ErdCode.LCD_SW_VERSION_AVAILABLE, ErdCode.LCD_UPDATING, ErdCode.HOUR_12_SHUTOFF_ENABLED, ErdCode.END_TONE, ErdCode.CONVECTION_CONVERSION, ErdCode.OVEN_CONFIGURATION, ErdCode.OVEN_MODE_MIN_MAX_TEMP, ErdCode.UPPER_OVEN_COOK_MODE, ErdCode.UPPER_OVEN_CURRENT_STATE, ErdCode.UPPER_OVEN_DELAY_TIME_REMAINING, ErdCode.UPPER_OVEN_PROBE_DISPLAY_TEMP, ErdCode.UPPER_OVEN_COOK_TIME_REMAINING, ErdCode.UPPER_OVEN_KITCHEN_TIMER, ErdCode.UPPER_OVEN_USER_TEMP_OFFSET, ErdCode.UPPER_OVEN_PROBE_PRESENT, ErdCode.UPPER_OVEN_DISPLAY_TEMPERATURE, ErdCode.UPPER_OVEN_REMOTE_ENABLED, ErdCode.UPPER_OVEN_AVAILABLE_COOK_MODES, ErdCode.UPPER_OVEN_RAW_TEMPERATURE, 0x5113, ErdCode.LOWER_OVEN_COOK_MODE, ErdCode.LOWER_OVEN_CURRENT_STATE, ErdCode.LOWER_OVEN_DELAY_TIME_REMAINING, ErdCode.LOWER_OVEN_PROBE_DISPLAY_TEMP, ErdCode.LOWER_OVEN_COOK_TIME_REMAINING, ErdCode.LOWER_OVEN_KITCHEN_TIMER, ErdCode.LOWER_OVEN_USER_TEMP_OFFSET, ErdCode.LOWER_OVEN_PROBE_PRESENT, ErdCode.LOWER_OVEN_ELAPSED_COOK_TIME, ErdCode.LOWER_OVEN_DISPLAY_TEMPERATURE, ErdCode.LOWER_OVEN_REMOTE_ENABLED, ErdCode.LOWER_OVEN_AVAILABLE_COOK_MODES, ErdCode.LOWER_OVEN_RAW_TEMPERATURE, ErdCode.MICROWAVE_RECIPE_STATUS, ErdCode.COOKTOP_CONFIG, ErdCode.CLOSED_LOOP_COOKING_CONFIGURATION
2021-07-20 13:27:44,007 DEBUG    Appliance state change detected in GeAppliance(D828C9572971) (ErdApplianceType.OVEN)
2021-07-20 13:27:44,007 INFO     Turning on the oven!
2021-07-20 13:27:44,008 DEBUG    client > Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind": "websocket#api", "action": "api", "host": "api.brillion.geappliances.com", "method": "POST", "path": "/v1/appliance/D828C9572971/erd/0x5100", "id": "D828C9572971-setErd-0x5100", "body": {"kind": "appliance#erdListEntry", "userId": "54325g8m1gszbyw", "applianceId": "D828C9572971", "erd": "0x5100", "value": "01015e00000000000000000000", "ackTimeout": 10, "delay": 0}}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:44,009 INFO     Set the timer!
2021-07-20 13:27:44,009 DEBUG    client > Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind": "websocket#api", "action": "api", "host": "api.brillion.geappliances.com", "method": "POST", "path": "/v1/appliance/D828C9572971/erd/0x5105", "id": "D828C9572971-setErd-0x5105", "body": {"kind": "appliance#erdListEntry", "userId": "54325g8m1gszbyw", "applianceId": "D828C9572971", "erd": "0x5105", "value": "0000002d", "ackTimeout":
10, "delay": 0}}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:44,342 DEBUG    client - event = data_received(<43 bytes>)
2021-07-20 13:27:44,345 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"D828C9562025-setErd-0x5105","request":{"host":"api.brillion.geappliances.com","method":"POST","path":"/v1/appliance/D828C9562025/erd/0x5105"},"success":true,"code":200,"body":{"status":"success"}}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:44,349 DEBUG
2021-07-20 13:27:44,351 DEBUG    Setting ErdCode.UPPER_OVEN_KITCHEN_TIMER to 0:45:00
2021-07-20 13:27:44,354 DEBUG    Appliance state change detected in GeAppliance(D828C9562025) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_KITCHEN_TIMER
2021-07-20 13:27:44,358 DEBUG    client - event = data_received(<14 bytes>)
2021-07-20 13:27:44,361 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"D828C9562025-setErd-0x5100","request":{"host":"api.brillion.geappliances.com","method":"POST","path":"/v1/appliance/D828C9562025/erd/0x5100"},"success":true,"code":200,"body":{"status":"success"}}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:44,367 DEBUG
2021-07-20 13:27:44,370 DEBUG    Setting ErdCode.UPPER_OVEN_COOK_MODE to Bake (350°)
2021-07-20 13:27:44,373 DEBUG    Appliance state change detected in GeAppliance(D828C9562025) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_COOK_MODE
2021-07-20 13:27:44,448 DEBUG    client - event = data_received(<16 bytes>)
2021-07-20 13:27:44,452 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"D828C9572971-setErd-0x5105","request":{"host":"api.brillion.geappliances.com","method":"POST","path":"/v1/appliance/D828C9572971/erd/0x5105"},"success":true,"code":200,"body":{"status":"success"}}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:44,458 DEBUG
2021-07-20 13:27:44,460 DEBUG    Setting ErdCode.UPPER_OVEN_KITCHEN_TIMER to 0:45:00
2021-07-20 13:27:44,464 DEBUG    Appliance state change detected in GeAppliance(D828C9572971) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_KITCHEN_TIMER
2021-07-20 13:27:44,470 DEBUG    client - event = data_received(<15 bytes>)
2021-07-20 13:27:44,472 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"D828C9572971-setErd-0x5100","request":{"host":"api.brillion.geappliances.com","method":"POST","path":"/v1/appliance/D828C9572971/erd/0x5100"},"success":true,"code":200,"body":{"status":"success"}}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:44,476 DEBUG
2021-07-20 13:27:44,478 DEBUG    Setting ErdCode.UPPER_OVEN_COOK_MODE to Bake (350°)
2021-07-20 13:27:44,484 DEBUG    Appliance state change detected in GeAppliance(D828C9572971) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_COOK_MODE
2021-07-20 13:27:50,489 DEBUG    client - event = data_received(<55 bytes>)
2021-07-20 13:27:50,489 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9562025","erd":"0x5101","time":"2021-07-20T17:27:44.659Z","value":"05"},"resource":"/appliance/D828C9562025/erd/0x5101","kind":"publish#erd","userId":"54325g8m1gszbyw"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:50,490 DEBUG    Setting ErdCode.UPPER_OVEN_CURRENT_STATE to Bake
2021-07-20 13:27:50,491 DEBUG    Appliance state change detected in GeAppliance(D828C9562025) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_CURRENT_STATE
2021-07-20 13:27:50,537 DEBUG    client - event = data_received(<11 bytes>)
2021-07-20 13:27:50,540 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9562025","erd":"0x5101","time":"2021-07-20T17:27:44.659Z","value":"01"},"resource":"/appliance/D828C9562025/erd/0x5101","kind":"publish#erd","userId":"54325g8m1gszbyw"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:50,544 DEBUG    Setting ErdCode.UPPER_OVEN_CURRENT_STATE to Preheat
2021-07-20 13:27:50,546 DEBUG    Appliance state change detected in GeAppliance(D828C9562025) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_CURRENT_STATE
2021-07-20 13:27:50,836 DEBUG    client - event = data_received(<30 bytes>)
2021-07-20 13:27:50,839 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9562025","erd":"0x5100","time":"2021-07-20T17:27:44.640Z","value":"01015E00000000000000000000"},"resource":"/appliance/D828C9562025/erd/0x5100","kind":"publish#erd","userId":"54325g8m1gszbyw"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:51,418 DEBUG    client - event = data_received(<28 bytes>)
2021-07-20 13:27:51,419 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9562025","erd":"0x510D","time":"2021-07-20T17:27:48.009Z","value":"00D9"},"resource":"/appliance/D828C9562025/erd/0x510D","kind":"publish#erd","userId":"54325g8m1gszbyw"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:51,420 DEBUG    Setting ErdCode.UPPER_OVEN_RAW_TEMPERATURE to 217
2021-07-20 13:27:51,421 DEBUG    Appliance state change detected in GeAppliance(D828C9562025) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_RAW_TEMPERATURE
2021-07-20 13:27:51,453 DEBUG    client - event = data_received(<22 bytes>)
2021-07-20 13:27:51,453 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9562025","erd":"0x5109","time":"2021-07-20T17:27:47.989Z","value":"00D9"},"resource":"/appliance/D828C9562025/erd/0x5109","kind":"publish#erd","userId":"54325g8m1gszbyw"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:27:51,456 DEBUG    Setting ErdCode.UPPER_OVEN_DISPLAY_TEMPERATURE to 217
2021-07-20 13:27:51,457 DEBUG    Appliance state change detected in GeAppliance(D828C9562025) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_DISPLAY_TEMPERATURE
2021-07-20 13:28:03,386 DEBUG    client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\xac\x9e\xc2\xb5', rsv1=False, rsv2=False, rsv3=False)2021-07-20 13:28:03,413 DEBUG    client - event = data_received(<6 bytes>)
2021-07-20 13:28:03,413 DEBUG    client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'\xac\x9e\xc2\xb5', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:28:03,414 DEBUG    client - received solicited pong: ac9ec2b5
2021-07-20 13:28:07,965 DEBUG    client - event = data_received(<24 bytes>)
2021-07-20 13:28:07,965 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9572971","erd":"0x5101","time":"2021-07-20T17:27:44.718Z","value":"05"},"resource":"/appliance/D828C9572971/erd/0x5101","kind":"publish#erd","userId":"54325g8m1gszbyw"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:28:07,975 DEBUG    Setting ErdCode.UPPER_OVEN_CURRENT_STATE to Bake
2021-07-20 13:28:07,976 DEBUG    Appliance state change detected in GeAppliance(D828C9572971) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_CURRENT_STATE
2021-07-20 13:28:08,012 DEBUG    client - event = data_received(<12 bytes>)
2021-07-20 13:28:08,013 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9572971","erd":"0x5101","time":"2021-07-20T17:27:44.718Z","value":"01"},"resource":"/appliance/D828C9572971/erd/0x5101","kind":"publish#erd","userId":"54325g8m1gszbyw"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:28:08,014 DEBUG    Setting ErdCode.UPPER_OVEN_CURRENT_STATE to Preheat
2021-07-20 13:28:08,015 DEBUG    Appliance state change detected in GeAppliance(D828C9572971) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_CURRENT_STATE
2021-07-20 13:28:08,614 DEBUG    client - event = data_received(<20 bytes>)
2021-07-20 13:28:08,614 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9572971","erd":"0x5100","time":"2021-07-20T17:27:44.683Z","value":"01015E00000000000000000000"},"resource":"/appliance/D828C9572971/erd/0x5100","kind":"publish#erd","userId":"54325g8m1gszbyw"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:28:08,713 DEBUG    client - event = data_received(<25 bytes>)
2021-07-20 13:28:08,713 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9572971","erd":"0x5109","time":"2021-07-20T17:27:49.954Z","value":"00C3"},"resource":"/appliance/D828C9572971/erd/0x5109","kind":"publish#erd","userId":"54325g8m1gszbyw"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:28:08,715 DEBUG    Setting ErdCode.UPPER_OVEN_DISPLAY_TEMPERATURE to 195
2021-07-20 13:28:08,716 DEBUG    Appliance state change detected in GeAppliance(D828C9572971) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_DISPLAY_TEMPERATURE
2021-07-20 13:28:13,375 DEBUG    Sending keepalive ping
2021-07-20 13:28:13,375 DEBUG    client > Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind": "websocket#ping", "id": "keepalive-ping", "action": "ping"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:28:13,422 DEBUG    client - event = data_received(<29 bytes>)
2021-07-20 13:28:13,425 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#pong","id":"keepalive-ping"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:28:19,028 DEBUG    client - event = data_received(<22 bytes>)
2021-07-20 13:28:19,031 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9562025","erd":"0x5109","time":"2021-07-20T17:28:18.052Z","value":"00DA"},"resource":"/appliance/D828C9562025/erd/0x5109","kind":"publish#erd","userId":"54325g8m1gszbyw"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:28:19,036 DEBUG    Setting ErdCode.UPPER_OVEN_DISPLAY_TEMPERATURE to 218
2021-07-20 13:28:19,039 DEBUG    Appliance state change detected in GeAppliance(D828C9562025) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_DISPLAY_TEMPERATURE
2021-07-20 13:28:19,054 DEBUG    client - event = data_received(<17 bytes>)
2021-07-20 13:28:19,056 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9562025","erd":"0x510D","time":"2021-07-20T17:28:18.078Z","value":"00DA"},"resource":"/appliance/D828C9562025/erd/0x510D","kind":"publish#erd","userId":"54325g8m1gszbyw"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:28:19,059 DEBUG    Setting ErdCode.UPPER_OVEN_RAW_TEMPERATURE to 218
2021-07-20 13:28:19,062 DEBUG    Appliance state change detected in GeAppliance(D828C9562025) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_RAW_TEMPERATURE
2021-07-20 13:28:21,307 DEBUG    client - event = data_received(<20 bytes>)
2021-07-20 13:28:21,307 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9562025","erd":"0x5101","time":"2021-07-20T17:28:20.332Z","value":"00"},"resource":"/appliance/D828C9562025/erd/0x5101","kind":"publish#erd","userId":"54325g8m1gszbyw"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:28:21,309 DEBUG    Setting ErdCode.UPPER_OVEN_CURRENT_STATE to Off
2021-07-20 13:28:21,309 DEBUG    Appliance state change detected in GeAppliance(D828C9562025) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_CURRENT_STATE
2021-07-20 13:28:21,437 DEBUG    client - event = data_received(<21 bytes>)
2021-07-20 13:28:21,437 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9562025","erd":"0x5100","time":"2021-07-20T17:28:20.247Z","value":"00000000000000000000000000"},"resource":"/appliance/D828C9562025/erd/0x5100","kind":"publish#erd","userId":"54325g8m1gszbyw"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:28:21,438 DEBUG    Setting ErdCode.UPPER_OVEN_COOK_MODE to Off
2021-07-20 13:28:21,439 DEBUG    Appliance state change detected in GeAppliance(D828C9562025) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_COOK_MODE
2021-07-20 13:28:23,412 DEBUG    client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\x92}\x00\x8e', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:28:23,436 DEBUG    client - event = data_received(<6 bytes>)
2021-07-20 13:28:23,438 DEBUG    client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'\x92}\x00\x8e', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:28:23,440 DEBUG    client - received solicited pong: 927d008e
2021-07-20 13:28:26,255 DEBUG    client - event = data_received(<23 bytes>)
2021-07-20 13:28:26,258 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9572971","erd":"0x510D","time":"2021-07-20T17:28:09.987Z","value":"00C1"},"resource":"/appliance/D828C9572971/erd/0x510D","kind":"publish#erd","userId":"54325g8m1gszbyw"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:28:26,262 DEBUG    Setting ErdCode.UPPER_OVEN_RAW_TEMPERATURE to 193
2021-07-20 13:28:26,266 DEBUG    Appliance state change detected in GeAppliance(D828C9572971) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_RAW_TEMPERATURE
2021-07-20 13:28:30,357 DEBUG    client - event = data_received(<19 bytes>)
2021-07-20 13:28:30,358 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9572971","erd":"0x5100","time":"2021-07-20T17:28:13.640Z","value":"00000000000000000000000000"},"resource":"/appliance/D828C9572971/erd/0x5100","kind":"publish#erd","userId":"54325g8m1gszbyw"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:28:30,359 DEBUG    Setting ErdCode.UPPER_OVEN_COOK_MODE to Off
2021-07-20 13:28:30,360 DEBUG    Appliance state change detected in GeAppliance(D828C9572971) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_COOK_MODE
2021-07-20 13:28:30,399 DEBUG    client - event = data_received(<15 bytes>)
2021-07-20 13:28:30,401 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9572971","erd":"0x5101","time":"2021-07-20T17:28:13.689Z","value":"00"},"resource":"/appliance/D828C9572971/erd/0x5101","kind":"publish#erd","userId":"54325g8m1gszbyw"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:28:30,407 DEBUG    Setting ErdCode.UPPER_OVEN_CURRENT_STATE to Off
2021-07-20 13:28:30,411 DEBUG    Appliance state change detected in GeAppliance(D828C9572971) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_CURRENT_STATE
2021-07-20 13:28:32,580 DEBUG    client - event = data_received(<18 bytes>)
2021-07-20 13:28:32,581 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9572971","erd":"0x5109","time":"2021-07-20T17:28:20.010Z","value":"0000"},"resource":"/appliance/D828C9572971/erd/0x5109","kind":"publish#erd","userId":"54325g8m1gszbyw"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-20 13:28:32,583 DEBUG    Setting ErdCode.UPPER_OVEN_DISPLAY_TEMPERATURE to 0
2021-07-20 13:28:32,584 DEBUG    Appliance state change detected in GeAppliance(D828C9572971) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_DISPLAY_TEMPERATURE

it started both of the ovens so it looks like its working. Now can you help me get it into home assistant?

Yep, it looks like it got both of them.  You might want to go confirm, but both ovens should be set to Bake at 350 and have a kitchen timer of 45mins. :)
Based on this, it looks like we have most of the codes, there might be a few we need to look into to confirm what they do.  That shouldn't affect their availability in HA though.
My advice would be to try the latest "dev" branch of the HA component and see if they both show up using that.  Perhaps there was a bug that got resolved somewhere and they'll both show up now (hopefully).

Getting this error and only one oven shows up.
This error originated from a custom integration.
Logger: homeassistant
Source: custom_components/ge_home/devices/oven.py:34
Integration: GE Home (documentation)
First occurred: 1:54:23 PM (1 occurrences)
Last logged: 1:54:23 PM
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/ge_home/update_coordinator.py", line 299, in on_device_initial_update
self.maybe_add_appliance_api(appliance)
File "/config/custom_components/ge_home/update_coordinator.py", line 128, in maybe_add_appliance_api
api.build_entities_list()
File "/config/custom_components/ge_home/devices/base.py", line 116, in build_entities_list
e for e in self.get_all_entities()
File "/config/custom_components/ge_home/devices/oven.py", line 34, in get_all_entities
cooktop_config: ErdCooktopConfig = self.appliance.get_erd_value(ErdCode.COOKTOP_CONFIG)
File "/usr/local/lib/python3.9/site-packages/gehomesdk/ge_appliance.py", line 136, in get_erd_value
return self._property_cache[erd_code]
KeyError: <ErdCode.COOKTOP_CONFIG: '0x551c'>

OK, so looks like the double oven isn't presenting a cooktop config erd value, which is used to add cooktop entries if it's present.  Let me rewrite the code a little bit to eliminate this issue...

Can you re-pull the newest dev branch and let me know if that resolves your issue?

i put the dev files in the custom component file and now its not showing up in my integrations after a restart

What does your file structure look like?  It should be HA_ROOT\custom_components\ge_home.  This directory should be contents of the custom_components\ge_home directory from github.  You should, for example see the manifest.json in that directory.

Ok got it working. needed to clear cache. the double oven now shows up but the lower oven water heater sensor is not available and i have this in my logs.

This error originated from a custom integration.
Logger: homeassistant
Source: custom_components/ge_home/entities/oven/ge_oven.py:174
Integration: GE Home (documentation)
First occurred: 2:33:22 PM (15 occurrences)
Last logged: 2:38:01 PM
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/ge_home/update_coordinator.py", line 266, in on_device_update
entity.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 419, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 460, in _async_write_ha_state
extra_state_attributes = self.device_state_attributes
File "/config/custom_components/ge_home/entities/oven/ge_oven.py", line 184, in device_state_attributes
probe_present = self.get_erd_value("PROBE_PRESENT")
File "/config/custom_components/ge_home/entities/oven/ge_oven.py", line 174, in get_erd_value
return self.appliance.get_erd_value(erd_code)
File "/usr/local/lib/python3.9/site-packages/gehomesdk/ge_appliance.py", line 136, in get_erd_value
return self._property_cache[erd_code]
KeyError: <ErdCode.LOWER_OVEN_PROBE_PRESENT: '0x5207'>

I just posted a new dev version - hopefully should resolve the error that you're seeing.  I just made more things optional since they appear to not always be present.  Let's take care of the shabbos mode after we get all the entities in there, hopefully it'll be an easier fix, but the way things seem to go, probably not.

now they are both unavilible and i have these three errors
This error originated from a custom integration.
Logger: homeassistant
Source: custom_components/ge_home/entities/oven/ge_oven.py:174
Integration: GE Home (documentation)
First occurred: 3:08:03 PM (1 occurrences)
Last logged: 3:08:03 PM
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/ge_home/update_coordinator.py", line 266, in on_device_update
entity.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 419, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 460, in _async_write_ha_state
extra_state_attributes = self.device_state_attributes
File "/config/custom_components/ge_home/entities/oven/ge_oven.py", line 198, in device_state_attributes
if self.api.has_erd_code(self.get_erd_value("KITCHEN_TIMER")):
File "/config/custom_components/ge_home/entities/oven/ge_oven.py", line 174, in get_erd_value
return self.appliance.get_erd_value(erd_code)
File "/usr/local/lib/python3.9/site-packages/gehomesdk/ge_appliance.py", line 136, in get_erd_value
return self._property_cache[erd_code]
KeyError: <ErdCode.LOWER_OVEN_KITCHEN_TIMER: '0x5205'>
Logger: homeassistant.components.water_heater
Source: custom_components/ge_home/entities/oven/ge_oven.py:202
Integration: Water Heater (documentation, issues)
First occurred: 3:07:42 PM (2 occurrences)
Last logged: 3:07:42 PM
Error adding entities for domain water_heater with platform ge_home
Error while setting up ge_home platform for water_heater
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 383, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 588, in _async_add_entity
await entity.add_to_platform_finish()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 666, in add_to_platform_finish
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 419, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 460, in _async_write_ha_state
extra_state_attributes = self.device_state_attributes
File "/config/custom_components/ge_home/entities/oven/ge_oven.py", line 202, in device_state_attributes
if elapsed_time:
UnboundLocalError: local variable 'elapsed_time' referenced before assignment

OK, give the new dev a shot, that's what you get when you make changes too quickly :)

Thank you so freaking much!!!!!! its now working you are the best, thanks for spending the time helping me.


Arch Linux instructions

Hey @arjan5 I just randomly found this: https://aur.archlinux.org/packages/ntfysh-bin/
Thank you for packaging it and even keeping it up-to-date.
You wanna add install instructions for Arch to the docs? I wouldn't know how to do that for Arch.

Sure, no problem!

@arjan-s Awesome, this is the relevant doc: https://github.com/binwiederhier/ntfy/blob/main/docs/install.md


bug(matIcon): not inline well in Dialog Title

Reproduction
Use any StackBlitz link at https://material.angular.io/components/dialog/examples
Then past the following:

<mat-icon inline="true">error</mat-icon> Favorite Animal

OOKK<mat-icon inline="true">error</mat-icon>

Expected Behavior
automatically sizing the icon to match the font size of the element the icon is contained in.
Actual Behavior
Icon is rendered well in dialog content, but not in dialog title. And worse, the top and the bottom of the icon gets truncated a little bit.
Environment

Angular: 10.1.1
CDK/Material: 10.2.1
Browser(s): Chrome
Operating System (e.g. Windows, macOS, Ubuntu): Windows

I don't think that this is something that the dialog title was meant to do, but it seems like a reasonable request. Also it may be fixed in the MDC dialog implementation.

@crisbeto
Thanks for understanding. As described at https://material.io/components/dialogs#full-screen-dialog, icon is used in Title only with a button in full screen dialog.
Having a icon well supported in the title of small dialog will cover more complex business scenarios. I see it is an slight extension of Material Design, or in other words, Material Design does not discourage such application design.
Thanks again.

Currently does not work with the MDC based dialog and icon components but would be a good thing to add.