simbaja / gehome

Python SDK for GE smart appliances
MIT License
46 stars 31 forks source link

GE Dishwasher Commands #45

Closed NickWaterton closed 1 year ago

NickWaterton commented 2 years ago

Hi!

I have downloaded your repo, and have it working well in read-only mode. I'm actually publishing the values via MQTT so that I can integrate with OpenHab.

The thing I'm stuck with right now is how to send commands to the dishwasher. I'm not sure what commands I can send, in the SmartHQ app, all i can send is start/pause/resume/stop commands (and update the number of pods remaining).

Just being able to send start would be a good beginning, but I'm not sure which ERD is for the cycle start/stop etc.

I assume I should use appliance.async_set_erd_value(), but all the ERD's I've tried say they are read only.

Here is my log output:

[2022-11-09 16:54:58,458][DEBUG](websockets.protocol ) 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":"2oatfvth6rxh0xh","items":[{"applianceId":"007AD6DD0576","type":"Dishwasher","brand":"Unknown","jid":"007ad6dd0576_2oatfvth6rxh0xh","nickname":"Dishwasher","online":"ONLINE","onlineTime":"2022-11-09T09:09:03.388Z"}]}}', rsv1=False, rsv2=False, rsv3=False)
[2022-11-09 16:54:58,459][DEBUG](gehomesdk.ge_appliance) 007AD6DD0576 marked available
[2022-11-09 16:54:58,459][DEBUG](gehomesdk.clients.websocket_client) Adding appliance 007AD6DD0576
[2022-11-09 16:54:58,459][DEBUG](gehomesdk.clients.websocket_client) Requesting update for client 007AD6DD0576
[2022-11-09 16:54:58,459][DEBUG](websockets.protocol ) 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/007AD6DD0576/erd", "id": "007AD6DD0576-allErd"}', rsv1=False, rsv2=False, rsv3=False)
[2022-11-09 16:54:58,460][DEBUG](gehomesdk.clients.websocket_client) Requesting features for client 007AD6DD0576
[2022-11-09 16:54:58,460][DEBUG](websockets.protocol ) 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/007AD6DD0576/feature", "id": "Request-features"}', rsv1=False, rsv2=False, rsv3=False)
[2022-11-09 16:54:58,613][DEBUG](websockets.protocol ) client - event = data_received(<99 bytes>)
[2022-11-09 16:54:58,614][DEBUG](websockets.protocol ) 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)
[2022-11-09 16:54:58,662][DEBUG](websockets.protocol ) client - event = data_received(<3471 bytes>)
[2022-11-09 16:54:58,663][DEBUG](websockets.protocol ) client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"kind":"websocket#api","id":"007AD6DD0576-allErd","request":{"host":"api.brillion.geappliances.com","method":"GET","path":"/v1/appliance/007AD6DD0576/erd"},"success":true,"code":200,"body":{"kind":"appliance#erdList","userId":"2oatfvth6rxh0xh","applianceId":"007AD6DD0576","items":[{"erd":"0x0001","value":"0C43445438373550324E37533100000000000000000000000000000000000000","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x0002","value":"0953543735363332324200000000000000000000000000000000000000000000","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x0004","value":"02","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x0008","value":"06","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x0009","value":"00","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x000A","value":"03","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x0035","value":"00000000","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x0100","value":"00020F3B","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x0101","value":"00000000","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x0102","value":"00","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x0103","value":"00000000","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x0104","value":"02001D16","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x0105","value":"06","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x3001","value":"00","time":"2022-11-09T18:32:13.660Z"},{"erd":"0x3003","value":"00","time":"2022-11-09T12:50:12.511Z"},{"erd":"0x3007","value":"00B108","time":"2022-11-09T17:49:59.804Z"},{"erd":"0x3009","value":"000C0009000E","time":"2022-11-09T10:19:19.819Z"},{"erd":"0x300E","value":"11","time":"2022-11-09T10:19:19.819Z"},{"erd":"0x301C","value":"4578707265737320202045787072657373202020","time":"2022-11-09T17:49:59.804Z"},{"erd":"0x301D","value":"00","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x301F","value":"0035","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x3037","value":"01","time":"2022-11-09T18:31:43.686Z"},{"erd":"0x304E","value":"01","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x3087","value":"01","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x3100","value":"0073","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x3200","value":"0505000201020402010000A70A0000","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x3210","value":"0A3F0F00","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x3211","value":"0E3F0F00","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x3212","value":"113F0F00","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x3213","value":"151B0100","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x3214","value":"181B0100","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x3215","value":"08000100","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x3216","value":"08000100","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x3217","value":"08000100","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x3218","value":"08000100","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x3219","value":"08000100","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x321A","value":"0000","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x321B","value":"04","time":"2022-11-09T17:49:59.804Z"},{"erd":"0x321C","value":"03","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x321D","value":"00","time":"2022-11-09T17:45:29.482Z"},{"erd":"0x321E","value":"00","time":"2022-11-09T17:45:32.168Z"},{"erd":"0x321F","value":"01","time":"2022-11-09T09:11:05.989Z"},{"erd":"0x3220","value":"00","time":"2022-11-09T09:11:05.989Z"},{"erd":"0xD003","value":"00","time":"2022-11-09T12:50:12.511Z"},{"erd":"0xD004","value":"003C","time":"2022-11-09T17:49:59.804Z"}]}}', rsv1=False, rsv2=False, rsv3=False)
[2022-11-09 16:54:58,663][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.MODEL_NUMBER to CDT875P2N7S1
[2022-11-09 16:54:58,664][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.SERIAL_NUMBER to ST756322B
[2022-11-09 16:54:58,664][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.USER_INTERFACE_LOCKED to True
[2022-11-09 16:54:58,664][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.APPLIANCE_TYPE to ErdApplianceType.DISH_WASHER
[2022-11-09 16:54:58,664][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.SABBATH_MODE to False
[2022-11-09 16:54:58,664][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.SOUND_LEVEL to ErdSoundLevel.HIGH
[2022-11-09 16:54:58,665][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.UNIT_TYPE to ErdUnitType.UNKNOWN
[2022-11-09 16:54:58,665][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.WIFI_MODULE_SW_VERSION to 0.2.15.59
[2022-11-09 16:54:58,665][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.WIFI_MODULE_SW_VERSION_AVAILABLE to 0.0.0.0
[2022-11-09 16:54:58,666][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.ACM_UPDATING to False
[2022-11-09 16:54:58,666][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.APPLIANCE_SW_VERSION to 0.0.0.0
[2022-11-09 16:54:58,666][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.APPLIANCE_SW_VERSION_AVAILABLE to 2.0.29.22
[2022-11-09 16:54:58,666][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.APPLIANCE_UPDATING to True
[2022-11-09 16:54:58,666][DEBUG](gehomesdk.erd.converters.dishwasher.operating_mode_converter) raw operating mode value: ErdOperatingMode.LOW_POWER
[2022-11-09 16:54:58,667][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.DISHWASHER_OPERATING_MODE to OperatingMode.STATUS_DASH
[2022-11-09 16:54:58,667][DEBUG](gehomesdk.erd.converters.dishwasher.operating_mode_converter) raw operating mode value: ErdOperatingMode.LOW_POWER
[2022-11-09 16:54:58,667][DEBUG](gehomesdk.erd.converters.dishwasher.erd_rinse_agent_converter) raw rinse agent value: ErdRinseAgentRaw.RINSE_AGENT_GOOD
[2022-11-09 16:54:58,667][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.DISHWASHER_RINSE_AGENT to ErdRinseAgent.RINSE_AGENT_GOOD
[2022-11-09 16:54:58,667][DEBUG](gehomesdk.erd.converters.dishwasher.erd_rinse_agent_converter) raw rinse agent value: ErdRinseAgentRaw.RINSE_AGENT_GOOD
[2022-11-09 16:54:58,667][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.DISHWASHER_USER_SETTING to ErdUserSetting(sound=<UserSetting.DISABLE: 0>, lock_control=<UserSetting.DISABLE: 0>, sabbath=<UserSetting.DISABLE: 0>, cycle_mode=<UserCycleSetting.AUTO: 0>, presoak=<UserSetting.ENABLE: 1>, bottle_jet=<UserSetting.DISABLE: 0>, wash_temp=<UserWashTempSetting.BOOST_AND_SANITIZE: 3>, dry_option=<UserDryOptionSetting.OFF: 0>, wash_zone=<UserWashZoneSetting.BOTH: 0>, delay_hours=0, raw_value='00B108')
[2022-11-09 16:54:58,668][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.DISHWASHER_UNKNOWN_3009 to b'\x00\x0c\x00\t\x00\x0e'
[2022-11-09 16:54:58,668][DEBUG](gehomesdk.erd.converters.dishwasher.erd_cycle_state_converter) raw cycle state value: ErdCycleStateRaw.STATE_17
[2022-11-09 16:54:58,668][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.DISHWASHER_CYCLE_STATE to ErdCycleState.NA
[2022-11-09 16:54:58,668][DEBUG](gehomesdk.erd.converters.dishwasher.erd_cycle_state_converter) raw cycle state value: ErdCycleStateRaw.STATE_17
[2022-11-09 16:54:58,668][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.DISHWASHER_CYCLE_NAME to Express   Express
[2022-11-09 16:54:58,669][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.DISHWASHER_UNKNOWN_301d to b'\x00'
[2022-11-09 16:54:58,669][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.DISHWASHER_PODS_REMAINING_VALUE to 53
[2022-11-09 16:54:58,669][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.DISHWASHER_DOOR_STATUS to ErdDishwasherDoorStatus.CLOSED
[2022-11-09 16:54:58,669][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.DISHWASHER_UNKNOWN_304E to b'\x01'
[2022-11-09 16:54:58,669][DEBUG](gehomesdk.ge_appliance) Setting 0x3087 to b'\x01'
[2022-11-09 16:54:58,670][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.DISHWASHER_UNKNOWN_3100 to b'\x00s'
[2022-11-09 16:54:58,670][DEBUG](gehomesdk.ge_appliance) Setting 0x3200 to b'\x05\x05\x00\x02\x01\x02\x04\x02\x01\x00\x00\xa7\n\x00\x00'
[2022-11-09 16:54:58,670][DEBUG](gehomesdk.ge_appliance) Setting 0x3210 to b'\n?\x0f\x00'
[2022-11-09 16:54:58,670][DEBUG](gehomesdk.ge_appliance) Setting 0x3211 to b'\x0e?\x0f\x00'
[2022-11-09 16:54:58,670][DEBUG](gehomesdk.ge_appliance) Setting 0x3212 to b'\x11?\x0f\x00'
[2022-11-09 16:54:58,671][DEBUG](gehomesdk.ge_appliance) Setting 0x3213 to b'\x15\x1b\x01\x00'
[2022-11-09 16:54:58,671][DEBUG](gehomesdk.ge_appliance) Setting 0x3214 to b'\x18\x1b\x01\x00'
[2022-11-09 16:54:58,671][DEBUG](gehomesdk.ge_appliance) Setting 0x3215 to b'\x08\x00\x01\x00'
[2022-11-09 16:54:58,671][DEBUG](gehomesdk.ge_appliance) Setting 0x3216 to b'\x08\x00\x01\x00'
[2022-11-09 16:54:58,671][DEBUG](gehomesdk.ge_appliance) Setting 0x3217 to b'\x08\x00\x01\x00'
[2022-11-09 16:54:58,671][DEBUG](gehomesdk.ge_appliance) Setting 0x3218 to b'\x08\x00\x01\x00'
[2022-11-09 16:54:58,672][DEBUG](gehomesdk.ge_appliance) Setting 0x3219 to b'\x08\x00\x01\x00'
[2022-11-09 16:54:58,672][DEBUG](gehomesdk.ge_appliance) Setting 0x321A to b'\x00\x00'
[2022-11-09 16:54:58,672][DEBUG](gehomesdk.ge_appliance) Setting 0x321B to b'\x04'
[2022-11-09 16:54:58,672][DEBUG](gehomesdk.ge_appliance) Setting 0x321C to b'\x03'
[2022-11-09 16:54:58,672][DEBUG](gehomesdk.ge_appliance) Setting 0x321D to b'\x00'
[2022-11-09 16:54:58,673][DEBUG](gehomesdk.ge_appliance) Setting 0x321E to b'\x00'
[2022-11-09 16:54:58,673][DEBUG](gehomesdk.ge_appliance) Setting 0x321F to b'\x01'
[2022-11-09 16:54:58,673][DEBUG](gehomesdk.ge_appliance) Setting 0x3220 to b'\x00'
[2022-11-09 16:54:58,673][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.DISHWASHER_UNKNOWN_D003 to b'\x00'
[2022-11-09 16:54:58,673][DEBUG](gehomesdk.ge_appliance) Setting ErdCode.DISHWASHER_TIME_REMAINING to 1:00:00
[2022-11-09 16:54:58,674][DEBUG](gehomesdk.clients.base_client) Got initial appliance type for GeAppliance(007AD6DD0576) (ErdApplianceType.DISH_WASHER)
[2022-11-09 16:54:58,674][ INFO](GeWSClient          ) Appliance state change detected in GeAppliance(007AD6DD0576) (ErdApplianceType.DISH_WASHER). Updated keys: ErdCode.MODEL_NUMBER, ErdCode.SERIAL_NUMBER, ErdCode.USER_INTERFACE_LOCKED, ErdCode.APPLIANCE_TYPE, ErdCode.SABBATH_MODE, ErdCode.SOUND_LEVEL, ErdCode.UNIT_TYPE, 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.DISHWASHER_OPERATING_MODE, ErdCode.DISHWASHER_RINSE_AGENT, ErdCode.DISHWASHER_USER_SETTING, ErdCode.DISHWASHER_UNKNOWN_3009, ErdCode.DISHWASHER_CYCLE_STATE, ErdCode.DISHWASHER_CYCLE_NAME, ErdCode.DISHWASHER_UNKNOWN_301d, ErdCode.DISHWASHER_PODS_REMAINING_VALUE, ErdCode.DISHWASHER_DOOR_STATUS, ErdCode.DISHWASHER_UNKNOWN_304E, 0x3087, ErdCode.DISHWASHER_UNKNOWN_3100, 0x3200, 0x3210, 0x3211, 0x3212, 0x3213, 0x3214, 0x3215, 0x3216, 0x3217, 0x3218, 0x3219, 0x321A, 0x321B, 0x321C, 0x321D, 0x321E, 0x321F, 0x3220, ErdCode.DISHWASHER_UNKNOWN_D003, ErdCode.DISHWASHER_TIME_REMAINING
[2022-11-09 16:54:58,674][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/MODEL_NUMBER: CDT875P2N7S1
[2022-11-09 16:54:58,674][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/SERIAL_NUMBER: ST756322B
[2022-11-09 16:54:58,675][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/USER_INTERFACE_LOCKED: True
[2022-11-09 16:54:58,675][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/APPLIANCE_TYPE: DISH_WASHER
[2022-11-09 16:54:58,675][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/SOUND_LEVEL: HIGH
[2022-11-09 16:54:58,675][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/UNIT_TYPE: UNKNOWN
[2022-11-09 16:54:58,676][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/WIFI_MODULE_SW_VERSION: 0.2.15.59
[2022-11-09 16:54:58,676][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/WIFI_MODULE_SW_VERSION_AVAILABLE: 0.0.0.0
[2022-11-09 16:54:58,676][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/APPLIANCE_SW_VERSION: 0.0.0.0
[2022-11-09 16:54:58,676][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/APPLIANCE_SW_VERSION_AVAILABLE: 2.0.29.22
[2022-11-09 16:54:58,677][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/APPLIANCE_UPDATING: True
[2022-11-09 16:54:58,677][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_OPERATING_MODE: Off
[2022-11-09 16:54:58,677][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_RINSE_AGENT: Good
[2022-11-09 16:54:58,677][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_USER_SETTING/sound: DISABLE
[2022-11-09 16:54:58,679][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_USER_SETTING/lock_control: DISABLE
[2022-11-09 16:54:58,680][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_USER_SETTING/sabbath: DISABLE
[2022-11-09 16:54:58,680][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_USER_SETTING/cycle_mode: AUTO
[2022-11-09 16:54:58,680][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_USER_SETTING/presoak: ENABLE
[2022-11-09 16:54:58,681][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_USER_SETTING/bottle_jet: DISABLE
[2022-11-09 16:54:58,681][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_USER_SETTING/wash_temp: BOOST_AND_SANITIZE
[2022-11-09 16:54:58,682][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_USER_SETTING/dry_option: OFF
[2022-11-09 16:54:58,682][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_USER_SETTING/wash_zone: BOTH
[2022-11-09 16:54:58,682][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_USER_SETTING/raw_value: 00B108
[2022-11-09 16:54:58,683][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_UNKNOWN_3009: 000c0009000e
[2022-11-09 16:54:58,684][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_CYCLE_STATE: N/A
[2022-11-09 16:54:58,685][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_CYCLE_NAME: Express
[2022-11-09 16:54:58,685][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_UNKNOWN_301d: 00
[2022-11-09 16:54:58,686][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_PODS_REMAINING_VALUE: 53
[2022-11-09 16:54:58,686][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_DOOR_STATUS: Closed
[2022-11-09 16:54:58,687][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_UNKNOWN_304E: 01
[2022-11-09 16:54:58,687][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/0x3087: 01
[2022-11-09 16:54:58,688][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_UNKNOWN_3100: 0073
[2022-11-09 16:54:58,688][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/0x3200: 0505000201020402010000a70a0000
[2022-11-09 16:54:58,688][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/0x3210: 0a3f0f00
[2022-11-09 16:54:58,689][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/0x3211: 0e3f0f00
[2022-11-09 16:54:58,689][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/0x3212: 113f0f00
[2022-11-09 16:54:58,690][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/0x3213: 151b0100
[2022-11-09 16:54:58,690][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/0x3214: 181b0100
[2022-11-09 16:54:58,691][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/0x3215: 08000100
[2022-11-09 16:54:58,691][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/0x3216: 08000100
[2022-11-09 16:54:58,691][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/0x3217: 08000100
[2022-11-09 16:54:58,692][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/0x3218: 08000100
[2022-11-09 16:54:58,692][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/0x3219: 08000100
[2022-11-09 16:54:58,692][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/0x321A: 0000
[2022-11-09 16:54:58,693][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/0x321B: 04
[2022-11-09 16:54:58,693][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/0x321C: 03
[2022-11-09 16:54:58,694][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/0x321D: 00
[2022-11-09 16:54:58,694][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/0x321E: 00
[2022-11-09 16:54:58,695][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/0x321F: 01
[2022-11-09 16:54:58,695][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/0x3220: 00
[2022-11-09 16:54:58,695][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_UNKNOWN_D003: 00
[2022-11-09 16:54:58,696][ INFO](Main.MQTTMixin      ) publishing item: /GEAppliance/feedback/007AD6DD0576/DISHWASHER_TIME_REMAINING: 1:00:00
[2022-11-09 16:54:58,696][ INFO](GeWSClient          ) Appliance state change detected in GeAppliance(007AD6DD0576) (ErdApplianceType.DISH_WASHER)
[2022-11-09 16:54:58,697][DEBUG](websockets.protocol ) client - event = data_received(<751 bytes>)
[2022-11-09 16:54:58,697][DEBUG](websockets.protocol ) 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/007AD6DD0576/feature"},"success":true,"code":200,"body":{"kind":"appliance#applianceFeature","userId":"2oatfvth6rxh0xh","applianceId":"007AD6DD0576","features":["COMMON_V1_CONTROL_LOCK","DISHWASHER_V1_CYCLE_SETTINGS_BOTTLE_BLAST_OPTION","DISHWASHER_V1_CYCLE_SETTINGS_DELAY_START","DISHWASHER_V1_CYCLE_SETTINGS_DRY_TEMP_SELECTION","DISHWASHER_V1_CYCLE_SETTINGS_SELECTED_CYCLE","DISHWASHER_V1_CYCLE_SETTINGS_STEAM_OPTION","DISHWASHER_V1_CYCLE_SETTINGS_WASH_TEMP_SELECTION","DISHWASHER_V1_CYCLE_SETTINGS_WASH_ZONE_SELECTION","DISHWASHER_V1_FOUNDATION","DISHWASHER_V1_REMOTE_CYCLE_CONTROL","DISHWASHER_V1_SERVICE"]}}', rsv1=False, rsv2=False, rsv3=False)
[2022-11-09 16:54:58,698][DEBUG](gehomesdk.clients.websocket_client) Received features ['COMMON_V1_CONTROL_LOCK', 'DISHWASHER_V1_CYCLE_SETTINGS_BOTTLE_BLAST_OPTION', 'DISHWASHER_V1_CYCLE_SETTINGS_DELAY_START', 'DISHWASHER_V1_CYCLE_SETTINGS_DRY_TEMP_SELECTION', 'DISHWASHER_V1_CYCLE_SETTINGS_SELECTED_CYCLE', 'DISHWASHER_V1_CYCLE_SETTINGS_STEAM_OPTION', 'DISHWASHER_V1_CYCLE_SETTINGS_WASH_TEMP_SELECTION', 'DISHWASHER_V1_CYCLE_SETTINGS_WASH_ZONE_SELECTION', 'DISHWASHER_V1_FOUNDATION', 'DISHWASHER_V1_REMOTE_CYCLE_CONTROL', 'DISHWASHER_V1_SERVICE'] for 007AD6DD0576

I've tried:

ErdCode.DISHWASHER_CYCLE_NAME
ErdCode.DISHWASHER_CYCLE_STATE
ErdCode.DISHWASHER_OPERATING_MODE
ErdCode.DISHWASHER_USER_SETTING

but they all say they are read only. Any ideas what I should be sending to start the dishwasher?

Thanks.

NickWaterton commented 2 years ago

Ok, I've figured it out.

You are using ErdReadOnlyConverter for ErdCode.DISHWASHER_USER_SETTING, but in actual fact this Erd is read/write..

if I use:

await self.async_set_erd_value(
            appliance,
            ErdCode.DISHWASHER_USER_SETTING,
            mode
        )

I can write the value, I just have to code the value (mode) myself. This is easy enough, and it works.

You may want to change the converter to be read/writefor ErdCode.DISHWASHER_USER_SETTING.

simbaja commented 2 years ago

It also looks like you figured this out, by creating a new command to send! Very nice! I don't have this functionality on mine, I didn't even know it was there!