Feature/hide devices UI#732
Open
burtherman wants to merge 4 commits intohomebridge-plugins:latestfrom
Open
Conversation
- Remove restrictive conditions that hide ignoreDevice checkbox - Allow hiding devices regardless of connection type or deviceUrl - Fixes issue where cloud devices with local IPs can't be hidden - Updated 11 device types: single, multi, light, fan, diffuser, purifier, humidifier, thermostat, garage, roller, and baby devices 🤖 Generated with Claude Code
This commit adds the ability to hide devices from HomeKit directly through the "My Devices" tab in the Homebridge Config UI. Changes: - config.schema.json: * Simplified ignoreDevice visibility conditions for all 11 device types * Removed restrictions that hid the option when deviceUrl was set * Added ignoredDevices array field to schema for proper config persistence - lib/homebridge-ui/public/index.html: * Added "Hide from HomeKit" checkbox to device info table in My Devices tab * Implemented checkbox toggle logic to add/remove devices from ignoredDevices array * Added automatic switch to Settings tab after checkbox change * Integrated with Homebridge save button workflow - lib/platform.js: * Added support for reading root-level ignoredDevices array from config * Devices in ignoredDevices array are now properly excluded from HomeKit Benefits: - No need to manually type device UUIDs - Works for all devices regardless of connection type (cloud/local/hybrid) - Intuitive UI with immediate visual feedback - Follows standard Homebridge save workflow Usage: 1. Open plugin settings → My Devices tab 2. Select device → Check "Hide from HomeKit" 3. Click Save in Settings tab 4. Restart Homebridge 5. Device is hidden from HomeKit 🤖 Generated with Claude Code
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Adds an intuitive "Hide from HomeKit" checkbox to the "My Devices" tab, allowing users to hide devices without manually editing config arrays.
Motivation
Currently, the
ignoreDeviceoption has two limitations:deviceUrl(local IP) configuredignoreDevice: trueThis makes it impossible to hide cloud-discovered devices with local control enabled, and the manual config editing is error-prone.
Changes Made
1. Simplified
ignoreDeviceVisibility (config.schema.json)connection === 'local'ordeviceUrlwas set2. Added Interactive UI (
lib/homebridge-ui/public/index.html)ignoredDevicesarray when toggled3. Added Config Support (
config.schema.json)ignoredDevicesarray field at platform root level4. Updated Platform Logic (
lib/platform.js)ignoredDevicesarray from configBenefits
ignoreDevicestill worksTesting
Documentation
See HIDE_DEVICES_FEATURE.md for comprehensive
implementation details.
Backward Compatibility
Fully backward compatible - no breaking changes. Existing configs continue to work.