home-assistant / iOS

:iphone: Home Assistant for Apple platforms
https://companion.home-assistant.io
Other
1.59k stars 311 forks source link

Apple Watch Support #114

Closed plinss closed 4 years ago

plinss commented 6 years ago

It would be great to have a companion app for the Apple Watch. While I don't expect the full HA UI on the watch, having a few buttons easily accessible from the watch would come in extremely handy, like door lock/unlock, lights, etc.

A simple version could perhaps just have, say, 4 buttons that can be configured from the app on the paired phone, each just calling a service, or triggering an event or automation.

cmsimike commented 6 years ago

Have you tried controlling hass via Siri? I thought an apple watch app would be nice too, but having to switch into the app, wait for it to load (which is a good amount of time when cold-launching any app), scroll to the location seems to time consuming vs just issuing the command via siri

TheCellMC commented 6 years ago

Couldn’t you simply use the HA HomeKit component and the HomeKit app on the Apple Watch?

plinss commented 6 years ago

Given that the entire reason I adopted HA is that I can automate my house without connecting to proprietary cloud services that leak private information, no, neither Siri or HomeKit are viable options.

walthowd commented 6 years ago

@plinss I'm not sure if "the man" or Tim Cook is very interested if your bathroom light is on or off! And Apple has been very privacy oriented to this point --- But -- You can do exactly what you want with the Workflow app -- Create some some workflows that go:

URL: https://yourduckdns.duckdns.org:8123/api/services/light/toggle

Get Contents of URL: Advanced Method: POST Headers: x-ha-access: your ha password Content-Type: application/json

Request Body - JSON entity_id light.bathroom

Get the work flow working on your phone, you can also add a widget to your Today View on your phone if you like -- then install the workflow app on your watch and you can just click on the button to toggle the light or do whatever else you would like. Workflow also supports complications so you can add them to your watch face.

plinss commented 6 years ago

@plinss I'm not sure if "the man" or Tim Cook is very interested if your bathroom light is on or off! And Apple has been very privacy oriented to this point

1) Belittling other people's concerns generally isn't an effective way to enter into polite discourse. It also isn't a good way to maintain community engagement in open source projects. 2) There are other threat models to non self-hosted data aside from mythical quoted people and corporate CEO's personal interest. Even with a host that is privacy oriented, large collections of data are ripe targets to hacking; the more people have access to data, the less secure it is; corporate priorities shift over time; hosted data often gets shared with third parties in ways that aren't apparent or easy to reason about; and mistakes do happen. 3) HA has access to a bit more sensitive information that the state of my bathroom light, for example, physical access to my home, and my personal location. 4) Other people may have more reason to protect their privacy than you do.

--- But -- You can do exactly what you want with the Workflow app -- Create some some workflows that go:

Using a third party app, with good support for the watch, to interact with the API is a reasonable idea as a workaround, but built in support to the iOS app would still be a cleaner solution. If nothing else it keeps all the relevant configuration in one place and would maintain compatibility as HA evolves.

robbiet480 commented 6 years ago

@plinss While I agree about your point #1 entirely, I also wanted to point out that HomeKit is actually pretty dang safe. Apple doesn't even store any information about the devices and states on their servers. Communication is end to end encrypted and data is stored encrypted at rest on your devices (more info on the HomeKit section of the privacy page here). But, I still understand your concerns about wanting as little attack surface as possible.

Getting back to the original issue, I've never been opposed to the idea of an actual Watch app and what you proposed sounds easy to accomplish. However, there are currently other higher priority items that I want to tackle before that. As a possible stopgap, @walthowd is correct that you can call the API directly via Workflow, however you can also use the URL schema to do the same thing via the native app + Workflow. Finally, I also am planning on adding support for Siri Shortcuts in the iOS 12 release, so you should hopefully start seeing your most used actions on the Siri watch face as well as be able to issue Home Assistant commands via Siri from the watch without needing HomeKit.

uchagani commented 5 years ago

wanted to jump in on this, a face complication would be nice to display some sensor data or such on the watch face.

plinss commented 5 years ago

Also relevant, the recent iOS upgrade replaced Workflow with Shortcuts, which for some unexplained reason dropped support for the Apple Watch.

jeffehobbs commented 5 years ago

Also relevant, the recent iOS upgrade replaced Workflow with Shortcuts, which for some unexplained reason dropped support for the Apple Watch.

That's not exactly true. You can access Shortcuts on the watch as long as they don't require interaction with the apps on your iPhone. For example, I put together a shortcut to Toggle our Sonos media_player:

img_7944

... it works, albeit glacially slow. Strongly agree that support in the HA iOS app is going to be a more effective way to solve for this.

plinss commented 5 years ago

So I have similar shortcuts set up, no interaction with apps on the phone, but there's no UI on the watch to activate them that I'm aware of, except Siri, and I want to have a button to push, not have to talk to the watch. Or is there another way to activate the shortcuts from the watch that I'm missing?

jeffehobbs commented 5 years ago

Sadly, no -- Siri seems like the sole way to trigger Shortcuts on the Watch right now -- so yeah, you'll be dealing with Siri. :(

Not what you asked for, but something to consider: Actionable Notifications. You can send the watch a notification and then prompt the user for a couple actions that trigger other HA automations. Worth playing with if you haven't checked it out.

TomBrien commented 4 years ago

The original feature request is now met and this issue is rather stale so I'm going to close