simbaja / ha_gehome

GE Home Appliances (SmartHQ) for Home Assistant
MIT License
333 stars 80 forks source link

Enhancements for GE PVD28BYNFS Refrigerator #43

Closed groto27 closed 3 years ago

groto27 commented 3 years ago

Hi

Through the GE SmartHQ app I have a few other items that this integration doesn't have. Would it be possible to add any of these?

My fridge (GE Model PVD28BYNFS) has the following options in the app that are not already covered by the integration:

-Convertible drawer (the middle drawer can change to 4 different temp settings for Meat (29 F), Beverages (33 F), Snacks (37 F), or Wine (42 F). This one is the most important because the current door status indicator on this component doesn't even recognize that the middle drawer on this fridge exists.

-Lighting preference - 0%-100% slider for the LED backlighting brightness inside the refrigerator.

-Lighting preference - turn off or on proximity light that enables the light under water dispenser

Thanks!!

simbaja commented 3 years ago

We can probably get this integrated if we have the debug logs for your fridge. Can you go to the simbaja/gehome repository (which is the python sdk) and run the websocket example and post the output?

simbaja commented 3 years ago

I think I've identified and programmed the door indicator and lighting stuff. I will need some help on the drawer setting - it's a bit complicated, I guess there are a few different variants. Any luck on getting the debug log?

groto27 commented 3 years ago

Wow awesome! Sorry the family has been sick around here so it's been chaotic. I will try to do this first chance I get and get back to you. Appreciate your efforts!

groto27 commented 3 years ago

Sorry for the delay.. I tried this and can't get it to run. I was trying to run it on my Macbook Pro.

When I run the command from within the examples directory I get this error even though I created the secrets.py with the correct user/password. Any ideas? Thx

Traceback (most recent call last): File "/Users/*****/Downloads/gehome-master/examples/websocket_example.py", line 13, in from examples.secrets import USERNAME, PASSWORD ModuleNotFoundError: No module named 'examples'

simbaja commented 3 years ago

Sorry, been swamped with work this week. Can you try running from the root directory? i.e. gehome-master? Python can be a bit sensitive about its working directory.

groto27 commented 3 years ago

No problem! Still no luck... I switched to the main gehome-master directory and then tried running the following with python or python3 commands (I don't have python experience, so let me know if something is wrong. I had to install it via the command line)

I have secrets.py with the appropriate credentials in the examples folder too. I installed the sdk as required too.

macbook:gehome-master user$ python examples/websocket_example.py File "examples/websocket_example.py", line 31 async def log_state_change(data: Tuple[GeAppliance, Dict[ErdCodeType, Any]]): ^ SyntaxError: invalid syntax

macbook:gehome-master user$ python3 examples/websocket_example.py Traceback (most recent call last): File "/Users/user/Downloads/gehome-master/examples/websocket_example.py", line 13, in from examples.secrets import USERNAME, PASSWORD ModuleNotFoundError: No module named 'examples'

simbaja commented 3 years ago

Unfortunately, I'm not really familiar with Macs. One thing that strikes me from above is the invalid syntax error. Can you confirm that your python version is 3.8+?

elwing00 commented 3 years ago

I'm running into the same initial error: delenn:examples elwing$ python3 websocket_example.py Traceback (most recent call last): File "websocket_example.py", line 13, in from examples.secrets import USERNAME, PASSWORD ModuleNotFoundError: No module named 'examples' delenn:examples elwing$ python3 --version Python 3.8.9

And I am running python 3.8+ (also on a Mac). I did some basic troubleshooting though, and removed the examples.secrets from import and just used "import secrets". And I had to install a few more libraries with pip (lxml and slixmpp)

I have the websocket_example.py running, but it does have a few "errors"

delenn:examples elwing$ python3 websocket_example.py 
2021-10-05 13:47:38,245 DEBUG    Using selector: KqueueSelector
websocket_example.py:74: DeprecationWarning: The object should be created within an async function
  session = aiohttp.ClientSession()
2021-10-05 13:47:38,247 DEBUG    Getting OAuth2 token
2021-10-05 13:47:38,257 DEBUG    Client changed state: GeClientState.INITIALIZING to GeClientState.AUTHORIZING_OAUTH
2021-10-05 13:47:40,011 DEBUG    Getting WS credentials
2021-10-05 13:47:40,012 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-10-05 13:47:40,173 INFO     Starting GE Appliances client
2021-10-05 13:47:40,185 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-10-05 13:47:40,245 DEBUG    = connection is CONNECTING
2021-10-05 13:47:40,292 DEBUG    ! failing connection with code 1006
2021-10-05 13:47:40,293 DEBUG    x closing TCP connection
2021-10-05 13:47:40,306 DEBUG    = connection is CLOSED
2021-10-05 13:47:40,306 WARNING  Unhandled exception on first connect attempt: module 'secrets' has no attribute 'token_bytes', disconnecting
2021-10-05 13:47:40,306 DEBUG    Waiting before reconnecting
2021-10-05 13:47:40,306 DEBUG    Client changed state: GeClientState.CONNECTING to GeClientState.DROPPED
2021-10-05 13:47:40,306 DEBUG    Client changed state: GeClientState.DROPPED to GeClientState.WAITING
2021-10-05 13:47:42,312 DEBUG    Refreshing authentication before reconnecting
2021-10-05 13:47:42,312 DEBUG    Refreshing OAuth2 token
2021-10-05 13:47:42,314 DEBUG    Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH
2021-10-05 13:47:42,795 DEBUG    Getting WS credentials
2021-10-05 13:47:42,796 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-10-05 13:47:42,857 INFO     Disconnecting
2021-10-05 13:47:42,858 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.DISCONNECTING
2021-10-05 13:47:42,858 DEBUG    Client changed state: GeClientState.DISCONNECTING to GeClientState.DISCONNECTED

I did open all doors and drawers, but it just hangs at this place. Let me know if there's anything else I can do to help

simbaja commented 3 years ago

That one I know how to solve! Rename secrets.py to secret.py and then change the corresponding import. It is getting confused with another secrets module. Hopefully that gets you through it. @groto27 , can you make the same updates and see it you can get it to work?

elwing00 commented 3 years ago
delenn:examples elwing$ python3 websocket_example.py 
2021-10-05 14:02:03,872 DEBUG    Using selector: KqueueSelector
websocket_example.py:74: DeprecationWarning: The object should be created within an async function
  session = aiohttp.ClientSession()
2021-10-05 14:02:03,873 DEBUG    Getting OAuth2 token
2021-10-05 14:02:03,883 DEBUG    Client changed state: GeClientState.INITIALIZING to GeClientState.AUTHORIZING_OAUTH
2021-10-05 14:02:05,739 DEBUG    Getting WS credentials
2021-10-05 14:02:05,739 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-10-05 14:02:05,957 INFO     Starting GE Appliances client
2021-10-05 14:02:05,988 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-10-05 14:02:06,071 DEBUG    = connection is CONNECTING
2021-10-05 14:02:06,139 DEBUG    > GET /?access_token=ue1cpd17p845sm2pdhikuwy53xvm3iym HTTP/1.1
2021-10-05 14:02:06,139 DEBUG    > Host: ws-us-east-1.brillion.geappliances.com
2021-10-05 14:02:06,139 DEBUG    > Upgrade: websocket
2021-10-05 14:02:06,139 DEBUG    > Connection: Upgrade
2021-10-05 14:02:06,139 DEBUG    > Sec-WebSocket-Key: qgfLl1yRkozxtP5tOJt0mA==
2021-10-05 14:02:06,139 DEBUG    > Sec-WebSocket-Version: 13
2021-10-05 14:02:06,139 DEBUG    > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12
2021-10-05 14:02:06,139 DEBUG    > User-Agent: Python/3.8 websockets/10.0
2021-10-05 14:02:06,370 DEBUG    < HTTP/1.1 101 Switching Protocols
2021-10-05 14:02:06,370 DEBUG    < Date: Tue, 05 Oct 2021 18:02:06 GMT
2021-10-05 14:02:06,370 DEBUG    < Connection: upgrade
2021-10-05 14:02:06,370 DEBUG    < upgrade: websocket
2021-10-05 14:02:06,370 DEBUG    < sec-websocket-accept: s8iHMeKRA3SglZcXnS5e1sLAObA=
2021-10-05 14:02:06,371 DEBUG    < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12
2021-10-05 14:02:06,371 DEBUG    = connection is OPEN
2021-10-05 14:02:06,371 DEBUG    > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance/*/erd/*"]}' [91 bytes]
2021-10-05 14:02:06,371 DEBUG    > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes]
2021-10-05 14:02:06,372 DEBUG    Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED
2021-10-05 14:02:24,055 DEBUG    < CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:02:24,055 DEBUG    = connection is CLOSING
2021-10-05 14:02:24,055 DEBUG    > CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:02:24,055 DEBUG    = connection is CLOSED
2021-10-05 14:02:24,056 DEBUG    x closing TCP connection
2021-10-05 14:02:24,056 DEBUG    Waiting before reconnecting
2021-10-05 14:02:24,056 DEBUG    Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED
2021-10-05 14:02:24,056 DEBUG    Client changed state: GeClientState.DROPPED to GeClientState.WAITING
2021-10-05 14:02:26,057 DEBUG    Refreshing authentication before reconnecting
2021-10-05 14:02:26,058 DEBUG    Refreshing OAuth2 token
2021-10-05 14:02:26,059 DEBUG    Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH
2021-10-05 14:02:26,839 DEBUG    Getting WS credentials
2021-10-05 14:02:26,840 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-10-05 14:02:27,059 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-10-05 14:02:27,098 DEBUG    = connection is CONNECTING
2021-10-05 14:02:27,213 DEBUG    > GET /?access_token=ue1cpwmkdyxegasdont59hc4ksrrhcsz HTTP/1.1
2021-10-05 14:02:27,214 DEBUG    > Host: ws-us-east-1.brillion.geappliances.com
2021-10-05 14:02:27,214 DEBUG    > Upgrade: websocket
2021-10-05 14:02:27,214 DEBUG    > Connection: Upgrade
2021-10-05 14:02:27,214 DEBUG    > Sec-WebSocket-Key: Ah1rRfX23llYmssLzmTgLA==
2021-10-05 14:02:27,214 DEBUG    > Sec-WebSocket-Version: 13
2021-10-05 14:02:27,214 DEBUG    > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12
2021-10-05 14:02:27,214 DEBUG    > User-Agent: Python/3.8 websockets/10.0
2021-10-05 14:02:27,450 DEBUG    < HTTP/1.1 101 Switching Protocols
2021-10-05 14:02:27,450 DEBUG    < Date: Tue, 05 Oct 2021 18:02:27 GMT
2021-10-05 14:02:27,450 DEBUG    < Connection: upgrade
2021-10-05 14:02:27,450 DEBUG    < upgrade: websocket
2021-10-05 14:02:27,450 DEBUG    < sec-websocket-accept: ktJ+McSX8AlEOlR+7AvLdRrdACI=
2021-10-05 14:02:27,450 DEBUG    < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12
2021-10-05 14:02:27,450 DEBUG    = connection is OPEN
2021-10-05 14:02:27,451 DEBUG    > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance/*/erd/*"]}' [91 bytes]
2021-10-05 14:02:27,451 DEBUG    > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes]
2021-10-05 14:02:27,451 DEBUG    Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED
2021-10-05 14:02:45,500 DEBUG    < CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:02:45,500 DEBUG    = connection is CLOSING
2021-10-05 14:02:45,500 DEBUG    > CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:02:45,500 DEBUG    = connection is CLOSED
2021-10-05 14:02:45,501 DEBUG    x closing TCP connection
2021-10-05 14:02:45,501 DEBUG    Waiting before reconnecting
2021-10-05 14:02:45,501 DEBUG    Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED
2021-10-05 14:02:45,501 DEBUG    Client changed state: GeClientState.DROPPED to GeClientState.WAITING
2021-10-05 14:02:47,505 DEBUG    Refreshing authentication before reconnecting
2021-10-05 14:02:47,505 DEBUG    Refreshing OAuth2 token
2021-10-05 14:02:47,506 DEBUG    Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH
2021-10-05 14:02:48,217 DEBUG    Getting WS credentials
2021-10-05 14:02:48,217 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-10-05 14:02:48,337 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-10-05 14:02:48,451 DEBUG    = connection is CONNECTING
2021-10-05 14:02:48,541 DEBUG    > GET /?access_token=ue1cpcaxk0pri1xs7b32cni7w2wm91s8 HTTP/1.1
2021-10-05 14:02:48,541 DEBUG    > Host: ws-us-east-1.brillion.geappliances.com
2021-10-05 14:02:48,541 DEBUG    > Upgrade: websocket
2021-10-05 14:02:48,541 DEBUG    > Connection: Upgrade
2021-10-05 14:02:48,541 DEBUG    > Sec-WebSocket-Key: pf61y16zM3XghTGtUKyMkQ==
2021-10-05 14:02:48,541 DEBUG    > Sec-WebSocket-Version: 13
2021-10-05 14:02:48,541 DEBUG    > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12
2021-10-05 14:02:48,541 DEBUG    > User-Agent: Python/3.8 websockets/10.0
2021-10-05 14:02:48,709 DEBUG    < HTTP/1.1 101 Switching Protocols
2021-10-05 14:02:48,709 DEBUG    < Date: Tue, 05 Oct 2021 18:02:48 GMT
2021-10-05 14:02:48,709 DEBUG    < Connection: upgrade
2021-10-05 14:02:48,709 DEBUG    < upgrade: websocket
2021-10-05 14:02:48,709 DEBUG    < sec-websocket-accept: j6UHtI6LMpcMuBy2jZgyuvNwsnc=
2021-10-05 14:02:48,709 DEBUG    < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12
2021-10-05 14:02:48,709 DEBUG    = connection is OPEN
2021-10-05 14:02:48,710 DEBUG    > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance/*/erd/*"]}' [91 bytes]
2021-10-05 14:02:48,710 DEBUG    > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes]
2021-10-05 14:02:48,711 DEBUG    Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED
2021-10-05 14:03:06,849 DEBUG    < CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:03:06,849 DEBUG    = connection is CLOSING
2021-10-05 14:03:06,849 DEBUG    > CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:03:06,849 DEBUG    = connection is CLOSED
2021-10-05 14:03:06,850 DEBUG    x closing TCP connection
2021-10-05 14:03:06,850 DEBUG    Waiting before reconnecting
2021-10-05 14:03:06,850 DEBUG    Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED
2021-10-05 14:03:06,851 DEBUG    Client changed state: GeClientState.DROPPED to GeClientState.WAITING
2021-10-05 14:03:08,854 DEBUG    Refreshing authentication before reconnecting
2021-10-05 14:03:08,854 DEBUG    Refreshing OAuth2 token
2021-10-05 14:03:08,855 DEBUG    Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH
2021-10-05 14:03:10,656 DEBUG    Getting WS credentials
2021-10-05 14:03:10,657 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-10-05 14:03:10,871 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-10-05 14:03:10,887 DEBUG    = connection is CONNECTING
2021-10-05 14:03:10,935 DEBUG    > GET /?access_token=ue1cpywumofq8rdz6upof1wkuqrcwddf HTTP/1.1
2021-10-05 14:03:10,935 DEBUG    > Host: ws-us-east-1.brillion.geappliances.com
2021-10-05 14:03:10,935 DEBUG    > Upgrade: websocket
2021-10-05 14:03:10,935 DEBUG    > Connection: Upgrade
2021-10-05 14:03:10,935 DEBUG    > Sec-WebSocket-Key: s1+EmHmZNjBHh7UJ137nqQ==
2021-10-05 14:03:10,935 DEBUG    > Sec-WebSocket-Version: 13
2021-10-05 14:03:10,935 DEBUG    > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12
2021-10-05 14:03:10,935 DEBUG    > User-Agent: Python/3.8 websockets/10.0
2021-10-05 14:03:11,172 DEBUG    < HTTP/1.1 101 Switching Protocols
2021-10-05 14:03:11,176 DEBUG    < Date: Tue, 05 Oct 2021 18:03:11 GMT
2021-10-05 14:03:11,176 DEBUG    < Connection: upgrade
2021-10-05 14:03:11,176 DEBUG    < upgrade: websocket
2021-10-05 14:03:11,176 DEBUG    < sec-websocket-accept: FoiofqOXN62nKxeXrH9x+o3k8TI=
2021-10-05 14:03:11,176 DEBUG    < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12
2021-10-05 14:03:11,176 DEBUG    = connection is OPEN
2021-10-05 14:03:11,177 DEBUG    > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance/*/erd/*"]}' [91 bytes]
2021-10-05 14:03:11,177 DEBUG    > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes]
2021-10-05 14:03:11,178 DEBUG    Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED
2021-10-05 14:03:28,758 DEBUG    < CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:03:28,758 DEBUG    = connection is CLOSING
2021-10-05 14:03:28,758 DEBUG    > CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:03:28,758 DEBUG    = connection is CLOSED
2021-10-05 14:03:28,758 DEBUG    x closing TCP connection
2021-10-05 14:03:28,758 DEBUG    Waiting before reconnecting
2021-10-05 14:03:28,759 DEBUG    Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED
2021-10-05 14:03:28,759 DEBUG    Client changed state: GeClientState.DROPPED to GeClientState.WAITING
2021-10-05 14:03:30,759 DEBUG    Refreshing authentication before reconnecting
2021-10-05 14:03:30,759 DEBUG    Refreshing OAuth2 token
2021-10-05 14:03:30,760 DEBUG    Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH
2021-10-05 14:03:31,541 DEBUG    Getting WS credentials
2021-10-05 14:03:31,541 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-10-05 14:03:32,015 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-10-05 14:03:32,104 DEBUG    = connection is CONNECTING
2021-10-05 14:03:32,187 DEBUG    > GET /?access_token=ue1cpt7egbwvs2rw7j4wruc9foggonb3 HTTP/1.1
2021-10-05 14:03:32,187 DEBUG    > Host: ws-us-east-1.brillion.geappliances.com
2021-10-05 14:03:32,187 DEBUG    > Upgrade: websocket
2021-10-05 14:03:32,187 DEBUG    > Connection: Upgrade
2021-10-05 14:03:32,188 DEBUG    > Sec-WebSocket-Key: eNVIo+RmX3G2PbDMa/f/fA==
2021-10-05 14:03:32,188 DEBUG    > Sec-WebSocket-Version: 13
2021-10-05 14:03:32,188 DEBUG    > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12
2021-10-05 14:03:32,188 DEBUG    > User-Agent: Python/3.8 websockets/10.0
2021-10-05 14:03:32,378 DEBUG    < HTTP/1.1 101 Switching Protocols
2021-10-05 14:03:32,379 DEBUG    < Date: Tue, 05 Oct 2021 18:03:32 GMT
2021-10-05 14:03:32,379 DEBUG    < Connection: upgrade
2021-10-05 14:03:32,379 DEBUG    < upgrade: websocket
2021-10-05 14:03:32,379 DEBUG    < sec-websocket-accept: zvUYVJrvAgEYr6+DKckFdyTT66c=
2021-10-05 14:03:32,379 DEBUG    < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12
2021-10-05 14:03:32,379 DEBUG    = connection is OPEN
2021-10-05 14:03:32,379 DEBUG    > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance/*/erd/*"]}' [91 bytes]
2021-10-05 14:03:32,379 DEBUG    > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes]
2021-10-05 14:03:32,380 DEBUG    Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED
2021-10-05 14:03:50,222 DEBUG    < CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:03:50,223 DEBUG    = connection is CLOSING
2021-10-05 14:03:50,223 DEBUG    > CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:03:50,223 DEBUG    = connection is CLOSED
2021-10-05 14:03:50,223 DEBUG    x closing TCP connection
2021-10-05 14:03:50,224 DEBUG    Waiting before reconnecting
2021-10-05 14:03:50,224 DEBUG    Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED
2021-10-05 14:03:50,224 DEBUG    Client changed state: GeClientState.DROPPED to GeClientState.WAITING
2021-10-05 14:03:52,228 DEBUG    Refreshing authentication before reconnecting
2021-10-05 14:03:52,228 DEBUG    Refreshing OAuth2 token
2021-10-05 14:03:52,229 DEBUG    Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH
2021-10-05 14:03:53,479 DEBUG    Getting WS credentials
2021-10-05 14:03:53,480 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-10-05 14:03:53,628 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-10-05 14:03:53,643 DEBUG    = connection is CONNECTING
2021-10-05 14:03:53,685 DEBUG    > GET /?access_token=ue1cpm2mcpke4kx3dcaj7wihiwvjk5kb HTTP/1.1
2021-10-05 14:03:53,685 DEBUG    > Host: ws-us-east-1.brillion.geappliances.com
2021-10-05 14:03:53,685 DEBUG    > Upgrade: websocket
2021-10-05 14:03:53,685 DEBUG    > Connection: Upgrade
2021-10-05 14:03:53,685 DEBUG    > Sec-WebSocket-Key: zYF+JI4LdTgIgRujLs/WGg==
2021-10-05 14:03:53,685 DEBUG    > Sec-WebSocket-Version: 13
2021-10-05 14:03:53,685 DEBUG    > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12
2021-10-05 14:03:53,685 DEBUG    > User-Agent: Python/3.8 websockets/10.0
2021-10-05 14:03:53,872 DEBUG    < HTTP/1.1 101 Switching Protocols
2021-10-05 14:03:53,872 DEBUG    < Date: Tue, 05 Oct 2021 18:03:53 GMT
2021-10-05 14:03:53,872 DEBUG    < Connection: upgrade
2021-10-05 14:03:53,872 DEBUG    < upgrade: websocket
2021-10-05 14:03:53,873 DEBUG    < sec-websocket-accept: rXLMFMe3DrTL0XfSPvPujafBKho=
2021-10-05 14:03:53,873 DEBUG    < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12
2021-10-05 14:03:53,873 DEBUG    = connection is OPEN
2021-10-05 14:03:53,874 DEBUG    > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance/*/erd/*"]}' [91 bytes]
2021-10-05 14:03:53,875 DEBUG    > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes]
2021-10-05 14:03:53,875 DEBUG    Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED
2021-10-05 14:04:12,146 DEBUG    < CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:04:12,146 DEBUG    = connection is CLOSING
2021-10-05 14:04:12,146 DEBUG    > CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:04:12,146 DEBUG    = connection is CLOSED
2021-10-05 14:04:12,147 DEBUG    x closing TCP connection
2021-10-05 14:04:12,147 DEBUG    Waiting before reconnecting
2021-10-05 14:04:12,147 DEBUG    Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED
2021-10-05 14:04:12,147 DEBUG    Client changed state: GeClientState.DROPPED to GeClientState.WAITING
2021-10-05 14:04:14,150 DEBUG    Refreshing authentication before reconnecting
2021-10-05 14:04:14,150 DEBUG    Refreshing OAuth2 token
2021-10-05 14:04:14,150 DEBUG    Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH
2021-10-05 14:04:14,913 DEBUG    Getting WS credentials
2021-10-05 14:04:14,914 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-10-05 14:04:15,314 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-10-05 14:04:15,407 DEBUG    = connection is CONNECTING
2021-10-05 14:04:15,614 DEBUG    > GET /?access_token=ue1cpbj0rqn4oyrumcetjutn6c8iovpu HTTP/1.1
2021-10-05 14:04:15,614 DEBUG    > Host: ws-us-east-1.brillion.geappliances.com
2021-10-05 14:04:15,614 DEBUG    > Upgrade: websocket
2021-10-05 14:04:15,614 DEBUG    > Connection: Upgrade
2021-10-05 14:04:15,614 DEBUG    > Sec-WebSocket-Key: kYiINJ336Vo2Wmm2ocxq+g==
2021-10-05 14:04:15,614 DEBUG    > Sec-WebSocket-Version: 13
2021-10-05 14:04:15,614 DEBUG    > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12
2021-10-05 14:04:15,614 DEBUG    > User-Agent: Python/3.8 websockets/10.0
2021-10-05 14:04:15,844 DEBUG    < HTTP/1.1 101 Switching Protocols
2021-10-05 14:04:15,844 DEBUG    < Date: Tue, 05 Oct 2021 18:04:15 GMT
2021-10-05 14:04:15,844 DEBUG    < Connection: upgrade
2021-10-05 14:04:15,844 DEBUG    < upgrade: websocket
2021-10-05 14:04:15,844 DEBUG    < sec-websocket-accept: CCsm+5EpCtcZbLIxJY+0EF1EUUQ=
2021-10-05 14:04:15,844 DEBUG    < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12
2021-10-05 14:04:15,844 DEBUG    = connection is OPEN
2021-10-05 14:04:15,845 DEBUG    > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance/*/erd/*"]}' [91 bytes]
2021-10-05 14:04:15,845 DEBUG    > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes]
2021-10-05 14:04:15,845 DEBUG    Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED
2021-10-05 14:04:33,558 DEBUG    < CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:04:33,558 DEBUG    = connection is CLOSING
2021-10-05 14:04:33,558 DEBUG    > CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:04:33,559 DEBUG    = connection is CLOSED
2021-10-05 14:04:33,559 DEBUG    x closing TCP connection
2021-10-05 14:04:33,559 DEBUG    Waiting before reconnecting
2021-10-05 14:04:33,559 DEBUG    Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED
2021-10-05 14:04:33,560 DEBUG    Client changed state: GeClientState.DROPPED to GeClientState.WAITING
2021-10-05 14:04:35,563 DEBUG    Refreshing authentication before reconnecting
2021-10-05 14:04:35,564 DEBUG    Refreshing OAuth2 token
2021-10-05 14:04:35,564 DEBUG    Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH
2021-10-05 14:04:36,162 DEBUG    Getting WS credentials
2021-10-05 14:04:36,162 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-10-05 14:04:36,604 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-10-05 14:04:36,645 DEBUG    = connection is CONNECTING
2021-10-05 14:04:36,741 DEBUG    > GET /?access_token=ue1cpnyv9oo60d5fofttbk4nv218enbe HTTP/1.1
2021-10-05 14:04:36,741 DEBUG    > Host: ws-us-east-1.brillion.geappliances.com
2021-10-05 14:04:36,741 DEBUG    > Upgrade: websocket
2021-10-05 14:04:36,741 DEBUG    > Connection: Upgrade
2021-10-05 14:04:36,741 DEBUG    > Sec-WebSocket-Key: XOCVKPwc1avbgODDsGzd5w==
2021-10-05 14:04:36,741 DEBUG    > Sec-WebSocket-Version: 13
2021-10-05 14:04:36,741 DEBUG    > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12
2021-10-05 14:04:36,741 DEBUG    > User-Agent: Python/3.8 websockets/10.0
2021-10-05 14:04:36,919 DEBUG    < HTTP/1.1 101 Switching Protocols
2021-10-05 14:04:36,919 DEBUG    < Date: Tue, 05 Oct 2021 18:04:36 GMT
2021-10-05 14:04:36,919 DEBUG    < Connection: upgrade
2021-10-05 14:04:36,919 DEBUG    < upgrade: websocket
2021-10-05 14:04:36,919 DEBUG    < sec-websocket-accept: VJ2H6G2Nr4vEkM3UhyOEcrJp4Ng=
2021-10-05 14:04:36,919 DEBUG    < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12
2021-10-05 14:04:36,919 DEBUG    = connection is OPEN
2021-10-05 14:04:36,920 DEBUG    > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance/*/erd/*"]}' [91 bytes]
2021-10-05 14:04:36,920 DEBUG    > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes]
2021-10-05 14:04:36,921 DEBUG    Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED
2021-10-05 14:04:54,296 DEBUG    < CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:04:54,296 DEBUG    = connection is CLOSING
2021-10-05 14:04:54,296 DEBUG    > CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:04:54,296 DEBUG    = connection is CLOSED
2021-10-05 14:04:54,297 DEBUG    x closing TCP connection
2021-10-05 14:04:54,297 DEBUG    Waiting before reconnecting
2021-10-05 14:04:54,297 DEBUG    Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED
2021-10-05 14:04:54,297 DEBUG    Client changed state: GeClientState.DROPPED to GeClientState.WAITING
2021-10-05 14:04:56,301 DEBUG    Refreshing authentication before reconnecting
2021-10-05 14:04:56,301 DEBUG    Refreshing OAuth2 token
2021-10-05 14:04:56,302 DEBUG    Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH
2021-10-05 14:04:57,390 DEBUG    Getting WS credentials
2021-10-05 14:04:57,391 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-10-05 14:04:57,839 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-10-05 14:04:57,924 DEBUG    = connection is CONNECTING
2021-10-05 14:04:57,968 DEBUG    > GET /?access_token=ue1cpu1yp2qi6j6ewjkjg9x18i4j3wdi HTTP/1.1
2021-10-05 14:04:57,968 DEBUG    > Host: ws-us-east-1.brillion.geappliances.com
2021-10-05 14:04:57,968 DEBUG    > Upgrade: websocket
2021-10-05 14:04:57,968 DEBUG    > Connection: Upgrade
2021-10-05 14:04:57,968 DEBUG    > Sec-WebSocket-Key: 1DdRKd8qSA9sUelEx+b2HA==
2021-10-05 14:04:57,968 DEBUG    > Sec-WebSocket-Version: 13
2021-10-05 14:04:57,968 DEBUG    > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12
2021-10-05 14:04:57,969 DEBUG    > User-Agent: Python/3.8 websockets/10.0
2021-10-05 14:04:58,147 DEBUG    < HTTP/1.1 101 Switching Protocols
2021-10-05 14:04:58,148 DEBUG    < Date: Tue, 05 Oct 2021 18:04:58 GMT
2021-10-05 14:04:58,148 DEBUG    < Connection: upgrade
2021-10-05 14:04:58,148 DEBUG    < upgrade: websocket
2021-10-05 14:04:58,148 DEBUG    < sec-websocket-accept: 5DrXM/iDXR6gCehAm7CGl5qh3TQ=
2021-10-05 14:04:58,148 DEBUG    < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12
2021-10-05 14:04:58,148 DEBUG    = connection is OPEN
2021-10-05 14:04:58,148 DEBUG    > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance/*/erd/*"]}' [91 bytes]
2021-10-05 14:04:58,149 DEBUG    > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes]
2021-10-05 14:04:58,149 DEBUG    Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED
2021-10-05 14:05:16,253 DEBUG    < CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:05:16,253 DEBUG    = connection is CLOSING
2021-10-05 14:05:16,253 DEBUG    > CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:05:16,254 DEBUG    = connection is CLOSED
2021-10-05 14:05:16,254 DEBUG    x closing TCP connection
2021-10-05 14:05:16,254 DEBUG    Waiting before reconnecting
2021-10-05 14:05:16,255 DEBUG    Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED
2021-10-05 14:05:16,255 DEBUG    Client changed state: GeClientState.DROPPED to GeClientState.WAITING
2021-10-05 14:05:18,259 DEBUG    Refreshing authentication before reconnecting
2021-10-05 14:05:18,259 DEBUG    Refreshing OAuth2 token
2021-10-05 14:05:18,260 DEBUG    Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH
2021-10-05 14:05:18,957 DEBUG    Getting WS credentials
2021-10-05 14:05:18,958 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-10-05 14:05:19,339 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-10-05 14:05:19,440 DEBUG    = connection is CONNECTING
2021-10-05 14:05:19,652 DEBUG    > GET /?access_token=ue1cpy4v9jp6xof193oankb5ihsq3gan HTTP/1.1
2021-10-05 14:05:19,652 DEBUG    > Host: ws-us-east-1.brillion.geappliances.com
2021-10-05 14:05:19,652 DEBUG    > Upgrade: websocket
2021-10-05 14:05:19,652 DEBUG    > Connection: Upgrade
2021-10-05 14:05:19,652 DEBUG    > Sec-WebSocket-Key: d2L4XUwxsANzZAeXIcFMDA==
2021-10-05 14:05:19,652 DEBUG    > Sec-WebSocket-Version: 13
2021-10-05 14:05:19,652 DEBUG    > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12
2021-10-05 14:05:19,652 DEBUG    > User-Agent: Python/3.8 websockets/10.0
2021-10-05 14:05:19,935 DEBUG    < HTTP/1.1 101 Switching Protocols
2021-10-05 14:05:19,935 DEBUG    < Date: Tue, 05 Oct 2021 18:05:19 GMT
2021-10-05 14:05:19,935 DEBUG    < Connection: upgrade
2021-10-05 14:05:19,935 DEBUG    < upgrade: websocket
2021-10-05 14:05:19,935 DEBUG    < sec-websocket-accept: ZtxJ7hkeRa1MKsXvnjm72aVYzVw=
2021-10-05 14:05:19,936 DEBUG    < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12
2021-10-05 14:05:19,936 DEBUG    = connection is OPEN
2021-10-05 14:05:19,951 DEBUG    > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance/*/erd/*"]}' [91 bytes]
2021-10-05 14:05:19,951 DEBUG    > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes]
2021-10-05 14:05:19,952 DEBUG    Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED
2021-10-05 14:05:38,084 DEBUG    < CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:05:38,084 DEBUG    = connection is CLOSING
2021-10-05 14:05:38,084 DEBUG    > CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:05:38,085 DEBUG    = connection is CLOSED
2021-10-05 14:05:38,085 DEBUG    x closing TCP connection
2021-10-05 14:05:38,085 DEBUG    Waiting before reconnecting
2021-10-05 14:05:38,086 DEBUG    Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED
2021-10-05 14:05:38,086 DEBUG    Client changed state: GeClientState.DROPPED to GeClientState.WAITING
2021-10-05 14:05:40,088 DEBUG    Refreshing authentication before reconnecting
2021-10-05 14:05:40,088 DEBUG    Refreshing OAuth2 token
2021-10-05 14:05:40,089 DEBUG    Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH
2021-10-05 14:05:40,906 DEBUG    Getting WS credentials
2021-10-05 14:05:40,907 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-10-05 14:05:41,674 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-10-05 14:05:41,688 DEBUG    = connection is CONNECTING
2021-10-05 14:05:41,729 DEBUG    > GET /?access_token=ue1cp5yt6dh3qjywfuykxzevv8g8ga28 HTTP/1.1
2021-10-05 14:05:41,730 DEBUG    > Host: ws-us-east-1.brillion.geappliances.com
2021-10-05 14:05:41,730 DEBUG    > Upgrade: websocket
2021-10-05 14:05:41,730 DEBUG    > Connection: Upgrade
2021-10-05 14:05:41,730 DEBUG    > Sec-WebSocket-Key: +o66kVI/uydq4DedDiFa+Q==
2021-10-05 14:05:41,730 DEBUG    > Sec-WebSocket-Version: 13
2021-10-05 14:05:41,730 DEBUG    > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12
2021-10-05 14:05:41,730 DEBUG    > User-Agent: Python/3.8 websockets/10.0
2021-10-05 14:05:41,928 DEBUG    < HTTP/1.1 101 Switching Protocols
2021-10-05 14:05:41,928 DEBUG    < Date: Tue, 05 Oct 2021 18:05:41 GMT
2021-10-05 14:05:41,928 DEBUG    < Connection: upgrade
2021-10-05 14:05:41,928 DEBUG    < upgrade: websocket
2021-10-05 14:05:41,929 DEBUG    < sec-websocket-accept: yb28C1Z7RWXcDo2fRcqyqa8xN8M=
2021-10-05 14:05:41,929 DEBUG    < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12
2021-10-05 14:05:41,929 DEBUG    = connection is OPEN
2021-10-05 14:05:41,929 DEBUG    > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance/*/erd/*"]}' [91 bytes]
2021-10-05 14:05:41,929 DEBUG    > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes]
2021-10-05 14:05:41,930 DEBUG    Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED
2021-10-05 14:05:59,896 DEBUG    < CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:05:59,896 DEBUG    = connection is CLOSING
2021-10-05 14:05:59,897 DEBUG    > CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:05:59,897 DEBUG    = connection is CLOSED
2021-10-05 14:05:59,897 DEBUG    x closing TCP connection
2021-10-05 14:05:59,897 DEBUG    Waiting before reconnecting
2021-10-05 14:05:59,898 DEBUG    Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED
2021-10-05 14:05:59,898 DEBUG    Client changed state: GeClientState.DROPPED to GeClientState.WAITING
2021-10-05 14:06:01,902 DEBUG    Refreshing authentication before reconnecting
2021-10-05 14:06:01,902 DEBUG    Refreshing OAuth2 token
2021-10-05 14:06:01,903 DEBUG    Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH
2021-10-05 14:06:02,432 DEBUG    Getting WS credentials
2021-10-05 14:06:02,432 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-10-05 14:06:02,597 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-10-05 14:06:02,612 DEBUG    = connection is CONNECTING
2021-10-05 14:06:02,660 DEBUG    > GET /?access_token=ue1cpgj4z809v2pp00zmrqtobbhcqajd HTTP/1.1
2021-10-05 14:06:02,661 DEBUG    > Host: ws-us-east-1.brillion.geappliances.com
2021-10-05 14:06:02,661 DEBUG    > Upgrade: websocket
2021-10-05 14:06:02,661 DEBUG    > Connection: Upgrade
2021-10-05 14:06:02,661 DEBUG    > Sec-WebSocket-Key: oaRM/yM2kamgpjiszu2/Dg==
2021-10-05 14:06:02,661 DEBUG    > Sec-WebSocket-Version: 13
2021-10-05 14:06:02,661 DEBUG    > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12
2021-10-05 14:06:02,661 DEBUG    > User-Agent: Python/3.8 websockets/10.0
2021-10-05 14:06:02,840 DEBUG    < HTTP/1.1 101 Switching Protocols
2021-10-05 14:06:02,840 DEBUG    < Date: Tue, 05 Oct 2021 18:06:02 GMT
2021-10-05 14:06:02,840 DEBUG    < Connection: upgrade
2021-10-05 14:06:02,840 DEBUG    < upgrade: websocket
2021-10-05 14:06:02,840 DEBUG    < sec-websocket-accept: sDjQgtYDf6B29FpcqUD0EPlRhZM=
2021-10-05 14:06:02,840 DEBUG    < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12
2021-10-05 14:06:02,840 DEBUG    = connection is OPEN
2021-10-05 14:06:02,840 DEBUG    > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance/*/erd/*"]}' [91 bytes]
2021-10-05 14:06:02,841 DEBUG    > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes]
2021-10-05 14:06:02,841 DEBUG    Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED
2021-10-05 14:06:20,428 DEBUG    < CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:06:20,428 DEBUG    = connection is CLOSING
2021-10-05 14:06:20,429 DEBUG    > CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:06:20,429 DEBUG    = connection is CLOSED
2021-10-05 14:06:20,429 DEBUG    x closing TCP connection
2021-10-05 14:06:20,429 DEBUG    Waiting before reconnecting
2021-10-05 14:06:20,430 DEBUG    Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED
2021-10-05 14:06:20,430 DEBUG    Client changed state: GeClientState.DROPPED to GeClientState.WAITING
2021-10-05 14:06:22,431 DEBUG    Refreshing authentication before reconnecting
2021-10-05 14:06:22,432 DEBUG    Refreshing OAuth2 token
2021-10-05 14:06:22,432 DEBUG    Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH
2021-10-05 14:06:23,541 DEBUG    Getting WS credentials
2021-10-05 14:06:23,541 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-10-05 14:06:23,946 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-10-05 14:06:24,185 DEBUG    = connection is CONNECTING
2021-10-05 14:06:24,345 DEBUG    > GET /?access_token=ue1cpi5r65g9cdv9y74x2dhdw0pvxpqy HTTP/1.1
2021-10-05 14:06:24,345 DEBUG    > Host: ws-us-east-1.brillion.geappliances.com
2021-10-05 14:06:24,345 DEBUG    > Upgrade: websocket
2021-10-05 14:06:24,345 DEBUG    > Connection: Upgrade
2021-10-05 14:06:24,345 DEBUG    > Sec-WebSocket-Key: eQFm6gO4aUssqKH5VVoIhQ==
2021-10-05 14:06:24,345 DEBUG    > Sec-WebSocket-Version: 13
2021-10-05 14:06:24,345 DEBUG    > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12
2021-10-05 14:06:24,345 DEBUG    > User-Agent: Python/3.8 websockets/10.0
2021-10-05 14:06:24,574 DEBUG    < HTTP/1.1 101 Switching Protocols
2021-10-05 14:06:24,574 DEBUG    < Date: Tue, 05 Oct 2021 18:06:24 GMT
2021-10-05 14:06:24,574 DEBUG    < Connection: upgrade
2021-10-05 14:06:24,574 DEBUG    < upgrade: websocket
2021-10-05 14:06:24,574 DEBUG    < sec-websocket-accept: PawIeqLGKmTisI9q4sXDrARLbVA=
2021-10-05 14:06:24,574 DEBUG    < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12
2021-10-05 14:06:24,574 DEBUG    = connection is OPEN
2021-10-05 14:06:24,575 DEBUG    > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance/*/erd/*"]}' [91 bytes]
2021-10-05 14:06:24,576 DEBUG    > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes]
2021-10-05 14:06:24,576 DEBUG    Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED
2021-10-05 14:06:42,546 DEBUG    < CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:06:42,546 DEBUG    = connection is CLOSING
2021-10-05 14:06:42,546 DEBUG    > CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:06:42,547 DEBUG    = connection is CLOSED
2021-10-05 14:06:42,547 DEBUG    x closing TCP connection
2021-10-05 14:06:42,547 DEBUG    Waiting before reconnecting
2021-10-05 14:06:42,548 DEBUG    Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED
2021-10-05 14:06:42,548 DEBUG    Client changed state: GeClientState.DROPPED to GeClientState.WAITING
2021-10-05 14:06:44,553 DEBUG    Refreshing authentication before reconnecting
2021-10-05 14:06:44,553 DEBUG    Refreshing OAuth2 token
2021-10-05 14:06:44,553 DEBUG    Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH
2021-10-05 14:06:45,105 DEBUG    Getting WS credentials
2021-10-05 14:06:45,105 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-10-05 14:06:45,267 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-10-05 14:06:45,281 DEBUG    = connection is CONNECTING
2021-10-05 14:06:45,352 DEBUG    > GET /?access_token=ue1cpuhx5tomftwv5zfis5oa4jjd4x2v HTTP/1.1
2021-10-05 14:06:45,352 DEBUG    > Host: ws-us-east-1.brillion.geappliances.com
2021-10-05 14:06:45,352 DEBUG    > Upgrade: websocket
2021-10-05 14:06:45,352 DEBUG    > Connection: Upgrade
2021-10-05 14:06:45,352 DEBUG    > Sec-WebSocket-Key: hQGvFUqAJQcGWLoF5L7rew==
2021-10-05 14:06:45,353 DEBUG    > Sec-WebSocket-Version: 13
2021-10-05 14:06:45,353 DEBUG    > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12
2021-10-05 14:06:45,353 DEBUG    > User-Agent: Python/3.8 websockets/10.0
2021-10-05 14:06:45,531 DEBUG    < HTTP/1.1 101 Switching Protocols
2021-10-05 14:06:45,531 DEBUG    < Date: Tue, 05 Oct 2021 18:06:45 GMT
2021-10-05 14:06:45,531 DEBUG    < Connection: upgrade
2021-10-05 14:06:45,531 DEBUG    < upgrade: websocket
2021-10-05 14:06:45,531 DEBUG    < sec-websocket-accept: fxDmX/jAhxfHh9P+m+AnFGQv4QM=
2021-10-05 14:06:45,531 DEBUG    < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12
2021-10-05 14:06:45,531 DEBUG    = connection is OPEN
2021-10-05 14:06:45,531 DEBUG    > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance/*/erd/*"]}' [91 bytes]
2021-10-05 14:06:45,532 DEBUG    > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes]
2021-10-05 14:06:45,532 DEBUG    Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED
2021-10-05 14:07:03,578 DEBUG    < CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:07:03,579 DEBUG    = connection is CLOSING
2021-10-05 14:07:03,579 DEBUG    > CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:07:03,579 DEBUG    = connection is CLOSED
2021-10-05 14:07:03,580 DEBUG    x closing TCP connection
2021-10-05 14:07:03,580 DEBUG    Waiting before reconnecting
2021-10-05 14:07:03,580 DEBUG    Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED
2021-10-05 14:07:03,580 DEBUG    Client changed state: GeClientState.DROPPED to GeClientState.WAITING
2021-10-05 14:07:05,583 DEBUG    Refreshing authentication before reconnecting
2021-10-05 14:07:05,583 DEBUG    Refreshing OAuth2 token
2021-10-05 14:07:05,584 DEBUG    Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH
2021-10-05 14:07:06,266 DEBUG    Getting WS credentials
2021-10-05 14:07:06,267 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-10-05 14:07:06,576 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-10-05 14:07:06,644 DEBUG    = connection is CONNECTING
2021-10-05 14:07:06,784 DEBUG    > GET /?access_token=ue1cpz0azg01ox9vs7dpywapdoia9rsx HTTP/1.1
2021-10-05 14:07:06,784 DEBUG    > Host: ws-us-east-1.brillion.geappliances.com
2021-10-05 14:07:06,785 DEBUG    > Upgrade: websocket
2021-10-05 14:07:06,785 DEBUG    > Connection: Upgrade
2021-10-05 14:07:06,785 DEBUG    > Sec-WebSocket-Key: KxVkBMmhcgFGZkaedJzHwg==
2021-10-05 14:07:06,785 DEBUG    > Sec-WebSocket-Version: 13
2021-10-05 14:07:06,785 DEBUG    > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12
2021-10-05 14:07:06,785 DEBUG    > User-Agent: Python/3.8 websockets/10.0
2021-10-05 14:07:06,962 DEBUG    < HTTP/1.1 101 Switching Protocols
2021-10-05 14:07:06,962 DEBUG    < Date: Tue, 05 Oct 2021 18:07:06 GMT
2021-10-05 14:07:06,962 DEBUG    < Connection: upgrade
2021-10-05 14:07:06,962 DEBUG    < upgrade: websocket
2021-10-05 14:07:06,962 DEBUG    < sec-websocket-accept: 7BEFfKXBSzWEc/d9JAPEAKs63pk=
2021-10-05 14:07:06,962 DEBUG    < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12
2021-10-05 14:07:06,962 DEBUG    = connection is OPEN
2021-10-05 14:07:06,962 DEBUG    > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance/*/erd/*"]}' [91 bytes]
2021-10-05 14:07:06,963 DEBUG    > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes]
2021-10-05 14:07:06,963 DEBUG    Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED
2021-10-05 14:07:24,670 DEBUG    < CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:07:24,670 DEBUG    = connection is CLOSING
2021-10-05 14:07:24,671 DEBUG    > CLOSE 1000 (OK) Connection Closed Normally [28 bytes]
2021-10-05 14:07:24,671 DEBUG    = connection is CLOSED
2021-10-05 14:07:24,672 DEBUG    x closing TCP connection
2021-10-05 14:07:24,672 DEBUG    Waiting before reconnecting
2021-10-05 14:07:24,672 DEBUG    Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED
2021-10-05 14:07:24,672 DEBUG    Client changed state: GeClientState.DROPPED to GeClientState.WAITING
2021-10-05 14:07:26,674 DEBUG    Refreshing authentication before reconnecting
2021-10-05 14:07:26,674 DEBUG    Refreshing OAuth2 token
2021-10-05 14:07:26,676 DEBUG    Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH
2021-10-05 14:07:27,208 WARNING  Error refreshing authentication: Connection closed
2021-10-05 14:07:27,208 INFO     Disconnecting
2021-10-05 14:07:27,208 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.DISCONNECTING
2021-10-05 14:07:27,208 DEBUG    Client changed state: GeClientState.DISCONNECTING to GeClientState.DISCONNECTED

I'm in a meeting, so no opportunity to open/close doors or press buttons, but I can do that if needed in an hour or so.

simbaja commented 3 years ago

Weird, something is causing it to bomb but isn't showing up as an error. I suspect I have something wrong with one of my converters for the new functionality. Can you perhaps step through and see what's throwing the exception when you have a moment?

elwing00 commented 3 years ago

I'll do my best - Python isn't my strong suit (C is....). Luckily, my husband deals in Python all the time and can help me out. It might be a few days til I can get back to you.

simbaja commented 3 years ago

Yeah, I know what you mean. My day job is mostly C#, so I sometimes mess some of this stuff up since it's not strict compile time checking. It does have it's pluses and minuses though.

If you're using vs code, you should be able to set a breakpoint and then step through, I'm guessing it's one of the new fridge converters that I wrote blind. I'll try to take a look later as well to see if I can spot it.

elwing00 commented 3 years ago

OK, best we can tell from debugging is that it "fails" waiting after the subscribe message (> TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance//erd/"]}'). There's no response. (clients/websocket_client.py line 425). it gets sent in line 425, but no response. I did put two and two together than ha_gehome is using version 0.4.3 and the code pulled down by pip is 0.4.10, so that somewhat narrows down the potential issue. My ha_gehome is picking up the fridge with no problems, just not that it has a drawer or the extra settings.

groto27 commented 3 years ago

I followed the same steps above and here is my output. I opened and shut all of the drawers (including the middle drawer). The middle one is the one I don't see support for today.

Also, my fridge has LED lighting that can be adjusted via the smartHQ app and a proximity light on the ice maker, so I messed with those too while the log was running. I am not sure if everything really got captured here are or not though. Please let me know if this is what you are looking for. Also, this script never quit running so I just did a ctrl+c to quit after performing functions on the fridge. Thanks!!

macbook:examples user$ python3 websocket_example.py 2021-10-06 18:32:14,818 DEBUG Using selector: KqueueSelector /Users/user/Downloads/gehome-master/examples/websocket_example.py:75: DeprecationWarning: The object should be created within an async function session = aiohttp.ClientSession()

2021-10-06 18:32:14,819 DEBUG Getting OAuth2 token 2021-10-06 18:32:14,837 DEBUG Client changed state: GeClientState.INITIALIZING to GeClientState.AUTHORIZING_OAUTH 2021-10-06 18:32:17,440 DEBUG Getting WS credentials 2021-10-06 18:32:17,441 DEBUG Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT 2021-10-06 18:32:17,565 INFO Starting GE Appliances client 2021-10-06 18:32:17,674 DEBUG Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING 2021-10-06 18:32:17,740 DEBUG = connection is CONNECTING 2021-10-06 18:32:17,817 DEBUG > GET /?access_token=ue1cpi678d0xit58yjhi49s6bsh4f1dt HTTP/1.1 2021-10-06 18:32:17,817 DEBUG > Host: ws-us-east-1.brillion.geappliances.com 2021-10-06 18:32:17,817 DEBUG > Upgrade: websocket 2021-10-06 18:32:17,817 DEBUG > Connection: Upgrade 2021-10-06 18:32:17,817 DEBUG > Sec-WebSocket-Key: yE50Ier2yvFdQS0oWP7Buw== 2021-10-06 18:32:17,817 DEBUG > Sec-WebSocket-Version: 13 2021-10-06 18:32:17,817 DEBUG > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12 2021-10-06 18:32:17,818 DEBUG > User-Agent: Python/3.9 websockets/10.0 2021-10-06 18:32:17,997 DEBUG < HTTP/1.1 101 Switching Protocols 2021-10-06 18:32:17,998 DEBUG < Date: Wed, 06 Oct 2021 23:32:17 GMT 2021-10-06 18:32:17,998 DEBUG < Connection: upgrade 2021-10-06 18:32:17,998 DEBUG < upgrade: websocket 2021-10-06 18:32:17,998 DEBUG < sec-websocket-accept: 16PJ0O4C7tZ7qOuHMVaupOw0cQI= 2021-10-06 18:32:17,998 DEBUG < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12 2021-10-06 18:32:17,998 DEBUG = connection is OPEN 2021-10-06 18:32:17,999 DEBUG > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance//erd/"]}' [91 bytes] 2021-10-06 18:32:17,999 DEBUG > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes] 2021-10-06 18:32:18,000 DEBUG Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED 2021-10-06 18:32:36,101 DEBUG < CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:32:36,101 DEBUG = connection is CLOSING 2021-10-06 18:32:36,101 DEBUG > CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:32:36,101 DEBUG = connection is CLOSED 2021-10-06 18:32:36,102 DEBUG x closing TCP connection 2021-10-06 18:32:36,102 DEBUG Waiting before reconnecting 2021-10-06 18:32:36,102 DEBUG Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED 2021-10-06 18:32:36,103 DEBUG Client changed state: GeClientState.DROPPED to GeClientState.WAITING 2021-10-06 18:32:38,105 DEBUG Refreshing authentication before reconnecting 2021-10-06 18:32:38,105 DEBUG Refreshing OAuth2 token 2021-10-06 18:32:38,107 DEBUG Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH 2021-10-06 18:32:39,353 DEBUG Getting WS credentials 2021-10-06 18:32:39,354 DEBUG Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT 2021-10-06 18:32:39,981 DEBUG Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING 2021-10-06 18:32:40,012 DEBUG = connection is CONNECTING 2021-10-06 18:32:40,084 DEBUG > GET /?access_token=ue1cpmgk5izpzjoczi9tutymqhh056av HTTP/1.1 2021-10-06 18:32:40,084 DEBUG > Host: ws-us-east-1.brillion.geappliances.com 2021-10-06 18:32:40,084 DEBUG > Upgrade: websocket 2021-10-06 18:32:40,084 DEBUG > Connection: Upgrade 2021-10-06 18:32:40,085 DEBUG > Sec-WebSocket-Key: dZrPtdZwt+AY3iaCHqTOvA== 2021-10-06 18:32:40,085 DEBUG > Sec-WebSocket-Version: 13 2021-10-06 18:32:40,085 DEBUG > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12 2021-10-06 18:32:40,085 DEBUG > User-Agent: Python/3.9 websockets/10.0 2021-10-06 18:32:40,263 DEBUG < HTTP/1.1 101 Switching Protocols 2021-10-06 18:32:40,263 DEBUG < Date: Wed, 06 Oct 2021 23:32:40 GMT 2021-10-06 18:32:40,263 DEBUG < Connection: upgrade 2021-10-06 18:32:40,263 DEBUG < upgrade: websocket 2021-10-06 18:32:40,263 DEBUG < sec-websocket-accept: d+B5G52osGl6OmUcZs//redCPJw= 2021-10-06 18:32:40,263 DEBUG < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12 2021-10-06 18:32:40,264 DEBUG = connection is OPEN 2021-10-06 18:32:40,264 DEBUG > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance//erd/"]}' [91 bytes] 2021-10-06 18:32:40,265 DEBUG > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes] 2021-10-06 18:32:40,266 DEBUG Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED 2021-10-06 18:32:58,413 DEBUG < CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:32:58,414 DEBUG = connection is CLOSING 2021-10-06 18:32:58,414 DEBUG > CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:32:58,414 DEBUG = connection is CLOSED 2021-10-06 18:32:58,415 DEBUG x closing TCP connection 2021-10-06 18:32:58,415 DEBUG Waiting before reconnecting 2021-10-06 18:32:58,415 DEBUG Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED 2021-10-06 18:32:58,416 DEBUG Client changed state: GeClientState.DROPPED to GeClientState.WAITING 2021-10-06 18:33:00,417 DEBUG Refreshing authentication before reconnecting 2021-10-06 18:33:00,417 DEBUG Refreshing OAuth2 token 2021-10-06 18:33:00,418 DEBUG Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH 2021-10-06 18:33:00,872 DEBUG Getting WS credentials 2021-10-06 18:33:00,872 DEBUG Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT 2021-10-06 18:33:02,101 DEBUG Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING 2021-10-06 18:33:02,132 DEBUG = connection is CONNECTING 2021-10-06 18:33:02,208 DEBUG > GET /?access_token=ue1cpo9tyswrxmg1bnf97kxmhycb87rh HTTP/1.1 2021-10-06 18:33:02,208 DEBUG > Host: ws-us-east-1.brillion.geappliances.com 2021-10-06 18:33:02,208 DEBUG > Upgrade: websocket 2021-10-06 18:33:02,208 DEBUG > Connection: Upgrade 2021-10-06 18:33:02,208 DEBUG > Sec-WebSocket-Key: bh/XgCeTzRgltfSvAvv9sg== 2021-10-06 18:33:02,208 DEBUG > Sec-WebSocket-Version: 13 2021-10-06 18:33:02,208 DEBUG > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12 2021-10-06 18:33:02,209 DEBUG > User-Agent: Python/3.9 websockets/10.0 2021-10-06 18:33:02,714 DEBUG < HTTP/1.1 101 Switching Protocols 2021-10-06 18:33:02,715 DEBUG < Date: Wed, 06 Oct 2021 23:33:02 GMT 2021-10-06 18:33:02,715 DEBUG < Connection: upgrade 2021-10-06 18:33:02,715 DEBUG < upgrade: websocket 2021-10-06 18:33:02,715 DEBUG < sec-websocket-accept: 3m/XvZYOaIFj6uJDDwJv7QuBCnE= 2021-10-06 18:33:02,715 DEBUG < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12 2021-10-06 18:33:02,715 DEBUG = connection is OPEN 2021-10-06 18:33:02,716 DEBUG > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance//erd/"]}' [91 bytes] 2021-10-06 18:33:02,716 DEBUG > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes] 2021-10-06 18:33:02,716 DEBUG Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED 2021-10-06 18:33:20,533 DEBUG < CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:33:20,534 DEBUG = connection is CLOSING 2021-10-06 18:33:20,534 DEBUG > CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:33:20,534 DEBUG = connection is CLOSED 2021-10-06 18:33:20,534 DEBUG x closing TCP connection 2021-10-06 18:33:20,535 DEBUG Waiting before reconnecting 2021-10-06 18:33:20,535 DEBUG Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED 2021-10-06 18:33:20,535 DEBUG Client changed state: GeClientState.DROPPED to GeClientState.WAITING 2021-10-06 18:33:22,540 DEBUG Refreshing authentication before reconnecting 2021-10-06 18:33:22,541 DEBUG Refreshing OAuth2 token 2021-10-06 18:33:22,542 DEBUG Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH 2021-10-06 18:33:23,606 DEBUG Getting WS credentials 2021-10-06 18:33:23,607 DEBUG Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT 2021-10-06 18:33:23,705 DEBUG Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING 2021-10-06 18:33:23,738 DEBUG = connection is CONNECTING 2021-10-06 18:33:23,818 DEBUG > GET /?access_token=ue1cpsrqgjwksjac7tonwvzngc9eg55p HTTP/1.1 2021-10-06 18:33:23,818 DEBUG > Host: ws-us-east-1.brillion.geappliances.com 2021-10-06 18:33:23,819 DEBUG > Upgrade: websocket 2021-10-06 18:33:23,819 DEBUG > Connection: Upgrade 2021-10-06 18:33:23,819 DEBUG > Sec-WebSocket-Key: CjQQJYOdpci2AwVlW33i9Q== 2021-10-06 18:33:23,819 DEBUG > Sec-WebSocket-Version: 13 2021-10-06 18:33:23,819 DEBUG > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12 2021-10-06 18:33:23,819 DEBUG > User-Agent: Python/3.9 websockets/10.0 2021-10-06 18:33:23,988 DEBUG < HTTP/1.1 101 Switching Protocols 2021-10-06 18:33:23,988 DEBUG < Date: Wed, 06 Oct 2021 23:33:23 GMT 2021-10-06 18:33:23,988 DEBUG < Connection: upgrade 2021-10-06 18:33:23,989 DEBUG < upgrade: websocket 2021-10-06 18:33:23,989 DEBUG < sec-websocket-accept: /ZEblYfTUnxQVJdZPcZrtVXAZ54= 2021-10-06 18:33:23,989 DEBUG < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12 2021-10-06 18:33:23,989 DEBUG = connection is OPEN 2021-10-06 18:33:23,989 DEBUG > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance//erd/"]}' [91 bytes] 2021-10-06 18:33:23,990 DEBUG > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes] 2021-10-06 18:33:23,990 DEBUG Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED 2021-10-06 18:33:41,732 DEBUG < CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:33:41,732 DEBUG = connection is CLOSING 2021-10-06 18:33:41,733 DEBUG > CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:33:41,733 DEBUG = connection is CLOSED 2021-10-06 18:33:41,733 DEBUG x closing TCP connection 2021-10-06 18:33:41,734 DEBUG Waiting before reconnecting 2021-10-06 18:33:41,734 DEBUG Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED 2021-10-06 18:33:41,734 DEBUG Client changed state: GeClientState.DROPPED to GeClientState.WAITING 2021-10-06 18:33:43,735 DEBUG Refreshing authentication before reconnecting 2021-10-06 18:33:43,735 DEBUG Refreshing OAuth2 token 2021-10-06 18:33:43,736 DEBUG Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH 2021-10-06 18:33:44,368 DEBUG Getting WS credentials 2021-10-06 18:33:44,369 DEBUG Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT 2021-10-06 18:33:44,465 DEBUG Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING 2021-10-06 18:33:44,506 DEBUG = connection is CONNECTING 2021-10-06 18:33:44,576 DEBUG > GET /?access_token=ue1cpushv2dmfktfe6oyszbzyrpg1a9c HTTP/1.1 2021-10-06 18:33:44,577 DEBUG > Host: ws-us-east-1.brillion.geappliances.com 2021-10-06 18:33:44,577 DEBUG > Upgrade: websocket 2021-10-06 18:33:44,577 DEBUG > Connection: Upgrade 2021-10-06 18:33:44,577 DEBUG > Sec-WebSocket-Key: rcVRzaWvVdVOzclve/OF4g== 2021-10-06 18:33:44,577 DEBUG > Sec-WebSocket-Version: 13 2021-10-06 18:33:44,577 DEBUG > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12 2021-10-06 18:33:44,577 DEBUG > User-Agent: Python/3.9 websockets/10.0 2021-10-06 18:33:44,891 DEBUG < HTTP/1.1 101 Switching Protocols 2021-10-06 18:33:44,892 DEBUG < Date: Wed, 06 Oct 2021 23:33:44 GMT 2021-10-06 18:33:44,892 DEBUG < Connection: upgrade 2021-10-06 18:33:44,892 DEBUG < upgrade: websocket 2021-10-06 18:33:44,892 DEBUG < sec-websocket-accept: MsPWQeRvGaEjby6SsgwOGd5KRgw= 2021-10-06 18:33:44,892 DEBUG < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12 2021-10-06 18:33:44,892 DEBUG = connection is OPEN 2021-10-06 18:33:44,893 DEBUG > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance//erd/"]}' [91 bytes] 2021-10-06 18:33:44,893 DEBUG > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes] 2021-10-06 18:33:44,894 DEBUG Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED 2021-10-06 18:34:03,238 DEBUG < CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:34:03,238 DEBUG = connection is CLOSING 2021-10-06 18:34:03,238 DEBUG > CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:34:03,239 DEBUG = connection is CLOSED 2021-10-06 18:34:03,239 DEBUG x closing TCP connection 2021-10-06 18:34:03,240 DEBUG Waiting before reconnecting 2021-10-06 18:34:03,240 DEBUG Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED 2021-10-06 18:34:03,240 DEBUG Client changed state: GeClientState.DROPPED to GeClientState.WAITING 2021-10-06 18:34:05,245 DEBUG Refreshing authentication before reconnecting 2021-10-06 18:34:05,246 DEBUG Refreshing OAuth2 token 2021-10-06 18:34:05,247 DEBUG Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH 2021-10-06 18:34:05,789 DEBUG Getting WS credentials 2021-10-06 18:34:05,790 DEBUG Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT 2021-10-06 18:34:05,931 DEBUG Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING 2021-10-06 18:34:05,962 DEBUG = connection is CONNECTING 2021-10-06 18:34:06,679 DEBUG > GET /?access_token=ue1cpmrgvjgbhsu2mvt2uw83gw67ia9m HTTP/1.1 2021-10-06 18:34:06,679 DEBUG > Host: ws-us-east-1.brillion.geappliances.com 2021-10-06 18:34:06,679 DEBUG > Upgrade: websocket 2021-10-06 18:34:06,679 DEBUG > Connection: Upgrade 2021-10-06 18:34:06,679 DEBUG > Sec-WebSocket-Key: Tz9+/32cbEeRdXO0zsiM/w== 2021-10-06 18:34:06,679 DEBUG > Sec-WebSocket-Version: 13 2021-10-06 18:34:06,680 DEBUG > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12 2021-10-06 18:34:06,680 DEBUG > User-Agent: Python/3.9 websockets/10.0 2021-10-06 18:34:06,843 DEBUG < HTTP/1.1 101 Switching Protocols 2021-10-06 18:34:06,843 DEBUG < Date: Wed, 06 Oct 2021 23:34:06 GMT 2021-10-06 18:34:06,843 DEBUG < Connection: upgrade 2021-10-06 18:34:06,843 DEBUG < upgrade: websocket 2021-10-06 18:34:06,843 DEBUG < sec-websocket-accept: ljA5U5dnekbtIYkzNs8GYyBEhBQ= 2021-10-06 18:34:06,843 DEBUG < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12 2021-10-06 18:34:06,843 DEBUG = connection is OPEN 2021-10-06 18:34:06,844 DEBUG > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance//erd/"]}' [91 bytes] 2021-10-06 18:34:06,844 DEBUG > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes] 2021-10-06 18:34:06,845 DEBUG Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED 2021-10-06 18:34:24,679 DEBUG < CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:34:24,679 DEBUG = connection is CLOSING 2021-10-06 18:34:24,679 DEBUG > CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:34:24,680 DEBUG = connection is CLOSED 2021-10-06 18:34:24,680 DEBUG x closing TCP connection 2021-10-06 18:34:24,681 DEBUG Waiting before reconnecting 2021-10-06 18:34:24,681 DEBUG Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED 2021-10-06 18:34:24,681 DEBUG Client changed state: GeClientState.DROPPED to GeClientState.WAITING 2021-10-06 18:34:26,686 DEBUG Refreshing authentication before reconnecting 2021-10-06 18:34:26,687 DEBUG Refreshing OAuth2 token 2021-10-06 18:34:26,688 DEBUG Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH 2021-10-06 18:34:27,202 DEBUG Getting WS credentials 2021-10-06 18:34:27,203 DEBUG Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT 2021-10-06 18:34:27,327 DEBUG Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING 2021-10-06 18:34:27,357 DEBUG = connection is CONNECTING 2021-10-06 18:34:27,441 DEBUG > GET /?access_token=ue1cp34egcd2ttecf6w10rf70g1x21ip HTTP/1.1 2021-10-06 18:34:27,441 DEBUG > Host: ws-us-east-1.brillion.geappliances.com 2021-10-06 18:34:27,441 DEBUG > Upgrade: websocket 2021-10-06 18:34:27,441 DEBUG > Connection: Upgrade 2021-10-06 18:34:27,441 DEBUG > Sec-WebSocket-Key: cZOnzjlSE9wBQDyn02hyDg== 2021-10-06 18:34:27,441 DEBUG > Sec-WebSocket-Version: 13 2021-10-06 18:34:27,442 DEBUG > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12 2021-10-06 18:34:27,442 DEBUG > User-Agent: Python/3.9 websockets/10.0 2021-10-06 18:34:27,604 DEBUG < HTTP/1.1 101 Switching Protocols 2021-10-06 18:34:27,605 DEBUG < Date: Wed, 06 Oct 2021 23:34:27 GMT 2021-10-06 18:34:27,605 DEBUG < Connection: upgrade 2021-10-06 18:34:27,605 DEBUG < upgrade: websocket 2021-10-06 18:34:27,605 DEBUG < sec-websocket-accept: BANikjbgxAn8ULh2Jhfqv15XVa4= 2021-10-06 18:34:27,605 DEBUG < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12 2021-10-06 18:34:27,605 DEBUG = connection is OPEN 2021-10-06 18:34:27,606 DEBUG > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance//erd/"]}' [91 bytes] 2021-10-06 18:34:27,606 DEBUG > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes] 2021-10-06 18:34:27,607 DEBUG Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED 2021-10-06 18:34:45,382 DEBUG < CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:34:45,382 DEBUG = connection is CLOSING 2021-10-06 18:34:45,382 DEBUG > CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:34:45,382 DEBUG = connection is CLOSED 2021-10-06 18:34:45,382 DEBUG x closing TCP connection 2021-10-06 18:34:45,383 DEBUG Waiting before reconnecting 2021-10-06 18:34:45,383 DEBUG Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED 2021-10-06 18:34:45,383 DEBUG Client changed state: GeClientState.DROPPED to GeClientState.WAITING 2021-10-06 18:34:47,388 DEBUG Refreshing authentication before reconnecting 2021-10-06 18:34:47,388 DEBUG Refreshing OAuth2 token 2021-10-06 18:34:47,389 DEBUG Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH 2021-10-06 18:34:48,024 DEBUG Getting WS credentials 2021-10-06 18:34:48,024 DEBUG Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT 2021-10-06 18:34:48,733 DEBUG Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING 2021-10-06 18:34:48,891 DEBUG = connection is CONNECTING 2021-10-06 18:34:49,102 DEBUG > GET /?access_token=ue1cpz9g510fkjjaft2cyh3sh3p05f1f HTTP/1.1 2021-10-06 18:34:49,102 DEBUG > Host: ws-us-east-1.brillion.geappliances.com 2021-10-06 18:34:49,102 DEBUG > Upgrade: websocket 2021-10-06 18:34:49,102 DEBUG > Connection: Upgrade 2021-10-06 18:34:49,102 DEBUG > Sec-WebSocket-Key: HUe5hy25H5iXMHBTNhtPaw== 2021-10-06 18:34:49,102 DEBUG > Sec-WebSocket-Version: 13 2021-10-06 18:34:49,102 DEBUG > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12 2021-10-06 18:34:49,103 DEBUG > User-Agent: Python/3.9 websockets/10.0 2021-10-06 18:34:49,359 DEBUG < HTTP/1.1 101 Switching Protocols 2021-10-06 18:34:49,359 DEBUG < Date: Wed, 06 Oct 2021 23:34:49 GMT 2021-10-06 18:34:49,359 DEBUG < Connection: upgrade 2021-10-06 18:34:49,359 DEBUG < upgrade: websocket 2021-10-06 18:34:49,359 DEBUG < sec-websocket-accept: +Vz64rRjM0Ow4nex+wI+TBT/TDQ= 2021-10-06 18:34:49,359 DEBUG < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12 2021-10-06 18:34:49,360 DEBUG = connection is OPEN 2021-10-06 18:34:49,360 DEBUG > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance//erd/"]}' [91 bytes] 2021-10-06 18:34:49,361 DEBUG > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes] 2021-10-06 18:34:49,361 DEBUG Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED 2021-10-06 18:35:07,330 DEBUG < CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:35:07,331 DEBUG = connection is CLOSING 2021-10-06 18:35:07,331 DEBUG > CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:35:07,331 DEBUG = connection is CLOSED 2021-10-06 18:35:07,332 DEBUG x closing TCP connection 2021-10-06 18:35:07,332 DEBUG Waiting before reconnecting 2021-10-06 18:35:07,332 DEBUG Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED 2021-10-06 18:35:07,332 DEBUG Client changed state: GeClientState.DROPPED to GeClientState.WAITING 2021-10-06 18:35:09,337 DEBUG Refreshing authentication before reconnecting 2021-10-06 18:35:09,338 DEBUG Refreshing OAuth2 token 2021-10-06 18:35:09,339 DEBUG Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH 2021-10-06 18:35:09,906 DEBUG Getting WS credentials 2021-10-06 18:35:09,907 DEBUG Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT 2021-10-06 18:35:10,094 DEBUG Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING 2021-10-06 18:35:10,156 DEBUG = connection is CONNECTING 2021-10-06 18:35:10,231 DEBUG > GET /?access_token=ue1cphcwgf5rutx5wu1vaqo6krszr62v HTTP/1.1 2021-10-06 18:35:10,231 DEBUG > Host: ws-us-east-1.brillion.geappliances.com 2021-10-06 18:35:10,231 DEBUG > Upgrade: websocket 2021-10-06 18:35:10,231 DEBUG > Connection: Upgrade 2021-10-06 18:35:10,231 DEBUG > Sec-WebSocket-Key: jUofz98Dww431kKdQkdL5w== 2021-10-06 18:35:10,231 DEBUG > Sec-WebSocket-Version: 13 2021-10-06 18:35:10,232 DEBUG > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12 2021-10-06 18:35:10,232 DEBUG > User-Agent: Python/3.9 websockets/10.0 2021-10-06 18:35:10,827 DEBUG < HTTP/1.1 101 Switching Protocols 2021-10-06 18:35:10,828 DEBUG < Date: Wed, 06 Oct 2021 23:35:10 GMT 2021-10-06 18:35:10,828 DEBUG < Connection: upgrade 2021-10-06 18:35:10,828 DEBUG < upgrade: websocket 2021-10-06 18:35:10,828 DEBUG < sec-websocket-accept: AZgi3ImsMleYp3AaTsJ/xlnQYwg= 2021-10-06 18:35:10,828 DEBUG < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12 2021-10-06 18:35:10,828 DEBUG = connection is OPEN 2021-10-06 18:35:10,829 DEBUG > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance//erd/"]}' [91 bytes] 2021-10-06 18:35:10,829 DEBUG > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes] 2021-10-06 18:35:10,830 DEBUG Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED 2021-10-06 18:35:28,558 DEBUG < CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:35:28,558 DEBUG = connection is CLOSING 2021-10-06 18:35:28,558 DEBUG > CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:35:28,558 DEBUG = connection is CLOSED 2021-10-06 18:35:28,559 DEBUG x closing TCP connection 2021-10-06 18:35:28,559 DEBUG Waiting before reconnecting 2021-10-06 18:35:28,559 DEBUG Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED 2021-10-06 18:35:28,559 DEBUG Client changed state: GeClientState.DROPPED to GeClientState.WAITING 2021-10-06 18:35:30,565 DEBUG Refreshing authentication before reconnecting 2021-10-06 18:35:30,565 DEBUG Refreshing OAuth2 token 2021-10-06 18:35:30,566 DEBUG Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH 2021-10-06 18:35:31,481 DEBUG Getting WS credentials 2021-10-06 18:35:31,482 DEBUG Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT 2021-10-06 18:35:31,633 DEBUG Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING 2021-10-06 18:35:31,662 DEBUG = connection is CONNECTING 2021-10-06 18:35:31,732 DEBUG > GET /?access_token=ue1cp1xvm54pic02uifocvaqv93oevoy HTTP/1.1 2021-10-06 18:35:31,732 DEBUG > Host: ws-us-east-1.brillion.geappliances.com 2021-10-06 18:35:31,732 DEBUG > Upgrade: websocket 2021-10-06 18:35:31,732 DEBUG > Connection: Upgrade 2021-10-06 18:35:31,732 DEBUG > Sec-WebSocket-Key: FU2L1mAsDdO76bR1B4TJfg== 2021-10-06 18:35:31,733 DEBUG > Sec-WebSocket-Version: 13 2021-10-06 18:35:31,733 DEBUG > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12 2021-10-06 18:35:31,733 DEBUG > User-Agent: Python/3.9 websockets/10.0 2021-10-06 18:35:31,876 DEBUG < HTTP/1.1 101 Switching Protocols 2021-10-06 18:35:31,876 DEBUG < Date: Wed, 06 Oct 2021 23:35:31 GMT 2021-10-06 18:35:31,876 DEBUG < Connection: upgrade 2021-10-06 18:35:31,876 DEBUG < upgrade: websocket 2021-10-06 18:35:31,876 DEBUG < sec-websocket-accept: gpbXtV7baMi7Aus+Mtz0KEuZAMc= 2021-10-06 18:35:31,876 DEBUG < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12 2021-10-06 18:35:31,876 DEBUG = connection is OPEN 2021-10-06 18:35:31,877 DEBUG > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance//erd/"]}' [91 bytes] 2021-10-06 18:35:31,877 DEBUG > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes] 2021-10-06 18:35:31,878 DEBUG Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED 2021-10-06 18:35:50,049 DEBUG < CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:35:50,049 DEBUG = connection is CLOSING 2021-10-06 18:35:50,049 DEBUG > CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:35:50,050 DEBUG = connection is CLOSED 2021-10-06 18:35:50,050 DEBUG x closing TCP connection 2021-10-06 18:35:50,050 DEBUG Waiting before reconnecting 2021-10-06 18:35:50,050 DEBUG Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED 2021-10-06 18:35:50,051 DEBUG Client changed state: GeClientState.DROPPED to GeClientState.WAITING 2021-10-06 18:35:52,056 DEBUG Refreshing authentication before reconnecting 2021-10-06 18:35:52,056 DEBUG Refreshing OAuth2 token 2021-10-06 18:35:52,057 DEBUG Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH 2021-10-06 18:35:52,610 DEBUG Getting WS credentials 2021-10-06 18:35:52,610 DEBUG Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT 2021-10-06 18:35:52,705 DEBUG Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING 2021-10-06 18:35:52,736 DEBUG = connection is CONNECTING 2021-10-06 18:35:52,809 DEBUG > GET /?access_token=ue1cpwhabcb8p41r8i2dfc5hvpwbx5e2 HTTP/1.1 2021-10-06 18:35:52,809 DEBUG > Host: ws-us-east-1.brillion.geappliances.com 2021-10-06 18:35:52,809 DEBUG > Upgrade: websocket 2021-10-06 18:35:52,809 DEBUG > Connection: Upgrade 2021-10-06 18:35:52,810 DEBUG > Sec-WebSocket-Key: 495IUW0OH0Mvkd1InGoXXg== 2021-10-06 18:35:52,810 DEBUG > Sec-WebSocket-Version: 13 2021-10-06 18:35:52,810 DEBUG > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12 2021-10-06 18:35:52,810 DEBUG > User-Agent: Python/3.9 websockets/10.0 2021-10-06 18:35:52,986 DEBUG < HTTP/1.1 101 Switching Protocols 2021-10-06 18:35:52,986 DEBUG < Date: Wed, 06 Oct 2021 23:35:52 GMT 2021-10-06 18:35:52,986 DEBUG < Connection: upgrade 2021-10-06 18:35:52,986 DEBUG < upgrade: websocket 2021-10-06 18:35:52,986 DEBUG < sec-websocket-accept: zAjNpofNNv9JUs8dJkKCmCHhI3M= 2021-10-06 18:35:52,986 DEBUG < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12 2021-10-06 18:35:52,986 DEBUG = connection is OPEN 2021-10-06 18:35:52,987 DEBUG > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance//erd/"]}' [91 bytes] 2021-10-06 18:35:52,987 DEBUG > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes] 2021-10-06 18:35:52,988 DEBUG Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED 2021-10-06 18:36:10,682 DEBUG < CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:36:10,682 DEBUG = connection is CLOSING 2021-10-06 18:36:10,682 DEBUG > CLOSE 1000 (OK) Connection Closed Normally [28 bytes] 2021-10-06 18:36:10,683 DEBUG = connection is CLOSED 2021-10-06 18:36:10,683 DEBUG x closing TCP connection 2021-10-06 18:36:10,684 DEBUG Waiting before reconnecting 2021-10-06 18:36:10,684 DEBUG Client changed state: GeClientState.CONNECTED to GeClientState.DROPPED 2021-10-06 18:36:10,684 DEBUG Client changed state: GeClientState.DROPPED to GeClientState.WAITING 2021-10-06 18:36:12,687 DEBUG Refreshing authentication before reconnecting 2021-10-06 18:36:12,687 DEBUG Refreshing OAuth2 token 2021-10-06 18:36:12,688 DEBUG Client changed state: GeClientState.WAITING to GeClientState.AUTHORIZING_OAUTH 2021-10-06 18:36:14,368 DEBUG Getting WS credentials 2021-10-06 18:36:14,369 DEBUG Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT 2021-10-06 18:36:14,498 DEBUG Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING 2021-10-06 18:36:14,525 DEBUG = connection is CONNECTING 2021-10-06 18:36:14,591 DEBUG > GET /?access_token=ue1cp2xn01rf8d3mmx3n8bkjkh0gzq8o HTTP/1.1 2021-10-06 18:36:14,592 DEBUG > Host: ws-us-east-1.brillion.geappliances.com 2021-10-06 18:36:14,592 DEBUG > Upgrade: websocket 2021-10-06 18:36:14,592 DEBUG > Connection: Upgrade 2021-10-06 18:36:14,592 DEBUG > Sec-WebSocket-Key: +gxan8eeGiOo/ifyj4FW/g== 2021-10-06 18:36:14,592 DEBUG > Sec-WebSocket-Version: 13 2021-10-06 18:36:14,592 DEBUG > Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12 2021-10-06 18:36:14,592 DEBUG > User-Agent: Python/3.9 websockets/10.0 2021-10-06 18:36:14,747 DEBUG < HTTP/1.1 101 Switching Protocols 2021-10-06 18:36:14,748 DEBUG < Date: Wed, 06 Oct 2021 23:36:14 GMT 2021-10-06 18:36:14,748 DEBUG < Connection: upgrade 2021-10-06 18:36:14,748 DEBUG < upgrade: websocket 2021-10-06 18:36:14,748 DEBUG < sec-websocket-accept: kDWDInVbUzSTnT4pGTBwo1ep71s= 2021-10-06 18:36:14,748 DEBUG < sec-websocket-extensions: permessage-deflate;server_max_window_bits=12 2021-10-06 18:36:14,748 DEBUG = connection is OPEN 2021-10-06 18:36:14,748 DEBUG > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance//erd/"]}' [91 bytes] 2021-10-06 18:36:14,749 DEBUG > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes] 2021-10-06 18:36:14,749 DEBUG Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED

simbaja commented 3 years ago

Finally tracked this down, and it's not me from what I can tell (well perhaps, I'm doing something wrong???)! It looks like this is an issue with the websockets library. If you do the following:

pip uninstall websockets
pip install websockets==9.1

it'll start at least receiving messages again. Looks like they updated websockets to 10.0 last month, so when you pulled things down, it was using the newest, but I still had an older version. From what I see in Home Assistant, it looks like they're still on 9.1, but for now, I'm going to see if I can pin this version to prevent issues while I keep looking into things.

Let me know what you see after running those commands. Hopefully, we can make a little more progress. Thanks for bearing with me.

Also, don't use Python 3.10 yet - it's not compatible with websockets 9.1....pain in the butt.

elwing00 commented 3 years ago

That connected - I have no clue how to interpret the results though...

delenn:examples elwing$ python3 websocket_example.py 
2021-10-06 21:48:17,284 DEBUG    Using selector: KqueueSelector
/Users/elwing/gehome/gehome/examples/websocket_example.py:74: DeprecationWarning: The object should be created within an async function
  session = aiohttp.ClientSession()
2021-10-06 21:48:17,284 DEBUG    Getting OAuth2 token
2021-10-06 21:48:17,300 DEBUG    Client changed state: GeClientState.INITIALIZING to GeClientState.AUTHORIZING_OAUTH
2021-10-06 21:48:19,331 DEBUG    Getting WS credentials
2021-10-06 21:48:19,332 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-10-06 21:48:19,631 INFO     Starting GE Appliances client
2021-10-06 21:48:19,647 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-10-06 21:48:19,815 DEBUG    client - state = CONNECTING
2021-10-06 21:48:20,051 DEBUG    client - event = connection_made(<asyncio.sslproto._SSLProtocolTransport object at 0x10c648ee0>)
2021-10-06 21:48:20,051 DEBUG    client > GET /?access_token=ue1cpgbqg7yv9oqihdrjdcx74p0w9ucq HTTP/1.1
2021-10-06 21:48:20,051 DEBUG    client > Headers([('Host', 'ws-us-east-1.brillion.geappliances.com'), ('Upgrade', 'websocket'), ('Connection', 'Upgrade'), ('Sec-WebSocket-Key', 'O2Fy0zS9sEWZUIDrtZPmLA=='), ('Sec-WebSocket-Version', '13'), ('Sec-WebSocket-Extensions', 'permessage-deflate; client_max_window_bits'), ('User-Agent', 'Python/3.9 websockets/9.1')])
2021-10-06 21:48:20,297 DEBUG    client - event = data_received(<212 bytes>)
2021-10-06 21:48:20,297 DEBUG    client < HTTP/1.1 101 Switching Protocols
2021-10-06 21:48:20,297 DEBUG    client < Headers([('Date', 'Thu, 07 Oct 2021 01:48:20 GMT'), ('Connection', 'upgrade'), ('upgrade', 'websocket'), ('sec-websocket-accept', 'pzZ+X0TStDmuC7/q3sMYA8wpEN8='), ('sec-websocket-extensions', 'permessage-deflate')])
2021-10-06 21:48:20,297 DEBUG    client - state = OPEN
2021-10-06 21:48:20,297 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-10-06 21:48:20,297 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-10-06 21:48:20,298 DEBUG    Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED
2021-10-06 21:48:20,371 DEBUG    client - event = data_received(<49 bytes>)
2021-10-06 21:48:20,371 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#subscribe","success":true}', rsv1=False, rsv2=False, rsv3=False)
2021-10-06 21:48:20,427 DEBUG    client - event = data_received(<16 bytes>)
2021-10-06 21:48:20,427 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#connect","success":true}', rsv1=False, rsv2=False, rsv3=False)
2021-10-06 21:48:20,456 DEBUG    client - event = data_received(<260 bytes>)
2021-10-06 21:48:20,456 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":"fxycjq98tkmufwt","items":[{"applianceId":"D828C978A741","type":"Refrigerator","brand":"Unknown","jid":"d828c978a741_fxycjq98tkmufwt","nickname":"Refrigerator","online":"ONLINE","onlineTime":"2021-10-04T21:44:54.478Z"}]}}', rsv1=False, rsv2=False, rsv3=False)
2021-10-06 21:48:20,456 DEBUG    D828C978A741 marked available
2021-10-06 21:48:20,456 DEBUG    Adding appliance D828C978A741
2021-10-06 21:48:20,456 DEBUG    Requesting update for client D828C978A741
2021-10-06 21:48:20,456 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/D828C978A741/erd", "id": "D828C978A741-allErd"}', rsv1=False, rsv2=False, rsv3=False)
2021-10-06 21:48:20,456 DEBUG    Requesting features for client D828C978A741
2021-10-06 21:48:20,457 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/D828C978A741/feature", "id": "Request-features"}', rsv1=False, rsv2=False, rsv3=False)
2021-10-06 21:48:20,457 DEBUG    Registering update callback for GeAppliance(D828C978A741) (Unknown Type)
2021-10-06 21:48:20,595 DEBUG    client - event = data_received(<44 bytes>)
2021-10-06 21:48:20,595 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/D828C978A741/feature"},"success":true,"code":200,"body":{"kind":"appliance#applianceFeature","userId":"fxycjq98tkmufwt","applianceId":"D828C978A741","features":[]}}', rsv1=False, rsv2=False, rsv3=False)
2021-10-06 21:48:20,596 DEBUG    Received features [] for D828C978A741
2021-10-06 21:48:20,599 DEBUG    client - event = data_received(<550 bytes>)
2021-10-06 21:48:20,599 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"D828C978A741-allErd","request":{"host":"api.brillion.geappliances.com","method":"GET","path":"/v1/appliance/D828C978A741/erd"},"success":true,"code":200,"body":{"kind":"appliance#erdList","userId":"fxycjq98tkmufwt","applianceId":"D828C978A741","items":[{"erd":"0x0001","value":"0B505644323842594E4346530000000000000000000000000000000000000000","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x0002","value":"0852533531353633380000000000000000000000000000000000000000000000","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x0007","value":"00","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x0008","value":"03","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x0009","value":"00","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x0035","value":"0000000A","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x0099","value":"00","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x0100","value":"00000561","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x0101","value":"00000000","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x0102","value":"00","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x0103","value":"00000000","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x0104","value":"00000000","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x0105","value":"00","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x1004","value":"2504","time":"2021-10-07T01:38:55.924Z"},{"erd":"0x1005","value":"22FD","time":"2021-10-07T00:12:39.363Z"},{"erd":"0x1007","value":"01","time":"2021-10-06T21:11:12.088Z"},{"erd":"0x1009","value":"00006200B300000000","time":"2021-10-05T23:20:25.105Z"},{"erd":"0x100A","value":"FF01","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x100B","value":"222AFA05","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x100C","value":"00","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x100D","value":"00","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x100E","value":"00","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x100F","value":"00","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x1016","value":"00000000","time":"2021-10-07T01:11:12.582Z"},{"erd":"0x1019","value":"04","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x101D","value":"067902","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x1020","value":"05","time":"2021-10-05T19:00:05.789Z"},{"erd":"0x1021","value":"64FF64FF1D01210225032A0464FF","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x1022","value":"FF64","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x1023","value":"646464FF646464FF646464FF646464FF","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x1024","value":"64","time":"2021-10-05T19:16:05.329Z"},{"erd":"0x1028","value":"01","time":"2021-10-05T19:16:07.160Z"},{"erd":"0x1029","value":"01","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x102A","value":"0000","time":"2021-10-05T12:08:28.987Z"},{"erd":"0x102B","value":"00","time":"2021-10-07T01:35:06.207Z"},{"erd":"0x1100","value":"02E1000006470200","time":"2021-10-05T23:20:10.501Z"},{"erd":"0x1101","value":"000003F400000F190072007600000033","time":"2021-10-07T01:11:55.610Z"},{"erd":"0x1102","value":"0000000600180000002800000000","time":"2021-10-07T01:34:50.732Z"},{"erd":"0x1103","value":"0000094A2300331727FE31093EF64A4003","time":"2021-10-06T19:09:43.711Z"},{"erd":"0x1104","value":"0000094A17AC3E9400000B7C00008000AA0017","time":"2021-10-06T19:09:44.699Z"},{"erd":"0xD006","value":"00","time":"2021-10-05T12:08:28.987Z"},{"erd":"0xD007","value":"00000092","time":"2021-10-07T01:34:55.931Z"}]}}', rsv1=False, rsv2=False, rsv3=False)
2021-10-06 21:48:20,600 DEBUG    Setting ErdCode.MODEL_NUMBER to PVD28BYNCFS
2021-10-06 21:48:20,600 DEBUG    Setting ErdCode.SERIAL_NUMBER to RS515638
2021-10-06 21:48:20,600 DEBUG    Setting ErdCode.TEMPERATURE_UNIT to ErdMeasurementUnits.IMPERIAL
2021-10-06 21:48:20,600 DEBUG    Setting ErdCode.APPLIANCE_TYPE to ErdApplianceType.FRIDGE
2021-10-06 21:48:20,600 DEBUG    Setting ErdCode.SABBATH_MODE to False
2021-10-06 21:48:20,600 DEBUG    Setting ErdCode.UNIT_TYPE to ErdUnitType.TYPE_240V_CAFE
2021-10-06 21:48:20,600 DEBUG    Setting ErdCode.UNKNOWN_0099 to b'\x00'
2021-10-06 21:48:20,600 DEBUG    Setting ErdCode.WIFI_MODULE_SW_VERSION to 0.0.5.97
2021-10-06 21:48:20,600 DEBUG    Setting ErdCode.WIFI_MODULE_SW_VERSION_AVAILABLE to 0.0.0.0
2021-10-06 21:48:20,601 DEBUG    Setting ErdCode.ACM_UPDATING to False
2021-10-06 21:48:20,601 DEBUG    Setting ErdCode.APPLIANCE_SW_VERSION to 0.0.0.0
2021-10-06 21:48:20,601 DEBUG    Setting ErdCode.APPLIANCE_SW_VERSION_AVAILABLE to 0.0.0.0
2021-10-06 21:48:20,601 DEBUG    Setting ErdCode.APPLIANCE_UPDATING to False
2021-10-06 21:48:20,601 DEBUG    Setting ErdCode.CURRENT_TEMPERATURE to FridgeSetPoints(fridge=37, freezer=4)
2021-10-06 21:48:20,601 DEBUG    Setting ErdCode.TEMPERATURE_SETTING to FridgeSetPoints(fridge=34, freezer=-3)
2021-10-06 21:48:20,601 DEBUG    Setting ErdCode.ICE_MAKER_BUCKET_STATUS to Not Full
2021-10-06 21:48:20,601 DEBUG    Setting ErdCode.WATER_FILTER_STATUS to ErdFilterStatus.GOOD
2021-10-06 21:48:20,601 DEBUG    Setting ErdCode.ICE_MAKER_CONTROL to IceMakerControlStatus(status_fridge=<ErdOnOff.ON: '01'>, status_freezer=<ErdOnOff.NA: 'FF'>)
2021-10-06 21:48:20,601 DEBUG    Setting ErdCode.SETPOINT_LIMITS to FridgeSetPointLimits(fridge_min=34, fridge_max=42, freezer_min=-6, freezer_max=5)
2021-10-06 21:48:20,601 DEBUG    Setting 0x100C to b'\x00'
2021-10-06 21:48:20,601 DEBUG    Setting 0x100D to b'\x00'
2021-10-06 21:48:20,601 DEBUG    Setting ErdCode.TURBO_FREEZE_STATUS to False
2021-10-06 21:48:20,602 DEBUG    Setting ErdCode.TURBO_COOL_STATUS to False
2021-10-06 21:48:20,602 DEBUG    Setting ErdCode.DOOR_STATUS to Closed
2021-10-06 21:48:20,602 DEBUG    Setting 0x1019 to b'\x04'
2021-10-06 21:48:20,602 DEBUG    Setting ErdCode.FRIDGE_MODEL_INFO to FridgeModelInfo(has_fridge=True, has_freezer=True, has_convertable_drawer=False, doors=2, raw_value=424194)
2021-10-06 21:48:20,602 DEBUG    Setting 0x1020 to b'\x05'
2021-10-06 21:48:20,602 DEBUG    Setting 0x1021 to b'd\xffd\xff\x1d\x01!\x02%\x03*\x04d\xff'
2021-10-06 21:48:20,602 DEBUG    Setting 0x1022 to b'\xffd'
2021-10-06 21:48:20,602 DEBUG    Setting 0x1023 to b'ddd\xffddd\xffddd\xffddd\xff'
2021-10-06 21:48:20,602 DEBUG    Setting ErdCode.INTERIOR_LIGHT to 100
2021-10-06 21:48:20,602 DEBUG    Setting ErdCode.PROXIMITY_LIGHT to ErdOnOff.ON
2021-10-06 21:48:20,602 DEBUG    Setting 0x1029 to b'\x01'
2021-10-06 21:48:20,602 DEBUG    Setting 0x102A to b'\x00\x00'
2021-10-06 21:48:20,602 DEBUG    Setting 0x102B to b'\x00'
2021-10-06 21:48:20,602 DEBUG    Setting 0x1100 to b'\x02\xe1\x00\x00\x06G\x02\x00'
2021-10-06 21:48:20,602 DEBUG    Setting 0x1101 to b'\x00\x00\x03\xf4\x00\x00\x0f\x19\x00r\x00v\x00\x00\x003'
2021-10-06 21:48:20,602 DEBUG    Setting 0x1102 to b'\x00\x00\x00\x06\x00\x18\x00\x00\x00(\x00\x00\x00\x00'
2021-10-06 21:48:20,602 DEBUG    Setting 0x1103 to b"\x00\x00\tJ#\x003\x17'\xfe1\t>\xf6J@\x03"
2021-10-06 21:48:20,602 DEBUG    Setting 0x1104 to b'\x00\x00\tJ\x17\xac>\x94\x00\x00\x0b|\x00\x00\x80\x00\xaa\x00\x17'
2021-10-06 21:48:20,603 DEBUG    Setting ErdCode.WAC_DEMAND_RESPONSE_STATE to ErdWacDemandResponseState.NOT_IN_DEMAND_RESPONSE
2021-10-06 21:48:20,603 DEBUG    Setting 0xD007 to b'\x00\x00\x00\x92'
2021-10-06 21:48:20,603 DEBUG    Got initial appliance type for GeAppliance(D828C978A741) (ErdApplianceType.FRIDGE)
2021-10-06 21:48:20,603 DEBUG    Appliance state change detected in GeAppliance(D828C978A741) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.MODEL_NUMBER, ErdCode.SERIAL_NUMBER, ErdCode.TEMPERATURE_UNIT, ErdCode.APPLIANCE_TYPE, ErdCode.SABBATH_MODE, ErdCode.UNIT_TYPE, ErdCode.UNKNOWN_0099, 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.CURRENT_TEMPERATURE, ErdCode.TEMPERATURE_SETTING, ErdCode.ICE_MAKER_BUCKET_STATUS, ErdCode.WATER_FILTER_STATUS, ErdCode.ICE_MAKER_CONTROL, ErdCode.SETPOINT_LIMITS, 0x100C, 0x100D, ErdCode.TURBO_FREEZE_STATUS, ErdCode.TURBO_COOL_STATUS, ErdCode.DOOR_STATUS, 0x1019, ErdCode.FRIDGE_MODEL_INFO, 0x1020, 0x1021, 0x1022, 0x1023, ErdCode.INTERIOR_LIGHT, ErdCode.PROXIMITY_LIGHT, 0x1029, 0x102A, 0x102B, 0x1100, 0x1101, 0x1102, 0x1103, 0x1104, ErdCode.WAC_DEMAND_RESPONSE_STATE, 0xD007
2021-10-06 21:48:20,603 DEBUG    Appliance state change detected in GeAppliance(D828C978A741) (ErdApplianceType.FRIDGE)
2021-10-06 21:48:20,770 DEBUG    client - event = data_received(<52 bytes>)
2021-10-06 21:48:20,770 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)

(I ctrl-Cd out of the loop that point)

I see the proximity and interior light settings, but it's still returning with "has_convertable_drawer=False" - which is untrue in this particular case - I know the app can see the temp of the drawer (or at least the setpoint)

groto27 commented 3 years ago

Looks like success now. I see the same issue with convertible drawer being false.

macbook:examples user$ python3 websocket_example.py 2021-10-06 20:49:25,097 DEBUG Using selector: KqueueSelector /Users/user/Downloads/gehome-master/examples/websocket_example.py:75: DeprecationWarning: The object should be created within an async function session = aiohttp.ClientSession()

2021-10-06 20:49:25,098 DEBUG Getting OAuth2 token 2021-10-06 20:49:25,112 DEBUG Client changed state: GeClientState.INITIALIZING to GeClientState.AUTHORIZING_OAUTH 2021-10-06 20:49:27,485 DEBUG Getting WS credentials 2021-10-06 20:49:27,486 DEBUG Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT 2021-10-06 20:49:27,573 INFO Starting GE Appliances client 2021-10-06 20:49:27,649 DEBUG Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING 2021-10-06 20:49:27,709 DEBUG client - state = CONNECTING 2021-10-06 20:49:27,779 DEBUG client - event = connection_made(<asyncio.sslproto._SSLProtocolTransport object at 0x106b92a00>) 2021-10-06 20:49:27,780 DEBUG client > GET /?access_token=ue1cpg7kuyzsj35ppkjnjp7wznony80q HTTP/1.1 2021-10-06 20:49:27,780 DEBUG client > Headers([('Host', 'ws-us-east-1.brillion.geappliances.com'), ('Upgrade', 'websocket'), ('Connection', 'Upgrade'), ('Sec-WebSocket-Key', 'ges/i+4sVQrQoE98N3Sv6g=='), ('Sec-WebSocket-Version', '13'), ('Sec-WebSocket-Extensions', 'permessage-deflate; client_max_window_bits'), ('User-Agent', 'Python/3.9 websockets/9.1')]) 2021-10-06 20:49:27,969 DEBUG client - event = data_received(<212 bytes>) 2021-10-06 20:49:27,970 DEBUG client < HTTP/1.1 101 Switching Protocols 2021-10-06 20:49:27,970 DEBUG client < Headers([('Date', 'Thu, 07 Oct 2021 01:49:27 GMT'), ('Connection', 'upgrade'), ('upgrade', 'websocket'), ('sec-websocket-accept', 'xGrpxf25a8pJu3mJCNxg3mW09+w='), ('sec-websocket-extensions', 'permessage-deflate')]) 2021-10-06 20:49:27,970 DEBUG client - state = OPEN 2021-10-06 20:49:27,970 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-10-06 20:49:27,971 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-10-06 20:49:27,971 DEBUG Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED 2021-10-06 20:49:28,055 DEBUG client - event = data_received(<49 bytes>) 2021-10-06 20:49:28,056 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#subscribe","success":true}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:49:28,130 DEBUG client - event = data_received(<259 bytes>) 2021-10-06 20:49:28,130 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":"ubd34fb0f9jyozj","items":[{"applianceId":"D828C9479389","type":"Refrigerator","brand":"Unknown","jid":"d828c9479389_ubd34fb0f9jyozj","nickname":"Refrigerator","online":"ONLINE","onlineTime":"2021-10-01T21:23:42.564Z"}]}}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:49:28,131 DEBUG D828C9479389 marked available 2021-10-06 20:49:28,131 DEBUG Adding appliance D828C9479389 2021-10-06 20:49:28,131 DEBUG Requesting update for client D828C9479389 2021-10-06 20:49:28,131 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/D828C9479389/erd", "id": "D828C9479389-allErd"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:49:28,132 DEBUG Requesting features for client D828C9479389 2021-10-06 20:49:28,132 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/D828C9479389/feature", "id": "Request-features"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:49:28,132 DEBUG Registering update callback for GeAppliance(D828C9479389) (Unknown Type) 2021-10-06 20:49:28,237 DEBUG client - event = data_received(<16 bytes>) 2021-10-06 20:49:28,237 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#connect","success":true}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:49:28,335 DEBUG client - event = data_received(<496 bytes>) 2021-10-06 20:49:28,336 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"D828C9479389-allErd","request":{"host":"api.brillion.geappliances.com","method":"GET","path":"/v1/appliance/D828C9479389/erd"},"success":true,"code":200,"body":{"kind":"appliance#erdList","userId":"ubd34fb0f9jyozj","applianceId":"D828C9479389","items":[{"erd":"0x0001","value":"0B505644323842594E4246530000000000000000000000000000000000000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0002","value":"0853523136323133320000000000000000000000000000000000000000000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0007","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0008","value":"03","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0009","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0035","value":"00000001","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0099","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0100","value":"00000561","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0101","value":"00000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0102","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0103","value":"00000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0104","value":"00000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0105","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1004","value":"2500","time":"2021-10-07T00:54:12.919Z"},{"erd":"0x1005","value":"25FC","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1007","value":"05","time":"2021-10-07T01:40:26.475Z"},{"erd":"0x1009","value":"00004F009100000000","time":"2021-10-06T15:53:06.794Z"},{"erd":"0x100A","value":"FF01","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100B","value":"222AFA05","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100C","value":"01","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100D","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100E","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100F","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1016","value":"00000000","time":"2021-10-07T00:32:09.690Z"},{"erd":"0x1019","value":"04","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x101D","value":"067902","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1020","value":"06","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1021","value":"64FF64FF1D01210225032A0464FF","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1022","value":"FF64","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1023","value":"646464FF646464FF646464FF646464FF","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1024","value":"48","time":"2021-10-06T23:33:57.621Z"},{"erd":"0x1028","value":"01","time":"2021-10-06T23:33:46.012Z"},{"erd":"0x1029","value":"01","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1100","value":"02C90004AA5D0400","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1101","value":"0000426A0002127C16481768000004B5","time":"2021-10-07T00:34:12.672Z"},{"erd":"0x1102","value":"002A0515009A000009EF00000000","time":"2021-10-07T01:39:51.785Z"},{"erd":"0x1103","value":"0004E45825FC291A0CF7230302EF46510C","time":"2021-10-06T23:20:08.055Z"},{"erd":"0x1104","value":"0004E458001E0039000001E000000000D000AF","time":"2021-10-06T23:20:08.055Z"}]}}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:49:28,337 DEBUG Setting ErdCode.MODEL_NUMBER to PVD28BYNBFS 2021-10-06 20:49:28,337 DEBUG Setting ErdCode.SERIAL_NUMBER to SR162132 2021-10-06 20:49:28,337 DEBUG Setting ErdCode.TEMPERATURE_UNIT to ErdMeasurementUnits.IMPERIAL 2021-10-06 20:49:28,337 DEBUG Setting ErdCode.APPLIANCE_TYPE to ErdApplianceType.FRIDGE 2021-10-06 20:49:28,337 DEBUG Setting ErdCode.SABBATH_MODE to False 2021-10-06 20:49:28,337 DEBUG Setting ErdCode.UNIT_TYPE to ErdUnitType.TYPE_120V_CAFE 2021-10-06 20:49:28,337 DEBUG Setting ErdCode.UNKNOWN_0099 to b'\x00' 2021-10-06 20:49:28,338 DEBUG Setting ErdCode.WIFI_MODULE_SW_VERSION to 0.0.5.97 2021-10-06 20:49:28,338 DEBUG Setting ErdCode.WIFI_MODULE_SW_VERSION_AVAILABLE to 0.0.0.0 2021-10-06 20:49:28,338 DEBUG Setting ErdCode.ACM_UPDATING to False 2021-10-06 20:49:28,338 DEBUG Setting ErdCode.APPLIANCE_SW_VERSION to 0.0.0.0 2021-10-06 20:49:28,338 DEBUG Setting ErdCode.APPLIANCE_SW_VERSION_AVAILABLE to 0.0.0.0 2021-10-06 20:49:28,338 DEBUG Setting ErdCode.APPLIANCE_UPDATING to False 2021-10-06 20:49:28,339 DEBUG Setting ErdCode.CURRENT_TEMPERATURE to FridgeSetPoints(fridge=37, freezer=0) 2021-10-06 20:49:28,339 DEBUG Setting ErdCode.TEMPERATURE_SETTING to FridgeSetPoints(fridge=37, freezer=-4) 2021-10-06 20:49:28,339 DEBUG Setting ErdCode.ICE_MAKER_BUCKET_STATUS to Full 2021-10-06 20:49:28,339 DEBUG Setting ErdCode.WATER_FILTER_STATUS to ErdFilterStatus.GOOD 2021-10-06 20:49:28,340 DEBUG Setting ErdCode.ICE_MAKER_CONTROL to IceMakerControlStatus(status_fridge=<ErdOnOff.ON: '01'>, status_freezer=<ErdOnOff.NA: 'FF'>) 2021-10-06 20:49:28,340 DEBUG Setting ErdCode.SETPOINT_LIMITS to FridgeSetPointLimits(fridge_min=34, fridge_max=42, freezer_min=-6, freezer_max=5) 2021-10-06 20:49:28,340 DEBUG Setting 0x100C to b'\x01' 2021-10-06 20:49:28,340 DEBUG Setting 0x100D to b'\x00' 2021-10-06 20:49:28,340 DEBUG Setting ErdCode.TURBO_FREEZE_STATUS to False 2021-10-06 20:49:28,340 DEBUG Setting ErdCode.TURBO_COOL_STATUS to False 2021-10-06 20:49:28,340 DEBUG Setting ErdCode.DOOR_STATUS to Closed 2021-10-06 20:49:28,340 DEBUG Setting 0x1019 to b'\x04' 2021-10-06 20:49:28,340 DEBUG Setting ErdCode.FRIDGE_MODEL_INFO to FridgeModelInfo(has_fridge=True, has_freezer=True, has_convertable_drawer=False, doors=2, raw_value=424194) 2021-10-06 20:49:28,340 DEBUG Setting 0x1020 to b'\x06' 2021-10-06 20:49:28,340 DEBUG Setting 0x1021 to b'd\xffd\xff\x1d\x01!\x02%\x03\x04d\xff' 2021-10-06 20:49:28,341 DEBUG Setting 0x1022 to b'\xffd' 2021-10-06 20:49:28,341 DEBUG Setting 0x1023 to b'ddd\xffddd\xffddd\xffddd\xff' 2021-10-06 20:49:28,341 DEBUG Setting ErdCode.INTERIOR_LIGHT to 72 2021-10-06 20:49:28,341 DEBUG Setting ErdCode.PROXIMITY_LIGHT to ErdOnOff.ON 2021-10-06 20:49:28,341 DEBUG Setting 0x1029 to b'\x01' 2021-10-06 20:49:28,341 DEBUG Setting 0x1100 to b'\x02\xc9\x00\x04\xaa]\x04\x00' 2021-10-06 20:49:28,341 DEBUG Setting 0x1101 to b'\x00\x00Bj\x00\x02\x12|\x16H\x17h\x00\x00\x04\xb5' 2021-10-06 20:49:28,341 DEBUG Setting 0x1102 to b'\x00\x05\x15\x00\x9a\x00\x00\t\xef\x00\x00\x00\x00' 2021-10-06 20:49:28,341 DEBUG Setting 0x1103 to b'\x00\x04\xe4X%\xfc)\x1a\x0c\xf7#\x03\x02\xefFQ\x0c' 2021-10-06 20:49:28,341 DEBUG Setting 0x1104 to b'\x00\x04\xe4X\x00\x1e\x009\x00\x00\x01\xe0\x00\x00\x00\x00\xd0\x00\xaf' 2021-10-06 20:49:28,341 DEBUG Got initial appliance type for GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE) 2021-10-06 20:49:28,341 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.MODEL_NUMBER, ErdCode.SERIAL_NUMBER, ErdCode.TEMPERATURE_UNIT, ErdCode.APPLIANCE_TYPE, ErdCode.SABBATH_MODE, ErdCode.UNIT_TYPE, ErdCode.UNKNOWN_0099, 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.CURRENT_TEMPERATURE, ErdCode.TEMPERATURE_SETTING, ErdCode.ICE_MAKER_BUCKET_STATUS, ErdCode.WATER_FILTER_STATUS, ErdCode.ICE_MAKER_CONTROL, ErdCode.SETPOINT_LIMITS, 0x100C, 0x100D, ErdCode.TURBO_FREEZE_STATUS, ErdCode.TURBO_COOL_STATUS, ErdCode.DOOR_STATUS, 0x1019, ErdCode.FRIDGE_MODEL_INFO, 0x1020, 0x1021, 0x1022, 0x1023, ErdCode.INTERIOR_LIGHT, ErdCode.PROXIMITY_LIGHT, 0x1029, 0x1100, 0x1101, 0x1102, 0x1103, 0x1104 2021-10-06 20:49:28,342 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE) 2021-10-06 20:49:28,362 DEBUG client - event = data_received(<52 bytes>) 2021-10-06 20:49:28,362 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-10-06 20:49:28,714 DEBUG client - event = data_received(<42 bytes>) 2021-10-06 20:49:28,714 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/D828C9479389/feature"},"success":true,"code":200,"body":{"kind":"appliance#applianceFeature","userId":"ubd34fb0f9jyozj","applianceId":"D828C9479389","features":[]}}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:49:28,714 DEBUG Received features [] for D828C9479389 2021-10-06 20:49:47,976 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\xb6Y\xbdc', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:49:48,003 DEBUG client - event = data_received(<6 bytes>) 2021-10-06 20:49:48,004 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'\xb6Y\xbdc', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:49:48,004 DEBUG client - received solicited pong: b659bd63 2021-10-06 20:49:55,176 DEBUG client - event = data_received(<56 bytes>) 2021-10-06 20:49:55,177 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1016","time":"2021-10-07T01:49:53.763Z","value":"00000001"},"resource":"/appliance/D828C9479389/erd/0x1016","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:49:55,177 DEBUG Setting ErdCode.DOOR_STATUS to Drawer Open 2021-10-06 20:49:55,178 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.DOOR_STATUS 2021-10-06 20:49:57,972 DEBUG Sending keepalive ping 2021-10-06 20:49:57,972 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-10-06 20:49:58,020 DEBUG client - event = data_received(<28 bytes>) 2021-10-06 20:49:58,020 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#pong","id":"keepalive-ping"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:01,024 DEBUG client - event = data_received(<21 bytes>) 2021-10-06 20:50:01,025 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1016","time":"2021-10-07T01:50:00.123Z","value":"00000000"},"resource":"/appliance/D828C9479389/erd/0x1016","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:01,025 DEBUG Setting ErdCode.DOOR_STATUS to Closed 2021-10-06 20:50:01,026 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.DOOR_STATUS 2021-10-06 20:50:07,115 DEBUG client - event = data_received(<18 bytes>) 2021-10-06 20:50:07,116 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1016","time":"2021-10-07T01:50:06.187Z","value":"01000000"},"resource":"/appliance/D828C9479389/erd/0x1016","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:07,116 DEBUG Setting ErdCode.DOOR_STATUS to Fridge Open 2021-10-06 20:50:07,116 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.DOOR_STATUS 2021-10-06 20:50:08,007 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\x04@\xb1-', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:08,037 DEBUG client - event = data_received(<6 bytes>) 2021-10-06 20:50:08,037 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'\x04@\xb1-', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:08,037 DEBUG client - received solicited pong: 0440b12d 2021-10-06 20:50:10,350 DEBUG client - event = data_received(<17 bytes>) 2021-10-06 20:50:10,351 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1016","time":"2021-10-07T01:50:07.367Z","value":"01010000"},"resource":"/appliance/D828C9479389/erd/0x1016","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:10,351 DEBUG Setting ErdCode.DOOR_STATUS to Fridge Open 2021-10-06 20:50:10,351 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.DOOR_STATUS 2021-10-06 20:50:27,978 DEBUG Sending keepalive ping 2021-10-06 20:50:27,978 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-10-06 20:50:28,026 DEBUG client - event = data_received(<7 bytes>) 2021-10-06 20:50:28,027 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#pong","id":"keepalive-ping"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:28,040 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\x93#\W', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:28,070 DEBUG client - event = data_received(<6 bytes>) 2021-10-06 20:50:28,070 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'\x93#\W', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:28,070 DEBUG client - received solicited pong: 93235c57 2021-10-06 20:50:28,137 DEBUG Requesting update for GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE) 2021-10-06 20:50:28,137 DEBUG Requesting update for client D828C9479389 2021-10-06 20:50:28,138 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/D828C9479389/erd", "id": "D828C9479389-allErd"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:28,299 DEBUG client - event = data_received(<77 bytes>) 2021-10-06 20:50:28,300 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"D828C9479389-allErd","request":{"host":"api.brillion.geappliances.com","method":"GET","path":"/v1/appliance/D828C9479389/erd"},"success":true,"code":200,"body":{"kind":"appliance#erdList","userId":"ubd34fb0f9jyozj","applianceId":"D828C9479389","items":[{"erd":"0x0001","value":"0B505644323842594E4246530000000000000000000000000000000000000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0002","value":"0853523136323133320000000000000000000000000000000000000000000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0007","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0008","value":"03","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0009","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0035","value":"00000001","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0099","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0100","value":"00000561","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0101","value":"00000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0102","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0103","value":"00000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0104","value":"00000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0105","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1004","value":"2500","time":"2021-10-07T00:54:12.919Z"},{"erd":"0x1005","value":"25FC","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1007","value":"05","time":"2021-10-07T01:40:26.475Z"},{"erd":"0x1009","value":"00004F009100000000","time":"2021-10-06T15:53:06.794Z"},{"erd":"0x100A","value":"FF01","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100B","value":"222AFA05","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100C","value":"01","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100D","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100E","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100F","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1016","value":"01010000","time":"2021-10-07T01:50:07.367Z"},{"erd":"0x1019","value":"04","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x101D","value":"067902","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1020","value":"06","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1021","value":"64FF64FF1D01210225032A0464FF","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1022","value":"FF64","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1023","value":"646464FF646464FF646464FF646464FF","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1024","value":"48","time":"2021-10-06T23:33:57.621Z"},{"erd":"0x1028","value":"01","time":"2021-10-06T23:33:46.012Z"},{"erd":"0x1029","value":"01","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1100","value":"02C90004AA5D0400","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1101","value":"0000426A0002128316491769000004B5","time":"2021-10-07T01:50:13.521Z"},{"erd":"0x1102","value":"002A0515009A000009EF00000000","time":"2021-10-07T01:39:51.785Z"},{"erd":"0x1103","value":"0004E45825FC291A0CF7230302EF46510C","time":"2021-10-06T23:20:08.055Z"},{"erd":"0x1104","value":"0004E458001E0039000001E000000000D000AF","time":"2021-10-06T23:20:08.055Z"}]}}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:28,301 DEBUG Setting 0x1101 to b'\x00\x00Bj\x00\x02\x12\x83\x16I\x17i\x00\x00\x04\xb5' 2021-10-06 20:50:28,301 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: 0x1101 2021-10-06 20:50:32,138 DEBUG client - event = data_received(<31 bytes>) 2021-10-06 20:50:32,138 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1024","time":"2021-10-07T01:50:31.034Z","value":"64"},"resource":"/appliance/D828C9479389/erd/0x1024","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:32,139 DEBUG Setting ErdCode.INTERIOR_LIGHT to 100 2021-10-06 20:50:32,139 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.INTERIOR_LIGHT 2021-10-06 20:50:36,300 DEBUG client - event = data_received(<19 bytes>) 2021-10-06 20:50:36,301 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1024","time":"2021-10-07T01:50:35.112Z","value":"49"},"resource":"/appliance/D828C9479389/erd/0x1024","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:36,301 DEBUG Setting ErdCode.INTERIOR_LIGHT to 73 2021-10-06 20:50:36,302 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.INTERIOR_LIGHT 2021-10-06 20:50:39,020 DEBUG client - event = data_received(<18 bytes>) 2021-10-06 20:50:39,020 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1024","time":"2021-10-07T01:50:37.398Z","value":"29"},"resource":"/appliance/D828C9479389/erd/0x1024","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:39,021 DEBUG Setting ErdCode.INTERIOR_LIGHT to 41 2021-10-06 20:50:39,021 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.INTERIOR_LIGHT 2021-10-06 20:50:42,320 DEBUG client - event = data_received(<19 bytes>) 2021-10-06 20:50:42,320 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1024","time":"2021-10-07T01:50:40.489Z","value":"06"},"resource":"/appliance/D828C9479389/erd/0x1024","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:42,320 DEBUG Setting ErdCode.INTERIOR_LIGHT to 6 2021-10-06 20:50:42,321 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.INTERIOR_LIGHT 2021-10-06 20:50:44,288 DEBUG client - event = data_received(<19 bytes>) 2021-10-06 20:50:44,288 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1024","time":"2021-10-07T01:50:42.736Z","value":"32"},"resource":"/appliance/D828C9479389/erd/0x1024","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:44,288 DEBUG Setting ErdCode.INTERIOR_LIGHT to 50 2021-10-06 20:50:44,288 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.INTERIOR_LIGHT 2021-10-06 20:50:46,746 DEBUG client - event = data_received(<17 bytes>) 2021-10-06 20:50:46,747 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1024","time":"2021-10-07T01:50:44.831Z","value":"00"},"resource":"/appliance/D828C9479389/erd/0x1024","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:46,747 DEBUG Setting ErdCode.INTERIOR_LIGHT to 0 2021-10-06 20:50:46,748 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.INTERIOR_LIGHT 2021-10-06 20:50:48,075 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\xe5h\x86t', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:48,103 DEBUG client - event = data_received(<6 bytes>) 2021-10-06 20:50:48,103 DEBUG client - event = data_received(<15 bytes>) 2021-10-06 20:50:48,103 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'\xe5h\x86t', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:48,103 DEBUG client - received solicited pong: e5688674 2021-10-06 20:50:48,103 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1024","time":"2021-10-07T01:50:47.041Z","value":"64"},"resource":"/appliance/D828C9479389/erd/0x1024","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:48,104 DEBUG Setting ErdCode.INTERIOR_LIGHT to 100 2021-10-06 20:50:48,104 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.INTERIOR_LIGHT 2021-10-06 20:50:52,008 DEBUG client - event = data_received(<18 bytes>) 2021-10-06 20:50:52,008 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1024","time":"2021-10-07T01:50:51.323Z","value":"47"},"resource":"/appliance/D828C9479389/erd/0x1024","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:52,008 DEBUG Setting ErdCode.INTERIOR_LIGHT to 71 2021-10-06 20:50:52,009 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.INTERIOR_LIGHT 2021-10-06 20:50:56,138 DEBUG client - event = data_received(<17 bytes>) 2021-10-06 20:50:56,138 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1016","time":"2021-10-07T01:50:55.289Z","value":"01000000"},"resource":"/appliance/D828C9479389/erd/0x1016","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:56,138 DEBUG Setting ErdCode.DOOR_STATUS to Fridge Open 2021-10-06 20:50:56,138 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.DOOR_STATUS 2021-10-06 20:50:57,983 DEBUG Sending keepalive ping 2021-10-06 20:50:57,983 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-10-06 20:50:58,028 DEBUG client - event = data_received(<7 bytes>) 2021-10-06 20:50:58,028 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#pong","id":"keepalive-ping"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:58,095 DEBUG client - event = data_received(<15 bytes>) 2021-10-06 20:50:58,096 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1016","time":"2021-10-07T01:50:56.426Z","value":"00000000"},"resource":"/appliance/D828C9479389/erd/0x1016","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:50:58,096 DEBUG Setting ErdCode.DOOR_STATUS to Closed 2021-10-06 20:50:58,096 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.DOOR_STATUS 2021-10-06 20:51:00,274 DEBUG client - event = data_received(<25 bytes>) 2021-10-06 20:51:00,275 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1028","time":"2021-10-07T01:50:58.698Z","value":"00"},"resource":"/appliance/D828C9479389/erd/0x1028","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:51:00,275 DEBUG Setting ErdCode.PROXIMITY_LIGHT to ErdOnOff.OFF 2021-10-06 20:51:00,276 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.PROXIMITY_LIGHT 2021-10-06 20:51:02,413 DEBUG client - event = data_received(<20 bytes>) 2021-10-06 20:51:02,413 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1028","time":"2021-10-07T01:51:01.630Z","value":"01"},"resource":"/appliance/D828C9479389/erd/0x1028","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:51:02,414 DEBUG Setting ErdCode.PROXIMITY_LIGHT to ErdOnOff.ON 2021-10-06 20:51:02,414 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.PROXIMITY_LIGHT 2021-10-06 20:51:06,137 DEBUG client - event = data_received(<21 bytes>) 2021-10-06 20:51:06,137 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1016","time":"2021-10-07T01:51:04.925Z","value":"00000100"},"resource":"/appliance/D828C9479389/erd/0x1016","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:51:06,137 DEBUG Setting ErdCode.DOOR_STATUS to Freezer Open 2021-10-06 20:51:06,138 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.DOOR_STATUS 2021-10-06 20:51:08,103 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'Z\0\xa2', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:51:08,131 DEBUG client - event = data_received(<6 bytes>) 2021-10-06 20:51:08,131 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'Z\0\xa2', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:51:08,131 DEBUG client - received solicited pong: 5a5c30a2 2021-10-06 20:51:09,271 DEBUG client - event = data_received(<15 bytes>) 2021-10-06 20:51:09,271 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1016","time":"2021-10-07T01:51:07.882Z","value":"00000000"},"resource":"/appliance/D828C9479389/erd/0x1016","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:51:09,271 DEBUG Setting ErdCode.DOOR_STATUS to Closed 2021-10-06 20:51:09,272 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.DOOR_STATUS 2021-10-06 20:51:27,986 DEBUG Sending keepalive ping 2021-10-06 20:51:27,986 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-10-06 20:51:28,032 DEBUG client - event = data_received(<7 bytes>) 2021-10-06 20:51:28,033 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#pong","id":"keepalive-ping"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:51:28,132 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\xcaB\x1d\xa4', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:51:28,138 DEBUG Requesting update for GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE) 2021-10-06 20:51:28,138 DEBUG Requesting update for client D828C9479389 2021-10-06 20:51:28,138 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/D828C9479389/erd", "id": "D828C9479389-allErd"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:51:28,161 DEBUG client - event = data_received(<6 bytes>) 2021-10-06 20:51:28,161 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'\xcaB\x1d\xa4', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:51:28,161 DEBUG client - received solicited pong: ca421da4 2021-10-06 20:51:28,309 DEBUG client - event = data_received(<62 bytes>) 2021-10-06 20:51:28,310 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"D828C9479389-allErd","request":{"host":"api.brillion.geappliances.com","method":"GET","path":"/v1/appliance/D828C9479389/erd"},"success":true,"code":200,"body":{"kind":"appliance#erdList","userId":"ubd34fb0f9jyozj","applianceId":"D828C9479389","items":[{"erd":"0x0001","value":"0B505644323842594E4246530000000000000000000000000000000000000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0002","value":"0853523136323133320000000000000000000000000000000000000000000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0007","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0008","value":"03","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0009","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0035","value":"00000001","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0099","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0100","value":"00000561","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0101","value":"00000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0102","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0103","value":"00000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0104","value":"00000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0105","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1004","value":"2500","time":"2021-10-07T00:54:12.919Z"},{"erd":"0x1005","value":"25FC","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1007","value":"05","time":"2021-10-07T01:40:26.475Z"},{"erd":"0x1009","value":"00004F009100000000","time":"2021-10-06T15:53:06.794Z"},{"erd":"0x100A","value":"FF01","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100B","value":"222AFA05","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100C","value":"01","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100D","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100E","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100F","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1016","value":"00000000","time":"2021-10-07T01:51:07.882Z"},{"erd":"0x1019","value":"04","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x101D","value":"067902","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1020","value":"06","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1021","value":"64FF64FF1D01210225032A0464FF","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1022","value":"FF64","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1023","value":"646464FF646464FF646464FF646464FF","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1024","value":"47","time":"2021-10-07T01:50:51.323Z"},{"erd":"0x1028","value":"01","time":"2021-10-07T01:51:01.630Z"},{"erd":"0x1029","value":"01","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1100","value":"02C90004AA5D0400","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1101","value":"0000426A0002128316491769000004B5","time":"2021-10-07T01:50:13.521Z"},{"erd":"0x1102","value":"002A0515009A000009EF00000000","time":"2021-10-07T01:39:51.785Z"},{"erd":"0x1103","value":"0004E45825FC291A0CF7230302EF46510C","time":"2021-10-06T23:20:08.055Z"},{"erd":"0x1104","value":"0004E458001E0039000001E000000000D000AF","time":"2021-10-06T23:20:08.055Z"}]}}', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:51:48,167 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\xf3\x1b/\x9a', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:51:48,195 DEBUG client - event = data_received(<6 bytes>) 2021-10-06 20:51:48,195 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'\xf3\x1b/\x9a', rsv1=False, rsv2=False, rsv3=False) 2021-10-06 20:51:48,196 DEBUG client - received solicited pong: f31b2f9a

groto27 commented 3 years ago

Maybe this line with help with the drawer? 2021-10-06 20:49:55,177 DEBUG Setting ErdCode.DOOR_STATUS to Drawer Open (I believe that is when I opened the drawer after starting the script)

elwing00 commented 3 years ago

I figured out how to get the drawer information - now to just figure out how to do a pull request :( (it's literally one word change and the drawer status shows up in the water_heater.* drawer attribute... #47 pull request.

elwing00 commented 3 years ago

Related to the drawer temperature: I changed mine, and the debugging got:

2021-10-06 22:31:26,112 DEBUG    Appliance state change detected in GeAppliance(D828C978A741) (ErdApplianceType.FRIDGE)
2021-10-06 22:31:26,327 DEBUG    client - event = data_received(<52 bytes>)
2021-10-06 22:31:26,327 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-10-06 22:31:29,369 DEBUG    client - event = data_received(<59 bytes>)
2021-10-06 22:31:29,369 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C978A741","erd":"0x1016","time":"2021-10-07T02:31:28.469Z","value":"00000001"},"resource":"/appliance/D828C978A741/erd/0x1016","kind":"publish#erd","userId":"fxycjq98tkmufwt"}', rsv1=False, rsv2=False, rsv3=False)
2021-10-06 22:31:29,370 DEBUG    Setting ErdCode.DOOR_STATUS to Drawer Open
2021-10-06 22:31:29,370 DEBUG    Appliance state change detected in GeAppliance(D828C978A741) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.DOOR_STATUS
2021-10-06 22:31:36,622 DEBUG    client - event = data_received(<29 bytes>)
2021-10-06 22:31:36,623 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C978A741","erd":"0x1020","time":"2021-10-07T02:31:35.650Z","value":"03"},"resource":"/appliance/D828C978A741/erd/0x1020","kind":"publish#erd","userId":"fxycjq98tkmufwt"}', rsv1=False, rsv2=False, rsv3=False)
2021-10-06 22:31:36,623 DEBUG    Setting 0x1020 to b'\x03'
2021-10-06 22:31:36,623 DEBUG    Appliance state change detected in GeAppliance(D828C978A741) (ErdApplianceType.FRIDGE). Updated keys: 0x1020
2021-10-06 22:31:41,583 DEBUG    client - event = data_received(<18 bytes>)
2021-10-06 22:31:41,583 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C978A741","erd":"0x1020","time":"2021-10-07T02:31:39.798Z","value":"04"},"resource":"/appliance/D828C978A741/erd/0x1020","kind":"publish#erd","userId":"fxycjq98tkmufwt"}', rsv1=False, rsv2=False, rsv3=False)
2021-10-06 22:31:41,584 DEBUG    Setting 0x1020 to b'\x04'
2021-10-06 22:31:41,584 DEBUG    Appliance state change detected in GeAppliance(D828C978A741) (ErdApplianceType.FRIDGE). Updated keys: 0x1020
2021-10-06 22:31:43,576 DEBUG    client - event = data_received(<19 bytes>)
2021-10-06 22:31:43,577 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C978A741","erd":"0x1020","time":"2021-10-07T02:31:42.804Z","value":"05"},"resource":"/appliance/D828C978A741/erd/0x1020","kind":"publish#erd","userId":"fxycjq98tkmufwt"}', rsv1=False, rsv2=False, rsv3=False)
2021-10-06 22:31:43,577 DEBUG    Setting 0x1020 to b'\x05'
2021-10-06 22:31:43,577 DEBUG    Appliance state change detected in GeAppliance(D828C978A741) (ErdApplianceType.FRIDGE). Updated keys: 0x1020
2021-10-06 22:31:45,803 DEBUG    client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\x0cHw\x08', rsv1=False, rsv2=False, rsv3=False)
2021-10-06 22:31:45,880 DEBUG    client - event = data_received(<6 bytes>)
2021-10-06 22:31:45,880 DEBUG    client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'\x0cHw\x08', rsv1=False, rsv2=False, rsv3=False)
2021-10-06 22:31:45,880 DEBUG    client - received solicited pong: 0c487708
2021-10-06 22:31:48,479 DEBUG    client - event = data_received(<18 bytes>)
2021-10-06 22:31:48,479 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C978A741","erd":"0x1020","time":"2021-10-07T02:31:47.193Z","value":"06"},"resource":"/appliance/D828C978A741/erd/0x1020","kind":"publish#erd","userId":"fxycjq98tkmufwt"}', rsv1=False, rsv2=False, rsv3=False)
2021-10-06 22:31:48,480 DEBUG    Setting 0x1020 to b'\x06'
2021-10-06 22:31:48,480 DEBUG    Appliance state change detected in GeAppliance(D828C978A741) (ErdApplianceType.FRIDGE). Updated keys: 0x1020
2021-10-06 22:31:49,494 DEBUG    client - event = data_received(<15 bytes>)
2021-10-06 22:31:49,494 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C978A741","erd":"0x1020","time":"2021-10-07T02:31:48.211Z","value":"05"},"resource":"/appliance/D828C978A741/erd/0x1020","kind":"publish#erd","userId":"fxycjq98tkmufwt"}', rsv1=False, rsv2=False, rsv3=False)
2021-10-06 22:31:49,495 DEBUG    Setting 0x1020 to b'\x05'
2021-10-06 22:31:49,495 DEBUG    Appliance state change detected in GeAppliance(D828C978A741) (ErdApplianceType.FRIDGE). Updated keys: 0x1020
2021-10-06 22:31:55,448 DEBUG    client - event = data_received(<20 bytes>)
2021-10-06 22:31:55,449 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C978A741","erd":"0x1016","time":"2021-10-07T02:31:54.277Z","value":"00000000"},"resource":"/appliance/D828C978A741/erd/0x1016","kind":"publish#erd","userId":"fxycjq98tkmufwt"}', rsv1=False, rsv2=False, rsv3=False)
2021-10-06 22:31:55,449 DEBUG    Setting ErdCode.DOOR_STATUS to Closed
2021-10-06 22:31:55,449 DEBUG    Appliance state change detected in GeAppliance(D828C978A741) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.DOOR_STATUS
2021-10-06 22:31:55,801 DEBUG    Sending keepalive ping
2021-10-06 22:31:55,801 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-10-06 22:31:55,837 DEBUG    client - event = data_received(<29 bytes>)
2021-10-06 22:31:55,838 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#pong","id":"keepalive-ping"}', rsv1=False, rsv2=False, rsv3=False)

I think it's the 0x1020 key, Order of operations: Open drawer unlock control (we have an ambitious 10yo) change to meat change to beverages change to snacks change to chiller change to snacks lock control panel

simbaja commented 3 years ago

OK, so good news is that it looks like the two additions I made seem to work (the proximity light and the interior lights) based on @groto27 's tests. I think I've also identified and resolved the issue with the websocket library and with the fridge info not giving the correct information. Can you pull down the latest sdk and make sure that the fridge info is now correct?

I've also merged @elwing00 's change into the dev branch, so if you manually pull down the HA component, you can see that working as well (or you can wait until I get another pre-release built). Based on this, I think that we have everything in the sdk except the drawer setting. Is that available in the official app? I will look through the codes tomorrow to see if I can figure it out, what you two provided should be enough to deduce the initial functionality.

For the interior light, I've got that as a sensor in HA for now. Do you want it as a light (so it can be controlled fully)?

simbaja commented 3 years ago

I think it's the 0x1020 key, Order of operations: Open drawer unlock control (we have an ambitious 10yo) change to meat change to beverages change to snacks change to chiller change to snacks lock control panel

Just saw this, thanks, that helps focus things a bit! So:

Meat = 3, Bev = 4, Snacks = 5, Chiller = 6

I wonder what 1 and 2 are...

groto27 commented 3 years ago

OK, so good news is that it looks like the two additions I made seem to work (the proximity light and the interior lights) based on @groto27 's tests. I think I've also identified and resolved the issue with the websocket library and with the fridge info not giving the correct information. Can you pull down the latest sdk and make sure that the fridge info is now correct?

I've also merged @elwing00 's change into the dev branch, so if you manually pull down the HA component, you can see that working as well (or you can wait until I get another pre-release built). Based on this, I think that we have everything in the sdk except the drawer setting. Is that available in the official app? I will look through the codes tomorrow to see if I can figure it out, what you two provided should be enough to deduce the initial functionality.

For the interior light, I've got that as a sensor in HA for now. Do you want it as a light (so it can be controlled fully)?

Full control would be awesome, but still be able to report out the current brightness. I would like to be able to ditch the app entirely and completely rely on Home Assistant. I’ll have to get back to you later on the other questions as it’s getting late here. Thank you both for all the help!

groto27 commented 3 years ago

I think it's the 0x1020 key, Order of operations: Open drawer unlock control (we have an ambitious 10yo) change to meat change to beverages change to snacks change to chiller change to snacks lock control panel

Just saw this, thanks, that helps focus things a bit! So:

Meat = 3, Bev = 4, Snacks = 5, Chiller = 6

I wonder what 1 and 2 are...

In the app I believe chiller is actually called Wine. I don’t see any others just those 4.

elwing00 commented 3 years ago

Just saw this, thanks, that helps focus things a bit! So:

Meat = 3, Bev = 4, Snacks = 5, Chiller = 6

I wonder what 1 and 2 are...

I suspect the 1 and 2 are for models that have the door/drawer that can also be a freezer: see https://www.cafeappliances.com/appliance/Cafe-ENERGY-STAR-27-4-Cu-Ft-Smart-Quad-Door-Refrigerator-in-Platinum-Glass-CQE28DM5NS5

(not 100% sure on that, just speculating)

Based on this, I think that we have everything in the sdk except the drawer setting. Is that available in the official app? I will look through the codes tomorrow to see if I can figure it out, what you two provided should be enough to deduce the initial functionality.

I can set the drawer setting in the official app (iOS), and it is called "Wine" in the App, but "Chiller" on the fridge itself. Not sure if it would be helpful to try to send the change commands from the app to see what it does? I might be able to set up a MITM server to capture traffic both ways (depends on how well they're checking for a cert in the app)

simbaja commented 3 years ago

No need to setup the MITM at this time, the sdk framework can set it, just wanted to understand if the setting is writable or read-only.

I'll take a look at that link, maybe there's a way to figure out what they should be. Otherwise I might just set as unknown for now until someone tells me what it is :).

BTW, all the newer apps are encrypted and a pain in the butt. I wasn't able to get the MITM server working (It looks like they are using cert pinning and I didn't go down the path of reverse engineering that). Unfortunately, the newer apps expose more features, so we're kinda stuck for now looking and interpreting codes at this low level.

elwing00 commented 3 years ago

thank you for all you do!

groto27 commented 3 years ago

OK, so good news is that it looks like the two additions I made seem to work (the proximity light and the interior lights) based on @groto27 's tests. I think I've also identified and resolved the issue with the websocket library and with the fridge info not giving the correct information. Can you pull down the latest sdk and make sure that the fridge info is now correct?

I've also merged @elwing00 's change into the dev branch, so if you manually pull down the HA component, you can see that working as well (or you can wait until I get another pre-release built). Based on this, I think that we have everything in the sdk except the drawer setting. Is that available in the official app? I will look through the codes tomorrow to see if I can figure it out, what you two provided should be enough to deduce the initial functionality.

For the interior light, I've got that as a sensor in HA for now. Do you want it as a light (so it can be controlled fully)?

I pulled down the latest sdk, but I still had to make the manual changes to websocket_example.py to get it to work. Are you planning on updating that? Also, convertible drawer was still false so I am not sure what you need me to check. Please confirm. Thanks!!

simbaja commented 3 years ago

I pulled down the latest sdk, but I still had to make the manual changes to websocket_example.py to get it to work.

At some point I plan to. I don't actually have the issue, but others have, so still need to research a good solution there to make sure it all works for everyone.

Also, convertible drawer was still false so I am not sure what you need me to check

Can you send me the line that has the convertable drawer = false (especially the raw value). I had an issue in the previous commit that prevented me from seeing the true raw value in your old log.

groto27 commented 3 years ago

Here is some more output. I started it and only opened the drawer and closed it. A couple relevant lines are highlighted in bold. Let me know if I should do anything else. Thanks!

2021-10-07 19:51:04,087 DEBUG Getting OAuth2 token 2021-10-07 19:51:04,101 DEBUG Client changed state: GeClientState.INITIALIZING to GeClientState.AUTHORIZING_OAUTH 2021-10-07 19:51:05,582 DEBUG Getting WS credentials 2021-10-07 19:51:05,583 DEBUG Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT 2021-10-07 19:51:05,835 INFO Starting GE Appliances client 2021-10-07 19:51:05,852 DEBUG Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING 2021-10-07 19:51:05,893 DEBUG client - state = CONNECTING 2021-10-07 19:51:05,969 DEBUG client - event = connection_made(<asyncio.sslproto._SSLProtocolTransport object at 0x104817a00>) 2021-10-07 19:51:05,970 DEBUG client > GET /?access_token=ue1cpvhpgct28o3mukdr3bb5os8aq6og HTTP/1.1 2021-10-07 19:51:05,970 DEBUG client > Headers([('Host', 'ws-us-east-1.brillion.geappliances.com'), ('Upgrade', 'websocket'), ('Connection', 'Upgrade'), ('Sec-WebSocket-Key', '4wBerkCpFs69RTmOy2Bs/w=='), ('Sec-WebSocket-Version', '13'), ('Sec-WebSocket-Extensions', 'permessage-deflate; client_max_window_bits'), ('User-Agent', 'Python/3.9 websockets/9.1')]) 2021-10-07 19:51:06,611 DEBUG client - event = data_received(<212 bytes>) 2021-10-07 19:51:06,612 DEBUG client < HTTP/1.1 101 Switching Protocols 2021-10-07 19:51:06,612 DEBUG client < Headers([('Date', 'Fri, 08 Oct 2021 00:51:08 GMT'), ('Connection', 'upgrade'), ('upgrade', 'websocket'), ('sec-websocket-accept', 'Im5uR83V3q8gpOyzQCFdZohrmDw='), ('sec-websocket-extensions', 'permessage-deflate')]) 2021-10-07 19:51:06,612 DEBUG client - state = OPEN 2021-10-07 19:51:06,612 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-10-07 19:51:06,613 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-10-07 19:51:06,613 DEBUG Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED 2021-10-07 19:51:06,670 DEBUG client - event = data_received(<49 bytes>) 2021-10-07 19:51:06,671 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#subscribe","success":true}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 19:51:06,797 DEBUG client - event = data_received(<259 bytes>) 2021-10-07 19:51:06,797 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":"ubd34fb0f9jyozj","items":[{"applianceId":"D828C9479389","type":"Refrigerator","brand":"Unknown","jid":"d828c9479389_ubd34fb0f9jyozj","nickname":"Refrigerator","online":"ONLINE","onlineTime":"2021-10-01T21:23:42.564Z"}]}}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 19:51:06,798 DEBUG D828C9479389 marked available 2021-10-07 19:51:06,798 DEBUG Adding appliance D828C9479389 2021-10-07 19:51:06,798 DEBUG Requesting update for client D828C9479389 2021-10-07 19:51:06,798 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/D828C9479389/erd", "id": "D828C9479389-allErd"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 19:51:06,798 DEBUG Requesting features for client D828C9479389 2021-10-07 19:51:06,799 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/D828C9479389/feature", "id": "Request-features"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 19:51:06,799 DEBUG Registering update callback for GeAppliance(D828C9479389) (Unknown Type) 2021-10-07 19:51:06,806 DEBUG client - event = data_received(<16 bytes>) 2021-10-07 19:51:06,806 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#connect","success":true}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 19:51:06,936 DEBUG client - event = data_received(<52 bytes>) 2021-10-07 19:51:06,936 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-10-07 19:51:06,939 DEBUG client - event = data_received(<497 bytes>) 2021-10-07 19:51:06,940 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"D828C9479389-allErd","request":{"host":"api.brillion.geappliances.com","method":"GET","path":"/v1/appliance/D828C9479389/erd"},"success":true,"code":200,"body":{"kind":"appliance#erdList","userId":"ubd34fb0f9jyozj","applianceId":"D828C9479389","items":[{"erd":"0x0001","value":"0B505644323842594E4246530000000000000000000000000000000000000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0002","value":"0853523136323133320000000000000000000000000000000000000000000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0007","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0008","value":"03","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0009","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0035","value":"00000001","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0099","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0100","value":"00000561","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0101","value":"00000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0102","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0103","value":"00000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0104","value":"00000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0105","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1004","value":"2700","time":"2021-10-07T23:24:38.886Z"},{"erd":"0x1005","value":"25FC","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1007","value":"01","time":"2021-10-08T00:36:56.891Z"},{"erd":"0x1009","value":"00004F009000000000","time":"2021-10-07T15:54:39.791Z"},{"erd":"0x100A","value":"FF01","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100B","value":"222AFA05","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100C","value":"01","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100D","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100E","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100F","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1016","value":"00000000","time":"2021-10-08T00:49:22.272Z"},{"erd":"0x1019","value":"04","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x101D","value":"067902","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1020","value":"06","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1021","value":"64FF64FF1D01210225032A0464FF","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1022","value":"FF64","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1023","value":"646464FF646464FF646464FF646464FF","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1024","value":"47","time":"2021-10-07T01:50:51.323Z"},{"erd":"0x1028","value":"01","time":"2021-10-07T01:51:01.630Z"},{"erd":"0x1029","value":"01","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1100","value":"02C90004AA5D0400","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1101","value":"00004293000214C716641787000004BD","time":"2021-10-08T00:50:41.316Z"},{"erd":"0x1102","value":"002A051C009A000009FA00000000","time":"2021-10-08T00:13:14.555Z"},{"erd":"0x1103","value":"0004E7FE25FC2C1A02F54A0602EF48480C","time":"2021-10-07T20:08:36.050Z"},{"erd":"0x1104","value":"0004E7FE005C012000000654000000002F0000","time":"2021-10-07T20:08:36.050Z"}]}}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 19:51:06,940 DEBUG Setting ErdCode.MODEL_NUMBER to PVD28BYNBFS 2021-10-07 19:51:06,940 DEBUG Setting ErdCode.SERIAL_NUMBER to SR162132 2021-10-07 19:51:06,940 DEBUG Setting ErdCode.TEMPERATURE_UNIT to ErdMeasurementUnits.IMPERIAL 2021-10-07 19:51:06,940 DEBUG Setting ErdCode.APPLIANCE_TYPE to ErdApplianceType.FRIDGE 2021-10-07 19:51:06,941 DEBUG Setting ErdCode.SABBATH_MODE to False 2021-10-07 19:51:06,941 DEBUG Setting ErdCode.UNIT_TYPE to ErdUnitType.TYPE_120V_CAFE 2021-10-07 19:51:06,941 DEBUG Setting ErdCode.UNKNOWN_0099 to b'\x00' 2021-10-07 19:51:06,941 DEBUG Setting ErdCode.WIFI_MODULE_SW_VERSION to 0.0.5.97 2021-10-07 19:51:06,941 DEBUG Setting ErdCode.WIFI_MODULE_SW_VERSION_AVAILABLE to 0.0.0.0 2021-10-07 19:51:06,941 DEBUG Setting ErdCode.ACM_UPDATING to False 2021-10-07 19:51:06,941 DEBUG Setting ErdCode.APPLIANCE_SW_VERSION to 0.0.0.0 2021-10-07 19:51:06,941 DEBUG Setting ErdCode.APPLIANCE_SW_VERSION_AVAILABLE to 0.0.0.0 2021-10-07 19:51:06,941 DEBUG Setting ErdCode.APPLIANCE_UPDATING to False 2021-10-07 19:51:06,941 DEBUG Setting ErdCode.CURRENT_TEMPERATURE to FridgeSetPoints(fridge=39, freezer=0) 2021-10-07 19:51:06,941 DEBUG Setting ErdCode.TEMPERATURE_SETTING to FridgeSetPoints(fridge=37, freezer=-4) 2021-10-07 19:51:06,942 DEBUG Setting ErdCode.ICE_MAKER_BUCKET_STATUS to Not Full 2021-10-07 19:51:06,942 DEBUG Setting ErdCode.WATER_FILTER_STATUS to ErdFilterStatus.GOOD 2021-10-07 19:51:06,942 DEBUG Setting ErdCode.ICE_MAKER_CONTROL to IceMakerControlStatus(status_fridge=<ErdOnOff.ON: '01'>, status_freezer=<ErdOnOff.NA: 'FF'>) 2021-10-07 19:51:06,942 DEBUG Setting ErdCode.SETPOINT_LIMITS to FridgeSetPointLimits(fridge_min=34, fridge_max=42, freezer_min=-6, freezer_max=5) 2021-10-07 19:51:06,942 DEBUG Setting 0x100C to b'\x01' 2021-10-07 19:51:06,942 DEBUG Setting 0x100D to b'\x00' 2021-10-07 19:51:06,942 DEBUG Setting ErdCode.TURBO_FREEZE_STATUS to False 2021-10-07 19:51:06,942 DEBUG Setting ErdCode.TURBO_COOL_STATUS to False 2021-10-07 19:51:06,942 DEBUG Setting ErdCode.DOOR_STATUS to Closed 2021-10-07 19:51:06,942 DEBUG Setting 0x1019 to b'\x04' 2021-10-07 19:51:06,942 DEBUG Setting ErdCode.FRIDGE_MODEL_INFO to FridgeModelInfo(has_fridge=True, has_freezer=True, has_convertable_drawer=False, doors=2, raw_value=424194) 2021-10-07 19:51:06,942 DEBUG Setting 0x1020 to b'\x06' 2021-10-07 19:51:06,942 DEBUG Setting 0x1021 to b'd\xffd\xff\x1d\x01!\x02%\x03\x04d\xff' 2021-10-07 19:51:06,942 DEBUG Setting 0x1022 to b'\xffd' 2021-10-07 19:51:06,943 DEBUG Setting 0x1023 to b'ddd\xffddd\xffddd\xffddd\xff' 2021-10-07 19:51:06,943 DEBUG Setting ErdCode.INTERIOR_LIGHT to 71 2021-10-07 19:51:06,943 DEBUG Setting ErdCode.PROXIMITY_LIGHT to ErdOnOff.ON 2021-10-07 19:51:06,943 DEBUG Setting 0x1029 to b'\x01' 2021-10-07 19:51:06,943 DEBUG Setting 0x1100 to b'\x02\xc9\x00\x04\xaa]\x04\x00' 2021-10-07 19:51:06,943 DEBUG Setting 0x1101 to b'\x00\x00B\x93\x00\x02\x14\xc7\x16d\x17\x87\x00\x00\x04\xbd' 2021-10-07 19:51:06,943 DEBUG Setting 0x1102 to b'\x00\x05\x1c\x00\x9a\x00\x00\t\xfa\x00\x00\x00\x00' 2021-10-07 19:51:06,943 DEBUG Setting 0x1103 to b'\x00\x04\xe7\xfe%\xfc,\x1a\x02\xf5J\x06\x02\xefHH\x0c' 2021-10-07 19:51:06,943 DEBUG Setting 0x1104 to b'\x00\x04\xe7\xfe\x00\\x01 \x00\x00\x06T\x00\x00\x00\x00/\x00\x00' 2021-10-07 19:51:06,943 DEBUG Got initial appliance type for GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE) 2021-10-07 19:51:06,943 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.MODEL_NUMBER, ErdCode.SERIAL_NUMBER, ErdCode.TEMPERATURE_UNIT, ErdCode.APPLIANCE_TYPE, ErdCode.SABBATH_MODE, ErdCode.UNIT_TYPE, ErdCode.UNKNOWN_0099, 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.CURRENT_TEMPERATURE, ErdCode.TEMPERATURE_SETTING, ErdCode.ICE_MAKER_BUCKET_STATUS, ErdCode.WATER_FILTER_STATUS, ErdCode.ICE_MAKER_CONTROL, ErdCode.SETPOINT_LIMITS, 0x100C, 0x100D, ErdCode.TURBO_FREEZE_STATUS, ErdCode.TURBO_COOL_STATUS, ErdCode.DOOR_STATUS, 0x1019, ErdCode.FRIDGE_MODEL_INFO, 0x1020, 0x1021, 0x1022, 0x1023, ErdCode.INTERIOR_LIGHT, ErdCode.PROXIMITY_LIGHT, 0x1029, 0x1100, 0x1101, 0x1102, 0x1103, 0x1104 2021-10-07 19:51:06,943 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE) 2021-10-07 19:51:06,950 DEBUG client - event = data_received(<42 bytes>) 2021-10-07 19:51:06,950 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/D828C9479389/feature"},"success":true,"code":200,"body":{"kind":"appliance#applianceFeature","userId":"ubd34fb0f9jyozj","applianceId":"D828C9479389","features":[]}}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 19:51:06,951 DEBUG Received features [] for D828C9479389 2021-10-07 19:51:21,098 DEBUG client - event = data_received(<55 bytes>) 2021-10-07 19:51:21,099 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1016","time":"2021-10-08T00:51:22.135Z","value":"00000001"},"resource":"/appliance/D828C9479389/erd/0x1016","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 19:51:21,099 DEBUG Setting ErdCode.DOOR_STATUS to Drawer Open 2021-10-07 19:51:21,099 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.DOOR_STATUS 2021-10-07 19:51:24,266 DEBUG client - event = data_received(<18 bytes>) 2021-10-07 19:51:24,266 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1016","time":"2021-10-08T00:51:25.244Z","value":"00000000"},"resource":"/appliance/D828C9479389/erd/0x1016","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 19:51:24,266 DEBUG Setting ErdCode.DOOR_STATUS to Closed 2021-10-07 19:51:24,267 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.DOOR_STATUS 2021-10-07 19:51:26,617 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\x95\xbf\x8a\xa4', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 19:51:26,648 DEBUG client - event = data_received(<6 bytes>) 2021-10-07 19:51:26,649 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'\x95\xbf\x8a\xa4', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 19:51:26,649 DEBUG client - received solicited pong: 95bf8aa4

simbaja commented 3 years ago

Weird that still looks like the old version (the raw_value isn't a string). Did you git update? Or are you attempting to do it from the pypi version. If from pypi, I haven't put a new version out there, which would explain that.

I just committed the code to be able to read/write the drawer mode. Can you give that a shot as well and see if it will show the correct interpretation?

elwing00 commented 3 years ago

I'm still trying to figure out how to run it without the pypi version..... The husband is helping tonight though!

groto27 commented 3 years ago

I must be doing something wrong. I just downloaded the latest master as a zip, navigated to the directory and ran the python3 websocket_example.py after adding the secret file and I still see this.

2021-10-07 20:28:16,985 DEBUG Setting ErdCode.FRIDGE_MODEL_INFO to FridgeModelInfo(has_fridge=True, has_freezer=True, has_convertable_drawer=False, doors=2, raw_value=424194)

groto27 commented 3 years ago

Do you have any instructions to do it a different way? Thx

simbaja commented 3 years ago

Weird, that should work. Does your local copy of this file match what's in GitHub?

https://github.com/simbaja/gehome/blob/master/gehomesdk/erd/converters/fridge/fridge_model_info_converter.py

elwing00 commented 3 years ago

I see it on our side (my husband figured out how to run local code...) Our drawer is not set to WINE though, it's set to SNACKS.... Looks like SNACKS and WINE are switched when I run it and actually change it...

2021-10-07 21:45:27,068 DEBUG    Getting OAuth2 token
2021-10-07 21:45:27,086 DEBUG    Client changed state: GeClientState.INITIALIZING to GeClientState.AUTHORIZING_OAUTH
2021-10-07 21:45:28,675 DEBUG    Getting WS credentials
2021-10-07 21:45:28,675 DEBUG    Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-10-07 21:45:29,103 INFO     Starting GE Appliances client
2021-10-07 21:45:29,118 DEBUG    Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-10-07 21:45:29,176 DEBUG    = connection is CONNECTING
2021-10-07 21:45:29,226 DEBUG    > GET /?access_token=ue1cpuo9gxsrigpydwnnr8p7rergu4z4 HTTP/1.1
2021-10-07 21:45:29,226 DEBUG    > Host: ws-us-east-1.brillion.geappliances.com
2021-10-07 21:45:29,226 DEBUG    > Upgrade: websocket
2021-10-07 21:45:29,226 DEBUG    > Connection: Upgrade
2021-10-07 21:45:29,226 DEBUG    > Sec-WebSocket-Key: pxFi81VLqhNHdib0FaxRyw==
2021-10-07 21:45:29,226 DEBUG    > Sec-WebSocket-Version: 13
2021-10-07 21:45:29,226 DEBUG    > User-Agent: Python/3.9 websockets/10.0
2021-10-07 21:45:29,383 DEBUG    < HTTP/1.1 101 Switching Protocols
2021-10-07 21:45:29,383 DEBUG    < Date: Fri, 08 Oct 2021 01:45:29 GMT
2021-10-07 21:45:29,383 DEBUG    < Connection: upgrade
2021-10-07 21:45:29,383 DEBUG    < upgrade: websocket
2021-10-07 21:45:29,383 DEBUG    < sec-websocket-accept: MeumjhQjWJtUqvOdR6NPQEikM0c=
2021-10-07 21:45:29,383 DEBUG    = connection is OPEN
2021-10-07 21:45:29,383 DEBUG    > TEXT '{"kind": "websocket#subscribe", "action": "subs...["/appliance/*/erd/*"]}' [91 bytes]
2021-10-07 21:45:29,384 DEBUG    > TEXT '{"kind": "websocket#api", "action": "api", "hos...id": "List-appliances"}' [150 bytes]
2021-10-07 21:45:29,384 DEBUG    Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED
2021-10-07 21:45:29,461 DEBUG    < TEXT '{"kind":"websocket#subscribe","success":true}' [45 bytes]
2021-10-07 21:45:29,650 DEBUG    < TEXT '{"kind":"websocket#api","id":"List-appliances",...0-04T21:44:54.478Z"}]}}' [433 bytes]
2021-10-07 21:45:29,651 DEBUG    D828C978A741 marked available
2021-10-07 21:45:29,651 DEBUG    Adding appliance D828C978A741
2021-10-07 21:45:29,651 DEBUG    Requesting update for client D828C978A741
2021-10-07 21:45:29,651 DEBUG    > TEXT '{"kind": "websocket#api", "action": "api", "hos... "D828C978A741-allErd"}' [171 bytes]
2021-10-07 21:45:29,651 DEBUG    Registering update callback for GeAppliance(D828C978A741) (Unknown Type)
2021-10-07 21:45:29,651 DEBUG    Requesting features for client D828C978A741
2021-10-07 21:45:29,651 DEBUG    > TEXT '{"kind": "websocket#api", "action": "api", "hos...d": "Request-features"}' [172 bytes]
2021-10-07 21:45:29,814 DEBUG    < TEXT '{"kind":"websocket#api","id":"D828C978A741-allE...0-08T01:36:24.303Z"}]}}' [3369 bytes]
2021-10-07 21:45:29,815 DEBUG    Setting ErdCode.MODEL_NUMBER to PVD28BYNCFS
2021-10-07 21:45:29,815 DEBUG    Setting ErdCode.SERIAL_NUMBER to RS515638
2021-10-07 21:45:29,815 DEBUG    Setting ErdCode.TEMPERATURE_UNIT to ErdMeasurementUnits.IMPERIAL
2021-10-07 21:45:29,815 DEBUG    Setting ErdCode.APPLIANCE_TYPE to ErdApplianceType.FRIDGE
2021-10-07 21:45:29,815 DEBUG    Setting ErdCode.SABBATH_MODE to False
2021-10-07 21:45:29,815 DEBUG    Setting ErdCode.UNIT_TYPE to ErdUnitType.TYPE_240V_CAFE
2021-10-07 21:45:29,815 DEBUG    Setting ErdCode.UNKNOWN_0099 to b'\x00'
2021-10-07 21:45:29,815 DEBUG    Setting ErdCode.WIFI_MODULE_SW_VERSION to 0.0.5.97
2021-10-07 21:45:29,816 DEBUG    Setting ErdCode.WIFI_MODULE_SW_VERSION_AVAILABLE to 0.0.0.0
2021-10-07 21:45:29,816 DEBUG    Setting ErdCode.ACM_UPDATING to False
2021-10-07 21:45:29,816 DEBUG    Setting ErdCode.APPLIANCE_SW_VERSION to 0.0.0.0
2021-10-07 21:45:29,816 DEBUG    Setting ErdCode.APPLIANCE_SW_VERSION_AVAILABLE to 0.0.0.0
2021-10-07 21:45:29,816 DEBUG    Setting ErdCode.APPLIANCE_UPDATING to False
2021-10-07 21:45:29,816 DEBUG    Setting ErdCode.CURRENT_TEMPERATURE to FridgeSetPoints(fridge=37, freezer=3)
2021-10-07 21:45:29,816 DEBUG    Setting ErdCode.TEMPERATURE_SETTING to FridgeSetPoints(fridge=34, freezer=-6)
2021-10-07 21:45:29,816 DEBUG    Setting ErdCode.ICE_MAKER_BUCKET_STATUS to Not Full
2021-10-07 21:45:29,816 DEBUG    Setting ErdCode.WATER_FILTER_STATUS to ErdFilterStatus.GOOD
2021-10-07 21:45:29,816 DEBUG    Setting ErdCode.ICE_MAKER_CONTROL to IceMakerControlStatus(status_fridge=<ErdOnOff.ON: '01'>, status_freezer=<ErdOnOff.NA: 'FF'>)
2021-10-07 21:45:29,816 DEBUG    Setting ErdCode.SETPOINT_LIMITS to FridgeSetPointLimits(fridge_min=34, fridge_max=42, freezer_min=-6, freezer_max=5)
2021-10-07 21:45:29,816 DEBUG    Setting 0x100C to b'\x00'
2021-10-07 21:45:29,817 DEBUG    Setting 0x100D to b'\x00'
2021-10-07 21:45:29,817 DEBUG    Setting ErdCode.TURBO_FREEZE_STATUS to False
2021-10-07 21:45:29,817 DEBUG    Setting ErdCode.TURBO_COOL_STATUS to False
2021-10-07 21:45:29,817 DEBUG    Setting ErdCode.DOOR_STATUS to Closed
2021-10-07 21:45:29,817 DEBUG    Setting 0x1019 to b'\x04'
2021-10-07 21:45:29,817 DEBUG    Setting ErdCode.FRIDGE_MODEL_INFO to FridgeModelInfo(has_fridge=True, has_freezer=True, has_convertable_drawer=True, doors=4, raw_value='067902')
2021-10-07 21:45:29,817 DEBUG    Setting ErdCode.CONVERTABLE_DRAWER_MODE to ErdConvertableDrawerMode.WINE
2021-10-07 21:45:29,817 DEBUG    Setting 0x1021 to b'd\xffd\xff\x1d\x01!\x02%\x03*\x04d\xff'
2021-10-07 21:45:29,817 DEBUG    Setting 0x1022 to b'\xffd'
2021-10-07 21:45:29,817 DEBUG    Setting 0x1023 to b'ddd\xffddd\xffddd\xffddd\xff'
2021-10-07 21:45:29,817 DEBUG    Setting ErdCode.INTERIOR_LIGHT to 100
2021-10-07 21:45:29,817 DEBUG    Setting ErdCode.PROXIMITY_LIGHT to ErdOnOff.ON
2021-10-07 21:45:29,817 DEBUG    Setting 0x1029 to b'\x01'
2021-10-07 21:45:29,817 DEBUG    Setting 0x102A to b'\x00\x00'
2021-10-07 21:45:29,817 DEBUG    Setting 0x102B to b'\x00'
2021-10-07 21:45:29,817 DEBUG    Setting 0x1100 to b'\x02\xe1\x00\x00\x06G\x02\x00'
2021-10-07 21:45:29,817 DEBUG    Setting 0x1101 to b'\x00\x00\x04:\x00\x00\x10\x9b\x00\x8f\x00\x88\x00\x00\x00<'
2021-10-07 21:45:29,817 DEBUG    Setting 0x1102 to b'\x00\x00\x00\t\x00\x1b\x00\x00\x00D\x00\x00\x00\x00'
2021-10-07 21:45:29,817 DEBUG    Setting 0x1103 to b'\x00\x00\x0c\x80"\xfc/\x16$\xfaM\x06@\xf5Q=\x03'
2021-10-07 21:45:29,817 DEBUG    Setting 0x1104 to b'\x00\x00\x0c\x80=\xa4\xc8\xa0\x00\x00\x08p\x00\x00@\x01!\x00:'
2021-10-07 21:45:29,817 DEBUG    Setting ErdCode.WAC_DEMAND_RESPONSE_STATE to ErdWacDemandResponseState.NOT_IN_DEMAND_RESPONSE
2021-10-07 21:45:29,818 DEBUG    Setting 0xD007 to b'\x00\x00\x00\x94'
2021-10-07 21:45:29,818 DEBUG    Got initial appliance type for GeAppliance(D828C978A741) (ErdApplianceType.FRIDGE)
2021-10-07 21:45:29,818 DEBUG    Appliance state change detected in GeAppliance(D828C978A741) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.MODEL_NUMBER, ErdCode.SERIAL_NUMBER, ErdCode.TEMPERATURE_UNIT, ErdCode.APPLIANCE_TYPE, ErdCode.SABBATH_MODE, ErdCode.UNIT_TYPE, ErdCode.UNKNOWN_0099, 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.CURRENT_TEMPERATURE, ErdCode.TEMPERATURE_SETTING, ErdCode.ICE_MAKER_BUCKET_STATUS, ErdCode.WATER_FILTER_STATUS, ErdCode.ICE_MAKER_CONTROL, ErdCode.SETPOINT_LIMITS, 0x100C, 0x100D, ErdCode.TURBO_FREEZE_STATUS, ErdCode.TURBO_COOL_STATUS, ErdCode.DOOR_STATUS, 0x1019, ErdCode.FRIDGE_MODEL_INFO, ErdCode.CONVERTABLE_DRAWER_MODE, 0x1021, 0x1022, 0x1023, ErdCode.INTERIOR_LIGHT, ErdCode.PROXIMITY_LIGHT, 0x1029, 0x102A, 0x102B, 0x1100, 0x1101, 0x1102, 0x1103, 0x1104, ErdCode.WAC_DEMAND_RESPONSE_STATE, 0xD007
2021-10-07 21:45:29,818 DEBUG    Appliance state change detected in GeAppliance(D828C978A741) (ErdApplianceType.FRIDGE)
2021-10-07 21:45:29,820 DEBUG    < TEXT '{"kind":"websocket#connect","success":true}' [43 bytes]
2021-10-07 21:45:29,841 DEBUG    < TEXT '{"kind":"websocket#api","id":"Request-features"...78A741","features":[]}}' [299 bytes]
2021-10-07 21:45:29,841 DEBUG    Received features [] for D828C978A741
2021-10-07 21:45:30,057 DEBUG    < TEXT '{"resource":"/appliance/*/erd/*","kind":"websoc...:true,"change":"ADDED"}' [97 bytes]
groto27 commented 3 years ago

yeah they match

Weird, that should work. Does your local copy of this file match what's in GitHub?

https://github.com/simbaja/gehome/blob/master/gehomesdk/erd/converters/fridge/fridge_model_info_converter.py

elwing00 commented 3 years ago

yeah they match

I had to add additional code to websocket_connect.py to get it to pick up the local version: Add right after the "header" comment

from pathlib import Path
import sys
path_root = Path(__file__).parents[1]
sys.path.insert(0, str(path_root))

This might be an OS X thing....

simbaja commented 3 years ago

Looks like SNACKS and WINE are switched when I run it and actually change it...

Yep, that was the case - been a long day :) Newest version should have that one resolved.

Based on this, it looks like we have all the features in there now, correct?

elwing00 commented 3 years ago

looks like we have all the features in there now, correct?

In the library definitely - haven't been able to test in HA, but I'm not exactly qualified for that either..... (I wouldn't know how to get it to use the new code....)

simbaja commented 3 years ago

yeah they match

I had to add additional code to websocket_connect.py to get it to pick up the local version: Add right after the "header" comment

from pathlib import Path
import sys
path_root = Path(__file__).parents[1]
sys.path.insert(0, str(path_root))

This might be an OS X thing....

I think it's probably because you have the pypi package installed and it might be looking in the Python path first before the local directory. The code you've got there basically says to look in the current directory first, so it picks up local. I think I avoid the issue because I run things in a venv, which also is probably why I don't have an issue with the secrets.py thing. I really dislike the way python resolves modules/paths... but it is what it is.

simbaja commented 3 years ago

looks like we have all the features in there now, correct?

In the library definitely - haven't been able to test in HA, but I'm not exactly qualified for that either..... (I wouldn't know how to get it to use the new code....)

If we've got all the features you two are looking for in the SDK, I'll get a new version of it published on pypi, then change the manifest in HA to point at the new version, then I have to code up the new entities. It might take me a little bit to do that because I don't currently have a "light" entity, so I have to create one that can work with this SDK. The other entities should be pretty quick to add in. Once I get those added in, I can create a new dev release of the HA component so that you can test (or you can use the "dev" branch directly).

I should hopefully have some time this weekend to get this done.

elwing00 commented 3 years ago

thank you for all your work!

groto27 commented 3 years ago

@elwing00 I added that after the header and it worked.

@simbaja Also I see meat, beverage, snack, wine in the correct order! See output here.

Thank you both!

2021-10-07 20:59:03,570 DEBUG Using selector: KqueueSelector /Users/aburritt/git/gehome/examples/websocket_example.py:78: DeprecationWarning: The object should be created within an async function session = aiohttp.ClientSession() 2021-10-07 20:59:03,572 DEBUG Getting OAuth2 token 2021-10-07 20:59:03,584 DEBUG Client changed state: GeClientState.INITIALIZING to GeClientState.AUTHORIZING_OAUTH 2021-10-07 20:59:05,423 DEBUG Getting WS credentials 2021-10-07 20:59:05,423 DEBUG Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT 2021-10-07 20:59:05,554 INFO Starting GE Appliances client 2021-10-07 20:59:05,569 DEBUG Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING 2021-10-07 20:59:05,612 DEBUG client - state = CONNECTING 2021-10-07 20:59:05,687 DEBUG client - event = connection_made(<asyncio.sslproto._SSLProtocolTransport object at 0x10d49b1c0>) 2021-10-07 20:59:05,687 DEBUG client > GET /?access_token=ue1cpw2sffsrg7bnwu6zv2yxssottr8b HTTP/1.1 2021-10-07 20:59:05,688 DEBUG client > Headers([('Host', 'ws-us-east-1.brillion.geappliances.com'), ('Upgrade', 'websocket'), ('Connection', 'Upgrade'), ('Sec-WebSocket-Key', '6g8dJOAqHdtwxtc7kjk6aA=='), ('Sec-WebSocket-Version', '13'), ('User-Agent', 'Python/3.9 websockets/9.1')]) 2021-10-07 20:59:05,826 DEBUG client - event = data_received(<166 bytes>) 2021-10-07 20:59:05,827 DEBUG client < HTTP/1.1 101 Switching Protocols 2021-10-07 20:59:05,827 DEBUG client < Headers([('Date', 'Fri, 08 Oct 2021 01:59:08 GMT'), ('Connection', 'upgrade'), ('upgrade', 'websocket'), ('sec-websocket-accept', 'atoulE6ayiZSamMJaC7cxP3PFQA=')]) 2021-10-07 20:59:05,827 DEBUG client - state = OPEN 2021-10-07 20:59:05,827 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-10-07 20:59:05,828 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-10-07 20:59:05,828 DEBUG Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED 2021-10-07 20:59:05,893 DEBUG client - event = data_received(<47 bytes>) 2021-10-07 20:59:05,894 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#subscribe","success":true}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 20:59:05,992 DEBUG client - event = data_received(<437 bytes>) 2021-10-07 20:59:05,993 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":"ubd34fb0f9jyozj","items":[{"applianceId":"D828C9479389","type":"Refrigerator","brand":"Unknown","jid":"d828c9479389_ubd34fb0f9jyozj","nickname":"Refrigerator","online":"ONLINE","onlineTime":"2021-10-01T21:23:42.564Z"}]}}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 20:59:05,993 DEBUG D828C9479389 marked available 2021-10-07 20:59:05,993 DEBUG Adding appliance D828C9479389 2021-10-07 20:59:05,993 DEBUG Requesting update for client D828C9479389 2021-10-07 20:59:05,993 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/D828C9479389/erd", "id": "D828C9479389-allErd"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 20:59:05,994 DEBUG Registering update callback for GeAppliance(D828C9479389) (Unknown Type) 2021-10-07 20:59:05,994 DEBUG Requesting features for client D828C9479389 2021-10-07 20:59:05,994 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/D828C9479389/feature", "id": "Request-features"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 20:59:06,099 DEBUG client - event = data_received(<45 bytes>) 2021-10-07 20:59:06,099 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#connect","success":true}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 20:59:06,159 DEBUG client - event = data_received(<3109 bytes>) 2021-10-07 20:59:06,160 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"D828C9479389-allErd","request":{"host":"api.brillion.geappliances.com","method":"GET","path":"/v1/appliance/D828C9479389/erd"},"success":true,"code":200,"body":{"kind":"appliance#erdList","userId":"ubd34fb0f9jyozj","applianceId":"D828C9479389","items":[{"erd":"0x0001","value":"0B505644323842594E4246530000000000000000000000000000000000000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0002","value":"0853523136323133320000000000000000000000000000000000000000000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0007","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0008","value":"03","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0009","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0035","value":"00000001","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0099","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0100","value":"00000561","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0101","value":"00000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0102","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0103","value":"00000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0104","value":"00000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0105","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1004","value":"2500","time":"2021-10-08T01:55:41.557Z"},{"erd":"0x1005","value":"25FC","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1007","value":"05","time":"2021-10-08T01:40:01.511Z"},{"erd":"0x1009","value":"00004F009000000000","time":"2021-10-07T15:54:39.791Z"},{"erd":"0x100A","value":"FF01","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100B","value":"222AFA05","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100C","value":"01","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100D","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100E","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100F","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1016","value":"00000000","time":"2021-10-08T01:08:59.527Z"},{"erd":"0x1019","value":"04","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x101D","value":"067902","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1020","value":"06","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1021","value":"64FF64FF1D01210225032A0464FF","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1022","value":"FF64","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1023","value":"646464FF646464FF646464FF646464FF","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1024","value":"47","time":"2021-10-07T01:50:51.323Z"},{"erd":"0x1028","value":"01","time":"2021-10-07T01:51:01.630Z"},{"erd":"0x1029","value":"01","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1100","value":"02C90004AA5D0400","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1101","value":"00004293000214CE16661788000004BD","time":"2021-10-08T01:02:41.490Z"},{"erd":"0x1102","value":"002A051C009A000009FC00000000","time":"2021-10-08T01:39:19.545Z"},{"erd":"0x1103","value":"0004E7FE25FC2C1A02F54A0602EF48480C","time":"2021-10-07T20:08:36.050Z"},{"erd":"0x1104","value":"0004E7FE005C012000000654000000002F0000","time":"2021-10-07T20:08:36.050Z"}]}}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 20:59:06,161 DEBUG Setting ErdCode.MODEL_NUMBER to PVD28BYNBFS 2021-10-07 20:59:06,161 DEBUG Setting ErdCode.SERIAL_NUMBER to SR162132 2021-10-07 20:59:06,161 DEBUG Setting ErdCode.TEMPERATURE_UNIT to ErdMeasurementUnits.IMPERIAL 2021-10-07 20:59:06,161 DEBUG Setting ErdCode.APPLIANCE_TYPE to ErdApplianceType.FRIDGE 2021-10-07 20:59:06,161 DEBUG Setting ErdCode.SABBATH_MODE to False 2021-10-07 20:59:06,161 DEBUG Setting ErdCode.UNIT_TYPE to ErdUnitType.TYPE_120V_CAFE 2021-10-07 20:59:06,161 DEBUG Setting ErdCode.UNKNOWN_0099 to b'\x00' 2021-10-07 20:59:06,161 DEBUG Setting ErdCode.WIFI_MODULE_SW_VERSION to 0.0.5.97 2021-10-07 20:59:06,161 DEBUG Setting ErdCode.WIFI_MODULE_SW_VERSION_AVAILABLE to 0.0.0.0 2021-10-07 20:59:06,162 DEBUG Setting ErdCode.ACM_UPDATING to False 2021-10-07 20:59:06,162 DEBUG Setting ErdCode.APPLIANCE_SW_VERSION to 0.0.0.0 2021-10-07 20:59:06,162 DEBUG Setting ErdCode.APPLIANCE_SW_VERSION_AVAILABLE to 0.0.0.0 2021-10-07 20:59:06,162 DEBUG Setting ErdCode.APPLIANCE_UPDATING to False 2021-10-07 20:59:06,162 DEBUG Setting ErdCode.CURRENT_TEMPERATURE to FridgeSetPoints(fridge=37, freezer=0) 2021-10-07 20:59:06,162 DEBUG Setting ErdCode.TEMPERATURE_SETTING to FridgeSetPoints(fridge=37, freezer=-4) 2021-10-07 20:59:06,162 DEBUG Setting ErdCode.ICE_MAKER_BUCKET_STATUS to Full 2021-10-07 20:59:06,162 DEBUG Setting ErdCode.WATER_FILTER_STATUS to ErdFilterStatus.GOOD 2021-10-07 20:59:06,162 DEBUG Setting ErdCode.ICE_MAKER_CONTROL to IceMakerControlStatus(status_fridge=<ErdOnOff.ON: '01'>, status_freezer=<ErdOnOff.NA: 'FF'>) 2021-10-07 20:59:06,162 DEBUG Setting ErdCode.SETPOINT_LIMITS to FridgeSetPointLimits(fridge_min=34, fridge_max=42, freezer_min=-6, freezer_max=5) 2021-10-07 20:59:06,162 DEBUG Setting 0x100C to b'\x01' 2021-10-07 20:59:06,162 DEBUG Setting 0x100D to b'\x00' 2021-10-07 20:59:06,162 DEBUG Setting ErdCode.TURBO_FREEZE_STATUS to False 2021-10-07 20:59:06,162 DEBUG Setting ErdCode.TURBO_COOL_STATUS to False 2021-10-07 20:59:06,162 DEBUG Setting ErdCode.DOOR_STATUS to Closed 2021-10-07 20:59:06,163 DEBUG Setting 0x1019 to b'\x04' 2021-10-07 20:59:06,163 DEBUG Setting ErdCode.FRIDGE_MODEL_INFO to FridgeModelInfo(has_fridge=True, has_freezer=True, has_convertable_drawer=True, doors=4, raw_value='067902') 2021-10-07 20:59:06,163 DEBUG Setting ErdCode.CONVERTABLE_DRAWER_MODE to ErdConvertableDrawerMode.WINE 2021-10-07 20:59:06,163 DEBUG Setting 0x1021 to b'd\xffd\xff\x1d\x01!\x02%\x03\x04d\xff' 2021-10-07 20:59:06,163 DEBUG Setting 0x1022 to b'\xffd' 2021-10-07 20:59:06,163 DEBUG Setting 0x1023 to b'ddd\xffddd\xffddd\xffddd\xff' 2021-10-07 20:59:06,163 DEBUG Setting ErdCode.INTERIOR_LIGHT to 71 2021-10-07 20:59:06,163 DEBUG Setting ErdCode.PROXIMITY_LIGHT to ErdOnOff.ON 2021-10-07 20:59:06,163 DEBUG Setting 0x1029 to b'\x01' 2021-10-07 20:59:06,163 DEBUG Setting 0x1100 to b'\x02\xc9\x00\x04\xaa]\x04\x00' 2021-10-07 20:59:06,163 DEBUG Setting 0x1101 to b'\x00\x00B\x93\x00\x02\x14\xce\x16f\x17\x88\x00\x00\x04\xbd' 2021-10-07 20:59:06,163 DEBUG Setting 0x1102 to b'\x00\x05\x1c\x00\x9a\x00\x00\t\xfc\x00\x00\x00\x00' 2021-10-07 20:59:06,163 DEBUG Setting 0x1103 to b'\x00\x04\xe7\xfe%\xfc,\x1a\x02\xf5J\x06\x02\xefHH\x0c' 2021-10-07 20:59:06,163 DEBUG Setting 0x1104 to b'\x00\x04\xe7\xfe\x00\\x01 \x00\x00\x06T\x00\x00\x00\x00/\x00\x00' 2021-10-07 20:59:06,163 DEBUG Got initial appliance type for GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE) 2021-10-07 20:59:06,164 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.MODEL_NUMBER, ErdCode.SERIAL_NUMBER, ErdCode.TEMPERATURE_UNIT, ErdCode.APPLIANCE_TYPE, ErdCode.SABBATH_MODE, ErdCode.UNIT_TYPE, ErdCode.UNKNOWN_0099, 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.CURRENT_TEMPERATURE, ErdCode.TEMPERATURE_SETTING, ErdCode.ICE_MAKER_BUCKET_STATUS, ErdCode.WATER_FILTER_STATUS, ErdCode.ICE_MAKER_CONTROL, ErdCode.SETPOINT_LIMITS, 0x100C, 0x100D, ErdCode.TURBO_FREEZE_STATUS, ErdCode.TURBO_COOL_STATUS, ErdCode.DOOR_STATUS, 0x1019, ErdCode.FRIDGE_MODEL_INFO, ErdCode.CONVERTABLE_DRAWER_MODE, 0x1021, 0x1022, 0x1023, ErdCode.INTERIOR_LIGHT, ErdCode.PROXIMITY_LIGHT, 0x1029, 0x1100, 0x1101, 0x1102, 0x1103, 0x1104 2021-10-07 20:59:06,164 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE) 2021-10-07 20:59:06,239 DEBUG client - event = data_received(<99 bytes>) 2021-10-07 20:59:06,240 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-10-07 20:59:06,286 DEBUG client - event = data_received(<303 bytes>) 2021-10-07 20:59:06,286 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/D828C9479389/feature"},"success":true,"code":200,"body":{"kind":"appliance#applianceFeature","userId":"ubd34fb0f9jyozj","applianceId":"D828C9479389","features":[]}}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 20:59:06,287 DEBUG Received features [] for D828C9479389 2021-10-07 20:59:22,625 DEBUG client - event = data_received(<207 bytes>) 2021-10-07 20:59:22,626 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1016","time":"2021-10-08T01:59:23.670Z","value":"00000001"},"resource":"/appliance/D828C9479389/erd/0x1016","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 20:59:22,626 DEBUG Setting ErdCode.DOOR_STATUS to Drawer Open 2021-10-07 20:59:22,627 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.DOOR_STATUS 2021-10-07 20:59:25,827 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\xca\n\x1c\xe5', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 20:59:25,862 DEBUG client - event = data_received(<6 bytes>) 2021-10-07 20:59:25,862 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'\xca\n\x1c\xe5', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 20:59:25,862 DEBUG client - received solicited pong: ca0a1ce5 2021-10-07 20:59:35,828 DEBUG Sending keepalive ping 2021-10-07 20:59:35,828 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-10-07 20:59:35,881 DEBUG client - event = data_received(<49 bytes>) 2021-10-07 20:59:35,881 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#pong","id":"keepalive-ping"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 20:59:45,867 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'f\x86\x08\xa2', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 20:59:45,901 DEBUG client - event = data_received(<6 bytes>) 2021-10-07 20:59:45,901 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'f\x86\x08\xa2', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 20:59:45,901 DEBUG client - received solicited pong: 668608a2 2021-10-07 20:59:54,171 DEBUG client - event = data_received(<201 bytes>) 2021-10-07 20:59:54,171 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1020","time":"2021-10-08T01:59:54.450Z","value":"03"},"resource":"/appliance/D828C9479389/erd/0x1020","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 20:59:54,172 DEBUG Setting ErdCode.CONVERTABLE_DRAWER_MODE to ErdConvertableDrawerMode.MEAT 2021-10-07 20:59:54,172 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.CONVERTABLE_DRAWER_MODE 2021-10-07 20:59:56,417 DEBUG client - event = data_received(<201 bytes>) 2021-10-07 20:59:56,417 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1020","time":"2021-10-08T01:59:57.517Z","value":"04"},"resource":"/appliance/D828C9479389/erd/0x1020","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 20:59:56,418 DEBUG Setting ErdCode.CONVERTABLE_DRAWER_MODE to ErdConvertableDrawerMode.BEVERAGE 2021-10-07 20:59:56,418 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.CONVERTABLE_DRAWER_MODE 2021-10-07 20:59:58,231 DEBUG client - event = data_received(<201 bytes>) 2021-10-07 20:59:58,232 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1020","time":"2021-10-08T01:59:59.663Z","value":"05"},"resource":"/appliance/D828C9479389/erd/0x1020","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 20:59:58,232 DEBUG Setting ErdCode.CONVERTABLE_DRAWER_MODE to ErdConvertableDrawerMode.SNACK 2021-10-07 20:59:58,232 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.CONVERTABLE_DRAWER_MODE 2021-10-07 21:00:00,163 DEBUG client - event = data_received(<201 bytes>) 2021-10-07 21:00:00,163 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1020","time":"2021-10-08T02:00:01.786Z","value":"06"},"resource":"/appliance/D828C9479389/erd/0x1020","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:00:00,164 DEBUG Setting ErdCode.CONVERTABLE_DRAWER_MODE to ErdConvertableDrawerMode.WINE 2021-10-07 21:00:00,164 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.CONVERTABLE_DRAWER_MODE 2021-10-07 21:00:04,164 DEBUG client - event = data_received(<207 bytes>) 2021-10-07 21:00:04,164 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1016","time":"2021-10-08T02:00:05.920Z","value":"00000000"},"resource":"/appliance/D828C9479389/erd/0x1016","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:00:04,164 DEBUG Setting ErdCode.DOOR_STATUS to Closed 2021-10-07 21:00:04,165 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.DOOR_STATUS 2021-10-07 21:00:05,833 DEBUG Sending keepalive ping 2021-10-07 21:00:05,833 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-10-07 21:00:05,888 DEBUG client - event = data_received(<49 bytes>) 2021-10-07 21:00:05,889 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#pong","id":"keepalive-ping"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:00:05,902 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\xb1\xcc%e', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:00:05,934 DEBUG client - event = data_received(<6 bytes>) 2021-10-07 21:00:05,934 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'\xb1\xcc%e', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:00:05,934 DEBUG client - received solicited pong: b1cc2565 2021-10-07 21:00:05,996 DEBUG Requesting update for GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE) 2021-10-07 21:00:05,996 DEBUG Requesting update for client D828C9479389 2021-10-07 21:00:05,996 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/D828C9479389/erd", "id": "D828C9479389-allErd"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:00:06,198 DEBUG client - event = data_received(<3109 bytes>) 2021-10-07 21:00:06,198 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"D828C9479389-allErd","request":{"host":"api.brillion.geappliances.com","method":"GET","path":"/v1/appliance/D828C9479389/erd"},"success":true,"code":200,"body":{"kind":"appliance#erdList","userId":"ubd34fb0f9jyozj","applianceId":"D828C9479389","items":[{"erd":"0x0001","value":"0B505644323842594E4246530000000000000000000000000000000000000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0002","value":"0853523136323133320000000000000000000000000000000000000000000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0007","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0008","value":"03","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0009","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0035","value":"00000001","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0099","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0100","value":"00000561","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0101","value":"00000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0102","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0103","value":"00000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0104","value":"00000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0105","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1004","value":"2500","time":"2021-10-08T01:55:41.557Z"},{"erd":"0x1005","value":"25FC","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1007","value":"05","time":"2021-10-08T01:40:01.511Z"},{"erd":"0x1009","value":"00004F009000000000","time":"2021-10-07T15:54:39.791Z"},{"erd":"0x100A","value":"FF01","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100B","value":"222AFA05","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100C","value":"01","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100D","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100E","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100F","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1016","value":"00000000","time":"2021-10-08T02:00:05.920Z"},{"erd":"0x1019","value":"04","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x101D","value":"067902","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1020","value":"06","time":"2021-10-08T02:00:01.786Z"},{"erd":"0x1021","value":"64FF64FF1D01210225032A0464FF","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1022","value":"FF64","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1023","value":"646464FF646464FF646464FF646464FF","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1024","value":"47","time":"2021-10-07T01:50:51.323Z"},{"erd":"0x1028","value":"01","time":"2021-10-07T01:51:01.630Z"},{"erd":"0x1029","value":"01","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1100","value":"02C90004AA5D0400","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1101","value":"00004293000214CE16661788000004BD","time":"2021-10-08T01:02:41.490Z"},{"erd":"0x1102","value":"002A051C009A000009FC00000000","time":"2021-10-08T01:39:19.545Z"},{"erd":"0x1103","value":"0004E7FE25FC2C1A02F54A0602EF48480C","time":"2021-10-07T20:08:36.050Z"},{"erd":"0x1104","value":"0004E7FE005C012000000654000000002F0000","time":"2021-10-07T20:08:36.050Z"}]}}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:00:21,300 DEBUG client - event = data_received(<207 bytes>) 2021-10-07 21:00:21,301 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1016","time":"2021-10-08T02:00:22.383Z","value":"00000100"},"resource":"/appliance/D828C9479389/erd/0x1016","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:00:21,301 DEBUG Setting ErdCode.DOOR_STATUS to Freezer Open 2021-10-07 21:00:21,302 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.DOOR_STATUS 2021-10-07 21:00:25,939 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\xbe>\xdd\xad', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:00:25,971 DEBUG client - event = data_received(<6 bytes>) 2021-10-07 21:00:25,972 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'\xbe>\xdd\xad', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:00:25,972 DEBUG client - received solicited pong: be3eddad 2021-10-07 21:00:26,523 DEBUG client - event = data_received(<207 bytes>) 2021-10-07 21:00:26,523 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1016","time":"2021-10-08T02:00:27.474Z","value":"00000000"},"resource":"/appliance/D828C9479389/erd/0x1016","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:00:26,523 DEBUG Setting ErdCode.DOOR_STATUS to Closed 2021-10-07 21:00:26,524 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.DOOR_STATUS 2021-10-07 21:00:35,835 DEBUG Sending keepalive ping 2021-10-07 21:00:35,835 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-10-07 21:00:35,886 DEBUG client - event = data_received(<49 bytes>) 2021-10-07 21:00:35,886 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#pong","id":"keepalive-ping"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:00:40,347 DEBUG client - event = data_received(<203 bytes>) 2021-10-07 21:00:40,348 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1004","time":"2021-10-08T02:00:41.917Z","value":"2700"},"resource":"/appliance/D828C9479389/erd/0x1004","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:00:40,348 DEBUG Setting ErdCode.CURRENT_TEMPERATURE to FridgeSetPoints(fridge=39, freezer=0) 2021-10-07 21:00:40,349 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.CURRENT_TEMPERATURE 2021-10-07 21:00:45,977 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\xa5\xbe7\xb4', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:00:46,011 DEBUG client - event = data_received(<6 bytes>) 2021-10-07 21:00:46,011 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'\xa5\xbe7\xb4', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:00:46,011 DEBUG client - received solicited pong: a5be37b4 2021-10-07 21:00:57,260 DEBUG client - event = data_received(<207 bytes>) 2021-10-07 21:00:57,261 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1016","time":"2021-10-08T02:00:58.390Z","value":"00000001"},"resource":"/appliance/D828C9479389/erd/0x1016","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:00:57,261 DEBUG Setting ErdCode.DOOR_STATUS to Drawer Open 2021-10-07 21:00:57,262 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.DOOR_STATUS 2021-10-07 21:01:05,839 DEBUG Sending keepalive ping 2021-10-07 21:01:05,839 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-10-07 21:01:05,893 DEBUG client - event = data_received(<49 bytes>) 2021-10-07 21:01:05,893 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#pong","id":"keepalive-ping"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:01:05,999 DEBUG Requesting update for GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE) 2021-10-07 21:01:06,000 DEBUG Requesting update for client D828C9479389 2021-10-07 21:01:06,000 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/D828C9479389/erd", "id": "D828C9479389-allErd"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:01:06,014 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\x00\x910\x15', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:01:06,044 DEBUG client - event = data_received(<6 bytes>) 2021-10-07 21:01:06,044 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'\x00\x910\x15', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:01:06,044 DEBUG client - received solicited pong: 00913015 2021-10-07 21:01:06,531 DEBUG client - event = data_received(<3109 bytes>) 2021-10-07 21:01:06,532 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"D828C9479389-allErd","request":{"host":"api.brillion.geappliances.com","method":"GET","path":"/v1/appliance/D828C9479389/erd"},"success":true,"code":200,"body":{"kind":"appliance#erdList","userId":"ubd34fb0f9jyozj","applianceId":"D828C9479389","items":[{"erd":"0x0001","value":"0B505644323842594E4246530000000000000000000000000000000000000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0002","value":"0853523136323133320000000000000000000000000000000000000000000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0007","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0008","value":"03","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0009","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0035","value":"00000001","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0099","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0100","value":"00000561","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0101","value":"00000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0102","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0103","value":"00000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0104","value":"00000000","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x0105","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1004","value":"2700","time":"2021-10-08T02:00:41.917Z"},{"erd":"0x1005","value":"25FC","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1007","value":"05","time":"2021-10-08T01:40:01.511Z"},{"erd":"0x1009","value":"00004F009000000000","time":"2021-10-07T15:54:39.791Z"},{"erd":"0x100A","value":"FF01","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100B","value":"222AFA05","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100C","value":"01","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100D","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100E","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x100F","value":"00","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1016","value":"00000001","time":"2021-10-08T02:00:58.390Z"},{"erd":"0x1019","value":"04","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x101D","value":"067902","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1020","value":"06","time":"2021-10-08T02:00:01.786Z"},{"erd":"0x1021","value":"64FF64FF1D01210225032A0464FF","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1022","value":"FF64","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1023","value":"646464FF646464FF646464FF646464FF","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1024","value":"47","time":"2021-10-07T01:50:51.323Z"},{"erd":"0x1028","value":"01","time":"2021-10-07T01:51:01.630Z"},{"erd":"0x1029","value":"01","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1100","value":"02C90004AA5D0400","time":"2021-10-01T21:25:44.185Z"},{"erd":"0x1101","value":"00004293000214CE16661788000004BD","time":"2021-10-08T01:02:41.490Z"},{"erd":"0x1102","value":"002A051C009A000009FC00000000","time":"2021-10-08T01:39:19.545Z"},{"erd":"0x1103","value":"0004E7FE25FC2C1A02F54A0602EF48480C","time":"2021-10-07T20:08:36.050Z"},{"erd":"0x1104","value":"0004E7FE005C012000000654000000002F0000","time":"2021-10-07T20:08:36.050Z"}]}}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:01:08,303 DEBUG client - event = data_received(<207 bytes>) 2021-10-07 21:01:08,303 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C9479389","erd":"0x1016","time":"2021-10-08T02:01:09.758Z","value":"00000000"},"resource":"/appliance/D828C9479389/erd/0x1016","kind":"publish#erd","userId":"ubd34fb0f9jyozj"}', rsv1=False, rsv2=False, rsv3=False) 2021-10-07 21:01:08,304 DEBUG Setting ErdCode.DOOR_STATUS to Closed 2021-10-07 21:01:08,304 DEBUG Appliance state change detected in GeAppliance(D828C9479389) (ErdApplianceType.FRIDGE). Updated keys: ErdCode.DOOR_STATUS

simbaja commented 3 years ago

Thank you both for your help in getting this figured out :). It's definitely a pain in the butt, but I think probably worth it to be able to ditch the SmartHQ app. I still don't understand why it sits there for like 20 seconds every time you go to the main screen (amongst many weird design decisions they've made - but that's the most annoying to me). I just wish there was actual documentation that we could use to get HA working instead of trial and error.

groto27 commented 3 years ago

No problem! Thank you for making this all work!

Do we know if the fridges (or other appliances) ever have to connect to the internet or if we quit using the smartHQ app is there zero chance the fridge could get a firmware update that would disable/break this functionality if GE doesn't want to allow people to tap in like we are? I wasn't sure if GE pushes firmware updates out even without the app.

simbaja commented 3 years ago

Do we know if the fridges (or other appliances) ever have to connect to the internet or if we quit using the smartHQ app is there zero chance the fridge could get a firmware update that would disable/break this functionality if GE doesn't want to allow people to tap in like we are? I wasn't sure if GE pushes firmware updates out even without the app.

This is unfortunately a cloud-based solution (I wish it was local!). We are completely at GE's mercy if they decide to change something to make this integration incompatible.

groto27 commented 3 years ago

oh yikes! Fingers crossed... I guess I should have put that together.. I remember now in the logs the API calls to GEappliances.com

simbaja commented 3 years ago

There actually might be a way to do some of this local, but I think it would only work for older appliances (which had a USB port that could be utilized). I don't know if they still have that port somewhere, but there's some older tools that would help tap into that communications (if you're interested, it's here)