Comments (13)
I am currently planning to base this feature purely on the light states and completely ignore the sensors API. The reason for this is to enable this feature not only for supported sensors but also for app users for example.
In the current state the feature is planned as follows:
- Kelvin will generate a hue scene for every schedule it has. Let's call it
Activate kelvin (<schedule name>)
- This scene will always be kept up to date by kelvin to reflect the desired target state. So if you activate the scene late at night all your lights will be perfectly dimmed.
- Kelvin will now monitor your lights (as usual) and not only handle appearing lights (when just turned on) but also take the scene state into account. Following the example: If a light gets turned on and has the right target state, the user has probably activated the scene "Activate kelvin" and kelvin kicks in. If a light gets turned on and has any other light state, kelvin will ignore the light.
- With this logic every user could program a dimmer to a scene or activate it through an app and only then kelvin will change your lights.
Does this sound reasonable to you? Am I missing a use case?
I already implemented all the necessary scene handling into the hue.go library and the changes to kelvin should be relatively small. BUT: Currently the official hue app for iOS (which I use for testing) doesn't work well the bridge scenes. See https://developers.meethue.com/content/showing-new-scene-philips-hue-app
Any hints?
from kelvin.
Kelvin 1.1.0 just went live. Including full scene support!
Check the README and enjoy!
from kelvin.
I can certainly see a benefit in linking it to a specific trigger / physical button etc - sounds good!
from kelvin.
By the sounds of it (I'm not a programmer, just, enthusiast?), the Hue bridge isn't two-way - i.e. you can't interrogate what the current setting is? Seems incredibly limited!
Presumably though you CAN interrogate the bulb state at any given time (on/off, colour, brightness)
I was SHOCKED that Philips Hue doesn't seem to have any sort of log of what has triggered the status of the bulbs (I was trying to diagnose why something was happening with the bulbs, having tried a bunch of third part apps, hue labs etc), but there's no history, no way of knowing what caused the bulbs to make that change. This seems like something they could have easily done, and would have been hugely helpful in diagnosing issues (and also could be interrogated by apps such as this to determine trigger points!)
from kelvin.
There is something in the API which could help - CLIP Generic Flag Sensor. If i remember correctly you can create a rule to set this flag to true if something else changes.
Use case: The physical button is pressed and triggers the scene. A rule is triggered by the physical button press and sets the clip variable to true. Kelvin detects the changed state and starts working.
from kelvin.
Just discovered Kelvin; this is just exactly what I've been wishing for! I've been using Stack lights which have auto-brightness and color temp out of the box, but the company just went belly up so I'm all-in on Hue now.
Your last comment sounds perfect - I have dimmer switches and I'd love to program the single-click "on" button to activate the "Kelvin Scene" which would adjust automatically. Then I could program additional clicks of the "on" button to cycle through other "manual" scenes depending on the needs of the room.
Would this mean that every room would have its own scene like "Kelvin (Living Room)" and that the Kelvin app would simply be overwriting these scenes periodically throughout the day?
from kelvin.
I can test this with the android app @stefanwichmann - I am running your docker container, though, so I am not sure what steps I'd need to take to enable the feature. I have a CS background - but haven't dont anything in Go. Nevertheless, I'm may be able to figure something out if I know where to look / how to validate :).
from kelvin.
@nfarina Yes, every schedule would get it's own scene (named "Kelvin {schedule name}") that will be updated every time the desired light state of these schedule changes (currently every minute). So whenever you active this scene it will have the correct state. This way you get the desired behaviour.
As I said above this feature is already implemented but there are some issues with the iOS app that prevent a proper testing for me... If one of you is interested in helping out here, feel free to hop in!
from kelvin.
Could a temporary workaround for the iOS problem be to just let the user add scenes in the app with specific names that Kelvin would control?
So if a scene name contained the word "kelvin" it would be controlled.
Been tinkering a bit with https://github.com/ab10460ef3/redshift-hue-scene which does this.
from kelvin.
This could indeed be a temporary workaround as many parts of the solution (like updating the scene to reflect the current state of Kelvin) would be reusable later.
We would need one scene for every schedule though as the states could be different for each one. This can get really complicated for the average user...
from kelvin.
Awesome, will definitely try this!!
from kelvin.
@jberglinds Your idea turned out to be the only viable option to realize this feature. Thanks for the comment! ;-)
from kelvin.
Wow, that's great to hear.
Good job!
from kelvin.
Related Issues (20)
- After the Upgrade to v1.3.3, Kelvin No Longer Reacts to Lights Turning On HOT 4
- Push new releases to Docker Hub? HOT 1
- Possible to have defined time take precedence over sunset?
- Daylight Savings Adjustment
- Can't run on mac HOT 2
- How to make Kelvin play nicely with the "Wake up with light" automation? HOT 1
- How to stop Kelvin for disabling when physical lightswitch turned off and on? HOT 5
- How do I change the lights at exactly sunrise and sunset? HOT 1
- Kel
- Auto update to 1.3.5 failing on raspberry pi HOT 2
- Hue API v2 support
- Previous versions were deleted from Docker Hub HOT 1
- 1.3.5 unable to serve GUI HOT 2
- Disable automatic Updates HOT 1
- "enable kelvin" greyed out in dashboard
- Home Assistant OS Plugin HOT 1
- Does not work when bulp is disconected from the power grid
- Half of lights not adjusting when enableWhenLightsAppear = false
- Kelvin only applies defaultBrightness, defaultTemperature and schedules. Nothing else. HOT 3
- Auto update installed bad binary on Raspberry Pi HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kelvin.