Of course iOS needs to be a factor in this, as does setting these sorts of variables from all sorts of different platforms.
Scheduling is already built into most of the smart apps already, but the timings are always “absolute”, and never relative. I think that is the key to making this happen.
The sort-of exception to this now within ST is the “Night Light” app, which allows lights to turn off some time after motion stops at a certain sensor.
(Perhaps some “virtual motion sensor” could read the shared variable and trigger upon the timer reaching that point, but that would be a rather horrible kludge of a solution.)
The point is that the these times aren’t very specific at all, and change from day to day based on the cycle of the week, and based on exceptional events that might come up to derail the aspiration for strict regimentation.
Truth to this. I think your ideas are great, but I don’t think another SmartApp is the right approach to solving problem, at least until SmartApps are no longer confined to a portrait-oriented Android or iOS 6+ mobile phone/tablet.
Not only do I want to set or override variables from my smart phone or smart watch, I want to be able to do it from a browser, dragging a slider to offset the standard or current time to the exception to the norm, I want to be able to type “bedtime 9; wakeup 7” into my terminal window and have it set the shared variables.
The “Timely” alarm clock is notable as far as what I consider to be a beautiful UX for setting a wakeUpTime variable.
Imagine modifying wakeUpTime within the context of a SmartApp: you have to find your phone, unlock it, go to the home screen, find then ope the ST app, if you’re not there already, navigate back to the start screen of ST, scroll to the Convenience section, open the Scheduled Controller app, find then open the variable you want to change, change the variables value, hit Done. Well if you’ve gotten this far, you’re realizing by now how the voice command in my use case is an absolute game changer as far as UI/UX goes.
I think this “Shared variable” bit needs to be another kind of service that goes in between Smartthings and other kinds of command systems for this to really work right.
look forward to those epiphanies. I am thinking that this shared variable thing should be open source library that Smartthings, or anybody else, can integrate with or deploy wherever they might like. Worry about pretty UI’s and ST integration after that initial hole is filled:
here is the system flow I envision:
- Front end interface - Android wear, web/mobile app, etc.
- Action to set shared variable - RESTful API call
- Shared variable storage - Server based application (self hosted or proprietary)
- Shared variable change notification - RESTful API call
- Home Automation System - Smartthings, Vera, Revolv, HomeKit, etc…
- End Device
Of course steps 1-5 could potentially all exist within the ST app & cloud, but if that’s the exclusive domain of the implementation, I don’t think it will work as well as it would otherwise.