
Vyrolan
Members-
Posts
155 -
Joined
-
Last visited
Everything posted by Vyrolan
-
I personally prefer Control over Status since I think about these programs in an event-based way. However, I was mostly doing it because you mentioned scenes. Since the scenes may have many responders and at different levels, it's hard to say what "scene" is on. Using programs like I showed on the controllers, you can tell what scene is really on. If you just query the status of a light, is it "On" because Scene A is turned on or because Scene B is turned on?
-
I intend to try it out, someday. I must confess that I fear that I will like it, and compulsively spend the next months-worth of evenings and weekends learning a new hobby. Given one with my lack of experience with HTML and REST and stuff like that, I expect a steep learning curve. You seem to confirm my perception that iRule is king if one is looking for customization and flexibility. I have too many hobbies already. I can also confirm iRule's goodness, but it does have a time-sucking steep learning curve, and I can also agree with your "too many hobbies already". =p My iRule lags behind because we use our JP1 remotes more than anything to control everything...my wife is not big on iphone/ipad control despite us both having iphones and an ipad in the house. /shrug
-
Aw...iRule...I love it. =) You can both query and set variable values via the REST interface. Here is a thread with the details. As for scenes, you can't see the status, but you can see the status of various individual devices via the REST interface. Or you can have programs set variables... Let's say you had two scenes for a set of lights. The controller for "Scene One" is "KPL Button A" and the controllers for "Scene Two" are "Switch 1" and "Switch 2". You could use these programs: -- Set a variable to indicate "Scene One" status If ( Control "KPL Button A" is switched On Or Control "KPL Button A" is switched Fast On ) AND Control "KPL Button A" is not switched Off AND Control "KPL Button A" is not switched Fast Off AND Control "Switch 1" is not switched On AND Control "Switch 1" is not switched Off AND Control "Switch 1" is not switched Fast On AND Control "Switch 1" is not switched Fast Off AND Control "Switch 2" is not switched On AND Control "Switch 2" is not switched Off AND Control "Switch 2" is not switched Fast On AND Control "Switch 2" is not switched Fast Off Then $Scene_One_Status = 1 Else $Scene_One_Status = 0 -- Set a variable to indicate "Scene Two" status If ( Control "Switch 1" is switched On Or Control "Switch 1" is switched Fast On Or Control "Switch 2" is switched On Or Control "Switch 2" is switched Fast On ) AND Control "KPL Button A" is not switched On AND Control "KPL Button A" is not switched Fast On AND Control "KPL Button A" is not switched Off AND Control "KPL Button A" is not switched Fast Off Then $Scene_Two_Status = 1 Else $Scene_Two_Status = 0 So whenever the controllers for a scene are switched On, the scene's status is set to On (the one). Whenever they are switched Off or the controllers for the other scene are used, it is set to Off (the zero). You could then use the variables set by these programs for your irule feedback.
-
I agree...this is not necessarily the greatest control scheme. Essentially activating D is like locking in to D's scene...the Main is then changed to toggle between 100% and D's setting. You have to then deactivate D to return to normal operation. If ANYTHING ELSE controls these lights, there will need to be additional logic to integrate with this setup. I would guess answers are: - D would remain on, since we're in "locked in to D" mode...all the other lights stay at D's levels. - It would respond normally controlling the kitchen lights - Hitting D again would Off the D scene and turn off all the lights and release the "locked in to D" mode. - How would that happen? Regardless of the states of any of the lights, when D is turned on, all the lights will move to D's levels. Always true!
-
What are you actually trying to do? Your questions are very generic and vague so it's difficult to give answers. Variables can be used in conditions of programs...is that what you mean by Query? You can't use the status of a scene as a whole, but you can check each device individually...or you could use programs to detect the scene being turned on and off to set a variable.
-
This is an interesting concept. I don't believe I would have thought to adjust ramp rate to avoid the "undesirable" off>on transition. Unfortunately, there are no conditions which test for "scene" status, so you may need to find another condition which accomplishes a similar goal. Easily resolved. We already have a program that is trigger on D being turned On and Off...just have it set a variable $Scene_D_Is_On to 1 in the Then and 0 in the Else... Then use $Scene_D_Is_On = 1 in the later programs. EDIT: I edited the above post to reflect this change.
-
First, let's handle the Main not switching Off... Essentially you want it to switch On instead of Off. We can do that with a program, but there will be a delay. The light will switch off, and then the program will switch it on. That's confusing and undesirable, so we'll fake it by adjusting the ramp rate while "Scene D" is active. If Control 'KPL - D' is switched On And Control 'KPL - D' is not switched Off Then In Scene 'KPL - Main' Adjust 'KPL - Main' to 'Ramp Rate 9 Minutes' $SceneD_IsOn = 1 $KPL_Main = 0 Else In Scene 'KPL - Main' Adjust 'KPL - Main' to 'Ramp Rate 2.0 Seconds' $SceneD_IsOn = 0 So this program will adjust the ramp rate to the maximum when you turn D on, and then will set it back to normal whenever you turn D off. We also set a variable while D is turned on that will be used in our later programs. Now that the lights will be turning off very slowly, we can use a program to interrupt that and switch them On full. If $SceneD_IsOn = 1 And Control 'KPL - Main' is switched Off And $KPL_Main = 0 Then $KPL_Main = 1 Set 'KPL - Main' Fast On Else - No Actions - (To add one, press 'Action') We use Fast On to turn on the main lights since the ramp rate is set to max. (We could toggle it shorter and then back to longer if you really really want a ramp here...) We also set a variable to indicate "Main turned on while D is on" so that the next press goes back to 45%... Now we just need to restore the lights back to Scene D setting when you hit the button again... If $SceneD_IsOn = 1 And Control 'KPL - Main' is switched Off And $KPL_Main = 1 Then $KPL_Main = 0 Set Scene 'Scene D' On Else - No Actions - (To add one, press 'Action') Simply setting the scene on again should dim the lights back to the scene's settings. Setting the variable back to 0 ensures the next press will run the previous program to return to full brightness. The second and third programs basically override the "Off" of the main button to perform the toggling between 45% and 100% that you desire. By setting the maximum ramp rate on Main while D is on, the natural Off from pressing the button will be very slow and so easily interrupted by the programs. This is all a shot in the dark written from memory and untested, so please forgive any typos or small syntax errors...but I do believe the basic concept will work.
-
I think it would be extremely difficult to program your ISY to your specifications without being onsite and able to test things live and really work with you to get it all right...especially if you're wanting to do some more complex things. You may be able to find a local Insteon dealer/installer who offers ISY programming. The guys at Best Buy told me that the Geek Squad can program the ISY, but I shudder just imagining such a thing. If you are up for the learning experience, U-D support and these forums can probably offer you all the assistance you need, but it could be a slow sometimes-painful process depending on your ability and time availability.
-
This could work...he mentioned they had intentionally mounted the devices up high trying to provide clearance and good line of sight for RF.
-
I had an almost identical experience. =p
-
^^^ FWIW, I think the no-spaces restriction is fine...it'd just be nice if the UI let you know that somewhere instead of just silently reversing it.
-
I'm pretty sure the answer is No. There's no way to send On/Off directly to the secondary buttons. ISY programs can't do that either. If the button is a scene controller, you can send On to the scene as you said. That will also light the LED on the button.
-
The interface seems to act weird to me too. I find that if I just click in the name, erase it, type what I want, hit Enter, and then click Save at the bottom, it works ok. If I try to do anything else like setting the value or anything, it always wants to reset the name. It's definitely a bit wonky. Also, what are you are using as the name...I seemed to have trouble trying a name with spaces...I'm not sure if they're explicitly disallowed, but I couldn't get it to ever keep a name with a space, so I used underscores instead without issue.
-
You don't get multiple notices. You have to think like a timeline... 000000000011111111112222222222333333333344444444445555555555 012345678901234567890123456789012345678901234567890123456789 -----N++++++++++F-----------N++++++++++++++++F----------N++ So the first two lines are numbering (00 through 59)...the last line is actions across this section of time... N represents the switch being turned on... F represents it being turned off... From that, you should see that - means it is off and + means it is on. With that timeline, "Control is Switched On" is true 3 times in this timeline...at times 05, 28, and 56 (where the N's are). "Control is Switch Off" is true exactly twice...at times 16 and 45 (where the F's are). "Status is On" is true from 05 through 15 (the N and its following +'s) and then again from 28 through 44. So let's say a program runs at time 10...at that time "Status is On" is true, but "Control is Switched On" is not. The "Control" statements are only true in the instant of the action, but Status is true for the duration. Stated differently..."Control" responds to the action and "Status" response to the current state. Hopefully that helps... It needs to be "is not Switched Off"...you are saying "Control is Switched On and Control is Switched Off"...that would require it to be simultaneously switched in both directions which is not possible so it is always false.
-
That's always my problem...such a nightmare in my unit. =(
-
For the last round, I had to delete them and readd them in ISY to get them to properly expand and show the secondary buttons and stuff. Maybe you could do like a restore device or something.
-
Making ISY aware of incoming cell phone calls via Bluetooth
Vyrolan replied to OverloadUT's topic in ISY994
For occupancy sensing, there is a thread about one solution that I think is among the best. There's so many fine uses of a router running DD-WRT, and that is one of them. I'm not sure about the Bluetooth thing...it's range is pretty limited and your phone can't pair to more than 1 thing at a time and probably wouldn't handle switching very well. I just don't see Bluetooth as working well for this at all. Another option would be if you used Google Voice...your computer could detect the incoming call. There's a lot of details to figure out, but it could work. I'm assuming you don't carry your phone around and that's why you want ISY to alert you. If you sit your phone in a tray or something, that tray could be rigged with sensors to detect the vibration of it ringing or the light (most phones turn their screen on when there's an incoming call). I guess if it's going to sit still, the Bluetooth approach could work (similar sensor to detect light and/or sound from the Bluetooth device's ring indicator). -
I'd also be interested in this... There is a thread with one solution, but it's Mac specific. I think a real problem is if you don't have speakers everywhere, how do you make it work. There's no great way that I know of to just add speakers...and even where I do have them, I have no good way of playing arbitrary stuff. I could probably hack together some crazy thing to use AirPlay to an Airport Express speaker, but it would be a brutal hack I think. I do like the idea of Voice Alerting though...
-
Is the internal Web Server limited to 8.3 filenames?
Vyrolan replied to OverloadUT's topic in ISY994
Makes sense...I too apologize as I overreacted and was pretty snarky myself. Yea, I was thinking I would just do a massive find-replace (or sed or whatever your tool of choice is) to rename them and fix all the references, but for sure it would be a pain if you wanted to update. There are plenty of ways around the cross-domain thing, but admittedly none of them are super elegant. =p Since you have access to the server side in this case, a REST mirroring setup like you mentioned is probably easiest and least convoluted. -
Is the internal Web Server limited to 8.3 filenames?
Vyrolan replied to OverloadUT's topic in ISY994
It would have been better to say not a "general purpose computer"...but it's still essentially like a highly-specialized embedded device. The "extraordinary silly" part was when you blasted the developers with exaggerated statements about jaws hitting floors, and statements like "It has been literally 15 years since I have had to worry about 8.3 filenames, and I could not believe that the ISY-994 is actually beholden to this!" I also still don't understand why you can't just rename all your files to match 8.3 scheme... -
I think both should work...but Control is specifically for the time when something changes...hence "is switched". The Status ones should also work, but I wouldn't necessarily expect them to respond as quick. If I say "when this is switched on, do X", it better do X as soon as the switch occurs. If I say "when this is on, do X", I can understand that it maybe only checks that every once in a while. It has other stuff to do so it doesn't get around to noticing that those are on as fast. I agree that logically they are the same for your purpose...both should produce the same result, and I'm no expert on the internals of how the ISY works, but I would certainly not be surprised if the Status ones were not triggered as fast. A simpler fix might be to add some conditions to your program like this: If Status 'P23-Sensor' is Off And Status 'P22-Sensor' is Off And Control 'P22-Sensor' is not switched On And Control 'P23-Sensor' is not switched On Then Wait 3 minutes Set 'VFD - Speed 3' On Set 'VFD - Default Speed' Off Send Notification to 'fansetback' content 'fanmotoroff' Else Set 'VFD - Default Speed' On Set 'VFD - Speed 3' Off That way as soon as either Sensor switches On, the "is not switched On" becomes false and the Else runs. That might help it trigger faster as well.
-
I think you should be using "Control" instead of "Status"...the "Control" will flip instantly. I would use one program to flip to default speed when either sensor comes on, and then another to change when both are off: If ( Control 'P23-Sensor' is Switched On Or Control 'P22-Sensor' is Switched On ) And Status 'VFD - Default Speed' is not On Then Set 'VFD - Default Speed' On Set 'VFD - Speed 3' Off Else ====================================== If ( Control 'P23-Sensor' is Switched Off And Status 'P22-Sensor' is Off ) Or ( Control 'P22-Sensor' is Switched Off And Status 'P23-Sensor' is Off ) And Status 'VFD - Default Speed' is On Then Wait 3 minutes Set 'VFD - Speed 3' On Set 'VFD - Default Speed' Off Send Notification to 'fansetback' content 'fanmotoroff' So the first program will quickly turn on default speed if it is not already on whenever either sensor switches on. In the second program, whenever a sensor turns off and the other sensor is already off, start the 3-minute timer to slow down.
-
Is the internal Web Server limited to 8.3 filenames?
Vyrolan replied to OverloadUT's topic in ISY994
Or a $25 Raspberry Pi for that matter... -
You seem to equate a lack of ease with quality. You also seem to assume that ease is absolute and everyone is exactly the same as you... Somebody else might say soldering tiny little contacts is trivial but dealing with the configuration and programming of the board is hard. It also depends greatly on the situation. If this remote thing is the absolute only I/O thing he does, your solution is overkill. A simpler device like an IOLinc that had more outputs would be preferable. I really don't understand why you decided to rail on my disagreement with condescending tones and snarky remarks. My saying that it would be nice to have more options for IOLinc-like devices from SH is not an affront to your way of doing things... I was unaware that $100 qualifies as "a lot less". That's again assuming IP is actually making it to those places. If he wants to put it in his garage near the truck, he probably has power running there and outlets available. He may not have network over there. You at least can see the difference. =)