This repository was archived by the owner on Dec 25, 2025. It is now read-only.
Rnage Hood Support#11
Open
casey-a-barber wants to merge 385 commits into
Open
Conversation
- modified climate control to turn on the A/C unit when setting modes - added async on/off methods to climate
- import cleanup
- added initial split ac climate entity support
- added icon for climate entities
- fixed some iconography
- updated SDK version to resolve a few issues
v0.4.3 Dev -> Master
- documentation updates - version bump
- version bump
- restructured appliance type mapper
… 'unit_type') and add 240V Cafe standalone to enum in library (#333) * v0.6.13 (#299) * Fix Advantium 'unit_type' error. Fix "AttributeError: 'GeAdvantium' object has no attribute 'unit_type'" error, by using the personality to determine unit_type. * Add Advantium 240v Cafe standalone to 240v check. Requires update from gehome library (pull request submitted there to account for this model). --------- Co-authored-by: simbaja <59273948+simbaja@users.noreply.github.com> Co-authored-by: Jack Simbach <jack.simbach@gmail.com>
- switched to date-based versioning
* - cleanup * - additional exception handling (attempt to fix #356) * - added boost/active modes to water heater
…stringprep warning (#385) * Silence stringprep warning On systems without cython installed the underlying slixmpp library logs a frequent performance warning about stringprep. This warning is not actionable for most users and creates unnecessary noise in the logs. This change silences the warning by setting the specific logger's level to ERROR, preventing the message from appearing without affecting functionality. * Add native switch for refrigerator K-Cup hot water This adds a new switch entity to control the K-Cup/hot water brewing feature on compatible GE fridges. This change makes it a native switch that is automatically discovered, providing a user-friendly experience directly on the device card. The new switch is only created for devices that report having the hot water feature, so it shouldn't affect users with other appliance models. * washer toggle attempt The idea if it works is that this will create a switch that monitors the status of the machine. OFF is unit is off, -and- ON is when its in RPP delay status. When it's ON it can be selected to start the cycle. Very basic attempt here that needs tested to refine. * Update __init__.py Forgot to push the line. * Full implementation of RPP control switches This adds RPP control switches to washers and dryers with remote delay functionality. Device must be in the remote delay mode for the button to be available -and- for a press event to work. * dryer.py update Adding to have the button exactly as the washer. * Additional model support Some models do not report "Delay Run" as a status code. Changes made that permit support for more models.
- updated documentation of changes - updated version
* Handle Dual ERD controls for water heaters * Handle Dual ERD controls for water heaters --------- Co-authored-by: mitchjust <mitchjust@canva.com>
* Add heat mode for Window ACs that support it * bug fixes * redundant
…initialization of all other valid/supported devices (#422) * Resolves issue where a single invalid/unsupported blocks the initialization of all valid/supported devices. * Fix return type of _is_appliance_valid method
Also, sync up with heat-related updates to gehomesdk - REQUIRES gehomesdk 2025.6.0.
* Updates for Monogram Advantium Speed Oven * Removed some debug not required anymore. * Implement sw_version property in AdvantiumApi Add a property to retrieve software version information. * Refactor temperature handling and cook settings
- 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
* 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>
* 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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Would it be possible to add support for range hoods? The particular one I have is a UVC9360SL1SS.