Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Air Conditioner AHTK08AA #21

Closed
mbrentrowe opened this issue Jul 28, 2021 · 25 comments
Closed

Air Conditioner AHTK08AA #21

mbrentrowe opened this issue Jul 28, 2021 · 25 comments

Comments

@mbrentrowe
Copy link

mbrentrowe commented Jul 28, 2021

I'm posting my debug logs that I generated from running websocket_example.py. Below is a link to the specific unit:

https://www.geappliances.com/appliance/GE-ENERGY-STAR-8-000-BTU-115-Volt-Smart-Electronic-Window-Air-Conditioner-AHTK08AA

I did a few basic things like adjusting the power up and down and then turning the unit off and back on again. Those should be the last four ERD codes generated in these logs. I can do some further testing later this week to make sure I've identified the correct ERD codes if they haven't already been identified from other integrations. Happy to help however I can with getting this integrated.

2021-07-27 21:06:39,295 DEBUG Using selector: EpollSelector
websocket_example.py:72: DeprecationWarning: The object should be created within an async function
session = aiohttp.ClientSession()
2021-07-27 21:06:39,295 DEBUG Getting OAuth2 token
2021-07-27 21:06:39,296 DEBUG Client changed state: GeClientState.INITIALIZING to GeClientState.AUTHORIZING_OAUTH
2021-07-27 21:06:40,395 DEBUG Getting WS credentials
2021-07-27 21:06:40,396 DEBUG Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-07-27 21:06:40,556 INFO Starting GE Appliances client
2021-07-27 21:06:40,565 DEBUG Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-07-27 21:06:40,632 DEBUG client - state = CONNECTING
2021-07-27 21:06:40,696 DEBUG client - event = connection_made(<asyncio.sslproto._SSLProtocolTransport object at 0x7f63b4747e80>)
2021-07-27 21:06:40,697 DEBUG client > GET /?access_token=ue1cpguwnbi7j4ttu6e1xju8u0qg96bm HTTP/1.1
2021-07-27 21:06:40,697 DEBUG client > Headers([('Host', 'ws-us-east-1.brillion.geappliances.com'), ('Upgrade', 'websocket'), ('Connection', 'Upgrade'), ('Sec-WebSocket-Key', '0JSyzaPopkIUtAxZbg9plg=='), ('Sec-WebSocket-Version', '13'), ('Sec-WebSocket-Extensions', 'permessage-deflate; client_max_window_bits'), ('User-Agent', 'Python/3.8 websockets/9.1')])
2021-07-27 21:06:40,898 DEBUG client - event = data_received(<212 bytes>)
2021-07-27 21:06:40,898 DEBUG client < HTTP/1.1 101 Switching Protocols
2021-07-27 21:06:40,898 DEBUG client < Headers([('Date', 'Wed, 28 Jul 2021 01:06:40 GMT'), ('Connection', 'upgrade'), ('upgrade', 'websocket'), ('sec-websocket-accept', 'dozMcmDg/qBIxazUV7f5+AmjN5A='), ('sec-websocket-extensions', 'permessage-deflate')])
2021-07-27 21:06:40,899 DEBUG client - state = OPEN
2021-07-27 21:06:40,899 DEBUG client > Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind": "websocket#subscribe", "action": "subscribe", "resources": ["/appliance//erd/"]}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:06:40,899 DEBUG client > Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind": "websocket#api", "action": "api", "host": "api.brillion.geappliances.com", "method": "GET", "path": "/v1/appliance", "id": "List-appliances"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:06:40,900 DEBUG Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED
2021-07-27 21:06:40,984 DEBUG client - event = data_received(<49 bytes>)
2021-07-27 21:06:40,984 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#subscribe","success":true}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:06:41,054 DEBUG client - event = data_received(<266 bytes>)
2021-07-27 21:06:41,054 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":"x11gujwz9srdb40","items":[{"applianceId":"D828C95AC480","type":"Air Conditioner","brand":"Unknown","jid":"d828c95ac480_x11gujwz9srdb40","nickname":"Air Conditioner","online":"ONLINE","onlineTime":"2021-07-27T22:18:38.000Z"}]}}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:06:41,055 DEBUG D828C95AC480 marked available
2021-07-27 21:06:41,055 DEBUG Adding appliance D828C95AC480
2021-07-27 21:06:41,055 DEBUG Requesting update for client D828C95AC480
2021-07-27 21:06:41,055 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/D828C95AC480/erd", "id": "D828C95AC480-allErd"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:06:41,055 DEBUG Requesting features for client D828C95AC480
2021-07-27 21:06:41,055 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/D828C95AC480/feature", "id": "Request-features"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:06:41,056 DEBUG Registering update callback for GeAppliance(D828C95AC480) (Unknown Type)
2021-07-27 21:06:41,214 DEBUG client - event = data_received(<44 bytes>)
2021-07-27 21:06:41,214 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/D828C95AC480/feature"},"success":true,"code":200,"body":{"kind":"appliance#applianceFeature","userId":"x11gujwz9srdb40","applianceId":"D828C95AC480","features":[]}}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:06:41,215 DEBUG Received features [] for D828C95AC480
2021-07-27 21:06:41,234 DEBUG client - event = data_received(<253 bytes>)
2021-07-27 21:06:41,234 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"D828C95AC480-allErd","request":{"host":"api.brillion.geappliances.com","method":"GET","path":"/v1/appliance/D828C95AC480/erd"},"success":true,"code":200,"body":{"kind":"appliance#erdList","userId":"x11gujwz9srdb40","applianceId":"D828C95AC480","items":[{"erd":"0x0001","value":"084148544B303841410000000000000000000000000000000000000000000000","time":"2021-07-27T22:20:43.278Z"},{"erd":"0x0002","value":"0000000000000000000000000000000000000000000000000000000000000000","time":"2021-07-27T22:20:43.278Z"},{"erd":"0x0007","value":"00","time":"2021-07-27T22:20:39.135Z"},{"erd":"0x0008","value":"0A","time":"2021-07-27T22:20:43.278Z"},{"erd":"0x0035","value":"00000000","time":"2021-07-27T22:20:51.417Z"},{"erd":"0x0099","value":"00","time":"2021-07-27T22:20:43.278Z"},{"erd":"0x0100","value":"00000B27","time":"2021-07-27T22:20:42.123Z"},{"erd":"0x0101","value":"00000000","time":"2021-07-27T22:20:42.123Z"},{"erd":"0x0102","value":"00","time":"2021-07-27T22:20:42.123Z"},{"erd":"0x0103","value":"00000000","time":"2021-07-27T22:20:42.123Z"},{"erd":"0x0104","value":"00000000","time":"2021-07-27T22:20:42.123Z"},{"erd":"0x0105","value":"00","time":"2021-07-27T22:20:43.278Z"},{"erd":"0x7003","value":"0040","time":"2021-07-27T22:20:39.135Z"},{"erd":"0x7A00","value":"08","time":"2021-07-27T22:20:39.135Z"},{"erd":"0x7A01","value":"00","time":"2021-07-27T22:20:39.135Z"},{"erd":"0x7A02","value":"44","time":"2021-07-28T00:09:43.655Z"},{"erd":"0x7A04","value":"00","time":"2021-07-27T22:20:39.135Z"},{"erd":"0x7A0F","value":"01","time":"2021-07-27T22:20:39.135Z"},{"erd":"0x7A12","value":"0014B745","time":"2021-07-28T00:20:43.961Z"},{"erd":"0xD005","value":"02B7000000000000000000","time":"2021-07-27T22:20:39.135Z"},{"erd":"0xD006","value":"00","time":"2021-07-27T22:20:39.135Z"}]}}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:06:41,235 DEBUG Setting ErdCode.MODEL_NUMBER to AHTK08AA
2021-07-27 21:06:41,235 DEBUG Setting ErdCode.SERIAL_NUMBER to
2021-07-27 21:06:41,235 DEBUG Setting ErdCode.TEMPERATURE_UNIT to ErdMeasurementUnits.IMPERIAL
2021-07-27 21:06:41,235 DEBUG Setting ErdCode.APPLIANCE_TYPE to ErdApplianceType.UNKNOWN
2021-07-27 21:06:41,235 DEBUG Setting ErdCode.UNIT_TYPE to ErdUnitType.UNKNOWN
2021-07-27 21:06:41,235 DEBUG Setting ErdCode.UNKNOWN_0099 to b'\x00'
2021-07-27 21:06:41,235 DEBUG Setting ErdCode.WIFI_MODULE_SW_VERSION to 0.0.11.39
2021-07-27 21:06:41,235 DEBUG Setting ErdCode.WIFI_MODULE_SW_VERSION_AVAILABLE to 0.0.0.0
2021-07-27 21:06:41,236 DEBUG Setting ErdCode.ACM_UPDATING to False
2021-07-27 21:06:41,236 DEBUG Setting ErdCode.APPLIANCE_SW_VERSION to 0.0.0.0
2021-07-27 21:06:41,236 DEBUG Setting ErdCode.APPLIANCE_SW_VERSION_AVAILABLE to 0.0.0.0
2021-07-27 21:06:41,236 DEBUG Setting ErdCode.APPLIANCE_UPDATING to False
2021-07-27 21:06:41,236 DEBUG Setting 0x7003 to b'\x00@'
2021-07-27 21:06:41,236 DEBUG Setting 0x7A00 to b'\x08'
2021-07-27 21:06:41,236 DEBUG Setting 0x7A01 to b'\x00'
2021-07-27 21:06:41,236 DEBUG Setting 0x7A02 to b'D'
2021-07-27 21:06:41,236 DEBUG Setting 0x7A04 to b'\x00'
2021-07-27 21:06:41,236 DEBUG Setting 0x7A0F to b'\x01'
2021-07-27 21:06:41,236 DEBUG Setting 0x7A12 to b'\x00\x14\xb7E'
2021-07-27 21:06:41,236 DEBUG Setting 0xD005 to b'\x02\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00'
2021-07-27 21:06:41,237 DEBUG Setting 0xD006 to b'\x00'
2021-07-27 21:06:41,237 DEBUG Got initial appliance type for GeAppliance(D828C95AC480) (ErdApplianceType.UNKNOWN)
2021-07-27 21:06:41,237 DEBUG Appliance state change detected in GeAppliance(D828C95AC480) (ErdApplianceType.UNKNOWN). Updated keys: ErdCode.MODEL_NUMBER, ErdCode.SERIAL_NUMBER, ErdCode.TEMPERATURE_UNIT, ErdCode.APPLIANCE_TYPE, 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, 0x7003, 0x7A00, 0x7A01, 0x7A02, 0x7A04, 0x7A0F, 0x7A12, 0xD005, 0xD006
2021-07-27 21:06:41,237 DEBUG Appliance state change detected in GeAppliance(D828C95AC480) (ErdApplianceType.UNKNOWN)2021-07-27 21:06:41,406 DEBUG client - event = data_received(<17 bytes>)
2021-07-27 21:06:41,406 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#connect","success":true}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:06:41,521 DEBUG client - event = data_received(<50 bytes>)
2021-07-27 21:06:41,521 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"resource":"/appliance//erd/","kind":"websocket#subscription","success":true,"change":"ADDED"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:07:00,906 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'c:\xe9\x91', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:07:00,937 DEBUG client - event = data_received(<6 bytes>)
2021-07-27 21:07:00,938 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'c:\xe9\x91', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:07:00,938 DEBUG client - received solicited pong: 633ae991
2021-07-27 21:07:10,901 DEBUG Sending keepalive ping
2021-07-27 21:07:10,901 DEBUG client > Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind": "websocket#ping", "id": "keepalive-ping", "action": "ping"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:07:10,943 DEBUG client - event = data_received(<28 bytes>)
2021-07-27 21:07:10,943 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#pong","id":"keepalive-ping"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:07:20,950 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\x8c56', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:07:20,985 DEBUG client - event = data_received(<6 bytes>)
2021-07-27 21:07:20,985 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'
\x8c56', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:07:20,985 DEBUG client - received solicited pong: 2a8c3536
2021-07-27 21:07:40,921 DEBUG Sending keepalive ping
2021-07-27 21:07:40,921 DEBUG client > Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind": "websocket#ping", "id": "keepalive-ping", "action": "ping"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:07:40,980 DEBUG client - event = data_received(<6 bytes>)
2021-07-27 21:07:40,980 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#pong","id":"keepalive-ping"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:07:40,986 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\xae\xfa\xc8\xa7', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:07:41,013 DEBUG client - event = data_received(<6 bytes>)
2021-07-27 21:07:41,013 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'\xae\xfa\xc8\xa7', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:07:41,013 DEBUG client - received solicited pong: aefac8a7
2021-07-27 21:07:41,056 DEBUG Requesting update for GeAppliance(D828C95AC480) (ErdApplianceType.UNKNOWN)
2021-07-27 21:07:41,056 DEBUG Requesting update for client D828C95AC480
2021-07-27 21:07:41,056 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/D828C95AC480/erd", "id": "D828C95AC480-allErd"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:07:41,232 DEBUG client - event = data_received(<26 bytes>)
2021-07-27 21:07:41,232 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"D828C95AC480-allErd","request":{"host":"api.brillion.geappliances.com","method":"GET","path":"/v1/appliance/D828C95AC480/erd"},"success":true,"code":200,"body":{"kind":"appliance#erdList","userId":"x11gujwz9srdb40","applianceId":"D828C95AC480","items":[{"erd":"0x0001","value":"084148544B303841410000000000000000000000000000000000000000000000","time":"2021-07-27T22:20:43.278Z"},{"erd":"0x0002","value":"0000000000000000000000000000000000000000000000000000000000000000","time":"2021-07-27T22:20:43.278Z"},{"erd":"0x0007","value":"00","time":"2021-07-27T22:20:39.135Z"},{"erd":"0x0008","value":"0A","time":"2021-07-27T22:20:43.278Z"},{"erd":"0x0035","value":"00000000","time":"2021-07-27T22:20:51.417Z"},{"erd":"0x0099","value":"00","time":"2021-07-27T22:20:43.278Z"},{"erd":"0x0100","value":"00000B27","time":"2021-07-27T22:20:42.123Z"},{"erd":"0x0101","value":"00000000","time":"2021-07-27T22:20:42.123Z"},{"erd":"0x0102","value":"00","time":"2021-07-27T22:20:42.123Z"},{"erd":"0x0103","value":"00000000","time":"2021-07-27T22:20:42.123Z"},{"erd":"0x0104","value":"00000000","time":"2021-07-27T22:20:42.123Z"},{"erd":"0x0105","value":"00","time":"2021-07-27T22:20:43.278Z"},{"erd":"0x7003","value":"0040","time":"2021-07-27T22:20:39.135Z"},{"erd":"0x7A00","value":"08","time":"2021-07-27T22:20:39.135Z"},{"erd":"0x7A01","value":"00","time":"2021-07-27T22:20:39.135Z"},{"erd":"0x7A02","value":"44","time":"2021-07-28T00:09:43.655Z"},{"erd":"0x7A04","value":"00","time":"2021-07-27T22:20:39.135Z"},{"erd":"0x7A0F","value":"01","time":"2021-07-27T22:20:39.135Z"},{"erd":"0x7A12","value":"0014B745","time":"2021-07-28T00:20:43.961Z"},{"erd":"0xD005","value":"02B7000000000000000000","time":"2021-07-27T22:20:39.135Z"},{"erd":"0xD006","value":"00","time":"2021-07-27T22:20:39.135Z"}]}}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:08:01,017 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b"e\xbb'P", rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:08:01,045 DEBUG client - event = data_received(<6 bytes>)
2021-07-27 21:08:01,045 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b"e\xbb'P", rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:08:01,045 DEBUG client - received solicited pong: 65bb2750
2021-07-27 21:08:10,931 DEBUG Sending keepalive ping
2021-07-27 21:08:10,932 DEBUG client > Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind": "websocket#ping", "id": "keepalive-ping", "action": "ping"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:08:10,978 DEBUG client - event = data_received(<7 bytes>)
2021-07-27 21:08:10,978 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#pong","id":"keepalive-ping"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:08:20,573 DEBUG client - event = data_received(<61 bytes>)
2021-07-27 21:08:20,573 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C95AC480","erd":"0x7003","time":"2021-07-28T01:08:18.960Z","value":"0041"},"resource":"/appliance/D828C95AC480/erd/0x7003","kind":"publish#erd","userId":"x11gujwz9srdb40"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:08:20,573 DEBUG Setting 0x7003 to b'\x00A'
2021-07-27 21:08:20,574 DEBUG Appliance state change detected in GeAppliance(D828C95AC480) (ErdApplianceType.UNKNOWN). Updated keys: 0x7003
2021-07-27 21:08:21,047 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\x0c\xe3*\xa0', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:08:21,078 DEBUG client - event = data_received(<6 bytes>)
2021-07-27 21:08:21,078 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'\x0c\xe3*\xa0', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:08:21,078 DEBUG client - received solicited pong: 0ce32aa0
2021-07-27 21:08:32,468 DEBUG client - event = data_received(<19 bytes>)
2021-07-27 21:08:32,468 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C95AC480","erd":"0x7003","time":"2021-07-28T01:08:31.264Z","value":"0040"},"resource":"/appliance/D828C95AC480/erd/0x7003","kind":"publish#erd","userId":"x11gujwz9srdb40"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:08:32,469 DEBUG Setting 0x7003 to b'\x00@'
2021-07-27 21:08:32,469 DEBUG Appliance state change detected in GeAppliance(D828C95AC480) (ErdApplianceType.UNKNOWN). Updated keys: 0x7003
2021-07-27 21:08:40,938 DEBUG Sending keepalive ping
2021-07-27 21:08:40,938 DEBUG client > Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind": "websocket#ping", "id": "keepalive-ping", "action": "ping"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:08:40,989 DEBUG client - event = data_received(<7 bytes>)
2021-07-27 21:08:40,989 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#pong","id":"keepalive-ping"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:08:41,058 DEBUG Requesting update for GeAppliance(D828C95AC480) (ErdApplianceType.UNKNOWN)
2021-07-27 21:08:41,058 DEBUG Requesting update for client D828C95AC480
2021-07-27 21:08:41,058 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/D828C95AC480/erd", "id": "D828C95AC480-allErd"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:08:41,079 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\xcb\x04\xaf\xbc', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:08:41,114 DEBUG client - event = data_received(<6 bytes>)
2021-07-27 21:08:41,114 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'\xcb\x04\xaf\xbc', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:08:41,114 DEBUG client - received solicited pong: cb04afbc
2021-07-27 21:08:41,215 DEBUG client - event = data_received(<31 bytes>)
2021-07-27 21:08:41,215 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"D828C95AC480-allErd","request":{"host":"api.brillion.geappliances.com","method":"GET","path":"/v1/appliance/D828C95AC480/erd"},"success":true,"code":200,"body":{"kind":"appliance#erdList","userId":"x11gujwz9srdb40","applianceId":"D828C95AC480","items":[{"erd":"0x0001","value":"084148544B303841410000000000000000000000000000000000000000000000","time":"2021-07-27T22:20:43.278Z"},{"erd":"0x0002","value":"0000000000000000000000000000000000000000000000000000000000000000","time":"2021-07-27T22:20:43.278Z"},{"erd":"0x0007","value":"00","time":"2021-07-27T22:20:39.135Z"},{"erd":"0x0008","value":"0A","time":"2021-07-27T22:20:43.278Z"},{"erd":"0x0035","value":"00000000","time":"2021-07-27T22:20:51.417Z"},{"erd":"0x0099","value":"00","time":"2021-07-27T22:20:43.278Z"},{"erd":"0x0100","value":"00000B27","time":"2021-07-27T22:20:42.123Z"},{"erd":"0x0101","value":"00000000","time":"2021-07-27T22:20:42.123Z"},{"erd":"0x0102","value":"00","time":"2021-07-27T22:20:42.123Z"},{"erd":"0x0103","value":"00000000","time":"2021-07-27T22:20:42.123Z"},{"erd":"0x0104","value":"00000000","time":"2021-07-27T22:20:42.123Z"},{"erd":"0x0105","value":"00","time":"2021-07-27T22:20:43.278Z"},{"erd":"0x7003","value":"0040","time":"2021-07-28T01:08:31.264Z"},{"erd":"0x7A00","value":"08","time":"2021-07-27T22:20:39.135Z"},{"erd":"0x7A01","value":"00","time":"2021-07-27T22:20:39.135Z"},{"erd":"0x7A02","value":"44","time":"2021-07-28T00:09:43.655Z"},{"erd":"0x7A04","value":"00","time":"2021-07-27T22:20:39.135Z"},{"erd":"0x7A0F","value":"01","time":"2021-07-27T22:20:39.135Z"},{"erd":"0x7A12","value":"0014B745","time":"2021-07-28T00:20:43.961Z"},{"erd":"0xD005","value":"02B7000000000000000000","time":"2021-07-27T22:20:39.135Z"},{"erd":"0xD006","value":"00","time":"2021-07-27T22:20:39.135Z"}]}}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:08:47,443 DEBUG client - event = data_received(<17 bytes>)
2021-07-27 21:08:47,443 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C95AC480","erd":"0x7003","time":"2021-07-28T01:08:46.716Z","value":"0041"},"resource":"/appliance/D828C95AC480/erd/0x7003","kind":"publish#erd","userId":"x11gujwz9srdb40"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:08:47,443 DEBUG Setting 0x7003 to b'\x00A'
2021-07-27 21:08:47,444 DEBUG Appliance state change detected in GeAppliance(D828C95AC480) (ErdApplianceType.UNKNOWN). Updated keys: 0x7003
2021-07-27 21:09:01,130 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\x99mF\x9d', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:09:01,163 DEBUG client - event = data_received(<6 bytes>)
2021-07-27 21:09:01,164 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'\x99mF\x9d', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:09:01,164 DEBUG client - received solicited pong: 996d469d
2021-07-27 21:09:06,458 DEBUG client - event = data_received(<29 bytes>)
2021-07-27 21:09:06,459 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C95AC480","erd":"0x7A0F","time":"2021-07-28T01:09:05.062Z","value":"00"},"resource":"/appliance/D828C95AC480/erd/0x7A0F","kind":"publish#erd","userId":"x11gujwz9srdb40"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:09:06,459 DEBUG Setting 0x7A0F to b'\x00'
2021-07-27 21:09:06,459 DEBUG Appliance state change detected in GeAppliance(D828C95AC480) (ErdApplianceType.UNKNOWN). Updated keys: 0x7A0F
2021-07-27 21:09:10,944 DEBUG Sending keepalive ping
2021-07-27 21:09:10,944 DEBUG client > Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind": "websocket#ping", "id": "keepalive-ping", "action": "ping"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:09:10,987 DEBUG client - event = data_received(<7 bytes>)
2021-07-27 21:09:10,987 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#pong","id":"keepalive-ping"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:09:18,510 DEBUG client - event = data_received(<27 bytes>)
2021-07-27 21:09:18,510 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C95AC480","erd":"0x7A01","time":"2021-07-28T01:09:17.255Z","value":"02"},"resource":"/appliance/D828C95AC480/erd/0x7A01","kind":"publish#erd","userId":"x11gujwz9srdb40"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:09:18,510 DEBUG Setting 0x7A01 to b'\x02'
2021-07-27 21:09:18,510 DEBUG Appliance state change detected in GeAppliance(D828C95AC480) (ErdApplianceType.UNKNOWN). Updated keys: 0x7A01
2021-07-27 21:09:18,530 DEBUG client - event = data_received(<15 bytes>)
2021-07-27 21:09:18,530 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C95AC480","erd":"0x7A0F","time":"2021-07-28T01:09:17.255Z","value":"01"},"resource":"/appliance/D828C95AC480/erd/0x7A0F","kind":"publish#erd","userId":"x11gujwz9srdb40"}', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:09:18,530 DEBUG Setting 0x7A0F to b'\x01'
2021-07-27 21:09:18,531 DEBUG Appliance state change detected in GeAppliance(D828C95AC480) (ErdApplianceType.UNKNOWN). Updated keys: 0x7A0F
2021-07-27 21:09:21,168 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'(^\x1b\xa7', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:09:21,197 DEBUG client - event = data_received(<6 bytes>)
2021-07-27 21:09:21,197 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'(^\x1b\xa7', rsv1=False, rsv2=False, rsv3=False)
2021-07-27 21:09:21,197 DEBUG client - received solicited pong: 285e1ba7

@simbaja
Copy link
Owner

simbaja commented Jul 29, 2021

Thanks for doing this, much appreciated! Good news is that there don't appear to be too many ERDs to get through, so hopefully not too bad. Let me look into it a bit over the next couple days and see if I can get the ERDs figured out.

@mbrentrowe
Copy link
Author

Awesome, thank you. Let me know if there's anything I can do to help out.

@simbaja
Copy link
Owner

simbaja commented Aug 1, 2021

I think that I've figured out all of them except 0x7a12. Can you give the latest a shot and see if everything else is good? If so, do you see any other indicator/button/anything that isn't represented by one of the identified values?

@mbrentrowe
Copy link
Author

Sure thing, I'll try to get it later today or tomorrow morning. To confirm, I just need to run websocket_example.py again, correct?

@simbaja
Copy link
Owner

simbaja commented Aug 1, 2021

Yep, that's all that should be needed for now.

@mbrentrowe
Copy link
Author

I checked wac_enums.py and what you have there matches what I saw from looking at my logs as I made changes. I couldn't find anything that produced 0x7a12. The only functionality I don't see in that file is the delay timer but I have no need of that if this is going to be controllable through HA.

Attached are my logs, you can ignore the first part, that was me cherry-picking stuff as I made changes before I looked for the file you created for the AC.

GEHOMESDKLOGS080221.txt

@simbaja
Copy link
Owner

simbaja commented Aug 3, 2021

Weird, it's not showing any of the updates to the output. Did you update to the latest before running?

@mbrentrowe
Copy link
Author

Odd, I got a new boot drive so I reinstalled it this evening. Looking at my files, I don't have the most up-to-date version.

Should I just be able to do pip install --upgrade gehomesdk ? I tried that but it said everything was up to date or satisfied.

@simbaja
Copy link
Owner

simbaja commented Aug 3, 2021

Ah, that makes more sense. I didn't publish it as a new package, just updated the source. Any chance you can try cloning the repository and running the example using the newest code?

@mbrentrowe
Copy link
Author

Sure, new logs are attached.

GEHOMESDKLOGS_AFTERUPDATE_08022021.txt

@simbaja
Copy link
Owner

simbaja commented Aug 3, 2021

Weird, the values still look like they're bytes (they should have all been decoded except the unknown one). I must have done something wrong during registration somewhere. I'll take a look in the morning and see what happened, don't see anything obvious at the moment.

@swcrawford1
Copy link

swcrawford1 commented Aug 3, 2021

Here is the log for a similar window AC unit model AHTK12AA
https://www.geappliances.com/search.php?search_query=AHTK12AA
gelog.txt
I turned it on, changed the set temp and the mode. Like the previous commenter I never use the schedule feature. Let me know if I can provide any other info.

@simbaja
Copy link
Owner

simbaja commented Aug 4, 2021

I think that I've got everything in there based on the log. There's only one ERD that isn't identified, so I think I'll add get this new version finished off so that I can add support for both window and split A/C units. Might take a little while in HA, never dealt with building the climate entities. I'll keep you both posted, hopefully you'll be able to confirm that the climate entity is working once it's complete. Thanks for your help so far!

@mbrentrowe
Copy link
Author

Thank you for getting this together. The GE app is awful, I'm so happy to never have to use it again.

@simbaja
Copy link
Owner

simbaja commented Aug 7, 2021

Can either of you change the setting to use metric units (i.e. Celsius) and then send me a debug log? Looking at the split AC logs, it looks like it always reports numbers in imperial (i.e. F) no matter what it's set to. Want to confirm the behavior of these units so I don't double convert.

@mbrentrowe
Copy link
Author

Sure thing:

2021-08-07 10:26:47,475 DEBUG Using selector: EpollSelector
websocket_example.py:74: DeprecationWarning: The object should be created within an async function
session = aiohttp.ClientSession()
2021-08-07 10:26:47,476 DEBUG Getting OAuth2 token
2021-08-07 10:26:47,477 DEBUG Client changed state: GeClientState.INITIALIZING to GeClientState.AUTHORIZING_OAUTH
2021-08-07 10:26:48,900 DEBUG Getting WS credentials
2021-08-07 10:26:48,901 DEBUG Client changed state: GeClientState.AUTHORIZING_OAUTH to GeClientState.AUTHORIZING_CLIENT
2021-08-07 10:26:49,052 INFO Starting GE Appliances client
2021-08-07 10:26:49,079 DEBUG Client changed state: GeClientState.AUTHORIZING_CLIENT to GeClientState.CONNECTING
2021-08-07 10:26:49,128 DEBUG client - state = CONNECTING
2021-08-07 10:26:49,199 DEBUG client - event = connection_made(<asyncio.sslproto._SSLProtocolTransport object at 0x7fcd8ad62220>)
2021-08-07 10:26:49,200 DEBUG client > GET /?access_token=ue1cphqdhmxqbxcvcs7ieeyqaacvj2wu HTTP/1.1
2021-08-07 10:26:49,200 DEBUG client > Headers([('Host', 'ws-us-east-1.brillion.geappliances.com'), ('Upgrade', 'websocket'), ('Connection', 'Upgrade'), ('Sec-WebSocket-Key', 'Sp/qud1nsm2JCJooALCn2w=='), ('Sec-WebSocket-Version', '13'), ('Sec-WebSocket-Extensions', 'permessage-deflate; client_max_window_bits'), ('User-Agent', 'Python/3.8 websockets/9.1')])
2021-08-07 10:26:49,392 DEBUG client - event = data_received(<212 bytes>)
2021-08-07 10:26:49,393 DEBUG client < HTTP/1.1 101 Switching Protocols
2021-08-07 10:26:49,393 DEBUG client < Headers([('Date', 'Sat, 07 Aug 2021 14:26:49 GMT'), ('Connection', 'upgrade'), ('upgrade', 'websocket'), ('sec-websocket-accept', '3rwGc5HeChQ5VS8MPpOxKGEaaTM='), ('sec-websocket-extensions', 'permessage-deflate')])
2021-08-07 10:26:49,394 DEBUG client - state = OPEN
2021-08-07 10:26:49,394 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-08-07 10:26:49,395 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-08-07 10:26:49,396 DEBUG Client changed state: GeClientState.CONNECTING to GeClientState.CONNECTED
2021-08-07 10:26:49,585 DEBUG client - event = data_received(<49 bytes>)
2021-08-07 10:26:49,585 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#subscribe","success":true}', rsv1=False, rsv2=False, rsv3=False)
2021-08-07 10:26:49,713 DEBUG client - event = data_received(<263 bytes>)
2021-08-07 10:26:49,714 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":"x11gujwz9srdb40","items":[{"applianceId":"D828C95AC480","type":"Air Conditioner","brand":"Unknown","jid":"d828c95ac480_x11gujwz9srdb40","nickname":"Air Conditioner","online":"ONLINE","onlineTime":"2021-08-07T02:12:11.000Z"}]}}', rsv1=False, rsv2=False, rsv3=False)
2021-08-07 10:26:49,715 DEBUG D828C95AC480 marked available
2021-08-07 10:26:49,715 DEBUG Adding appliance D828C95AC480
2021-08-07 10:26:49,715 DEBUG Requesting update for client D828C95AC480
2021-08-07 10:26:49,716 DEBUG client > Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind": "websocket#api", "action": "api", "host": "api.brillion.geappliances.com", "method": "GET", "path": "/v1/appliance/D828C95AC480/erd", "id": "D828C95AC480-allErd"}', rsv1=False, rsv2=False, rsv3=False)
2021-08-07 10:26:49,716 DEBUG Requesting features for client D828C95AC480
2021-08-07 10:26:49,716 DEBUG client > Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind": "websocket#api", "action": "api", "host": "api.brillion.geappliances.com", "method": "GET", "path": "/v1/appliance/D828C95AC480/feature", "id": "Request-features"}', rsv1=False, rsv2=False, rsv3=False)
2021-08-07 10:26:49,717 DEBUG Registering update callback for GeAppliance(D828C95AC480) (Unknown Type)
2021-08-07 10:26:49,777 DEBUG client - event = data_received(<16 bytes>)
2021-08-07 10:26:49,777 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#connect","success":true}', rsv1=False, rsv2=False, rsv3=False)
2021-08-07 10:26:49,835 DEBUG client - event = data_received(<236 bytes>)
2021-08-07 10:26:49,836 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"D828C95AC480-allErd","request":{"host":"api.brillion.geappliances.com","method":"GET","path":"/v1/appliance/D828C95AC480/erd"},"success":true,"code":200,"body":{"kind":"appliance#erdList","userId":"x11gujwz9srdb40","applianceId":"D828C95AC480","items":[{"erd":"0x0001","value":"084148544B303841410000000000000000000000000000000000000000000000","time":"2021-08-07T02:23:30.452Z"},{"erd":"0x0002","value":"0000000000000000000000000000000000000000000000000000000000000000","time":"2021-08-07T02:23:30.452Z"},{"erd":"0x0007","value":"00","time":"2021-08-07T02:23:30.452Z"},{"erd":"0x0008","value":"0A","time":"2021-08-07T02:23:30.452Z"},{"erd":"0x0035","value":"00000000","time":"2021-08-07T02:23:30.452Z"},{"erd":"0x0099","value":"00","time":"2021-08-07T02:23:30.452Z"},{"erd":"0x0100","value":"00000B27","time":"2021-08-07T02:23:30.452Z"},{"erd":"0x0101","value":"00000000","time":"2021-08-07T02:23:30.452Z"},{"erd":"0x0102","value":"00","time":"2021-08-07T02:23:30.452Z"},{"erd":"0x0103","value":"00000000","time":"2021-08-07T02:23:30.452Z"},{"erd":"0x0104","value":"00000000","time":"2021-08-07T02:23:30.452Z"},{"erd":"0x0105","value":"00","time":"2021-08-07T02:23:30.452Z"},{"erd":"0x7003","value":"0040","time":"2021-08-07T02:23:30.452Z"},{"erd":"0x7A00","value":"08","time":"2021-08-07T02:23:30.452Z"},{"erd":"0x7A01","value":"00","time":"2021-08-07T02:23:30.452Z"},{"erd":"0x7A02","value":"44","time":"2021-08-07T14:23:38.800Z"},{"erd":"0x7A04","value":"01","time":"2021-08-07T02:23:30.452Z"},{"erd":"0x7A0F","value":"01","time":"2021-08-07T02:23:30.452Z"},{"erd":"0x7A12","value":"0016F71C","time":"2021-08-07T14:12:38.742Z"},{"erd":"0xD005","value":"02B7000000000000000000","time":"2021-08-07T12:55:37.629Z"},{"erd":"0xD006","value":"00","time":"2021-08-07T02:23:30.452Z"}]}}', rsv1=False, rsv2=False, rsv3=False)
2021-08-07 10:26:49,836 DEBUG Setting ErdCode.MODEL_NUMBER to AHTK08AA
2021-08-07 10:26:49,836 DEBUG Setting ErdCode.SERIAL_NUMBER to
2021-08-07 10:26:49,837 DEBUG Setting ErdCode.TEMPERATURE_UNIT to ErdMeasurementUnits.IMPERIAL
2021-08-07 10:26:49,837 DEBUG Setting ErdCode.APPLIANCE_TYPE to ErdApplianceType.UNKNOWN
2021-08-07 10:26:49,837 DEBUG Setting ErdCode.UNIT_TYPE to ErdUnitType.UNKNOWN
2021-08-07 10:26:49,837 DEBUG Setting ErdCode.UNKNOWN_0099 to b'\x00'
2021-08-07 10:26:49,837 DEBUG Setting ErdCode.WIFI_MODULE_SW_VERSION to 0.0.11.39
2021-08-07 10:26:49,838 DEBUG Setting ErdCode.WIFI_MODULE_SW_VERSION_AVAILABLE to 0.0.0.0
2021-08-07 10:26:49,838 DEBUG Setting ErdCode.ACM_UPDATING to False
2021-08-07 10:26:49,838 DEBUG Setting ErdCode.APPLIANCE_SW_VERSION to 0.0.0.0
2021-08-07 10:26:49,839 DEBUG Setting ErdCode.APPLIANCE_SW_VERSION_AVAILABLE to 0.0.0.0
2021-08-07 10:26:49,839 DEBUG Setting ErdCode.APPLIANCE_UPDATING to False
2021-08-07 10:26:49,839 DEBUG Setting ErdCode.WAC_TARGET_TEMPERATURE to b'\x00@'
2021-08-07 10:26:49,839 DEBUG Setting ErdCode.WAC_FAN_SETTING to b'\x08'
2021-08-07 10:26:49,839 DEBUG Setting ErdCode.WAC_OPERATION_MODE to b'\x00'
2021-08-07 10:26:49,839 DEBUG Setting ErdCode.WAC_AMBIENT_TEMPERATURE to b'D'
2021-08-07 10:26:49,840 DEBUG Setting ErdCode.WAC_FILTER_STATUS to b'\x01'
2021-08-07 10:26:49,840 DEBUG Setting 0x7A0F to b'\x01'
2021-08-07 10:26:49,840 DEBUG Setting ErdCode.WAC_UNKNOWN7A12 to b'\x00\x16\xf7\x1c'
2021-08-07 10:26:49,840 DEBUG Setting 0xD005 to b'\x02\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00'
2021-08-07 10:26:49,840 DEBUG Setting 0xD006 to b'\x00'
2021-08-07 10:26:49,841 DEBUG Got initial appliance type for GeAppliance(D828C95AC480) (ErdApplianceType.UNKNOWN)
2021-08-07 10:26:49,841 DEBUG Appliance state change detected in GeAppliance(D828C95AC480) (ErdApplianceType.UNKNOWN). Updated keys: ErdCode.MODEL_NUMBER, ErdCode.SERIAL_NUMBER, ErdCode.TEMPERATURE_UNIT, ErdCode.APPLIANCE_TYPE, 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.WAC_TARGET_TEMPERATURE, ErdCode.WAC_FAN_SETTING, ErdCode.WAC_OPERATION_MODE, ErdCode.WAC_AMBIENT_TEMPERATURE, ErdCode.WAC_FILTER_STATUS, 0x7A0F, ErdCode.WAC_UNKNOWN7A12, 0xD005, 0xD006
2021-08-07 10:26:49,841 DEBUG Appliance state change detected in GeAppliance(D828C95AC480) (ErdApplianceType.UNKNOWN)
2021-08-07 10:26:49,873 DEBUG client - event = data_received(<42 bytes>)
2021-08-07 10:26:49,873 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/D828C95AC480/feature"},"success":true,"code":200,"body":{"kind":"appliance#applianceFeature","userId":"x11gujwz9srdb40","applianceId":"D828C95AC480","features":[]}}', rsv1=False, rsv2=False, rsv3=False)
2021-08-07 10:26:49,874 DEBUG Received features [] for D828C95AC480
2021-08-07 10:26:50,033 DEBUG client - event = data_received(<49 bytes>)
2021-08-07 10:26:50,034 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-08-07 10:27:09,403 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\xd0\xa6\xea>', rsv1=False, rsv2=False, rsv3=False)
2021-08-07 10:27:09,432 DEBUG client - event = data_received(<6 bytes>)
2021-08-07 10:27:09,433 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'\xd0\xa6\xea>', rsv1=False, rsv2=False, rsv3=False)
2021-08-07 10:27:09,433 DEBUG client - received solicited pong: d0a6ea3e
2021-08-07 10:27:10,150 DEBUG client - event = data_received(<57 bytes>)
2021-08-07 10:27:10,151 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C95AC480","erd":"0x7003","time":"2021-08-07T14:27:08.761Z","value":"0042"},"resource":"/appliance/D828C95AC480/erd/0x7003","kind":"publish#erd","userId":"x11gujwz9srdb40"}', rsv1=False, rsv2=False, rsv3=False)
2021-08-07 10:27:10,152 DEBUG Setting ErdCode.WAC_TARGET_TEMPERATURE to b'\x00B'
2021-08-07 10:27:10,152 DEBUG Appliance state change detected in GeAppliance(D828C95AC480) (ErdApplianceType.UNKNOWN). Updated keys: ErdCode.WAC_TARGET_TEMPERATURE
2021-08-07 10:27:11,192 DEBUG client - event = data_received(<18 bytes>)
2021-08-07 10:27:11,192 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C95AC480","erd":"0x7003","time":"2021-08-07T14:27:09.647Z","value":"0044"},"resource":"/appliance/D828C95AC480/erd/0x7003","kind":"publish#erd","userId":"x11gujwz9srdb40"}', rsv1=False, rsv2=False, rsv3=False)
2021-08-07 10:27:11,193 DEBUG Setting ErdCode.WAC_TARGET_TEMPERATURE to b'\x00D'
2021-08-07 10:27:11,193 DEBUG Appliance state change detected in GeAppliance(D828C95AC480) (ErdApplianceType.UNKNOWN). Updated keys: ErdCode.WAC_TARGET_TEMPERATURE
2021-08-07 10:27:19,403 DEBUG Sending keepalive ping
2021-08-07 10:27:19,404 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-08-07 10:27:19,453 DEBUG client - event = data_received(<28 bytes>)
2021-08-07 10:27:19,453 DEBUG client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#pong","id":"keepalive-ping"}', rsv1=False, rsv2=False, rsv3=False)

@simbaja
Copy link
Owner

simbaja commented Aug 7, 2021

Interesting, so the display is showing Celsius?

The API is saying it's imperial:

2021-08-07 10:26:49,837 DEBUG Setting ErdCode.TEMPERATURE_UNIT to ErdMeasurementUnits.IMPERIAL

The split AC unit shows that it's metric, but all the values are imperial. These AC units are so weird.

@mbrentrowe
Copy link
Author

Hold on, let me try again, what's odd is that it's still showing as C on the unit but when I just went back into the app it changed itself back to F.

@mbrentrowe
Copy link
Author

The app keeps setting itself back to F after I leave the settings page.

2021-08-07 10:45:20,500 DEBUG Setting ErdCode.MODEL_NUMBER to AHTK08AA
2021-08-07 10:45:20,500 DEBUG Setting ErdCode.SERIAL_NUMBER to
2021-08-07 10:45:20,500 DEBUG Setting ErdCode.TEMPERATURE_UNIT to ErdMeasurementUnits.IMPERIAL
2021-08-07 10:45:20,500 DEBUG Setting ErdCode.APPLIANCE_TYPE to ErdApplianceType.UNKNOWN
2021-08-07 10:45:20,500 DEBUG Setting ErdCode.UNIT_TYPE to ErdUnitType.UNKNOWN
2021-08-07 10:45:20,501 DEBUG Setting ErdCode.UNKNOWN_0099 to b'\x00'
2021-08-07 10:45:20,501 DEBUG Setting ErdCode.WIFI_MODULE_SW_VERSION to 0.0.11.39
2021-08-07 10:45:20,501 DEBUG Setting ErdCode.WIFI_MODULE_SW_VERSION_AVAILABLE to 0.0.0.0
2021-08-07 10:45:20,502 DEBUG Setting ErdCode.ACM_UPDATING to False
2021-08-07 10:45:20,502 DEBUG Setting ErdCode.APPLIANCE_SW_VERSION to 0.0.0.0
2021-08-07 10:45:20,502 DEBUG Setting ErdCode.APPLIANCE_SW_VERSION_AVAILABLE to 0.0.0.0
2021-08-07 10:45:20,502 DEBUG Setting ErdCode.APPLIANCE_UPDATING to False
2021-08-07 10:45:20,503 DEBUG Setting ErdCode.WAC_TARGET_TEMPERATURE to b'\x00@'
2021-08-07 10:45:20,503 DEBUG Setting ErdCode.WAC_FAN_SETTING to b'\x08'
2021-08-07 10:45:20,503 DEBUG Setting ErdCode.WAC_OPERATION_MODE to b'\x00'
2021-08-07 10:45:20,503 DEBUG Setting ErdCode.WAC_AMBIENT_TEMPERATURE to b'D'
2021-08-07 10:45:20,503 DEBUG Setting ErdCode.WAC_FILTER_STATUS to b'\x01'
2021-08-07 10:45:20,503 DEBUG Setting 0x7A0F to b'\x01'
2021-08-07 10:45:20,504 DEBUG Setting ErdCode.WAC_UNKNOWN7A12 to b'\x00\x16\xf7\x1c'
2021-08-07 10:45:20,504 DEBUG Setting 0xD005 to b'\x02\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00'
2021-08-07 10:45:20,504 DEBUG Setting 0xD006 to b'\x00'
2021-08-07 10:45:20,504 DEBUG Got initial appliance type for GeAppliance(D828C95AC480) (ErdApplianceType.UNKNOWN)
2021-08-07 10:45:20,505 DEBUG Appliance state change detected in GeAppliance(D828C95AC480) (ErdApplianceType.UNKNOWN). Updated keys: ErdCode.MODEL_NUMBER, ErdCode.SERIAL_NUMBER, ErdCode.TEMPERATURE_UNIT, ErdCode.APPLIANCE_TYPE, 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.WAC_TARGET_TEMPERATURE, ErdCode.WAC_FAN_SETTING, ErdCode.WAC_OPERATION_MODE, ErdCode.WAC_AMBIENT_TEMPERATURE, ErdCode.WAC_FILTER_STATUS, 0x7A0F, ErdCode.WAC_UNKNOWN7A12, 0xD005, 0xD006
2021-08-07 10:45:20,505 DEBUG Appliance state change detected in GeAppliance(D828C95AC480) (ErdApplianceType.UNKNOWN)2021-08-07 10:45:20,653 DEBUG client - event = data_received(<50 bytes>)
2021-08-07 10:45:20,654 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-08-07 10:45:40,103 DEBUG client > Frame(fin=True, opcode=<Opcode.PING: 9>, data=b'\xe95Bo', rsv1=False, rsv2=False, rsv3=False)
2021-08-07 10:45:40,131 DEBUG client - event = data_received(<6 bytes>)
2021-08-07 10:45:40,132 DEBUG client < Frame(fin=True, opcode=<Opcode.PONG: 10>, data=b'\xe95Bo', rsv1=False, rsv2=False, rsv3=False)
2021-08-07 10:45:40,132 DEBUG client - received solicited pong: e935426f

@simbaja
Copy link
Owner

simbaja commented Aug 7, 2021

But the unit itself is still showing Celsius? That's so odd...

@mbrentrowe
Copy link
Author

It is, the unit didn't switch back to Fahrenheit until I swapped it in settings even though the app had switched itself to Fahrenheit on its own. I just did a quick toggle back to C and then F and the unit changed.

@simbaja
Copy link
Owner

simbaja commented Aug 7, 2021

Alright, well, I'll assume that the uom that is being reported is correct then... we'll see what happens when people try to use it in metric mode and I'll adjust as needed.

@swcrawford1
Copy link

swcrawford1 commented Aug 7, 2021 via email

@simbaja
Copy link
Owner

simbaja commented Aug 7, 2021

So odd... these appliances are kinda screwy. I'll do what I can, hopefully we'll make it work well in HA.

@simbaja
Copy link
Owner

simbaja commented Aug 7, 2021

Sent a message in the HA repo, added the initial version into the HA integration, let's switch over there for further discussions on this. Thanks for the help so far, much appreciated!

@simbaja simbaja closed this as completed Aug 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants