simbaja / ha_gehome

GE Home Appliances (SmartHQ) for Home Assistant
MIT License
322 stars 75 forks source link

ENHANCEMENT/ERROR FIX REQUEST - GE Cafe Ovens Screen Locks Up when using Timer #123

Open kksligh opened 1 year ago

kksligh commented 1 year ago

I've had this oven working for some time. GE recently rolled out a s/w update that added a timer functionality to the application.

That said, for whatever reason, my oven now locks up the screen when the timer goes off. This makes it impossible to turn off the timer alert and the screen is blank. From my troubleshooting, I can resolve this by removing the Oven from the app and sometimes I have to flip a breaker/turn off the power to get the ringing to stop.

All this is to say, I think there's something happening with the app integration that is causing this. I'd like to add this timer controls to this integration and make sure its not the HA integration causing this issue.

Below is the logs and the steps of me using the timer for both the upper and lower oven. It would awesome if we could add the timer functionality to this integration please!

GE OVEN -- Model Number - CTD70DP2N2S1 -- S/W Number - 1.0.7.13

Steps

-- DEVICE: Upper Oven -- Turn On Timer -- Set Timer for 1 minute -- Bake + Temp 350 -- Press START

2022-11-13 08:14:25,220 DEBUG % sending keepalive ping 2022-11-13 08:14:25,220 DEBUG > PING 16 8f 53 0d [binary, 4 bytes] 2022-11-13 08:14:25,344 DEBUG < PONG 16 8f 53 0d [binary, 4 bytes] 2022-11-13 08:14:25,359 DEBUG < TEXT '{"item":{"applianceId":"D828C9571681","erd":"0x...rId":"52omujphyzg83w2"}' [221 bytes] 2022-11-13 08:14:25,359 DEBUG < TEXT '{"item":{"applianceId":"D828C9571681","erd":"0x...rId":"52omujphyzg83w2"}' [199 bytes] 2022-11-13 08:14:25,360 DEBUG < TEXT '{"item":{"applianceId":"D828C9571681","erd":"0x...rId":"52omujphyzg83w2"}' [197 bytes] 2022-11-13 08:14:25,361 DEBUG < TEXT '{"item":{"applianceId":"D828C9571681","erd":"0x...rId":"52omujphyzg83w2"}' [199 bytes] 2022-11-13 08:14:25,361 DEBUG % received keepalive pong 2022-11-13 08:14:25,362 DEBUG Setting ErdCode.UPPER_OVEN_COOK_MODE to Bake (350°) 2022-11-13 08:14:25,362 DEBUG Appliance state change detected in GeAppliance(D828C9571681) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_COOK_MODE 2022-11-13 08:14:25,362 DEBUG Setting ErdCode.UPPER_OVEN_COOK_TIME_REMAINING to 0:01:00 2022-11-13 08:14:25,363 DEBUG Appliance state change detected in GeAppliance(D828C9571681) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_COOK_TIME_REMAINING 2022-11-13 08:14:25,364 DEBUG Setting ErdCode.UPPER_OVEN_CURRENT_STATE to Preheat 2022-11-13 08:14:25,364 DEBUG Appliance state change detected in GeAppliance(D828C9571681) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_CURRENT_STATE 2022-11-13 08:14:25,365 DEBUG Setting ErdCode.UPPER_OVEN_ELAPSED_COOK_TIME to 0:00:00 2022-11-13 08:14:25,365 DEBUG Appliance state change detected in GeAppliance(D828C9571681) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_ELAPSED_COOK_TIME 2022-11-13 08:14:32,299 DEBUG < TEXT '{"item":{"applianceId":"D828C9571681","erd":"0x...rId":"52omujphyzg83w2"}' [199 bytes] 2022-11-13 08:14:33,988 DEBUG Setting ErdCode.UPPER_OVEN_RAW_TEMPERATURE to 75 2022-11-13 08:14:33,989 DEBUG Appliance state change detected in GeAppliance(D828C9571681) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_RAW_TEMPERATURE 2022-11-13 08:14:35,002 DEBUG Sending keepalive ping 2022-11-13 08:14:35,002 DEBUG > TEXT '{"kind": "websocket#ping", "id": "keepalive-ping", "action": "ping"}' [68 bytes] 2022-11-13 08:14:35,062 DEBUG < TEXT '{"kind":"websocket#pong","id":"keepalive-ping"}' [47 bytes]

Steps

2022-11-13 08:15:24,782 DEBUG < TEXT '{"item":{"applianceId":"D828C9571681","erd":"0x...rId":"52omujphyzg83w2"}' [221 bytes] 2022-11-13 08:15:24,790 DEBUG Setting ErdCode.UPPER_OVEN_COOK_MODE to Off 2022-11-13 08:15:24,794 DEBUG Appliance state change detected in GeAppliance(D828C9571681) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_COOK_MODE 2022-11-13 08:15:25,495 DEBUG % sending keepalive ping 2022-11-13 08:15:25,495 DEBUG > PING ee 57 b7 6d [binary, 4 bytes] 2022-11-13 08:15:25,531 DEBUG < PONG ee 57 b7 6d [binary, 4 bytes] 2022-11-13 08:15:25,532 DEBUG % received keepalive pong 2022-11-13 08:15:25,645 DEBUG < TEXT '{"item":{"applianceId":"D828C9571681","erd":"0x...rId":"52omujphyzg83w2"}' [197 bytes] 2022-11-13 08:15:25,646 DEBUG Setting ErdCode.UPPER_OVEN_CURRENT_STATE to Off 2022-11-13 08:15:25,649 DEBUG Appliance state change detected in GeAppliance(D828C9571681) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_CURRENT_STATE 2022-11-13 08:15:25,745 DEBUG < TEXT '{"item":{"applianceId":"D828C9571681","erd":"0x...rId":"52omujphyzg83w2"}' [199 bytes] 2022-11-13 08:15:25,746 DEBUG Got timespan value of 65535. Treating as None. 2022-11-13 08:15:25,750 DEBUG Setting ErdCode.UPPER_OVEN_ELAPSED_COOK_TIME to None 2022-11-13 08:15:25,754 DEBUG Got timespan value of 65535. Treating as None. 2022-11-13 08:15:25,755 DEBUG Appliance state change detected in GeAppliance(D828C9571681) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_ELAPSED_COOK_TIME 2022-11-13 08:15:25,757 DEBUG < TEXT '{"item":{"applianceId":"D828C9571681","erd":"0x...rId":"52omujphyzg83w2"}' [199 bytes] 2022-11-13 08:15:25,761 DEBUG Setting ErdCode.UPPER_OVEN_COOK_TIME_REMAINING to 0:00:00 2022-11-13 08:15:25,764 DEBUG Appliance state change detected in GeAppliance(D828C9571681) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_COOK_TIME_REMAINING

Steps

-- DEVICE: Lower Oven -- Turn On Timer -- Set Timer for 1 minute -- Bake + Temp 350 -- Press START

2022-11-13 08:18:35,801 DEBUG < TEXT '{"item":{"applianceId":"D828C9571681","erd":"0x...rId":"52omujphyzg83w2"}' [199 bytes] 2022-11-13 08:18:35,802 DEBUG Setting ErdCode.UPPER_OVEN_RAW_TEMPERATURE to 101 2022-11-13 08:18:35,803 DEBUG Appliance state change detected in GeAppliance(D828C9571681) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_RAW_TEMPERATURE 2022-11-13 08:18:43,093 DEBUG % sending keepalive ping 2022-11-13 08:18:43,093 DEBUG > PING 92 3d e1 ed [binary, 4 bytes] 2022-11-13 08:18:43,127 DEBUG < PONG 92 3d e1 ed [binary, 4 bytes] 2022-11-13 08:18:43,128 DEBUG % received keepalive pong 2022-11-13 08:18:49,914 DEBUG < TEXT '{"item":{"applianceId":"D828C9571681","erd":"0x...rId":"52omujphyzg83w2"}' [221 bytes] 2022-11-13 08:18:49,916 DEBUG Setting ErdCode.LOWER_OVEN_COOK_MODE to Bake (350°) 2022-11-13 08:18:49,917 DEBUG Appliance state change detected in GeAppliance(D828C9571681) (ErdApplianceType.OVEN). Updated keys: ErdCode.LOWER_OVEN_COOK_MODE 2022-11-13 08:18:50,727 DEBUG < TEXT '{"item":{"applianceId":"D828C9571681","erd":"0x...rId":"52omujphyzg83w2"}' [197 bytes] 2022-11-13 08:18:50,727 DEBUG < TEXT '{"item":{"applianceId":"D828C9571681","erd":"0x...rId":"52omujphyzg83w2"}' [199 bytes] 2022-11-13 08:18:50,728 DEBUG Setting ErdCode.LOWER_OVEN_CURRENT_STATE to Bake 2022-11-13 08:18:50,729 DEBUG Appliance state change detected in GeAppliance(D828C9571681) (ErdApplianceType.OVEN). Updated keys: ErdCode.LOWER_OVEN_CURRENT_STATE 2022-11-13 08:18:50,730 DEBUG Setting ErdCode.LOWER_OVEN_ELAPSED_COOK_TIME to 0:00:00 2022-11-13 08:18:50,730 DEBUG Appliance state change detected in GeAppliance(D828C9571681) (ErdApplianceType.OVEN). Updated keys: ErdCode.LOWER_OVEN_ELAPSED_COOK_TIME 2022-11-13 08:18:50,760 DEBUG < TEXT '{"item":{"applianceId":"D828C9571681","erd":"0x...rId":"52omujphyzg83w2"}' [197 bytes] 2022-11-13 08:18:50,761 DEBUG Setting ErdCode.LOWER_OVEN_CURRENT_STATE to Preheat 2022-11-13 08:18:50,762 DEBUG Appliance state change detected in GeAppliance(D828C9571681) (ErdApplianceType.OVEN). Updated keys: ErdCode.LOWER_OVEN_CURRENT_STATE 2022-11-13 08:18:50,763 DEBUG < TEXT '{"item":{"applianceId":"D828C9571681","erd":"0x...rId":"52omujphyzg83w2"}' [199 bytes] 2022-11-13 08:18:50,763 DEBUG Setting ErdCode.LOWER_OVEN_COOK_TIME_REMAINING to 0:01:00 2022-11-13 08:18:50,765 DEBUG Appliance state change detected in GeAppliance(D828C9571681) (ErdApplianceType.OVEN). Updated keys: ErdCode.LOWER_OVEN_COOK_TIME_REMAINING 2022-11-13 08:18:53,087 DEBUG Sending keepalive ping 2022-11-13 08:18:53,088 DEBUG > TEXT '{"kind": "websocket#ping", "id": "keepalive-ping", "action": "ping"}' [68 bytes] 2022-11-13 08:18:53,136 DEBUG < TEXT '{"kind":"websocket#pong","id":"keepalive-ping"}' [47 bytes]

Steps

2022-11-13 08:19:33,944 DEBUG Setting ErdCode.UPPER_OVEN_RAW_TEMPERATURE to 103 2022-11-13 08:19:33,944 DEBUG Appliance state change detected in GeAppliance(D828C9571681) (ErdApplianceType.OVEN). Updated keys: ErdCode.UPPER_OVEN_RAW_TEMPERATURE 2022-11-13 08:19:43,980 DEBUG < TEXT '{"item":{"applianceId":"D828C9571681","erd":"0x...rId":"52omujphyzg83w2"}' [199 bytes] 2022-11-13 08:19:43,980 DEBUG < TEXT '{"item":{"applianceId":"D828C9571681","erd":"0x...rId":"52omujphyzg83w2"}' [199 bytes] 2022-11-13 08:19:43,980 DEBUG < TEXT '{"item":{"applianceId":"D828C9571681","erd":"0x...rId":"52omujphyzg83w2"}' [221 bytes] 2022-11-13 08:19:43,980 DEBUG < TEXT '{"item":{"applianceId":"D828C9571681","erd":"0x...rId":"52omujphyzg83w2"}' [197 bytes] 2022-11-13 08:19:43,980 DEBUG Setting ErdCode.LOWER_OVEN_COOK_TIME_REMAINING to 0:00:00 2022-11-13 08:19:43,980 DEBUG Appliance state change detected in GeAppliance(D828C9571681) (ErdApplianceType.OVEN). Updated keys: ErdCode.LOWER_OVEN_COOK_TIME_REMAINING 2022-11-13 08:19:43,980 DEBUG Got timespan value of 65535. Treating as None. 2022-11-13 08:19:43,980 DEBUG Setting ErdCode.LOWER_OVEN_ELAPSED_COOK_TIME to None 2022-11-13 08:19:43,980 DEBUG Got timespan value of 65535. Treating as None. 2022-11-13 08:19:43,980 DEBUG Appliance state change detected in GeAppliance(D828C9571681) (ErdApplianceType.OVEN). Updated keys: ErdCode.LOWER_OVEN_ELAPSED_COOK_TIME 2022-11-13 08:19:43,980 DEBUG Setting ErdCode.LOWER_OVEN_COOK_MODE to Off 2022-11-13 08:19:43,980 DEBUG Appliance state change detected in GeAppliance(D828C9571681) (ErdApplianceType.OVEN). Updated keys: ErdCode.LOWER_OVEN_COOK_MODE 2022-11-13 08:19:43,980 DEBUG Setting ErdCode.LOWER_OVEN_CURRENT_STATE to Off 2022-11-13 08:19:43,980 DEBUG Appliance state change detected in GeAppliance(D828C9571681) (ErdApplianceType.OVEN). Updated keys: ErdCode.LOWER_OVEN_CURRENT_STATE 2022-11-13 08:19:46,153 DEBUG % sending keepalive ping 2022-11-13 08:19:46,153 DEBUG > PING 6f 04 38 c5 [binary, 4 bytes] 2022-11-13 08:19:46,176 DEBUG < PONG 6f 04 38 c5 [binary, 4 bytes] 2022-11-13 08:19:46,188 DEBUG % received keepalive pong

simbaja commented 1 year ago

I'm a little confused by the above, can you help me understand? You're saying that if you have the oven added to SmartHQ it now causes you to be unable to turn off the timer? Have you tried disabling this integration to confirm that it is the issue? If, after disabling, the issue persists, it would seem that there's an issue with the firmware that was updated on your oven and you may need to reach out to GE.

As for the timer, this is already in the integration, you'd use the set timer command (example automation below):

service: ge_home.set_timer target: entity_id: "{{ timer_entity }}" data: duration: "{{ states(input_entity) | int }}"

I am successfully using this with my oven. Though, my oven has an issue were I can't turn off the beeping unless I physically hit the button on the oven, which is annoying.

kksligh commented 1 year ago

I'll play with this. But when the timer goes off after going to zero - the screen of the oven has no way to click on anything. When I remove it from the app and this integration it goes back to normal. It's very odd behavior - I know there was a recent s/w update and I haven't had time to test to see if maybe they addressed this bug. I'll let you know