You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Has anyone gotten speaker code working? I keep getting "This accessory is not currently supported by the Home App"
import Foundation
import HAP
import Logging
fileprivate let logger = Logger(label: "homekit-speaker")
#if os(Linux)
import Dispatch
#endif
var keepRunning = true
// ✅ Fix: Use a global function for signal handling
func stopSignalHandler(_ signal: Int32) {
DispatchQueue.main.async {
logger.info("Shutting down...")
keepRunning = false
}
}
// MARK: - Start HAP Server
do {
// Reset Pairing Storage (Clears stale pairings)
let storageFile = "hap-storage.json"
try? FileManager.default.removeItem(atPath: storageFile)
// Set up persistent storage
let storage = try FileStorage(filename: storageFile)
// Create the HomeKit speaker accessory
let speaker = SimpleSpeaker()
// Initialize the HomeKit device
let device = HAP.Device(
setupCode: "700-70-700",
storage: storage,
accessory: speaker
)
let server = try HAP.Server(device: device, listenPort: 0)
// ✅ Fix: Use a global function for handling signals
signal(SIGINT, stopSignalHandler)
signal(SIGTERM, stopSignalHandler)
print()
print("Scan the following QR code using your iPhone to pair this device:")
print()
print(device.setupQRCode.asText)
print()
// Keep server running
while keepRunning {
RunLoop.current.run(mode: .default, before: Date.distantFuture)
}
try server.stop()
logger.info("Stopped")
Has anyone gotten speaker code working? I keep getting "This accessory is not currently supported by the Home App"
import Foundation
import HAP
import Logging
fileprivate let logger = Logger(label: "homekit-speaker")
#if os(Linux)
import Dispatch
#endif
var keepRunning = true
// ✅ Fix: Use a global function for signal handling
func stopSignalHandler(_ signal: Int32) {
DispatchQueue.main.async {
logger.info("Shutting down...")
keepRunning = false
}
}
// MARK: - HomeKit Speaker Accessory
class SimpleSpeaker: Accessory {
init() {
// Required Characteristic: Mute
let muteCharacteristic = AnyCharacteristic(GenericCharacteristic(
type: .mute,
value: false,
permissions: [.read, .write, .events]
))
}
// MARK: - Start HAP Server
do {
// Reset Pairing Storage (Clears stale pairings)
let storageFile = "hap-storage.json"
try? FileManager.default.removeItem(atPath: storageFile)
} catch {
logger.error("❌ Failed to start HomeKit accessory: (error)")
exit(1)
}
The text was updated successfully, but these errors were encountered: