Git Product home page Git Product logo

Comments (13)

stefanwichmann avatar stefanwichmann commented on July 25, 2024 1

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.

stefanwichmann avatar stefanwichmann commented on July 25, 2024 1

Kelvin 1.1.0 just went live. Including full scene support!

Check the README and enjoy!

from kelvin.

se99jmk avatar se99jmk commented on July 25, 2024

I can certainly see a benefit in linking it to a specific trigger / physical button etc - sounds good!

from kelvin.

se99jmk avatar se99jmk commented on July 25, 2024

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.

MaxValue avatar MaxValue commented on July 25, 2024

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.

nfarina avatar nfarina commented on July 25, 2024

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.

ajamess avatar ajamess commented on July 25, 2024

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.

stefanwichmann avatar stefanwichmann commented on July 25, 2024

@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.

jberglinds avatar jberglinds commented on July 25, 2024

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.

stefanwichmann avatar stefanwichmann commented on July 25, 2024

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.

nfarina avatar nfarina commented on July 25, 2024

Awesome, will definitely try this!!

from kelvin.

stefanwichmann avatar stefanwichmann commented on July 25, 2024

@jberglinds Your idea turned out to be the only viable option to realize this feature. Thanks for the comment! ;-)

from kelvin.

jberglinds avatar jberglinds commented on July 25, 2024

Wow, that's great to hear.
Good job!

from kelvin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.