Communicate with, configure, and control home automation accessories using HomeKit.

HomeKit Documentation

Posts under HomeKit tag

53 Posts
Sort by:
Post not yet marked as solved
1 Replies
802 Views
Hello fellow developers, I am in the process of developing an iOS application that support the Matter Framework. My goal is to enable user to commission their Matter-enabled device to a fabric and control them through the fabric. However, I stumbled upon a few questions and areas that I would greatly appreciate guidance on: Commission Process What is the recommended steps to successfully commission a Matter-enabled device? Using the Matter API I have reviewed the provided sample app in the CHIP repo. However, I find it a bit complex to understand fully (background context: I am a junior developer and have never work on iOS development before). I replicated the app using Swift since the sample is written in ObjC but often times got stuck on [connection] nw_read_request_report [C1] Receive failed with error "Operation timed out" log. How to effectively use the Matter API to handle commissioning, device control and other interactions with Matter-enabled devices? Keypair generation I have noticed that the framework doesn't provide an API with the keypair generation (correct me if I am wrong). What is the best practice or resources for handling the keypair generation within the Matter context? Matter Support vs Matter framework I need clarification on the roles of these two framework. From my understanding, MatterSupport adds Matter devices into my ecosystem(?) while Matter framework handles the commission and control in the Matter fabric. And we can use the Matter framework within the MatterSupport using the request handler to commission Matter-enabled device.
Posted
by
Post not yet marked as solved
1 Replies
553 Views
We are building a matter wifi thermostat. The device is working well with Google and Alexa. However, when add the device thru iOS Home App, the home app always show room temperature 0.0c. When working with Google Home, the room temperature can show correctly. Is there any problem with iOS Home App with Matter WiFi Thermostat?
Posted
by
Post not yet marked as solved
1 Replies
348 Views
Hi there, I have set in Homekit for camera to send notifications ONLY IF PERSON IS DETECTED. I receive notifications all the time, even if person not detected, like "camera has detected motion" .... This is bug for 3 years.
Posted
by
Post not yet marked as solved
0 Replies
622 Views
Our smart home app is integrating Matter as a way to add devices to the user's home. The implementation is pretty standard, here is the main part: Code var setupPayload: MTRSetupPayload? if let onboardingPayload = onboardingPayload { setupPayload = try MTRSetupPayload(onboardingPayload: onboardingPayload) } let topology = MatterAddDeviceRequest.Topology( ecosystemName: ecosystemName, homes: [MatterAddDeviceRequest.Home(displayName: homeDisplayName)]) let request = MatterAddDeviceRequest(topology: topology, setupPayload: setupPayload) do { try await request.perform() print("Success") } catch { print("Failure") } Issue If the user decides to press the close button on the UI, the iOS treats it as a success. This use case messes with our flow as we have different paths in the app for success and failures. I would normally expect that if the user cancels something there is a callback that enables the developers to handle it properly. I've researched a lot on this topic but unfortunately I wasn't able to find anything helpful. Any advice on how to resolve this is much appreciated. Thanks in advance P.S. Yes we have implemented the MatterRequestExtension and all the handlers, the commissioning part works fine, we are able to add a Matter device and control it with our app, this issue happens before scanning the QR code.
Posted
by
Post not yet marked as solved
0 Replies
401 Views
Hello everybody. I've got esp-homekit-sdk from Espressif and I built the example "lightbulb". It works fine. I can change led status from may Home App. Now, I want to switch on/off the led also by a mechanical switch. I modified the code for reading a GPIO input connected to this switch. I works, but the iPhone doesn't sense the status changed How to send the changed status notification to the main task? Thanks Andrea
Posted
by
Post not yet marked as solved
0 Replies
335 Views
I am looking for a way to get the list of HomeKit secure videos that are stored on iCloud. The objective is to show a list of them, maybe with come information like person or animal identification. I search the Apple doc for API but found nothing (I know the HomeKit doc, and have made several HomeKit apps already). Can anybody point me to a documentation entry point, is that Apple reserved only ?
Posted
by
Post not yet marked as solved
0 Replies
357 Views
I have two MacBook Pro computers. On one, an M1 Max, the HomeKit video palyback will not work on my account. It will work a guest account on the same computer. On the second, an i7 13", no issues at all. I can also view the playback on my iPhone 14 and my iPad Pro. This started when I first began to use the HomeKit Video, well over a year ago and on previous OS versions. There is a HomePod and several AppleTvs around the house, so there is no issue of there not being a HomeKit hub.to function with, and I mentioned, it's only on the M1 that there is an issue. It shows the recordings, but when I click on one to view, it just zooms in on the scene. To confuse things, it will work on occasion, especially if I am calling Apple about it. (yes, it's fickle) Everything is up to date, both machines are running the latest Sonoma and the 13" has never had a problem with the video. It's going to be something so simple that I will do a "DUH" but what's the answer?
Posted
by
Post not yet marked as solved
0 Replies
360 Views
I am a newer to implement Homekit accessory. I got the HomeKit ADK 6.3 and saw the application code have "FirmwareUpdate" part. After traced the code and read the document about ADK's firmware update rule, I have some question about ADK's firmware update: It use the UARP to translate the image file and the image file need to package as the SuperBinary format? the image file will be fetch by controller and push to accessory? the accessory can't download the image file by itself directly? where is the image file path in accessory once the controller push the image to accessory? the firmware update processing should be implemented in the FwUpApplyStagedAssets function? To implement the firmware update feature of HomeKit ADK is must? or I can implement my own firmware update rule for my accessory? I saw the code of ADK's firmware update is enable by the HAVE_FIRMWARE_UPDATE definition. Hope someone can help me to clarify above questions. Thank you.
Posted
by
Post not yet marked as solved
0 Replies
448 Views
I am implementing WAC2 on mu Accessory my accessory is using WiFi my bridge is broadcasting beacons according to the WAC2 requirements. my iPhone is able to see the SSD of my device as HomeKit Accessory and it link me to the home app when I select the device SSID. when redirecting to the home app, it opens directly QR code scanner, I scan the old QR code of my device something like that (X-HM://0024BWBIC2V7B). But this will not proceed to connect to my device. Do I have use another QR code that contains SSID and passphrase? If o ho to generate this QR code ?
Posted
by
Post not yet marked as solved
0 Replies
459 Views
According to information in repository, open source version of ADK is under Apache 2.0 license. „Under the Apache 2.0 license, end-users can create their own proprietary software and offer the licensed code of the original software to customers. End-users can utilize the Apache 2.0 license in any commercially licensed software or enterprise application for free.” Does this mean that it is possible to develop and sell devices using the open source ADK or publish, for example, an application using ADK on the App Store?
Posted
by
Post not yet marked as solved
0 Replies
502 Views
Hello. I'd like to report something different behavior with before. In previous versions of iOS (16.1~), after completing Apple Home app → SmartThings iOS app Multi Fabric onboarding, there was only one iOS system fabric in the device's fabric list as shown below. Apple Home app Apple Keychain (iOS system fabric commissioned by the Apple Home app or SmartThings iOS app) SmartThings In iOS 16.6.1, after completing Apple Home app → ST iOS app Multi Fabric onboarding, the device's fabric list has been changed to include two iOS system fabrics as shown below. Apple Home app Apple Keychain (iOS system fabric commissioned by the Apple Home app) Apple Keychain (iOS system fabric commissioned by the SmartThings iOS app) SmartThings At this time, if the user removes the device from the SmartThings iOS app, only SmartThings fabric (4) will be deleted and Apple Keychain (3) will remain. Apple Home app Apple Keychain (iOS system fabric commissioned by the Apple Home app) Apple Keychain (iOS system fabric commissioned by the SmartThings iOS app) I'm afraid that it will fail if I try to add my device to Google Home or Alexa. Because max fabric count is 5 and it counts Apple keychain also. Is this behavior expected? Thanks.
Posted
by
Post not yet marked as solved
0 Replies
524 Views
Hello. I'd like to ask below issue. I have two SmartThings hub and one Matter device. After I add it to the first hub, and then share this to the second hub with QR code, it always fails with below log. (SmartThings app shows both MPC and QR code when sharing a device) with MPC code, it works fine with QR code, it always fails in HomeUIService default 23:15:16.895670+0900 homed >>> [E:42896i S:51446 M:229068112 (Ack:46785785)] (S) Msg RX from 0:FFFFFFFB00000000 [0000] --- Type 0001:09 (IM:InvokeCommandResponse) default 23:15:16.897723+0900 homed Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001 default 23:15:16.897753+0900 homed Failsafe disarmed default 23:15:16.897789+0900 homed Successfully finished commissioning step 'Cleanup' default 23:15:16.897823+0900 homed DeviceControllerDelegate Commissioning complete. NodeId 965088193 Status ../../../../../../../../Sources/CHIPFramework/connectedhomeip/src/controller/CHIPDeviceController.cpp:1405: CHIP Error 0x0000007E: Trying to add a NOC for a fabric that already exists default 23:15:16.897892+0900 proximitycontrold < 91167F44>: Needs to restart ranging session as guest default 23:15:16.897933+0900 homed SecureSession[0xda63c2b50]: Moving from state 'kActive' --> 'kPendingEviction' error 23:15:16.898150+0900 homed Creating NSError from ../../../../../../../../Sources/CHIPFramework/connectedhomeip/src/controller/CHIPDeviceController.cpp:1405: CHIP Error 0x0000007E: Trying to add a NOC for a fabric that already exists error 23:15:16.899257+0900 homed [965088193/1870446891] CHIP Accessory pairing failed: Error Domain=MTRErrorDomain Code=11 "The device is already a member of this fabric." UserInfo={NSLocalizedDescription=The device is already a member of this fabric.} error 23:15:16.901186+0900 homed [188914BD-5163-425C-9E59-CAE9BFA1A288] Failed to stage CHIP accessory pairing for request UUID <private>: Error Domain=HMErrorDomain Code=13 "Accessory is already paired" UserInfo={NSLocalizedDescription=Accessory is already paired, NSUnderlyingError=0xda63f4600 {Error Domain=HAPErrorDomain Code=18}} error 23:15:16.901587+0900 HomeUIService [34760036-B05B-475C-9C00-592445A9A053] Failed to stage CHIP accessory pairing in steps: Error Domain=HMErrorDomain Code=13 UserInfo={NSLocalizedDescription=<private>, NSUnderlyingError=0x2824bac70 {Error Domain=HAPErrorDomain Code=18}} default 23:15:16.901762+0900 homed Answering incoming message HMASC.m.confirmDeviceCredential (795677CF-21ED-4E60-A5D5-3A7BF67BACCB) from client 'HomeUIService' that does expect a response with error Error Domain=HMErrorDomain Code=13 "Accessory is already paired" UserInfo={NSLocalizedDescription=Accessory is already paired, NSUnderlyingError=0xda63f4600 {Error Domain=HAPErrorDomain Code=18 "(null)"}} default 23:15:16.902126+0900 HomeUIService -[HSSetupStateMachineCHIPPartnerConfiguration stageCHIPAccessory]_block_invoke Staged CHIP accessory without stagedCHIPAccessoryPairingIdentifier as it is already paired. error 23:15:16.902254+0900 homed [188914BD-5163-425C-9E59-CAE9BFA1A288] tag="stagedPairingFailure" desc="Failed to stage CHIP accessory for request UUID" errorDomain="HMErrorDomain" errorCode="13" underlyingErrorDomain="HAPErrorDomain" underlyingErrorCode="18" error 23:15:16.975718+0900 homed Creating NSError from /Library/Caches/com.apple.xbs/Sources/CHIPFramework/connectedhomeip/src/darwin/Framework/CHIP/MTRDeviceController.mm:701: CHIP Error 0x00000003: Incorrect state error 23:15:16.975922+0900 homed [965088193/1870446891] Error: Error Domain=MTRErrorDomain Code=6 "Invalid object state." UserInfo={NSLocalizedDescription=Invalid object state.}. Failed to establish a connection to the device for unpairing. The device will not be notified of removal error 23:15:16.979939+0900 homed Failed to remove keychain entry for accessory <HMDUnpairedHAPAccessory> - error Error Domain=HMErrorDomain Code=13 "Accessory is already paired" UserInfo={NSLocalizedDescription=Accessory is already paired, NSUnderlyingError=0xda63f4600 {Error Domain=HAPErrorDomain Code=18}}
Posted
by
Post not yet marked as solved
0 Replies
470 Views
I tried to add my Eve Weather and Door & Window. It failed continuously and immediately with below log. Nov 23 16:24:50 iPhone-2 homed(HomeKitMatter)[173] <Error>: [589021415/1061261160] CHIP Stack is not running Nov 23 16:24:50 iPhone-2 homed(HomeKitMatter)[173] <Error>: [589021415/1061261160] CHIP Accessory pairing failed with error Error Domain=HAPErrorDomain Code=3 Nov 23 16:24:50 iPhone-2 homed(HomeKitDaemon)[173] <Error>: [188914BD-5163-425C-9E59-CAE9BFA1A288] Failed to stage CHIP accessory pairing for request UUID <private>: Error Domain=HMErrorDomain Code=18 "Pairing Failed" UserInfo={NSLocalizedDescription=Pairing Failed, NSUnderlyingError=0xc508b7df0 {Error Domain=HAPErrorDomain Code=3}} Nov 23 16:24:50 iPhone-2 homed(HomeKitDaemon)[173] <Notice>: Answering incoming message HMASC.m.stageCHIPAccessoryPairingInSteps (2D3E9A84-52E8-4614-8B79-A23A5DBC245D) from client 'HomeUIService' that does expect a response with error Error Domain=HMErrorDomain Code=18 "Pairing Failed" UserInfo={NSLocalizedDescription=Pairing Failed, NSUnderlyingError=0xc508b7df0 {Error Domain=HAPErrorDomain Code=3 "(null)"}} Nov 23 16:24:50 iPhone-2 homed(HomeKitMetrics)[173] <Error>: [188914BD-5163-425C-9E59-CAE9BFA1A288] tag="stagedPairingFailure" desc="Failed to stage CHIP accessory for request UUID" errorDomain="HMErrorDomain" errorCode="18" underlyingErrorDomain="HAPErrorDomain" underlyingErrorCode="3" Nov 23 16:24:50 iPhone-2 HomeUIService(HomeKit)[521] <Error>: [CF47D609-EF2F-44E3-96EC-89906F4F33C4] Failed to stage CHIP accessory pairing in steps: Error Domain=HMErrorDomain Code=18 UserInfo={NSLocalizedDescription=<private>, NSUnderlyingError=0x283431fe0 {Error Domain=HAPErrorDomain Code=3}}
Posted
by
Post not yet marked as solved
0 Replies
418 Views
Hi, Recently I bought 2 HomePod minis and placed them in my kitchen and bathroom. I have noticed that they keep their alarms/reminders device-local and take priority over any other device. For example I can hold up my phone, say something like "hey siri set alarm for 7am" and the kitchen echo will respond something like "none of your devices can do that" (obviously sound quality suffered from distance) or worse, it sets an alarm on the device not my phone, waking everyone in the household not just me. Another annoying habit it has is to set a reminder on one device, then later I say something like "cancel my reminders", accidentally the other HomePod picks it up, says something like "I cancelled all your reminders" then a few minutes later the first HomePod will still remind me - so it's not even shared across HomePods. Setting wake-up alarms gotten so bad and complicated (walk out of a room, whisper to the phone directly) I had to disable both HomePods from listening to "siri". Now all they are is expensive decoration (except when once a week we listen to some music on it). Is there no way to make HomePods not to be the highest priority devices and use alarms/reminders from the phone (like it does with shopping lists)? This annoying experience I would expect from MS and Alexa maybe, but not Apple.
Posted
by
Post not yet marked as solved
1 Replies
333 Views
The Aqara D100 smart lock has an integrated doorbell. I can't see a way to integrate this into Homekit so I can have the doorbell sound on Homepod minis throughout the house.
Posted
by