Comments (14)
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.
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.
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.
lol no worries at all man. just happy to be able to test some of this. checking now.
from ha_gehome.
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.
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.
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.
The new 0.5.0-dev0 version should bring in the decoded operation mode, let me know what you see.
from ha_gehome.
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.
Same issue on v0.5.0-dev3
from ha_gehome.
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.
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.
was literally trying to do that now. will let you know how it goes. thanks!
from ha_gehome.
@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)
- Can no longer log in HOT 3
- Is Canada supported? HOT 1
- Window AC eco mode HOT 1
- Integration no longer working HOT 2
- GE Cafe Refrigerator CGE29DP2TS1 & Refrigerator Convertiable Drawer Mode HOT 2
- Fisher & Paykel RF605QDAA (Quad Door) Fridge
- turn_on/turn_off methods without setting the proper ClimateEntityFeature
- Could not find appliance in known device list.
- Warning in Home Assistant: gehomesdk.erd.converters.specialized.erd_unit_type_converter HOT 1
- Detected that custom integration 'ge_home' calls async_forward_entry_setup for integration HOT 1
- homeassistant.components.climate - Entity implements HVACMode without setting the proper ClimateEntityFeature
- time_remaining
- Getting: Could not find appliance 0200000E33F1 in known device list. HOT 1
- Remote turn off for Laundry
- GE Window AC - Dry mode not indicated HOT 1
- Integration stuck at initializing and then error since I restarted my server. HOT 10
- Water Filter resets daily usage at 6 pm rather than midnight.
- Invalid Authentication HOT 1
- HA 2024.8.1 & ge_home -> won't initialize
- Integration Causes HA to crash on update from 2024.7 to 2024.8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ha_gehome.