iOS-only: Apple Home-Lampen reagieren auf Mood-Wechsel parallel
zur direkten Hue-Bridge. Trade-off: HomeKit rate-limited (~10Hz),
für Mood-Switches okay, für Beat-Sync zu langsam.
Was:
- Sources/Core/SmartHome/HomeKitController.swift @Observable +
HMHomeManagerDelegate:
- start(): triggert iOS-HomeKit-Permission-Prompt
- LampAccessory-Indexer extrahiert nur Lightbulb-Services, gruppiert
nach Room
- applyMood schreibt Hue/Saturation/Brightness/PowerState pro
Accessory mit RGB→HSV-Konvertierung (HomeKit-Skala: h 0-360,
s/v 0-100)
- Selected-Lamps in App-Group-UserDefaults
- turnOffSelected() beim Player-Close
- Sources/Features/Settings/HomeKitSettingsView.swift: Permission-State-
Anzeige + Lamps gruppiert nach Room mit Multi-Select-Toggle
- SettingsView: NavigationLink zu HomeKitSettingsView (iOS-only)
- MoodPlayerView: pushToHomeKit() + turnOffHomeLights() parallel zu Hue
- project.yml: NSHomeKitUsageDescription + NSLocalNetworkUsageDescription
in Info.plist, com.apple.developer.homekit-Entitlement
(Apple-Dev-Portal-Capability-Aktivierung steht noch aus)
primaryHome → homes.first weil iOS-16.1-Deprecation.
Build iOS+macOS grün, 18/18 Tests grün.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
25 lines
731 B
XML
25 lines
731 B
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>com.apple.developer.associated-domains</key>
|
|
<array>
|
|
<string>applinks:moodlit.mana.how</string>
|
|
<string>webcredentials:moodlit.mana.how</string>
|
|
</array>
|
|
<key>com.apple.developer.homekit</key>
|
|
<true/>
|
|
<key>com.apple.security.app-sandbox</key>
|
|
<true/>
|
|
<key>com.apple.security.application-groups</key>
|
|
<array>
|
|
<string>group.ev.mana.moodlit</string>
|
|
</array>
|
|
<key>com.apple.security.network.client</key>
|
|
<true/>
|
|
<key>keychain-access-groups</key>
|
|
<array>
|
|
<string>$(AppIdentifierPrefix)ev.mana.session</string>
|
|
</array>
|
|
</dict>
|
|
</plist>
|