How to know the command of Siri about HomeKiit in iOS? - ios

I am new to HomeKit , and I got a demo board which it can work with iPhone.
When I turn on the demo borad , I can see the Accessories in Setting -> WiFi. I click the Accessories and add the Accessories to the WiFi Network. The Accessories and the iPhone are in the same WiFi Network.
I turn on Siri and say "Turn On the Light" , the LED on the demo board will turn on.
But it should has other command to control the light for adjust light levels up or down.
How do I know the all command of Siri about HomeKit in iOS ?
Thanks in advance.

Homekit has its central database for managing homes and its features.
Database is shared with all homekit enabled apps install in iOS device.
And also by siri.
So siri will have access to names you have given to Home, accessory, trigger, scene etc.
Now you can use the names you have given and default characteristic of any accessory to execute by siri.
like "Siri, turn on the desk lamp in the Main hall"
For the above command on is a value of the characteristic.
desk lamp is an accessory.
Main hall is name of room.
In this command home name is not provided so siri will consider it for primary home.
You can create commands by your own.
Below are few the examples.
"Siri, set library temperature in My Home to 72"
Here library is name of Room
My Home is name of Home
temperature is characteristic which is apple definded siri keyword.
72 is Value of characteristic.
You can refer to apple documentation for more detail.
https://developer.apple.com/library/ios/documentation/HomeKit/Reference/HomeKit_Framework/

Related

How to display custom text in ios wifi settings

I have a very specific question in programming an ios app.
In general when you open your ios wifi settings, there should be a list of available networks to choose.. so far..
now I want that in some cases, if a network meets specific requirements, a text is diplayed down below the network name (e.g. like "connect with WIFIAPP") and by clicking on the network you open the "WIFIAPP"..
Is there any possibility to do that and if yes, how? A framework or something like that?
Hope you guys understand my concern..
Thank you for any help!
Daniel
The feature you are after is implemented by the NEHotspotHelper class in the Network Extension Framework. In order to use this class you need to complete a questionnaire and be authorised by Apple.
More details are included in the Hotspot Network Subsystem Programming Guide, but essentially your app runs in the background and takes part in the network scanning process. It can provide an annotation for recognised networks and the user can invoke your app from Settings in order to complete the network authentication.
Unfortunately, access to wifi network parameters is completely closed from developers. From your app you can only tell apart if device is closed to wifi or 3G cellular network. Nothing more. I don't even say about native Settings app. You can do only some extra limited things outside of your app, like play music, or show your custom Widget.

How will HAP over cloud will work?

Apple have added new features in Homekit framework in iOS 9.
I have seen What's New in HomeKit.
In that they have added support of Homekit Accessory Protocol (HAP) over cloud. But they didn't tell how it will work, what developers need to do to support accessories to accessible from apple's cloud services.
I have reviewed their HAP for IP Accessories R3 document, but that document also didn't have any information on this.
What I am looking for is, there should be something at Accessory (Light, Thermostate or bridge) which is added to home in Homekit enabled application and which is accessible for user logged in with icloud account.
Now, to support HAP over cloud at accessory side developer needs to do something so that it can identify for user for which its configured.
So what are the changes require at bridge(gateway or hub) or accessory to implement HAP protocol over cloud?
I have been working on HAP Over iCloud concept since last 2 to 3 hours. The beauty in this concept is according to the documentation we should need the following things.
Apple tv 3rd generation
Have to use same iCloud account in both apple tv and iOS device.
This is most important that Apple tv and Accessory should be on same network.
Eventhough you are on different network it is able to pass the switch on/off,brightness increase/decrease ... actions. For this you can use siri commands or programmatically call the accessory write value functionality
Note : As I know I think when you are passing the commands to the Accessory it checks for the iCloud account in the apple tv and from there it is passing the commands to the Accessory. The apple tv and the accessory both are in same network so apple tv will reach that accessory. Thus apple tv acts as a mediator between the iOS device and Accessory

Is it possible to create an app that "picks up" a particular wifi signal as a cue to turn on the app or blue tooth?

You know how when you go into your wifi signal page
you see a list of all the wifi your phone is currently picking up?
If a person were to download this special app where he or she consent to it
is it possible for this app to recognize one of the signals as a cue to turn on bluetooth or launch an app?
No this isn't possible without jailbreaking since it requires a private library (Apple80211). You can only get the SSID of the network your device is currently connected to.

How to make existing device IOT only?

For iOS application, IOT(Internet of thing) is a new things.and we can connect our device with other hardwares.
My question is , is there any way by which i can connect our existing devices like (Air Conditioner,Other ele. component) IOT only?
Here is one of the best example for connecting and controlling such devices like A.C., TV, etc with your iOS device.
It's Open Source so you can explore more.
IRKit:
http://getirkit.com/en/
(opensource infrared remote controller).
IRKit is a WiFi enabled Open Source Infrared Remote Controller device.
Home electronics with an infrared remote, like air conditioners, TVs, lights can be controlled using iPhone and iPad via IRKit.
IRKit works with IRKit's official app and you can easily create iOS apps to send IR signals to control home electronics using IRKit iOS-SDK .
You can create apps for example that does:
Use location, turns on air conditioner when you arrive near your home.
Press one button to turn off all your home electronics when you leave home.
Connect with Facebook, and automatically change your TV's channel to which your friend is watching.
Hope It will help.
If your component have any types of connectivity which is suitable for iOS devices the you can do this, like:
If your Air Conditioner has bluetooth connectivity and it can handle command like turn on/off or controlling temperature, then you can do it with any kind of device that can communicate with the electrical components.
I used to turn off my computer via internet. There was a process running in my computer that hits an URL, receive JSON data and if it gets shutdown flag yes, it turn itself off. I can set that flag from my mobile. The lacking was I could not turn on.
Edit:
Yes you can, but you have to do a lot of hardware related work. like: Bluetooth Relay Controller. Here is a video.

Gimbal beacon discovery

Is it possible to discover Gimbal beacons using the iOS SDK? I want to use simple ranging but I don't know the UUID of the transmitter.
YES, you can use Gimbals as iBeacons. You have to re-configure it using iBeacon configuration.
Login to Gimbal website, create an account if you don't have one.
https://proximity.gimbal.com/
Open Proximity tab. Click on Manage Configuration button at the top and create new configuration, select iBeacon as beacon type, assign UUID, major and minor. You can choose any UUID you'd like.
Now register your Gimbal beacon, and select your new configuration. You must open the beacon to get to the Factory ID that is required to register.
Download Gimbal manager app for iPhone, open it, select "Configure" option. Open Gimbal and remove battery, put the batter back in, and you should see your beacon in the Gimbal Manager app, click the Update button.
That's it, now you your Gimbal is in iBeacon mode.
If anyone interested, I found this useful post on http://beekn.net/2013/12/inside-gimbal-qualcomm-beacons-tackle-bluetooth-le-challenges/:
Actually, you can’t sniff the iBeacon UUID as Gimbal use their own implementation for their beacons. They use BLE to transmit encrypted IDs that change with each broadcast, so it needs to validate with the SDK / API to confirm which beacon ID this ties up to.
update: davidyoung is right. There is some info that I skipped in Gimbal's documentation:
If your application's use case requires you to use iBeacon technology, the Gimbal Series 20 beacon can be configured to broadcast iBeacon compatible BLE packets. To learn how to configure a beacon to be iBeacon compatible please read the Proximity Quickstart Guide. The Proximity framework makes it very easy to use both iBeacons and Gimbal beacons from the SDK and lets you manage them through the Gimbal Manager Portal.
Interesting - I recently received a reply from Radius Networks that said ScanBeacon cannot identify Gimbal beacons - at least that's how I read it..
"Scanbeacon should display any device that is transmitting an ibeacon advertisement.
We have had several reports that the little blue beacons that Qualcomm has been making available are not showing up with ScanBeacon.
Our own investigation into these units is that they are not advertising the iBeacon identifiers.
There may be some configuration or other steps that need to be taken that we are not aware of.
But the out-of-the-box state of the Qualcomm beacons appears to be no iBeacon advertisement."
To use iOS, you will need to know the UUID.
There are some other options that do not require knowledge of the UUID.
If you have an Android device w/ 4.3 or later and support for BT4.0, you can use the free Locate application at the following link. https://play.google.com/store/apps/details?id=com.radiusnetworks.locate
If you have a Mac w 10.9 or higher and support for BT4.0, you can use the ScanBeacon app ($9.99) available on the Mac App Store or at this link. http://www.radiusnetworks.com/scanbeacon-app.html
Good luck, and make sure you report back your findings to rest of the community!
David
Full Disclosure: My colleagues just firmly reminded me that I'm misbehaving by not noting that I work for Radius Networks, who provides the tools listed above, and am the developer of the second tool listed, ScanBeacon.

Resources