
shannong
Members-
Posts
710 -
Joined
-
Last visited
Everything posted by shannong
-
Thanks for sharing. I've converted a KPL to 7-button for one specific use. The KPLs are really flexible that way. My issue is that Chiclet push buttons aren't functional for lights entering/exiting a room. There's a reason mechanical lights are made as switches/paddles. Easy to operate from any angle without looking and you have immediate tactile feedback that it was operated based on its new position. When I walk quickly in/out of a room I want to whack a paddle switch as I'm cruising without looking. Not stop and aim my finger at near 90 degrees to punch a button and/or rotate my body towards the switch. Also, it's difficult to operate a push button if the switch is on the same side as your freehand. If you're carrying something in your left hand and the push button for the light is on the right it's challenging to bend your wrist to the right and extend your index finger at 90 degrees to push the button as you walk by.
-
I use KPLs sparingly and never for lights in common areas that are turned On/Off with frequency, especially if it's the light you need to turn on when entering a darkened room. If necessary, I install a MicroDimmer to drive the load that is controlled by a Switchlinc so that these common lights always have a paddle instead of poking a Chiclet key. This keeps all the common functions of the house friendly for the GF, kids, and guests. KPLs are only used for auxiliary lights and advanced functions. I desperately wish there was an Insteon multi-paddle switch something like this.
-
On the v4.2.22 thread Jimbo confirmed he had the same problem with v.43 sensors and said UDI is looking into it.
-
I would test just to make sure. It's a new feature in beta that doesn't have any instructions or documentation and I might have goofed something up. The only device directly referenced to work is the Motion Sensor and it didn't work for me, either.
-
I just removed and added my 2421 Triggerlinc v.40 back to ISY v.4.2.22. I have the same three nodes as reported by others. Opened, Closed, and Heartbeat Does anyone know the interval of the heartbeat? Oddly,there isn't any reference to a heartbeat in the owner's manual. I also found that using a program to "Write Device Updates" does not work with this device.
-
If you upgrade your ISY to 4.2.22 you can initiate changes to battery devices when they are activated such as with these when they are opened/closed. Note that in my testing it doesn't work with the sensor versions reporting themselves as v.43 (as seen in the Admin Console) but does with v.92. I just replaced the last manufactured supplied battery in my four sensors, and it was on a door that is used maybe 8 times a month. The battery lasted about 7 months. They all now have lithium batteries in them but the oldest so far is only 3 months old so I can't comment on battery life with known good batteries. I actually received a battery with a motion sensor device that wouldn't power on the device and at first thought I had a DOA sensor. Turns out it was a dead battery. So I wouldn't base anything on the included batteries.
-
Keep in mind the ISY is a "state machine". Regardless if a program is True, it must have a trigger to cause the If clause to be evaluated. A blank If might technically be True but there is no trigger for the ISY to evaluate it and execute the Then clause. Until evaluation is triggered by another program, ISY considers it False. Once evaluated, a blank If is logically True but will never be evaluated again without a trigger from a program. I have a few programs with Repeat clauses that I want to always run and to begin at startup. The programs all have blank If clauses. I handle them with a variable. I have a variable named s.Startup and i.Startup. I also have a program named Startup that is checked with "Run at Startup". That program is as follows. If s.Startup =0 Then Run Program1 (Then Path) Run Program2 (Then Path) Send Notification "ISY Boot" Wait 30 seconds Set s.Startup=1 Set i.Startup=1 Since the variables are never initialized, they are always zero on startup and set to one 30 seconds later. No other program modifies those variables. Any program I want to run at startup I add to the Then clause. The variable also has the use of telling me the when the ISY last booted, which is kind of handy if you've ever wondered "Did my ISY crash? If so when?" I also know that no other program or event could cause the Then clause to execute since the variable will never be zero again until next boot. By triggering all my 'startup' programs from one master program it makes it easy to keep track what they are. For some programs, I also use watchdog programs to detect when they stop running. I'm not sure why, but sometimes programs that run "always' via a repeat clause just stop running. It's one of the things about the ISY that's currently frustrating me.
-
I really don't think posting all of my occupancy/TOD related programs would be helpful for you. Probably just the opposite since you would have so many to comb through without explanation of what they do or why certain things were done. I didn't comment my code. I know... I know... It's a sin. Factors like whether or not you have an integrated alarm system is a big difference in how you'll construct yours along with other considerations. The ideas posted here are good. I suggest you take these ideas and consider what will work for your environment based on what you want to accomplish and what needs to be accommodated. Then you can start writing those programs and post specific questions to the forum on how to accomplish something specific or solve a particular problem you're stuck on. You'll find that many are willing to help.
-
I agree that a single variable with values to represent various "Occupancy" states is better and cleaner. However, I built the functionality slowly and evolved into the scheme I have now over a 9 month period. I might go back someday and rewrite them but I'm not optimistic.
-
Definitely the grounding. I didn't think to ask about whether the circuit and/or our surge suppressor were properly grounded. Unless the transformer was faulty, changing it wouldn't make a difference and surely not because of providing "too much" power. Under powered would be a different issue. Do some more testing and let us know the results. Good luck!
-
I run most of my house based on four factors that are tracked with variables. Occupancy, Time of Day (TOD), Weekday. and Luminance. With these variables setup, writing programs to control things automatically is easy and effective. For me "home automation" means I shouldn't be setting or changing things manually on a daily basis unless it can't be predicted. That is only the time when I go to sleep. Everything else happens automatically because it's predictable or automatically detected. For example, my son's cell phone is used to know when he is here vs when he is not. When 5.x is released, I'll probably create a virtual switch for Sleep instead of running a program, but I won't change the way things run or remove any programmed KPLs. Mobilinc is just too slow for me for frequent use. Occupancy ========= Most of the home is controlled by the "Occupancy" state. Home, Away, & Sleep. Many lights and other programs are triggered when the variable for one of them is switched from zero to one or vice versa. Only one of them can be "on" at a time. I have a RemoteLinc and one KPL in the Master Bedroom to physically trigger Sleep. I most often use the program on my phone via Mobilinc to set the Sleep variable on. Once the variable is changed to one, programs are triggered like turning off lights, setting thermostat temps, arming alarm for night, etc. Away is triggered whenever the house security Alarm is armed for exit. I have a KPL I hit as I walk out to the garage that arms the alarm and opens the garage door together. But I do have one KPL to turn Aawy on if I want to leave for some odd reason without arming the alarm. I never use a program to turn this one on, although I could. Home is on whenever the alarm is disabled or the one KPL I referenced is manually turned off. I never use a program for this one either, although I could. TOD ========= I also have time of day variables (TOD) that work in conjunction with Occupancy. Day, Evening, and Night. For me, "Evening" is the time when it's dark outside but Sleep is not yet on. Once Sleep is on, Evening is turned off and Night is turned on. Day is turned on automatically based on sunrise. Luminance =========== I also have one luminance variable to decipher between dark vs light which for the most part helps set the TOD variables but also triggers a few lights which behave differently depending if I'm Home or Away. It's triggered by sunrise/sunset plus one luminance sensor to trigger the change if it happens to be very cloudy/stormy that day making darkness come early. Weekday ========== I tracked weekday vs weekend using one variable. It's used mostly for automatic thermostat changes but a few lights decorative lights as well. I also have a Guest variable for slight modification to some of the Occupancy scenes. It has one KPL actually in the guest room but normally triggered by a program via Mobilinc.
-
That's quite surprising. Perhaps the surge suppressor in that APC isn't handling the massive spikes coming from your unit. What is the exact model of the APC suppressor?
-
I was the one who posted the workaround. It was effective but I ended up returning them and adding Zwave to my ISY. I'm now using the Zwave Tstats from 2Gig. It works but I'm not overly pleased with them. If you use a surge suppressor that also has protected RJ45 "data ports" you can put it inline between your 2441TH and your HVAC control board. That was 100% effective for me in filtering out the voltage spikes on my gas heater from making the 2441TH changes modes and other issues. You could buy a dedicated Ethernet line filter but it costs just as much as the consumer grade surge protector with the data ports without any additional benefits except using up less space. See the attached diagram. You either need to cut up a Ethernet cable to have two ends of cable with RJ45 plugs for pigtails or be able to crimp your own plugs onto your cables. You'll have to make pigtails for the connections since the wires used for tstats is too thick to be crimped into an RJ45 plug directly.If cutting up a Ethernet cable, I'd try to get one that is at least 24AWG. Most shorties are only braided 26AWG. Your best bet is 22AWG which is usually solid strand cable, which is what I used. One of my three surge suppressors wouldn't work for this. Most tstat connections need five wires. I had an older surge suppressor that was only passing four of the eight wires through the protected data ports. It was made when Fast Ethernet (100MB) was the standard for home networking stuff, and FE only uses four of the eight wires so apparently they only passed the four connections necessary for FE to save a few bucks. Gigabit Ethernet (1000MB/1GB) uses all eight of the wires. As long as it's a recent surge suppressor you should be fine.
-
It's anLED bulb that has an internal rechargeable battery to provide backup during power failures. I like the idea of a light bulb with its own battery backup at a few key points in the house. Anyone tried this bulb yet in an Insteon environment? Wondering if it causes any comm problems and senses power failures accurately.
-
I noticed in the logs it was writing a memory address rather than device control commands to accomplish this. I had this thought and concern as well since I switch LEDs backlights on/off on the KPLs in the master bedroom every night/morning. I couldn't find any info on what type of persistent storage is used and figured it was unlikely to be a short term problem and I figured my use of these devices will probably be 10 years or less due to technology changes and obsolescence.
-
Yep. 256.
-
Thanks additional for the suggestion. Adding the one second wait at the beginning fixed the problem and seems to validate Lee's diagnosis of a collision during the send/receive of the initial device state change and executing the scene command.
-
Got it. Thanks for the clarification.
-
So at 8am (Sunrise+30min) it evaluates True and executes Then. This would start the Wait 5 min. During the 5 min interval, if the first clause is evaluated again due to the node changing status to On the whole the logic is evaluated again. The first clause is false and since it's now no longer 830am the second clause is also False so Else is executed and the previous running instance of Then is terminated. Is that correct? What if the node changed to On during the first 60 seconds of the Wait when it's still 830am (not 831am). Would the program still evaluate True based on Sunrise+30min? I ask these questions not to split hairs on making this program work. I can think of 5 different ways to write this and deal with the problem. I just want to make sure I understand the nuances of the ISY's state machine.
-
Mystery solved. Read my post above. The variable definitely didn't change and now I know why.
-
A ha! Now I realize the problem. Based on the second Or clause it evaluates as True at 8am and executes Then. However, I have 5 min wait timer. At 831am the Or second clause now evaluate as False and the first clause is still False too so it now executes Else. Thus it didn't get a chance to change the variable during the one minute the time schedule was True. Duh!
-
I'm only looking at the variable's value which is manually triggered by a time schedule using the Or.
-
Agreed. But shouldn't the Or Time is Sunrise + 30 minutes evaluate as True at 8am thus setting the variable to zero?
-
The variable s.Dark is 0 during daylight hours and 1 when it's dark. When this variable changes it triggers other programs that turns some lights on, others off, etc. This program is to turn s.Dark to zero each morning. I have the time window there as I wouldn't want it to fire in the evening such as when the light in that room is left on which would cause the luminance sensor to turn 'Off' after 3.5 min. Obviously there are a lot of ways to do this.I'm really just looking at this from a programming standpoint rather than functional. I want to understand why this program doesn't evaluate as True using the Or of Sunrise+30min.
-
You can see in my screenshot based on the green side bar it is now evaluating as True. But why didn't that happen at 800am? (730am sunrise + 30 min) This has happened two days in a row since I first created the program.