Giter VIP home page Giter VIP logo

Comments (14)

willhayslett avatar willhayslett commented on August 20, 2024

Playing around with the code a little bit and this is the value I'm getting for the current_cook_setting property:

2021-08-20 21:10:39 INFO (MainThread) [custom_components.ge_home.entities.advantium.ge_advantium] self.appliance.get_erd_value = b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
2021-08-20 21:10:39 INFO (MainThread) [custom_components.ge_home.entities.advantium.ge_advantium] self.current_cook_setting = b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

I'd think we need to decode something but these all are null bytes. For kicks I added a check for that specific value (there's got to be a better way - maybe at the SDK level) in the elif block.

action = CookAction.START
        if mode == AdvantiumOperationMode.OFF:
            action = CookAction.STOP
        elif self.current_cook_setting != b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00':
            if self.current_cook_setting.cook_action == CookAction.PAUSE:
                action = CookAction.RESUME
            elif self.current_cook_setting.cook_action in [CookAction.START, CookAction.RESUME]:
                action = CookAction.UPDATED

            #construct the new mode based on the existing mode
            new_cook_mode = self.current_cook_setting
            new_cook_mode.d = randrange(255)
            new_cook_mode.target_temperature = target_temp
            if(setting.target_power_level != 0):
                new_cook_mode.power_level = setting.target_power_level
            new_cook_mode.cook_mode = setting.cook_mode
            new_cook_mode.cook_action = action

            await self.appliance.async_set_erd_value(ErdCode.ADVANTIUM_COOK_SETTING, new_cook_mode)

It removes the error but the async_write_ha_state call eventually fails with the following:

2021-08-20 21:10:22 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/config/custom_components/ge_home/update_coordinator.py", line 267, in on_device_update
    entity.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 412, in async_write_ha_state
    raise RuntimeError(f"Attribute hass is None for {self}")
RuntimeError: Attribute hass is None for <Entity xxxxxxxxx Unit Type: Type 120V Cafe>

from ha_gehome.

willhayslett avatar willhayslett commented on August 20, 2024

Sure enough this is what I get from the sdk:

DEBUG    Setting ErdCode.ADVANTIUM_COOK_SETTING to b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

Full output:

DEBUG    Event triggered: message
DEBUG    Setting ErdCode.MODEL_NUMBER to CSB913P2N2S1
DEBUG    Setting ErdCode.SERIAL_NUMBER to xxxxxxxxxx
DEBUG    Setting ErdCode.TEMPERATURE_UNIT to ErdMeasurementUnits.IMPERIAL
DEBUG    Setting ErdCode.APPLIANCE_TYPE to ErdApplianceType.ADVANTIUM
DEBUG    Setting ErdCode.UNIT_TYPE to ErdUnitType.TYPE_120V_CAFE
DEBUG    Setting 0x0037 to b'\x00'
DEBUG    Setting 0x0039 to b'\x00\x00\x00\x00'
DEBUG    Setting 0x003a to b'\x00\x00\t\t'
DEBUG    Setting 0x003b to b'\x00\x00\x00\x00'
DEBUG    Setting ErdCode.ADVANTIUM_KITCHEN_TIME_REMAINING to 0:00:00
DEBUG    Setting 0x008f to b'\x03\x00'
DEBUG    Setting 0x0090 to b'\xe0\x01\x02\x00'
DEBUG    Setting 0x0092 to b'\x00\x00\x00\x01\x00\x00\x00\x03'
DEBUG    Setting 0x0093 to b'\x00\x05\x00\x01\x00\x00\x01\xfb'
DEBUG    Setting 0x0098 to b'\x00r\x00\x01\x80'
DEBUG    Setting ErdCode.WIFI_MODULE_SW_VERSION to 0.0.2.68
DEBUG    Setting ErdCode.WIFI_MODULE_SW_VERSION_AVAILABLE to 0.0.0.0
DEBUG    Setting ErdCode.APPLIANCE_UPDATING to False
DEBUG    Setting ErdCode.LCD_SW_VERSION to 0.0.9.9
DEBUG    Setting ErdCode.LCD_SW_VERSION_AVAILABLE to 0.0.0.0
DEBUG    Setting ErdCode.LCD_UPDATING to False
DEBUG    Setting ErdCode.END_TONE to ErdEndTone.BEEP
DEBUG    Setting ErdCode.CONVECTION_CONVERSION to False
DEBUG    Setting ErdCode.OVEN_MODE_MIN_MAX_TEMP to OvenRanges(lower=245, upper=450)
DEBUG    Setting ErdCode.UPPER_OVEN_DISPLAY_TEMPERATURE to 164
DEBUG    Setting ErdCode.UPPER_OVEN_REMOTE_ENABLED to True
DEBUG    Setting ErdCode.MICROWAVE_RECIPE_STATUS to b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
DEBUG    Setting ErdCode.ADVANTIUM_REMOTE_COOK_MODE_CONFIG to ErdAdvantiumRemoteCookModeConfig(microwave_staged_time_enable=True, microwave_staged_temp_enable=True, microwave_slow_cook_time_enable=True, microwave_slow_cook_temp_enable=False, precision_cook_time_enable=True, precision_cook_temp_enable=False, precision_cook_staged_time_enable=True, precision_cook_staged_temp_enable=False, precision_cook_custom_time_enable=True, precision_cook_custom_temp_enable=False, precision_cook_custom_upper_heater_enable=True, precision_cook_custom_lower_heater_enable=True, precision_cook_custom_microwave_enable=True, precision_cook_custom_convection_enable=False, warm_enable=True, warm_time_enable=False, warm_temp_enable=True, proof_enable=True, proof_time_enable=False, proof_temp_enable=False, toast_enable=True, toast_time_enable=False, toast_temp_enable=False, steam_clean_time_enable=True, steam_clean_temp_enable=False, convection_bake_enable=True, convection_bake_time_enable=True, convection_bake_temp_enable=True, broil_enable=True, broil_time_enable=False, broil_temp_enable=False, microwave_time_enable=True, microwave_temp_enable=False, microwave_sensor_time_enable=True, microwave_sensor_temp_enable=False, raw_value='0f03474745477774770b0303050000000100000034a40e000fd9060004000000')
DEBUG    Setting ErdCode.ADVANTIUM_COOK_STATUS to ErdAdvantiumCookStatus(cook_action=<CookAction.STOP: 0>, cook_mode=<CookMode.NO_MODE: 0>, termination_reason=<TerminationReason.COOK_TIME_COMPLETE: 1>, preheat_status=<PreheatStatus.NO_PREHEAT: 0>, temperature=0, power_level=10, door_status=<DoorStatus.CLOSED: 1>, sensing_active=<SensingActive.INACTIVE: 0>, cooling_fan_status=<CoolingFanStatus.OFF: 0>, oven_light_status=<OvenLightStatus.OFF: 0>, warm_status=<WarmStatus.OFF: 0>, raw_value='cc00000100000000000a000100000000')
DEBUG    Setting ErdCode.ADVANTIUM_COOK_SETTING to b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
DEBUG    Setting ErdCode.ADVANTIUM_COOK_TIME_REMAINING to 0:00:00
DEBUG    Setting ErdCode.ADVANTIUM_COOK_TIME_ADJUST to 0
DEBUG    Setting ErdCode.ADVANTIUM_PRECISION_VERSION to b'\xd8\x1e\xb1\xd7@\x07\x9at\x82\xc7\x15\xbc_\xadF\xbes\x11q\xfe\xf4@2\xed\xd5\xe9n\x0f\x1d\xbf.\xf7'
DEBUG    Setting ErdCode.ADVANTIUM_UNKNOWN_5406 to b'\xff\xff\x00\x00'
DEBUG    Setting ErdCode.ADVANTIUM_COOK_TIME_MIN_MAX to ErdAdvantiumCookTimeMinMax(is_valid=True, convection_min_time=datetime.timedelta(seconds=60), convection_max_time=datetime.timedelta(seconds=10800), broil_min_time=datetime.timedelta(0), broil_max_time=datetime.timedelta(0), warm_min_time=datetime.timedelta(0), warm_max_time=datetime.timedelta(0), proof_min_time=datetime.timedelta(0), proof_max_time=datetime.timedelta(0), slow_cook_min_time=datetime.timedelta(0), slow_cook_max_time=datetime.timedelta(0), raw_value='003c2a3000000000000000000000000000000000000000000000000000000000')
DEBUG    Setting ErdCode.ADVANTIUM_MICROWAVE_MIN_MAX to ErdAdvantiumMicrowaveMinMax(is_valid=True, min_time=datetime.timedelta(seconds=15), max_time=datetime.timedelta(seconds=360), slow_cook_min_time=datetime.timedelta(seconds=1), slow_cook_max_time=datetime.timedelta(seconds=5940), raw_value='000f016800011734000117340001173400000000000000000000000000000000')
DEBUG    Setting ErdCode.ADVANTIUM_PRECISION_MIN_MAX to ErdAdvantiumPrecisionMinMax(is_valid=True, min_time=datetime.timedelta(0), max_time=datetime.timedelta(seconds=5940), custom_low_min_time=datetime.timedelta(seconds=1), custom_low_max_time=datetime.timedelta(seconds=5940), custom_high_min_time=datetime.timedelta(seconds=1), custom_high_max_time=datetime.timedelta(seconds=5940), raw_value='0001173400011734000117340000000000000000000000000000000000000000')
DEBUG    Setting ErdCode.ADVANTIUM_KITCHEN_TIMER_MIN_MAX to ErdAdvantiumKitchenTimerMinMax(min_time=datetime.timedelta(seconds=1), max_time=datetime.timedelta(seconds=43200), raw_value='0001a8c0')
DEBUG    Setting ErdCode.MICROWAVE_UNKNOWN_5C12 to b'\x03\xcf'
DEBUG    Setting ErdCode.MICROWAVE_REMOTE_ENABLE to False
DEBUG    Setting ErdCode.MICROWAVE_UNKNOWN_5C18 to b'\x00\x00\x00\x00\x00\x00'
DEBUG    Setting 0x600e to b'\x0e\x10'
DEBUG    Setting 0x6020 to b'\x00\x00\x08\x00\x00\x96 \x00\x00\x00\x00\x00\r\x00'
DEBUG    Setting 0xe001 to b'\xe1\x00'
DEBUG    Setting 0xe002 to b'\xe3\x00'
DEBUG    Setting 0xe100 to b'\x00\x01\x04\x00\x00\x05\x00\n\x00\n\x00\x00'
DEBUG    Setting 0xe101 to b'\x00\x00\x01\xd7\x00\x00\x00\x00'
DEBUG    Setting 0xe102 to b'\x00\x00\xf4(\x00\x00\x00\x00'
DEBUG    Setting 0xe103 to b'\x00\x02\x00\x02\x00\x00\x00\x00'
DEBUG    Setting 0xe10f to b'\x00\x08\x00\x08\x00\x00\x00\x00'
DEBUG    Setting 0xe300 to b'\x01\x01\x04\x00\x00\x15\x00\n\x00\n\x00<'
DEBUG    Setting 0xe301 to b'\x00\x00\x01\xd7\x00\x00\x00\x00'
DEBUG    Setting 0xe302 to b'\x00\x00\xf4(\x00\x00\x00\x00'
DEBUG    Setting 0xe303 to b'\x00\x00\x00\x00\x00\x00\x00\x00'
DEBUG    Setting 0xe30f to b'\x00\x00\x00\x00\x00\x00\x00\x00'
DEBUG    Setting 0xe31b to b'\x003\x00<\x01\x9b\x00\x00'
DEBUG    Appliance state change detected in GeAppliance(D828C9572FCF) (ErdApplianceType.ADVANTIUM). Updated keys: ErdCode.MODEL_NUMBER, ErdCode.SERIAL_NUMBER, ErdCode.TEMPERATURE_UNIT, ErdCode.APPLIANCE_TYPE, ErdCode.UNIT_TYPE, 0x0037, 0x0039, 0x003a, 0x003b, ErdCode.ADVANTIUM_KITCHEN_TIME_REMAINING, 0x008f, 0x0090, 0x0092, 0x0093, 0x0098, ErdCode.WIFI_MODULE_SW_VERSION, ErdCode.WIFI_MODULE_SW_VERSION_AVAILABLE, ErdCode.APPLIANCE_UPDATING, ErdCode.LCD_SW_VERSION, ErdCode.LCD_SW_VERSION_AVAILABLE, ErdCode.LCD_UPDATING, ErdCode.END_TONE, ErdCode.CONVECTION_CONVERSION, ErdCode.OVEN_MODE_MIN_MAX_TEMP, ErdCode.UPPER_OVEN_DISPLAY_TEMPERATURE, ErdCode.UPPER_OVEN_REMOTE_ENABLED, ErdCode.MICROWAVE_RECIPE_STATUS, ErdCode.ADVANTIUM_REMOTE_COOK_MODE_CONFIG, ErdCode.ADVANTIUM_COOK_STATUS, ErdCode.ADVANTIUM_COOK_SETTING, ErdCode.ADVANTIUM_COOK_TIME_REMAINING, ErdCode.ADVANTIUM_COOK_TIME_ADJUST, ErdCode.ADVANTIUM_PRECISION_VERSION, ErdCode.ADVANTIUM_UNKNOWN_5406, ErdCode.ADVANTIUM_COOK_TIME_MIN_MAX, ErdCode.ADVANTIUM_MICROWAVE_MIN_MAX, ErdCode.ADVANTIUM_PRECISION_MIN_MAX, ErdCode.ADVANTIUM_KITCHEN_TIMER_MIN_MAX, ErdCode.MICROWAVE_UNKNOWN_5C12, ErdCode.MICROWAVE_REMOTE_ENABLE, ErdCode.MICROWAVE_UNKNOWN_5C18, 0x600e, 0x6020, 0xe001, 0xe002, 0xe100, 0xe101, 0xe102, 0xe103, 0xe10f, 0xe300, 0xe301, 0xe302, 0xe303, 0xe30f, 0xe31b

from ha_gehome.

simbaja avatar simbaja commented on August 20, 2024

Can you try the latest version of the SDK and make sure you get a ErdAdvantiumCookSetting structure instead of raw bytes? This was the last ERD I implemented, and I forgot to go back and switch the placeholder bytes implementation with the real one, oops...

from ha_gehome.

willhayslett avatar willhayslett commented on August 20, 2024

lol no worries at all man. just happy to be able to test some of this. checking now.

from ha_gehome.

willhayslett avatar willhayslett commented on August 20, 2024

Cook setting looks better. Do the other properties just need to be mapped or do we need to call decode_erd_value on them? wondering if there's something I can do to help on my end with this.

DEBUG    Event triggered: message
DEBUG    Setting ErdCode.MODEL_NUMBER to CSB913P2N2S1
DEBUG    Setting ErdCode.SERIAL_NUMBER to xxxxxxxx
DEBUG    Setting ErdCode.TEMPERATURE_UNIT to ErdMeasurementUnits.IMPERIAL
DEBUG    Setting ErdCode.APPLIANCE_TYPE to ErdApplianceType.ADVANTIUM
DEBUG    Setting ErdCode.UNIT_TYPE to ErdUnitType.TYPE_120V_CAFE
DEBUG    Setting 0x0037 to b'\x00'
DEBUG    Setting 0x0039 to b'\x00\x00\x00\x00'
DEBUG    Setting 0x003a to b'\x00\x00\t\t'
DEBUG    Setting 0x003b to b'\x00\x00\x00\x00'
DEBUG    Setting ErdCode.ADVANTIUM_KITCHEN_TIME_REMAINING to 0:00:00
DEBUG    Setting 0x008f to b'\x03\x00'
DEBUG    Setting 0x0090 to b'\xe0\x01\x02\x00'
DEBUG    Setting 0x0092 to b'\x00\x00\x00\x01\x00\x00\x00\x03'
DEBUG    Setting 0x0093 to b'\x00\x05\x00\x01\x00\x00\x01\xfb'
DEBUG    Setting 0x0098 to b'\x00r\x00\x01\x80'
DEBUG    Setting ErdCode.WIFI_MODULE_SW_VERSION to 0.0.2.68
DEBUG    Setting ErdCode.WIFI_MODULE_SW_VERSION_AVAILABLE to 0.0.0.0
DEBUG    Setting ErdCode.APPLIANCE_UPDATING to False
DEBUG    Setting ErdCode.LCD_SW_VERSION to 0.0.9.9
DEBUG    Setting ErdCode.LCD_SW_VERSION_AVAILABLE to 0.0.0.0
DEBUG    Setting ErdCode.LCD_UPDATING to False
DEBUG    Setting ErdCode.END_TONE to ErdEndTone.BEEP
DEBUG    Setting ErdCode.CONVECTION_CONVERSION to False
DEBUG    Setting ErdCode.OVEN_MODE_MIN_MAX_TEMP to OvenRanges(lower=245, upper=450)
DEBUG    Setting ErdCode.UPPER_OVEN_DISPLAY_TEMPERATURE to 140
DEBUG    Setting ErdCode.UPPER_OVEN_REMOTE_ENABLED to True
DEBUG    Setting ErdCode.MICROWAVE_RECIPE_STATUS to b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
DEBUG    Setting ErdCode.ADVANTIUM_REMOTE_COOK_MODE_CONFIG to ErdAdvantiumRemoteCookModeConfig(microwave_staged_time_enable=True, microwave_staged_temp_enable=True, microwave_slow_cook_time_enable=True, microwave_slow_cook_temp_enable=False, precision_cook_time_enable=True, precision_cook_temp_enable=False, precision_cook_staged_time_enable=True, precision_cook_staged_temp_enable=False, precision_cook_custom_time_enable=True, precision_cook_custom_temp_enable=False, precision_cook_custom_upper_heater_enable=True, precision_cook_custom_lower_heater_enable=True, precision_cook_custom_microwave_enable=True, precision_cook_custom_convection_enable=False, warm_enable=True, warm_time_enable=False, warm_temp_enable=True, proof_enable=True, proof_time_enable=False, proof_temp_enable=False, toast_enable=True, toast_time_enable=False, toast_temp_enable=False, steam_clean_time_enable=True, steam_clean_temp_enable=False, convection_bake_enable=True, convection_bake_time_enable=True, convection_bake_temp_enable=True, broil_enable=True, broil_time_enable=False, broil_temp_enable=False, microwave_time_enable=True, microwave_temp_enable=False, microwave_sensor_time_enable=True, microwave_sensor_temp_enable=False, raw_value='0f03474745477774770b0303050000000100000034a40e000fd9060004000000')
DEBUG    Setting ErdCode.ADVANTIUM_COOK_STATUS to ErdAdvantiumCookStatus(cook_action=<CookAction.STOP: 0>, cook_mode=<CookMode.NO_MODE: 0>, termination_reason=<TerminationReason.COOK_TIME_COMPLETE: 1>, preheat_status=<PreheatStatus.NO_PREHEAT: 0>, temperature=0, power_level=10, door_status=<DoorStatus.CLOSED: 1>, sensing_active=<SensingActive.INACTIVE: 0>, cooling_fan_status=<CoolingFanStatus.OFF: 0>, oven_light_status=<OvenLightStatus.OFF: 0>, warm_status=<WarmStatus.OFF: 0>, raw_value='cc00000100000000000a000100000000')
DEBUG    Setting ErdCode.ADVANTIUM_COOK_SETTING to ErdAdvantiumCookSetting(d=0, cook_action=<CookAction.STOP: 0>, cook_mode=<CookMode.NO_MODE: 0>, target_temperature=0, h=0, i=0, power_level=0, k=0, cook_time_remaining=datetime.timedelta(0), m=0, n=0, o=0, p=0, q=0, r=0, s=0, warm_status=<WarmStatus.OFF: 0>, raw_value='00000000000000000000000000000000000000')
DEBUG    Setting ErdCode.ADVANTIUM_COOK_TIME_REMAINING to 0:00:00
DEBUG    Setting ErdCode.ADVANTIUM_COOK_TIME_ADJUST to 0
DEBUG    Setting ErdCode.ADVANTIUM_PRECISION_VERSION to b'\xd8\x1e\xb1\xd7@\x07\x9at\x82\xc7\x15\xbc_\xadF\xbes\x11q\xfe\xf4@2\xed\xd5\xe9n\x0f\x1d\xbf.\xf7'
DEBUG    Setting ErdCode.ADVANTIUM_UNKNOWN_5406 to b'\xff\xff\x00\x00'
DEBUG    Setting ErdCode.ADVANTIUM_COOK_TIME_MIN_MAX to ErdAdvantiumCookTimeMinMax(is_valid=True, convection_min_time=datetime.timedelta(seconds=60), convection_max_time=datetime.timedelta(seconds=10800), broil_min_time=datetime.timedelta(0), broil_max_time=datetime.timedelta(0), warm_min_time=datetime.timedelta(0), warm_max_time=datetime.timedelta(0), proof_min_time=datetime.timedelta(0), proof_max_time=datetime.timedelta(0), slow_cook_min_time=datetime.timedelta(0), slow_cook_max_time=datetime.timedelta(0), raw_value='003c2a3000000000000000000000000000000000000000000000000000000000')
DEBUG    Setting ErdCode.ADVANTIUM_MICROWAVE_MIN_MAX to ErdAdvantiumMicrowaveMinMax(is_valid=True, min_time=datetime.timedelta(seconds=15), max_time=datetime.timedelta(seconds=360), slow_cook_min_time=datetime.timedelta(seconds=1), slow_cook_max_time=datetime.timedelta(seconds=5940), raw_value='000f016800011734000117340001173400000000000000000000000000000000')
DEBUG    Setting ErdCode.ADVANTIUM_PRECISION_MIN_MAX to ErdAdvantiumPrecisionMinMax(is_valid=True, min_time=datetime.timedelta(0), max_time=datetime.timedelta(seconds=5940), custom_low_min_time=datetime.timedelta(seconds=1), custom_low_max_time=datetime.timedelta(seconds=5940), custom_high_min_time=datetime.timedelta(seconds=1), custom_high_max_time=datetime.timedelta(seconds=5940), raw_value='0001173400011734000117340000000000000000000000000000000000000000')
DEBUG    Setting ErdCode.ADVANTIUM_KITCHEN_TIMER_MIN_MAX to ErdAdvantiumKitchenTimerMinMax(min_time=datetime.timedelta(seconds=1), max_time=datetime.timedelta(seconds=43200), raw_value='0001a8c0')
DEBUG    Setting ErdCode.MICROWAVE_UNKNOWN_5C12 to b'\x03\xcf'
DEBUG    Setting ErdCode.MICROWAVE_REMOTE_ENABLE to True
DEBUG    Setting ErdCode.MICROWAVE_UNKNOWN_5C18 to b'\x00\x00\x00\x00\x00\x00'
DEBUG    Setting 0x600e to b'\x0e\x10'
DEBUG    Setting 0x6020 to b'\x00\x00\x08\x00\x00\x96 \x00\x00\x00\x00\x00\r\x00'
DEBUG    Setting 0xe001 to b'\xe1\x00'
DEBUG    Setting 0xe002 to b'\xe3\x00'
DEBUG    Setting 0xe100 to b'\x00\x01\x04\x00\x00\x05\x00\n\x00\n\x00\x00'
DEBUG    Setting 0xe101 to b'\x00\x00\x01\xd9\x00\x00\x00\x00'
DEBUG    Setting 0xe102 to b'\x00\x00\xf4\xdc\x00\x00\x00\x00'
DEBUG    Setting 0xe103 to b'\x00\x02\x00\x02\x00\x00\x00\x00'
DEBUG    Setting 0xe10f to b'\x00\x08\x00\x08\x00\x00\x00\x00'
DEBUG    Setting 0xe300 to b'\x01\x01\x04\x00\x00\x15\x00\n\x00\n\x00<'
DEBUG    Setting 0xe301 to b'\x00\x00\x01\xd9\x00\x00\x00\x00'
DEBUG    Setting 0xe302 to b'\x00\x00\xf4\xdc\x00\x00\x00\x00'
DEBUG    Setting 0xe303 to b'\x00\x00\x00\x00\x00\x00\x00\x00'
DEBUG    Setting 0xe30f to b'\x00\x00\x00\x00\x00\x00\x00\x00'
DEBUG    Setting 0xe31b to b'\x005\x00<\x01\x9d\x00\x00'
DEBUG    Appliance state change detected in GeAppliance(D828C9572FCF) (ErdApplianceType.ADVANTIUM). Updated keys: ErdCode.MODEL_NUMBER, ErdCode.SERIAL_NUMBER, ErdCode.TEMPERATURE_UNIT, ErdCode.APPLIANCE_TYPE, ErdCode.UNIT_TYPE, 0x0037, 0x0039, 0x003a, 0x003b, ErdCode.ADVANTIUM_KITCHEN_TIME_REMAINING, 0x008f, 0x0090, 0x0092, 0x0093, 0x0098, ErdCode.WIFI_MODULE_SW_VERSION, ErdCode.WIFI_MODULE_SW_VERSION_AVAILABLE, ErdCode.APPLIANCE_UPDATING, ErdCode.LCD_SW_VERSION, ErdCode.LCD_SW_VERSION_AVAILABLE, ErdCode.LCD_UPDATING, ErdCode.END_TONE, ErdCode.CONVECTION_CONVERSION, ErdCode.OVEN_MODE_MIN_MAX_TEMP, ErdCode.UPPER_OVEN_DISPLAY_TEMPERATURE, ErdCode.UPPER_OVEN_REMOTE_ENABLED, ErdCode.MICROWAVE_RECIPE_STATUS, ErdCode.ADVANTIUM_REMOTE_COOK_MODE_CONFIG, ErdCode.ADVANTIUM_COOK_STATUS, ErdCode.ADVANTIUM_COOK_SETTING, ErdCode.ADVANTIUM_COOK_TIME_REMAINING, ErdCode.ADVANTIUM_COOK_TIME_ADJUST, ErdCode.ADVANTIUM_PRECISION_VERSION, ErdCode.ADVANTIUM_UNKNOWN_5406, ErdCode.ADVANTIUM_COOK_TIME_MIN_MAX, ErdCode.ADVANTIUM_MICROWAVE_MIN_MAX, ErdCode.ADVANTIUM_PRECISION_MIN_MAX, ErdCode.ADVANTIUM_KITCHEN_TIMER_MIN_MAX, ErdCode.MICROWAVE_UNKNOWN_5C12, ErdCode.MICROWAVE_REMOTE_ENABLE, ErdCode.MICROWAVE_UNKNOWN_5C18, 0x600e, 0x6020, 0xe001, 0xe002, 0xe100, 0xe101, 0xe102, 0xe103, 0xe10f, 0xe300, 0xe301, 0xe302, 0xe303, 0xe30f, 0xe31b

from ha_gehome.

simbaja avatar simbaja commented on August 20, 2024

I couldn't figure out what they did, so I just left them as pass-throughs. If you can play around with the Advantium and log what changes, that would be helpful. Unfortunately, nothing is documented, so it's a lot of guesswork (and reverse engineering of obfuscated code in some cases when really stuck).

from ha_gehome.

willhayslett avatar willhayslett commented on August 20, 2024

Ok cool. Let me see what I can do. I've only used Python for simple scripting so debugging has offered a bit of a learning curve. Will play around with this and hopefully come up with something useful.

from ha_gehome.

simbaja avatar simbaja commented on August 20, 2024

The new 0.5.0-dev0 version should bring in the decoded operation mode, let me know what you see.

from ha_gehome.

willhayslett avatar willhayslett commented on August 20, 2024

hi @simbaja - sorry for the delay. I pulled in 0.5.0-dev0 and now all of the entity states are reporting unavailable. I can see the states fine in the logs but for whatever reason they aren't making it to HA.

There's an attribute on each entity, supported_features, and its value is 0 for all of them. Wondering if it's related? Again, the logs looks fine but let me know if you need to see any.

from ha_gehome.

willhayslett avatar willhayslett commented on August 20, 2024

Same issue on v0.5.0-dev3

from ha_gehome.

willhayslett avatar willhayslett commented on August 20, 2024

Disregard... this has got to be something on my end. Reverted back to 0.4.3-dev7 and I'm still seeing the issue.

from ha_gehome.

simbaja avatar simbaja commented on August 20, 2024

You might want to uninstall/reinstall instead of trying to upgrade. I'm still trying to sort out how HACS does its upgrades, but it looks like there may be an issue with duplication when it attempts it.

from ha_gehome.

willhayslett avatar willhayslett commented on August 20, 2024

was literally trying to do that now. will let you know how it goes. thanks!

from ha_gehome.

simbaja avatar simbaja commented on August 20, 2024

@willhayslett, have you had a chance to look into this? Just coming back to finish the Advantium support if possible in 0.6.x

from ha_gehome.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.