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>
68 lines
2.3 KiB
Text
68 lines
2.3 KiB
Text
<?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>CFBundleDevelopmentRegion</key>
|
|
<string>de</string>
|
|
<key>CFBundleDisplayName</key>
|
|
<string>Moodlit</string>
|
|
<key>CFBundleExecutable</key>
|
|
<string>$(EXECUTABLE_NAME)</string>
|
|
<key>CFBundleIconName</key>
|
|
<string>AppIcon</string>
|
|
<key>CFBundleIdentifier</key>
|
|
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
|
<key>CFBundleInfoDictionaryVersion</key>
|
|
<string>6.0</string>
|
|
<key>CFBundleName</key>
|
|
<string>$(PRODUCT_NAME)</string>
|
|
<key>CFBundlePackageType</key>
|
|
<string>APPL</string>
|
|
<key>CFBundleShortVersionString</key>
|
|
<string>0.1.0</string>
|
|
<key>CFBundleURLTypes</key>
|
|
<array>
|
|
<dict>
|
|
<key>CFBundleURLName</key>
|
|
<string>ev.mana.moodlit</string>
|
|
<key>CFBundleURLSchemes</key>
|
|
<array>
|
|
<string>moodlit</string>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
<key>CFBundleVersion</key>
|
|
<string>1</string>
|
|
<key>ITSAppUsesNonExemptEncryption</key>
|
|
<false/>
|
|
<key>LSApplicationCategoryType</key>
|
|
<string>public.app-category.lifestyle</string>
|
|
<key>NSHomeKitUsageDescription</key>
|
|
<string>Moodlit kann deine HomeKit-Lampen passend zum gewählten Mood einfärben — nur die Lampen, die du explizit in den Moodlit-Einstellungen auswählst. Standortdaten werden nicht gelesen.</string>
|
|
<key>NSLocalNetworkUsageDescription</key>
|
|
<string>Moodlit findet deine Philips Hue Bridge im lokalen Netzwerk, um Lampen direkt anzusteuern (ohne Cloud-Roundtrip).</string>
|
|
<key>UILaunchScreen</key>
|
|
<dict/>
|
|
<key>UIRequiresFullScreen</key>
|
|
<false/>
|
|
<key>UIStatusBarStyle</key>
|
|
<string>UIStatusBarStyleLightContent</string>
|
|
<key>UISupportedInterfaceOrientations</key>
|
|
<array>
|
|
<string>UIInterfaceOrientationPortrait</string>
|
|
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
</array>
|
|
<key>UISupportedInterfaceOrientations~ipad</key>
|
|
<array>
|
|
<string>UIInterfaceOrientationPortrait</string>
|
|
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
|
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
</array>
|
|
<key>com.apple.developer.associated-domains</key>
|
|
<array>
|
|
<string>applinks:moodlit.mana.how</string>
|
|
</array>
|
|
</dict>
|
|
</plist>
|