
apostolakisl
Members-
Posts
6943 -
Joined
-
Last visited
Everything posted by apostolakisl
-
We are talking UBI not UBE here. Ubi is an android based, voice controlled, wall powered digital assistant:http://www.kickstarter.com/projects/607691307/ubi-the-ubiquitous-computer-voice-activated-and-al-0 UBE is a light switch: For what its worth, I believe UBI is planning on supporting UBE. -Xathros Oh Sh**. Sorry.
-
The prototype UBI light switch which they were showing off at SXSW about a year ago literally was a hacked Android phone. Here is a video I took Which means, that if it has a usb port or if you can open it up, you should be able to find a usb connection and if you are an Android nerd you can probably get into the OS and write you own app to get the switch to use REST to send its status to ISY and to respond to network module commands. Of course that is well beyond anything I am capable of.
-
My understanding is that you can only have zigbee or z-wave, not both.
-
What Harmony do you have? I do believe some of the new ones have network accessibility. Anyway, you need the ISY network module to send any network commands to anything. I know for a fact that you can send network commands from ISY to GC units as I have one of the wf2ir models. I have a harmony 890, but it has no network accessibility.
-
global cache, ps3, harmony, and fios don't link to ISY. You can send commands to a global cache using the network module, and harmony can send IR commands to ISY (if you have the ISY IR model).
-
You have to put the actual value into each network resource, at least until variables is supported. For example, if the variable can have 5 values, you would need 5 network resources, one for each value. Then you would need 5 programs to call each of those 5 resources depending on what the actual value was. If $x = 1 Then resource '1' If $x = 2 Then Resource '2' And so on, where resource 1 does your UDP posting of the value 1 to your other device, 2 for 2, and so on.
-
Do you have the network module? Unless you have a way to parse a text or email and plug that into your other application, I am not sure it can be done without using the network module. But someone else may know something I don't.
-
I haven't thought about "partial ONs" yet as I have no wall dimmers or switches but I have been aware of some of these "non black and white" states devices can have and trying to avoid the gotchas later with careful conditions code. Yeah? Who am I kidding? I change some code every day. I meant "every hour". Trying to reorganise my X10 addresses to accommodate TM751 RF modules around the house. X10 address movement is a grind with the ISY though. You make an address plan and then some MS won't reach that RF module. Plan G next. Thanks. It sounds like you will get your monies worth out of ISY. Just realize, that no matter what the trigger is, if a condition in the "if" section that is a trigger happens, the "then" or "else" stops all waits/repeats and starts over from scratch. It can happen other ways as well. IF control light x is switched on Then do something wait do something If the light is on, and you click "on" that program will restart. An "on" command is a trigger regardless of the current state of the device. So it was true, and it still is true, but it starts over. In contrast to this: IF status light x is on Then do something wait do something This program will not re-trigger since "status" is only a trigger if it changes. This program sits idle no matter how many times you click on the on paddle if it was already on.
-
An example of what Lee said. If status light x is not off Then do something wait x minutes do something This program will re-start the timer every time the light changes condition even if it never turns off. Like from 50% to 100%. Both are true, but the then clause would terminate and start over from scratch.
-
Is there a problem just running programs with no conditions defined from the (if) entrance? I have been running programs (if) as subroutines, without conditions, and all seems fine. Is this asking for trouble down the road? There is nothing wrong with programs that have a blank "if" clause. The main reason people do this is to avoid a re-trigger. In other words If status of light x is on Then call then program b Program b If -- blank Then Do something wait do something In the above example, if you had a then clause with a "wait" and the light status changed, the wait would terminate. Doing it this way the wait will finish.
-
Turning one light off causes it and another to turn back on
apostolakisl replied to jgorm's topic in ISY994
I have had the same problem. I need to disable a bunch of programs for whatever reason (maybe running a scene test) and then when re-enabling you get a little messed up on what is supposed to have been left disabled. I suppose a feature that might be nice is to have a memory preset for enabled/disabled so you don't have that problem. -
I would agree that the cai is a good way to get those temps posted. I am not using it to do boiler temps, but am using it for air temps. Xathros will need to tell you how he is getting the water temps, it may be simplest to just strap an air temp device tightly to the pipe, wrap it with insulation, and call that close enough. To get direct temp of water you would need to do some plumbing. I don't believe that you need the network module. The latest cai firmware has a feature in it that posts directly to ISY using the REST. It has been a year or so since I set all that up, so my memory is a bit rusty, but I am pretty sure. You will have to learn a little bit of PLC code to program that cai to send the temps. You will need the network module if you want ISY to send info back to the CAI.
-
Turning one light off causes it and another to turn back on
apostolakisl replied to jgorm's topic in ISY994
You have to set up a port forward on your router. Use the secure port to do this and connect using https://yourroutersexternalipaddress So you would set your router to forward incoming requests on port 443 to local port 443 of the local IP address of your ISY. It sounds like you may have multiple routers behind your modem/router with multiple LAN's. In this case, life will be much more complicated. The way I know how to do it is to have your modem/router pass your external IP to the router that has the ISY on it. This can be done using the DMZ feature on the modem/router. You might also be able to set your modem/router to bridge mode in which case it becomes a pure modem, but then you can't connect a second router to it. Once the router that is directly attached to ISY has your external IP, then you set the port forward up on that router. There might be a way to do it using NAT settings where you can tell your modem/router to forward port 443 to the second router which then forward to ISY, but I haven't any idea how to do that. But for sure, if you can get the router that has ISY attached to it to have your external IP, then the port forward on that router will work. This is how I have my Uverse modem/router setup. I also have 2 LAN's, and I have not been able to get anything on the one LAN to talk to the other LAN. In other words, my guest LAN which is hosted by the Uverse modem/router can't communicate with anything on my personal LAN hosted by my VPN router. -
You second program will work the same with one exception, it requires that 'Great Room / Great Room Devices / GR Spots KPL (DB) - A Spots / GR Spots KPL (DB) - F Night' is not off to run the "then". Otherwise both require that at least one of the other conditions be true. You basically have made that single kpl of equal importance to the sum of all the other conditions.
-
You are right, but what is the point. You could just as easily put all the "then" statements into the first program and be done with it. In other words why do this If whatever Then run then program a run then program b run then program c etc When you could get rid of the a, b, c, etc programs and simply do If whatever Then do whatever program a did do whatever program b did do whatever program c did etc Instead of a whole bunch of programs, you get 1.
-
Stop for a second and think about 2 concepts 1) Triggers 2) True/False Realize that (as Lee said) anytime you list the status of a device in the "if" section, that a change in the status of any one of those devices is a trigger. In other words, the program will run. It doesn't matter what the change is, any change is a trigger. Also realize that if no change occurs, the program will sit idle. Once the program is triggered, then it will go through each line and determine the true/false status of each line and logically connect everything per your "and"/"or"/"()" and determine if the entire statement is true or false.
-
How to return a light to original status in program
apostolakisl replied to AgentAR9's topic in ISY994
I would do something similar but slightly different. If status hall is not off and control garage sensor is switched off Then set hall light off wait 1 second set hall light on Else - - If status status hall is off and control garage sensor is switched off Then set hall light on wait 1 second set hall light off Else - -- -
What do you mean by running every program? You can certainly enable and disable all the programs in a folder like that, but you can't cause them to trigger. If you want them to trigger, then you need either include the state variable within the "if" section of each program, or have another program like this If state variable = x Then run program a if clause run program b if clause run program c if clause etc.
-
OK, so the program did what you wanted, it was a failure to communicate. The question then becomes is this a repeating comm problem or just a random miss. If you didn't do anything, they would have tried to turn off again at sunrise minus 1 hour by the program. Or if you turned the kpl on then off that would also trigger the program to shut them off again. Sometimes you have something making noise/sucking that is on randomly and is hard to pin down. What about just hitting a manual run then/run else. This should turn the lights on/off. Per chance you don't have two different lights that you accidentally named the same.
-
It appears to me that at 1:15 am you turned the KPL off. Turning the KPL off is a trigger and will run the "else" clause as per the last line of the "if" section which is "anded" to the rest of the clause. There is nothing in that program that can cause it to run false at 1:15am except for manually turning the kpl off (actually pushing the button). "And Control 'Hall and Foyer / Hallway KPL8 - A - Hallway / Hallway KPL8 - F - Work' is not switched Off" It was my understanding that this is what you wanted to happen, but maybe it isn't.
-
In my mind, I think of the "not switched off" as a double negative. .. so it just does the opposite of what it would do if the "not" were absent.
-
Sorry, I made a typo, the kpl was off. The status of the KPL is irrelevant. "control switched . . " has nothing to do with the status. It is strictly a statement that refers to an action taken on the switch by the user physically pushing it. It is ISY responding to the switch sending an "on" or "off" or "Fade" or whatever. Whether it is true or false has to do with the exact language. If the program runs by some other trigger, then "is switched whatever" will always be false, and "is not switched whatever" will always be true. Anyway, I promise you, that program is true at sunset - 2minutes. There is no doubt about that. If a couple seconds later you pushed the kpl and turned it off, then it would go false. The last line "and not switched off" serves 1 purpose: to drive the else clause when you physically push the kpl button and it goes from on to off. . . which it will do no matter what time it is.
-
No, that is not how that logic works. The switch was indeed "not switched off". This program will be true at sunset - 2 minutes. There really is no way for this program to not trigger and be true at sunset - 2 minutes. Did you look at your program summary page and see the last time the program ran and whether it was true or false? You could easily change the "from" time to something a couple minutes in the future to test it. The purpose of the logic "not switched off" is in this fashion, switching off is a trigger and it activates the else clause. Any time the program runs for any other reason, a "not switched off" statement will always evaluate to true.
-
You can use "fast on" and "on" to control it. Set the KPL as a "non-toggle on" only by going to the KPL in the main tab and clicking on the KPL master on the left tree. Then in the right pane at the bottom it will have a button to click "toggle mode". Set the button you want to control the fan as non-toggle on. Create a scene and put the KPL button and fan switchlinc into the scene with the KPL button as a controller. Now turning the KPl button on turns the fan on without a program. You can make the switchlinc a controller also but if it is in the attic I am guessing that means you will never actually touch it so it won't make any difference. Program turn fan off after 15 minutes If control kpl is switched on Then wait 15 minutes set fan scene off Else . . . This is the normal program that shuts the fan off and KPL light off after a routine turning of the fan on by pushing the KPL. If you hit the KPL button while the fan is already running, the KPL light stays on and the program starts the 15 minutes over. Program turn fan off immediately If control kpl is switched fast on Then set fan scene off This will let you double click the KPL button when it and the fan are already on and it will turn the fan and KPL off.
-
Your programs look exactly as I had suggested. Hopefully I didn't flub it up! It is very easy to have the fan timer reset by clicking the KPL button again. You can set the KPL button to always send an "on" command, and the on command can reset the timer. Of course this will mean you can't shut the fan off manually if you want. You can also utilize the "fast on" function to create an alternate outcome.