Tags: simbaja/ha_gehome
Tags
2026.5.x -> Master (#525) * Restore appliance availability on state update (#495) * Fix oven off mode to use HA's STATE_OFF constant (#485) OP_MODE_OFF was set to "Off" (capitalized) but Home Assistant's STATE_OFF constant is "off" (lowercase). This mismatch causes the HomeKit Bridge to not recognize the off state when checking STATE_OFF in operation_list, preventing the Off toggle from appearing in HomeKit for oven entities. All internal comparisons use the OP_MODE_OFF constant so this change is safe — the string is never sent to the appliance (only the ErdOvenCookMode enum is). Co-authored-by: Jon Gordner <jgordner@Family-MacBook-Pro.local> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Allow eco mode access for non-heating split ACs (#474) * Allow support for energy saver on split ac without heating * has_energy_saver not valid test... assume energy save always present * Avoid returning None for oven target_temperature (#457) When the oven is off, current_cook_setting.temperature may be None. This causes target_temperature to return None, which breaks downstream consumers that expect a numeric value (e.g. Google Assistant device state serialization). Return a valid numeric temperature instead of None so the oven entity always exposes a stable target_temperature value. This prevents Google Assistant queries from failing with: TypeError: float() argument must be a string or a real number, not 'NoneType' * - fixed the typing issue in target_temperature * - refactored common cooktop logic to apply to cooktop and oven devices * - added cooktop specific entities * - added kitchen timer to cooktop - added gas cooktop to known device mapping * - requirements/version bump * - added kitchen timer numbers (in minutes) * - tightened device/state class for sensors - fixed issue where dehumidifier sensors should have been binary sensors * - tightened typing for binary sensor device class * Ignore non-printable serial numbers and fall back to MAC as unique device identifier (#502) * - updated gehomesdk dependency * - documentation updates * - added quiet/turbo mode (resolves #397) - added some potential support for dishwasher delay start for some models (see #434) * - documentation update * - updated manifest to increment gehomesdk dependency - updated config flow to expose the mfa/terms errors - added resource usage sensors to the base appliance (resolves #335, #492) * - updated documentation * - changed to pin specific SDK version * Honour metric measurement system for Fisher & Paykel oven temperatures (#509) Metric-market Fisher & Paykel ovens report raw ERD temperatures in Celsius, but the integration hard-codes Fahrenheit and lets Home Assistant convert, double-converting (a real 241C shows as 116C; idle sensors read -17.78C). #248 confirms the F&P raw-temperature ERD is already Celsius. GE appliances, by contrast, always transmit Fahrenheit and can report METRIC while still sending Fahrenheit (#54, simbaja/gehome#21), so the unit ERD cannot be trusted globally. Trust it only for F&P-branded ovens, leaving every GE appliance on the historical behaviour: - base.py: expose the resolved brand as an ErdBrand (brand_id, factored out of the existing brand property) plus an is_fisher_paykel helper. - ge_oven.py: the oven water_heater temperature_unit returns Celsius only when the appliance is F&P and reports METRIC. - ge_oven_sensor.py (new): GeOvenErdTemperatureSensor reports Celsius for the oven's diagnostic temperature sensors under the same condition. The shared GeErdSensor._get_uom() is left untouched. - const.py: map VENT_BAKE so the oven operation no longer falls through to Unknown. Fixes #496 Co-authored-by: simbaja <59273948+simbaja@users.noreply.github.com> * Update hood controls for better UX in HomeAssistant and Apple Home UI (#507) * Add native hood HomeKit entities * Infer GE brand for UVC hood models * Document hood HomeKit entities * - refactoring of hood light and fan code * - version bump - documentation updates * - reverted #509 leaving just the brand framework --------- Co-authored-by: Eli Bosley <11823237+elibosley@users.noreply.github.com> Co-authored-by: Jon Gordner <jgordner@users.noreply.github.com> Co-authored-by: Jon Gordner <jgordner@Family-MacBook-Pro.local> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Jacob Myers <76993396+Jyers@users.noreply.github.com> Co-authored-by: bxthomas <bxthomas@gmail.com> Co-authored-by: Ben Hamilton (Ben Gertzfield) <bhamiltoncx@gmail.com> Co-authored-by: Jack McIntyre <jack@jackmcintyre.net> Co-authored-by: Federico Holgado <fholgado@gmail.com>
2026.2.0 (#468) * Cooktop Sensor - fixes #440 (#454) * add cooktop binary sensor * fix: use the GeCooktopStatusBinarySensor * fix: aggregate burner status * fix: prioritize reading ErdCode.COOKTOP_STATUS_EXT * fix: indentation * Change mode names for Haier water heaters (#442) * change mode names for Haier water heaters * adapt to spelling mistake in gehomesdk (erd_brand.py) * Add 'DRY' mode to HVAC options and mappings (#441) Adds dry mode to window ACs * Add GeWasherCycleButton to WasherDryerApi (#462) Added the capability to Remote Start WasherDryer Combos, using the existing Washer button entity * Fix: Persist ApplianceApis on reconnect to prevent duplicate entities (#464) This commit addresses an issue where GE Home entities would stop updating and generate 'Unique ID already exists' errors after a network disconnection. Root Cause: Previously, the integration cleared its internal device list upon any connection drop. When the client reconnected, new device objects were created, but existing Home Assistant entities remained linked to the old (destroyed) objects. This caused orphans and unique ID conflicts. Fix: - Modified _reset_sync_state() to PRESERVE the device list on disconnect, allowing existing entities to reconnect. - Moved the device list clearing to async_reset() for proper cleanup on unload. - Updated _async_remove_stale_devices to prune stale devices by cross-referencing against the authoritative cloud roster, preventing 'zombie' devices. Verification: Verified using a standalone reproduction script with mocked components. The simulation confirmed that device objects persist across reconnections and stale devices are correctly removed. * Add DishDrawer User Setting wifi_enabled (read only) (#463) * add wifi_enabled The erd for remote command availability does not appear to be used as it is always available. Remote start is enabled by a button on each drawer. * Update dual_dishwasher.py * import GeErdPropertyBinarySensor * Update dual_dishwasher.py * Update dual_dishwasher.py * Update dual_dishwasher.py * Update dual_dishwasher.py * Update dual_dishwasher.py * Update dual_dishwasher.py * Update ge_erd_property_binary_sensor.py * Update ge_erd_property_binary_sensor.py * Update ge_erd_property_binary_sensor.py * fix import GeErdPropertyBinarySensor * - bumped the version - fixed an issue with the cooktop status binary sensor * - made LAUNDRY_MACHINE_STATE diagnostic on all appliances (resolves #447) * - updated documentation --------- Co-authored-by: Eric Levicky <ericlevicky@gmail.com> Co-authored-by: Dan1l1 <Daniel.Magg@gmx.net> Co-authored-by: PCPSHA <antenna.58-lampoon@icloud.com> Co-authored-by: andyjohnschneider <andyjohnschneider@gmail.com> Co-authored-by: Tan Vachiramon <tanvach@users.noreply.github.com> Co-authored-by: sgraystar <49742396+sgraystar@users.noreply.github.com>
v2025.11.0 (#432) - removed slixmpp dependency - pylance cleanup of issues - updated advantium for new enum names - fixed ac climate initialization - added support for new-style hood fan/light (e.g. Haier) - improved debugging for coordinator - updated library dependency and HA version - code refactoring to improve reliability - added stale device/entity removal - changed device identifier to mac address - added brand inference for devices - cached certain device properties that shouldn't change - forced oven temperature_unit for ovens to be fahrenheit - added dishwasher remote start command button - added entity categorization
PreviousNext