Jump to content

Program cycle time


MarkJames

Recommended Posts

I imagine that all the programs run in a continuous cycle. Some programs must put more strain on the processor than others. If one continues to add programs or many programs with repeats in them I would think that a lag would start to become apparent.

 

It would be nice if one could see the number of milliseconds it takes for ISY to cycle through the program queue. That would give you an idea of what kind of impact on performance a program has. By enabling or disabling programs one could readily see if any given program is a processor hog. You could also see if you have way too many 'things going on' and that it was time to start streamlining.

 

mark

Link to comment

Hi Mark,

 

Without going in detail, the loop is a little more intelligent than just looping. For instance, if things are schedule/time related, they are put in a queue and basically sleep till the next runtime (which you can see in the summary). For those that are event related (such as device/module status), they are keyed and are not evaluated unless that event takes place.

 

Obviously, the more programs you have everything is going to take a little longer but, from our benchmarks, there are no noticeable differences in execution time as long as the number of your programs are below 500. And, even then - and up to 1000 programs (the limit) - you can barely notice the lag.

 

brad77, CPU utilization is something we would like to implement but just haven't had enough interest so we've spent the time on more important things.

 

With kind regards,

Michel

Link to comment

I get the impression that the ISY has plenty of headroom both in terms of CPU and memory. Is that impression correct? Could servicing a number of subscription channels bog it down?

Link to comment

Thanks, Michel,

 

I don't think I'll ever get up to that number of programs and with the prioritization you describe I'm sure I'll never bog it down.

 

Brad, are you using your ISY as a web server? Is that why you ask about subscription channels? I've got several web pages that I maintain for myself hosted elsewhere but if it was possible to control the ISY through its internal webserver with a custom page I would be keen to do that. The devices/scenes control from the built-in page is adequate but being 'one size fits all' it's not very pretty.

 

Mark

Link to comment

The subscription channels comment was related to my ISY Control Center development. It's a stand-alone application that uses web services to connect to the ISY, hearing back events on a subscription channel. My wonder is whether multiple subscript channels could potentially bog down the ISY. I should have been more specific!

 

I am using the web server, but not for hosting. I suppose it would work for plain vanilla HTML, but bandwidth would be a major consideration as well. I don't think that's the right device for the job unless it's for very light use and your needs are basic.

 

As for controlling the ISY via an alternate web interface hosted on the ISY, have you tried TouchSwitch or ISYAJAX? Both of those offer an alternative interface. While they are both designed for phones, they should work in a larger browser. I personally use ISYAJAX as TouchSwitch doesn't work on my Droid.

Link to comment

Hi brad77:

 

ISY99 is does not use a lot of CPU unless there are multiple SSL/HTTPS clients in which case most of the time is spent in encryption/decryption.

 

Memory is split into two sections:

Flash : this is where the firmware and essential data (like MAC address) are stored. We are almost at 90% of flash but I do not foresee any problems for a while

RAM : we are using almost 60% of the RAM. Since we are using an extremely intelligent memory management system that we have developed out of scratch, you can be guaranteed that there are no fragmentation and that 40% is available for future features/enhancements

 

ISY supports up to 10 subscription channels. Our queuing system ensures that subscriptions are NOT going to cause performance issues neither at the network layer nor at the application layer. The only performance impact would be that the 10th subscriber is going to get the events a little later than the first one (in most cases, the lag is less than a second. In HTTPS it's less than 3 seconds).

 

With kind regards,

Michel

Link to comment
The subscription channels comment was related to my ISY Control Center development. It's a stand-alone application that uses web services to connect to the ISY, hearing back events on a subscription channel. My wonder is whether multiple subscript channels could potentially bog down the ISY. I should have been more specific!

 

Is there some reference material around for what you're doing? It sounds interesting.

 

Thanks for the ISYAjax link. Sadly I'm not a Java or Ajax kinda guy. C++ and some assembler is more my speed. I tried writing a web page featuring some weather gauges for my Davis weather station last year. The company actually *gave* me their $700 development package just like that when I mentioned that I was wanting to use it strictly for personal use. I couldn't make heads nor tails out of Ajax and after a frustrating week or two just let it die a peaceful death.

 

mark

Link to comment

The ISYAJAX stuff is easy peasy. There's no need to crack it open and look at the code. This post has instructions. You just need to download the ZIP and drop the files onto your ISY's web server using the Administrative Console.

 

As for the web service stuff, there's some reference material in the development section of this forum and on the Wiki, though some of it is out of date. If you decide to try your hand, be prepared to read, re-read, experiment, then re-read again. It helps to familiarize yourself with SOAP regardless of your language of choice. Bob is an excellent resource, and there are a few people watching the development forum.

Link to comment

That's gonna have to wait till next winter, I'm afraid.

 

At the moment I have 3000 or so ft of cat5e, siamese, and RG59 to run/bury/retrofit into 5 buildings along with 5 cameras to add to the 8 I recently installed, 11 wireless sensors, 2 elk m1xrf2gs, 5 elk keypads, 4 wireless smokes and 1 wired, an m1xIN, and a bunch of wired door/window/garage contacts. Then program it all and write all the rules and ISY integration to make it 'work'. At the same time there's a lot of ISY programs yet to write along with getting TTS and telephone integration working. So my plate's pretty full :)

 

It is on my list of things to do, though - if only to simplify it for my wife and kids. I gave my son the admin password for ISY - he loves to taunt his sister from his ipod by turning her lights on and off lol.

 

Cheers,

 

mark

Link to comment

Well - I'm up in Canada so my choices are a bit limited. The major smarthome dealer here is Aartech. He carries all the smarthome products as well as Elk, GE Security and a bunch of other stuff.

 

I priced things from a few dealers in the US and his prices were better on most items except for the GE stuff on which he was considerably more. His Elk and Smarthome products were less, for sure. I emailed him and he offered me 7% off my whole order to keep the business with him. So that's what I did.

 

I ended up buying the GE ones - both wired and wireless - I think they're called Sentrol. It'll be a week before I get it so I can play for a bit :)

 

mark

Link to comment

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...