boojew Posted October 11, 2017 Posted October 11, 2017 Hey guys - so, I wanted to emulate the transition style of the philips Hue / circadian alarm clocks by creating a slow transition. I tried doing this but just setting the ramp rate to 8 minutes, but since I only want to dim to 40%, it seems the logic doesnt properly and it instead takes ~2.5 minutes. Not sure why, but anyways, I figured a more controllable way to do this would just be to execute a program on schedule that would just increment the brightness by y% every x seconds; however, from the looks of it, there is no way to either say current onlevel +y% nor is there a way to use a variable as the on target. Any one know any way to accomplish this?
larryllix Posted October 11, 2017 Posted October 11, 2017 (edited) Hey guys - so, I wanted to emulate the transition style of the philips Hue / circadian alarm clocks by creating a slow transition. I tried doing this but just setting the ramp rate to 8 minutes, but since I only want to dim to 40%, it seems the logic doesnt properly and it instead takes ~2.5 minutes. Not sure why, but anyways, I figured a more controllable way to do this would just be to execute a program on schedule that would just increment the brightness by y% every x seconds; however, from the looks of it, there is no way to either say current onlevel +y% nor is there a way to use a variable as the on target. Any one know any way to accomplish this? With v5.0.10 it is built in and quite easy to save the level and restore it. Here is one light I do a slow fade for a sunset effect. Circadian rhythm colours are easy. Set your reds and yellows at a fixed level and fade the cold white mix down over time. White LEDs cannot really do proper colour mixes for this with their narrow band blue LEDs. With a percentage level drop your brighter bulbs will catch up with your lower level starting bulbs and changes looks more linear to the eye. The Wait 0 seconds line is because I have about 6 circuits involved in this dimming and they all have separate and different Wait X seconds line so there is no abrupt room level drop and the program load is spread out. (should never be a problem with ISY but maybe with Insteon protocol) Sunset.fade.chairs - [ID 0114][Parent 00C8] If $sGathRm.mode is $cMODE.SUNSET And 'Gathering Room / PotLights over Chairs' Status is not Off Then Wait 0 seconds $ChairPots.level = 'Gathering Room / PotLights over Chairs' Status Repeat While $ChairPots.level > 6 Wait 1 minute $ChairPots.level = 'Gathering Room / PotLights over Chairs' Status $ChairPots.level *= 0.95 Set 'Gathering Room / PotLights over Chairs' On '$ChairPots.level %' Repeat 1 times Set 'Gathering Room / PotLights over Chairs' Off Else - No Actions - (To add one, press 'Action') Edited October 11, 2017 by larryllix
boojew Posted October 12, 2017 Author Posted October 12, 2017 (edited) Thanks! I upgraded from 4.6.2 to 5.0.10 to give this a shot, but for some reason, it doesnt seem to be working Test slow fade - [ID 001A][Parent 0001] If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then $fade_counter.level = 0 Repeat While $fade_counter.level < 5 Set '1st Floor / Dining Room / Dining Room Micro' On Level '$fade_counter.level %' $[Var 2.4] += 1 Wait 1 second Else - No Actions - (To add one, press 'Action') Note, I have just testing with Run Then. My expectation is that the light should be incrementing in 1% intervals to 5%, but it never even turns on edit: Nevermind... I just realied I used the wrong setting.. should have been Test slow fade - [ID 001A][Parent 0001] If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then $fade_counter.level = 1 Repeat While $fade_counter.level < 40 Set '1st Floor / Dining Room / Dining Room Micro' On '$fade_counter.level %' $fade_counter.level += 1 Wait 1 second Else - No Actions - (To add one, press 'Action') Edited October 12, 2017 by boojew 1
larryllix Posted October 12, 2017 Posted October 12, 2017 LOL> Well that would be a ramp up and a quite quick one. Nicely done though! I am surprised you can see see anything until about 10-12% brightness though. I can on my LED strips but they are remotely controlled voltages like a SwitchLinc would do to a connected LED bulb. I can see you are going to be dangerous with an ISY in your hands!
boojew Posted October 12, 2017 Author Posted October 12, 2017 (edited) Hmm seems 5.0.10 broke something w/ PyISY or the way it is used in Home-Assistant. Hmm.. EDIT: ok, I am downgrading back to 4.6.2 as Home-Assistant support is broken somewhere Anyone with any ideas on if my request could be accomplished in 4.6.2? Otherwise, I may look at just writing an external script that calls ISY. Edited October 12, 2017 by boojew
larryllix Posted October 12, 2017 Posted October 12, 2017 (edited) Hmm seems 5.0.10 broke something w/ PyISY or the way it is used in Home-Assistant. Hmm.. EDIT: ok, I am downgrading back to 4.6.2 as Home-Assistant support is broken somewhere Anyone with any ideas on if my request could be accomplished in 4.6.2? Otherwise, I may look at just writing an external script that calls ISY. The previous technique was to use the Network Resource module to send a level value to the REST interface built in to the ISY, setting a variable. I don't know how you would get a variable back into the device brightness though. Perhaps a bank of programs to do it? You should really only need a binary log progression of settings anyway. 100%, 50%, 25%, 12%, 6% and slow ramps in the bulbs. I haven't used PyISY for a long time but I thought others have used it with V5.0.10 sucessfully. I only use NodeLink now and it contains all ISY io_guy's past bridging software now, I think. Edited October 12, 2017 by larryllix
Jimbo.Automates Posted October 12, 2017 Posted October 12, 2017 Hmm seems 5.0.10 broke something w/ PyISY or the way it is used in Home-Assistant. Hmm.. EDIT: ok, I am downgrading back to 4.6.2 as Home-Assistant support is broken somewhere Anyone with any ideas on if my request could be accomplished in 4.6.2? Otherwise, I may look at just writing an external script that calls ISY. The latest version of PyISY works with 5.0.10, but not sure if it was ever released or pulled into home assistant. Sent from my Pixel XL using Tapatalk
boojew Posted October 12, 2017 Author Posted October 12, 2017 The latest version of PyISY works with 5.0.10, but not sure if it was ever released or pulled into home assistant. Sent from my Pixel XL using Tapatalk Looks like it was, but their is either a bug or breaking change as home-assistant isnt getting the data it expects from it when querying 5.0.x.
Jimbo.Automates Posted October 12, 2017 Posted October 12, 2017 Looks like it was, but their is either a bug or breaking change as home-assistant isnt getting the data it expects from it when querying 5.0.x.It could be unique to a device you have, but we fixed all known issues and it's working for me on 5.0.10, but I don't use home assistant, just PyISY on it's own. Sent from my Pixel XL using Tapatalk
boojew Posted October 13, 2017 Author Posted October 13, 2017 It could be unique to a device you have, but we fixed all known issues and it's working for me on 5.0.10, but I don't use home assistant, just PyISY on it's own. Sent from my Pixel XL using Tapatalk Yea, I spent a little time looking at this today, and I think you are correct that pyisy is not the culprit, but rather the output of the REST API is likely different enough that when home-assistant receives it, it doesnt know what to do with 1 or 2 fields. Unfortunately, the home-assistant ISY module is written in a way I find hard to follow and the logging isnt giving me anything useful. If I had 2 ISYs, I would likely try and fix the component, but since I dont, I will likely end up staying on 4.6.2 and working around this by using Home-Assistant to do this for me. It wont be anywhere near as neat, but it will take me 1/2 the time
ldb Posted October 13, 2017 Posted October 13, 2017 I'm not sure this is of any help but thought I would share how I ramp up lights in a program loop with Z-wave and 4.6.2. The brighten command suits my needs but the percentage could be specified for finer control. Evening Lights 1If Status 'Sensors / Multisensor Front Porch' < 5 lux (Luminance) And From Sunset - 1 hour and 30 minutes For 1 hour and 45 minutes And Status 'Great Room Ceiling' < 44% Then Wait 10 seconds Set 'Great Room Ceiling' Brighten Run Program 'Evening Lights 1' (If) Else - No Actions - (To add one, press 'Action')
boojew Posted October 13, 2017 Author Posted October 13, 2017 I'm not sure this is of any help but thought I would share how I ramp up lights in a program loop with Z-wave and 4.6.2. The brighten command suits my needs but the percentage could be specified for finer control. Evening Lights 1 If Status 'Sensors / Multisensor Front Porch' < 5 lux (Luminance) And From Sunset - 1 hour and 30 minutes For 1 hour and 45 minutes And Status 'Great Room Ceiling' < 44% Then Wait 10 seconds Set 'Great Room Ceiling' Brighten Run Program 'Evening Lights 1' (If) Else - No Actions - (To add one, press 'Action') .... ........ ......... this is perfect! This is super simple, but it had never occurred to me to just have the program call itself! Thanks
larryllix Posted October 13, 2017 Posted October 13, 2017 .... ........ ......... this is perfect! This is super simple, but it had never occurred to me to just have the program call itself! Thanks The If section logic should see the change and retrigger itself anyway. I think I was confused about PyISY. It is a different product than I was thinking of in NodeLink. My bad there. Thanks to @Jimbo for jumping in and fixing that mistake. 1
Recommended Posts