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

HomeKit Documentation

Posts under HomeKit tag

78 Posts
Sort by:
Post not yet marked as solved
1 Replies
382 Views
Hi all, I've been using a Robin ProLine Doorbell for almost 1 year now. It allows me to see a live video from my doorbell and start a live conversation with a visitor, right from the Apple Home app. Prior to the launch of Logitech Circle View Doorbell, it was the only doorbell officially supporting HomeKit Secure Video. My setup: I'm subscribed to iCloud+ (the 2TB plan), so I've set the Robin ProLine Doorbell to record video when specific motion is detected and store in iCloud. Excellent feature, and I've used it a lot. I have an Apple TV device with Doorbell Notifications enabled, meaning that is shows a Live video pop-up in the top-right corner of my TV, whenever a visitor rings the doorbell. Great feature as well. I have a few HomePod mini devices in my home, which all make a Doorbell Chime sound when a visitor rings the doorbell. And of course, my iPhone and iPad show a notification with a still photo, when a visitor rings the doorbell. Recently however, not sure since when, I‘ve been unable to see a live video from my doorbell (and start a live conversation) in the Apple Home app, right after a visitor rings the doorbell. These are the steps to reproduce the problem: A visitor rings the doorbell. My HomePod minis all make a chime sound. My Apple TV shows a pop-up notification (including a live video of the visitor). My iPhone and iPad show a notification (including a still photo of my visitor). I open the Apple Home app, on my iPhone, and open the doorbell camera. After step 5, I expect to see a live video from my doorbell and to be able to start a live conversation with my visitor. However, I always get the same error message. The Apple Home app says: „Camera not available – Wait until someone else in this home stops viewing this camera and try again.“ Note that I am the only user in my Home, so no one else is viewing my camera. Also note that the problem does not occur, if I turn off my Apple TV notifications, which includes a live video of my visitor. Therefore, I'm convinced that my Apple TV notification is this „someone else“ that I am asked to wait for, in the error message in the Apple Home app. I just spoke to Robin support about this problem and here's their reply: Hi Atli, HomeKit support for doorbells started with the requirements of two simultaneous video streams. In that time, notifications over AppleTV were not supported, recording was also not introduced. So two people could simultaneously see and talk to a person at the door. Our Robin doorbell is able to deliver two simultaneous audio/video streams in custom resolutions. We can still do that this day. Apple introduced a new feature HomeKit Secure Video after this. Enabling this feature automatically use one of these two streams. So only one is left. Recently Apple updated the AppleTV software and introduced the live video preview that is started automatically when someone rings the doorbell. If recording is also enabled, the last available video stream is used for this. To be clear, this is a design decision of Apple, not the companies creating the HomeKit doorbell. So we as hardware and software manufacturer can’t do anything to change this. So unfortunately no firmware will fix this. The fix has to come from Apple in their AppleTV HomeKit implementation. That is the reason why I asked you to talk to Apple support about this. Best Regards, So my questions are: Does the Logitech Circle View Doorbell support 3 (or more) continuous video streams; one for iCloud recording, one for Apple TV notification, and one for a Home user to speak to visitor? Who's to blame for this ***** up? Robin hardware or Apple software? How (and where) do I report this to Apple?
Posted
by abjarna.
Last updated
.
Post not yet marked as solved
0 Replies
383 Views
Hello. I'm working on application for managing accessories our partner manufactures. I'm developing PoC of WAC provisioning and I chose HomeKit for that. I'm trying to add our accessory using addAndSetuppAccessories with payload(url) I took from accessory QR code. But is doesn't work. On some devices calling method produces nothing in logs, on some I receive log: [default] Failed to deserialize object of classes: {( HMAccessorySetupCompletedInfo )}, from data {length = 135, bytes = 0x62706c69 73743030 d4010203 04050607 ... 00000000 0000005b }, with error: Error Domain=NSCocoaErrorDomain Code=4865 "requested key: 'root'" UserInfo={NSDebugDescription=requested key: 'root'} Apart of logs my view controller appearance changes as like some modal controller is going to be presented over it. But never happens. There is no information on Apple Developer web site or stackoverflow or any other resource. How can I resolve it? As a developer of iOS app should I have MFi license? Should I include some specific entitlement? (Entitlement for HomeKit already included) Please help. Thanks in advance.
Posted
by shevchykv.
Last updated
.
Post not yet marked as solved
2 Replies
856 Views
I am implementing a garage door opener. Apple documentation defines 5 states: open, closed, opening, closing and stopped.Like with many garage doors, if I click the RF remote while the door is moving, it stops.However, I am so far unable to use the 'stopped' status; there is no change in the Home app icon indicating this status.Any suggestions or is this intended behaviour?Regards, André Hartman, Belgium
Posted
by ahartman.
Last updated
.
Post not yet marked as solved
4 Replies
2.5k Views
I have an electric "garage door", but it's not an "overhead" door that opens upwards, as seems to be common in the US. This is a motorized sliding gate. It can be told to open fully for a car to cross, or stopped anywhere in the middle, for example for a person to go out.I want to make a HomeKit bridge for it, and looking at the non-commercial HAP spec, I'm struggling to see how it fits into the predefined HomeKit services.The "Garage Door Opener" service has a "Current door state" characteristic, which can report the door is open, closed, opening, closing, or stopped while not fully open or closed. This seems great for my use case. However, the "Target door state" characteristic can only be used to "open" or "close". This is more problematic; I don't see a way to tell it to stop it while it's moving, before it reached the end state.In the "Door" service, there is a "Hold Position" optional characteristic, which "causes the service such as door or window covering to stop at its current position". That, too, sounds great for me. However, the Door service has required "Current Position" and "Target Position" characteristics, but I can't know what's the exact position of the gate, and I can't tell the gate to move from its current position to another exact one, I can only tell it to "open" or "close". So it seems the "Door" service is unsuitable for this kind of electric gate.What's the appropriate configuration for this? Can I use the Hold Position characteristic in the Garage Door Opener service? Does the Home app support it? Or should I use the Door service?
Posted
by nicolas17.
Last updated
.
Post not yet marked as solved
0 Replies
216 Views
I'm making a watchkit app using Homekit. I got understand it is needed to access the information of homes using homemaneger. So, I add this func at the bottom of my code, but this doesn't work at all!! No print(#function) appears at my logs and every variables is nil. Many codes I looked up are placing same way and it seems they are working. Why can't this work? extension interfaceController HMHomeManagerDelegate {  func homeManagerDidUpdateHomes(_ manager: HMHomeManager) {   print(#function)  } } PS. no errors in my log Xcode:13.1
Posted
by oriori.
Last updated
.
Post not yet marked as solved
3 Replies
3.3k Views
Hi,I want to make a HomeKit device for controlling my driveway gates. For this project I want to use the ESP32 and a RFM69HW 868Mhz transceiver. The Idea is to:Open and close gates from my phone using HomeKitGet the temperature from the ESP32Receive data from the remote control so that I can track the state of the gate (are they open or closed)Get it to work over WiFiProgram the ESP32 based on the gate remote signalStuff I ordered (It'll probably take like 32-60 days before I get it):ESP32RDM69HW (chosen this one due to my remotes frequency being 868Mhz)My problem is that I'm a total beginner and don't know where to start in terms of coding. How do I start? How to read the HAP specification? How to implement it in ESP32? Any other suggestions? Thanks for any help in this field.Link to reddit: https://www.reddit.com/r/esp32/comments/e1gy1o/esp32_homekit_remote_gate_control_project/?utm_source=share&utm_medium=web2x
Posted
by Asteliks.
Last updated
.
Post not yet marked as solved
2 Replies
582 Views
The problem keeps on manifesting randomly. Every kind of Automation/ actions I set up keeps on failing at random intervals, could be 3 times a day like 1 per month. The problem is evident in Homekit settings that depends heavily on automations and actions to work, like when a Stateless Programmable Switch is used to control smart lights. I've already tried different methods ( logout/login from icloud, reinstall everithing ecc) but the problem keeps on manifesting randomly. When the automation/ action doesn't fire I can check on Home app that the message is processed by homekit but the domestic hub seems not able to run the connected action/automation, and i can control manually every device in the automation to verify that is connected. after 5 to 10 minutes everything starts acting normal again. The problem is present not only with an ATV running the latest firmware but also using an iPad. Is this a well know bug or there's some workaround?
Posted Last updated
.
Post not yet marked as solved
0 Replies
192 Views
I tested my app with HomeKit Accessory Simulator and the crash happen due to category value of HMAccessory is set Uninitialized from homekit framework. HomeKit Accessory Simulator settting. Make Lightbulb accessory and Add bridged Accessory which Accessory type is IP Camera or Video DoorBell. and then category is Uninitialized. I know this value is mandatory from Homekit framework from development doc. Thank you.
Posted
by soonhyuk.
Last updated
.
Post not yet marked as solved
0 Replies
184 Views
Is it planned to implement characteristics support for the anemometer and rain gauge in Homekit?
Posted
by Adrian_L.
Last updated
.
Post not yet marked as solved
6 Replies
2.2k Views
Hello,I have a class CLightBulb and it is defined as a accessory delegate:class CLightBulb: NSObject, HMAccessoryDelegateIn the “init?()” I set self as the delegate:m_lightBulb.delegate = selfAnd I override the “didUpdateValueFor” method as follows, but it is never invoked when I turn a lightbulb on or off from the Homekit app on another device (other than the one I am testing on) //_______________________________ // AccessoryDelegate: Update Characteristic Value // // //_____ func accessory(_ accessory: HMAccessory, service: HMService, didUpdateValueFor characteristic: HMCharacteristic) { var results: CResults print("******------> CLightBulb AccessoryDelegate: Update Characteristic View") results = CResults() if ((accessory == m_lightBulb) && (service == m_lightBulbService)) { switch characteristic.characteristicType { case HMCharacteristicTypePowerState: results = GetThePowerStateFromTheLightBulb(workComplete: { () in let delegate = self.m_delegate if (results.GetResultCode() != CResults.code.success) { // NOTE: The attribute value is incorrect for Philips HUE bulbs so we have to check the error description // to see if the reason for the error is that its unreachable. It's not really an error if its unreachable if (self.m_isReachable == false) { delegate?.lightBulbReachablilityChanged!(device: self, newState: self.m_isReachable) } else { delegate?.lightBulbEncounteredError(device: self, opResults: results) } } else { delegate?.lightBulbPowerStateChanged!(device: self, newState: self.m_powerState) } }) default: print("CLightBulb: Encountered unexpected service type in accessory characteristic update.") } } }But when I test my app on my phone, it doesn’t get called when I, say, turn the light bulb off from the Homekit app on my iPad. Do you know what I’m missing?
Posted Last updated
.
Post not yet marked as solved
9 Replies
7.7k Views
I would love to see more integration between HomeKit and Siri Shortcuts - a common request I get for my app, Home Flash for HomeKit, is to flash a light when motion is detected, or a button is pressed, but it's not possible today. I could envision this being implemented in one of two ways: Allow a scene to execute a Siri Intent, so an 'Intruder' scene could turn on my porch light, and trigger a Siri Intent either on my phone or Apple TV to flash my bedroom or office light. This is my preferred way, since as a 3rd party developer, I have the ability to create Scene's for my users. Add more flexibility to HomeKit Automations that are Converted to Shortcuts, so that I could direct my users in how to do this
Posted
by Mcorey.
Last updated
.
Post not yet marked as solved
9 Replies
1.6k Views
Hello everybody, since iOS 14.0 the Home App on the iPhone XR is freezing when I edit a scene. So the App does not save my changes. Also the problem appears with iOS 14.2. Does anyone also have the problem?
Posted
by niqbert.
Last updated
.
Post marked as solved
1 Replies
314 Views
I'm struggling quite a bit trying to even get started on poking around with HomeKit within the iOS simulator. I'm using Xcode 13.1 and attempting to simply add a new home. I'm listening for homeManagerDidUpdateHomes, then calling addHome(withName:completionHandler:) to even have a home in the first place to begin testing with. This fundamental step completely fails in the simulator with the following error: Error Domain=HMErrorDomain Code=2 "Object not found." UserInfo={NSLocalizedDescription=Object not found.} I then tried Apple's sample app here just to see if it was something in my code, but it fails in exactly the same fashion when adding the first home. https://developer.apple.com/documentation/homekit/interacting_with_a_home_automation_network Is this a known bug? What could be preventing HomeKit from working within the simulator?
Posted Last updated
.
Post not yet marked as solved
0 Replies
169 Views
I don’t know if I’m at the right place to ask, but I really miss a feature in Homekit. It always happens to me that i’d love to fine tune me Scenes settings depending on mood, season of the year, whatever. I really don’t like to do it. I doesn’t works live. When you adjust an accessory’s feature, like intensity or color temp, you don’t see what you are doing. Adjustment is just mades in background, after you finished you can reactiveta the scene to see the result. It would be much much nicer to somehow add a live edit button or so, for users like me, could happily live tune theor gear. thanks for that! aron
Posted Last updated
.
Post not yet marked as solved
1 Replies
254 Views
Hi everyone ! Does someone know if it's possible to find the HMRoom object where a given Apple TV is located ? I've done some research in the documentation but I am unable to find a method giving this information ... Thank you all for you reading and maybe for you answer ;)
Posted
by Wandereim.
Last updated
.
Post not yet marked as solved
1 Replies
938 Views
Hi, We were trying to setup communication with the apple MFi server, according to "Software Token Authentication Server Specification R2. pdf ", we completed the certificate request, and then did the following things in order(Tested http request with Postman): downloaded .pem file from MFi Dashboard In Postman settings, added the .pem file as CA certificate and added .pfx file (which is an non-EV SSL certificate we alyeady have) as client certificate. correctly entered the request URL , header and body and then pressed the "send” button got the error returned by Apple Server: "title401 Authorization Required title" we have tried many times, but always got this error, our status of Product Plan now is "testing" . Can our Licensee server use an ordinary SSL certificate(instead of DigiCert EV SSL certificate)during testing period? And what caused the above error ?thanks in advance.
Posted Last updated
.
Post not yet marked as solved
3 Replies
771 Views
How can I create a HomeKit action set owned by a trigger, so that it does not appear in the "favorites" section in the Home app? The action set type HMActionSetTypeTriggerOwned - https://developer.apple.com/documentation/homekit/hmactionsettypetriggerowned is the one that is needed for that, but there seems to be no API to create an action set with the type HMActionSetTypeTriggerOwned. The Home app by Apple is clearly able to create those trigger owned action sets. How can a I do the same?
Posted Last updated
.