What is wrong with CQC?

capall said:
My thinking was that from Deans initial question, he prompted a huge discussion on CQC and some of its problems, however, I felt that the thread became quite general to someone who had no experience with CQC. After reading through the whole thread, I think (and I may be wrong), that the general feedback was the presence of incomplete drivers and a very high learning curve.
 
I wan't trying to specifically discuss Irule, but from say someone who has not used CQC, vs the hundreds if not thousands of people that use Irule (or even the lesser capable Roomie remote), and find it very easy, I thought it might be useful if specific examples between the two would help to explain (in simple language) the issues with CQC and how it could be made better.
 
For example, (and correct me if I'm wrong if my statement in incorrect), here's how would would phrase the comments
1. CQC allows for user generated images to be imported and used whereas irule only allows stock images.
 
Now, maybe Dean has heard enough, but from someone not yet into HA (although I do it at work with industrial test equipment and am hoping to in the near future)), I found that the discussion became more of a ... "user says one thing and dean counter points", leaving it very ambigous
 
Also, it may not have been intentional, but i think many people will see Deans post in search results for HA software, and will be encouraged by the possibility of learning by CQC's specific features of what it can do, can't do and could do better and thus decide to use it or not (I know I did)
It's easy for an application like iRule to be "easier".  It simply does only a fraction of what CQC does.
 
I'm a non-skilled user of CQC and I get along fine with it.  I love the absolute stability of the product.  If I wanted to start doing exotic things with it, I'd have to attack the learning curve issue, something my brain is too old to do.
 
But I have thoughts on the issue since it's under discussion.  I think Dean thinks like most all programmers.  He sees things from a technical capability point of view, and relatively unskilled users like me see it from a GUI point of view.  The simpler and prettier the GUI, the more excited we get.  But, I have to add, Dean listens.  And, he's very open about his thinking.  That's why you perceive the counterpoints.
 
I was one of those provoking Dean to redo the GUI.  The existing one represented years of hard work.  Still, he accepted the responses and launched into improving it with a rewrite that will take hundreds and hundreds of man hours.  I'm anxious to see the ultimate result.
 
Pretty pictures sell product.  The CQC site doesn't have much in the way of "pretty pictures".  What it has is lot's of technical information, more than any site of it's type I know about.  I think a "pretty pictures" site would sell more product, retaining, of course, the mass of technical information.  Imagine what could happen with CQC it the site could reflect what CQC us all about in a glance.  The problem with that is it's a huge job and needs an artistic type person to create it.  Dean is only one person, and it will never happen since he's buried 7 days a week keeping CQC ahead of the technical development curve.
 
RichardU said:
s for learning curve, I think that will flatten substantially when Dean releases the latest version. I wish I knew when that will be. Also, I agree about the YouTube or Vimeo channel.
 
It's a lot closer to the end now than to the beginning. All of the really big ticket items are 'roughed in', meaning coded but with such giant changes likely to have plenty of issues yet to work out. The remaining stuff is all smaller bits. Well, there's one more slightly big one, which are the driver development IDEs, but those aren't required to get betas out, and not even really essential for a first release. Actually I don't think they'll be that bad, but they probably represent the remaining largest single chunks. 
 
The stuff done so far is:
 
1. Completely new windowing framework, which wrap the standard Windows controls. This was the biggest single chunk really, but it's basically done other than where I might here and there need to add some new capability or go back and bring forward some capability from before that I've not converted over.
2. All of the customization bits. I.e. the ability to create and edit IV templates, scheduled/triggered events, event monitors, CML macros, global actions, images, etc... This was the second biggest chunk, and this of course is the bulk of what the admin client is used for.
3. Driver management. This is a big one and is done now
 
The bit not completed are:
 
1. The 'Configuration' section. There are no single huge chunks here, just a fair number of smaller bits. I've got user account management done. I still need to add email accounts, GC-100 port configuration, and probably a small number of other things I'm forgetting.
2. The 'System Info' section, which will include getting information on the system, license info, basic system tests. Not a lot that needs to be done here.
3. The 'Help' section, which really will just open up a tab that contains an embedded browser that loads up the new help system I'm working on. During the beta phase I'll be working on the new help content. 
4. The installer. Nothing huge but it has to deal with upgrading configuration data to reflect the changes, particularly to the event system where we moved them to a hierarchical storage scheme now.
5. The room configuration dialogs, auto-gen, manual template scaling stuff. Nothing crazy here, just grunt work.
6. Porting forward some things done in the 4.8 code base, like Echo support and a couple other things. Annoying and tedious but not super difficult.
 
So the stuff done so far vastly outweighs the stuff not yet done. I'm sure I'll run into plenty of smallish bits that I've missed and have to get them in when they come up, but even including whatever those may be, it's still way closer to the end than the beginning. Each of the things in the first list were like Promethean undertakings. 
 
Pretty soon I'll do a video where I do a from scratch simple system setup. Not a full blown system since I won't have time to do that in a short video, but it'll be a good demonstration of how much nicer it all is and how the general flow would go.
 
Will the next version of  CQC  still require a windows server and windows client devices or will there be an ipad native interface. Granted this is becoming less of an issues with the advent of the Surface tablets (but are still quite expensive)
 
On the interface and usage point vs Irule (and others)
 
It seems to me that CQC was primarily written to act as an alternative to a hardware control such as Elk, Omni.  yes no?..but that being said, how would CQC control or react to Z wave, Zigbee devices (lights, entry door access etc), wired door contact sensors being triggered, multiple RS232 devices (such as multiple AV receivers around the house without the use of a global cache or similar). All of these these need some kind of hardware interface yes?
 
and to clarify my use of "react" here is the automation part of the equation
 
I just looked at iRule and I need your help. Is it not a means to create a "universal remote control" and nothing else? If it is true home automation, where do the automation rules reside and what executes them?
 
For example, I arm my home in Away mode, open the garage door and drive away. I forget to close the garage door. After a grace period has expired, my automation system notices the home is armed and the garage door has been left open. It closes the door and then sends me an email reporting its actions. If the door fails to close, it reports that.
 
Another example: it periodically checks for weather alerts. If there is a storm warning, it displays a message on our HAI Omnistat and changes the display's background color to red. When the alert is over, it eliminates the message and restores the display color to blue.
 
Another example: it turns certain interior lights on shortly before sunset. However, it may turn them on earlier if we are home, the interior light-level is less than a preset amount, and the time is within two hours of sunset (i.e. It is cloudy outside so the lights should turn on before sunset).
 
It accomplishes this by executing rules I've written, that run on a PC, and read and control external devices like my alarm and lighting systems as well glean online weather information.
 
How would I use iRule to create this functionality?
 
PS
You'll notice that none of the examples use or require a user-interface.
 
capall said:
Will the next version of  CQC  still require a windows server and windows client devices or will there be an ipad native interface. Granted this is becoming less of an issues with the advent of the Surface tablets (but are still quite expensive)
 
On the interface and usage point vs Irule (and others)
 
It seems to me that CQC was primarily written to act as an alternative to a hardware control such as Elk, Omni.  yes no?..but that being said, how would CQC control or react to Z wave, Zigbee devices (lights, entry door access etc), wired door contact sensors being triggered, multiple RS232 devices (such as multiple AV receivers around the house without the use of a global cache or similar). All of these these need some kind of hardware interface yes?
 
and to clarify my use of "react" here is the automation part of the equation
I'm running CQC on a VM hosted by my NAS system. No problem. You could probably run it fine on a cheap headless Brix or equivalent. 
 
Mine "talks" to my ELK system (ethernet), the web (http trigger), my IR system (iTach IP2IR), my Centralite system (serial cable to zigbee interface), my matrix switcher (serial cable). Easy. 
 
capall said:
Will the next version of  CQC  still require a windows server and windows client devices or will there be an ipad native interface. Granted this is becoming less of an issues with the advent of the Surface tablets (but are still quite expensive)
 
On the interface and usage point vs Irule (and others)
 
It seems to me that CQC was primarily written to act as an alternative to a hardware control such as Elk, Omni.  yes no?..but that being said, how would CQC control or react to Z wave, Zigbee devices (lights, entry door access etc), wired door contact sensors being triggered, multiple RS232 devices (such as multiple AV receivers around the house without the use of a global cache or similar). All of these these need some kind of hardware interface yes?
 
and to clarify my use of "react" here is the automation part of the equation
What enevitably happens in any discussion on "smarthome control" or "home automation" is that the conversation seems to drift in all directions because of the simple fact that many, if not most people simply don't understand that there are many forms of "home automation" or lack-there-of, and they start to compare apples to oranges to grapes to figs.  This is not the place to fully explain this, but note that many do consider home automation to be "reactive" and also "smart" about acting to conditions going on.  This is the reason CQC and other systems have a processor running full-time in your house, because these events, be they motion, or an alarm, or a door bell press can happen anytime, and a system must react to them. No CQC will never reside solely on a smartphone, and anyone who thinks it should really doesn't really understand the subject.
 
iRule, HAIku, and many other "home automation" programs don't fall into this class, and these are nothing more than remote controls.  Using your phone to turn on your lights when it gets dark, is NOT a smarthome, its a rather stupid home because even a light sensor can do that with no user intervention.  Wink, Smartthings, and other "hubs" are other forms of home automation, as well, and ELK and HAI are still other forms of home automation.  Comparing iRule with CQC, or CQC with ELK or iRule with Wink is pointless, and that is not the point of this thread anyway.  Its always great to have everyone participate, but for those that really don't understand the premise of an existing thread, maybe its best to start a new thread instead.
 
capall said:
Will the next version of  CQC  still require a windows server and windows client devices or will there be an ipad native interface. Granted this is becoming less of an issues with the advent of the Surface tablets (but are still quite expensive)
 
There is an iOS RIVA client. The Android one isn't so great, but the iOS one is good from what I understand (they are third party, we didn't write them.) 
 
The next step after 5.0 gets out is an HTML5 based client for those types of portable and non-Windows devices. A fair amount of preliminary work was already done on that before we started on the 5.0 reworking. I figured out Typescript and the development environment required and such and had started experimenting with how it would work. It will be Websockets based, and will basically convert on the fly your CQC templates, to the extent that that's possible in HTML. So you won't have to (though you could) create separate templates for these devices. We have already implemented Websockets a few versions back on our Web Server so that stuff is already in place as well.
 
capall said:
On the interface and usage point vs Irule (and others)
 
It seems to me that CQC was primarily written to act as an alternative to a hardware control such as Elk, Omni.  yes no?..but that being said, how would CQC control or react to Z wave, Zigbee devices (lights, entry door access etc), wired door contact sensors being triggered, multiple RS232 devices (such as multiple AV receivers around the house without the use of a global cache or similar). All of these these need some kind of hardware interface yes?
 
and to clarify my use of "react" here is the automation part of the equation
 
You can interface to almost anything from a PC based system. One thing we don't have yet is native Zigbee support. But a user on the forum has been doing a lot of preliminary exploration of what's involved so that I can get into that post-5.0, and hopefully skip over a lot of head scratching weeks. It would involve an XBee board, which is a Zigbee module on a chip, basically the equivalent of a Z-Stick for USB more or less. As with the guts of a Z-Stick, it's really intended to be used to create Zigbee modules, but can be also used as an on-ramp for PCs to interface with the Zigbee network.
 
capall said:
Will the next version of  CQC  still require a windows server and windows client devices or will there be an ipad native interface. Granted this is becoming less of an issues with the advent of the Surface tablets (but are still quite expensive)
 
There is an iOS RIVA client. The Android one isn't so great, but the iOS one is good from what I understand (they are third party, we didn't write them.) 
 
The next step after 5.0 gets out is an HTML5 based client for those types of portable and non-Windows devices. A fair amount of preliminary work was already done on that before we started on the 5.0 reworking. I figured out Typescript and the development environment required and such and had started experimenting with how it would work. It will be Websockets based, and will basically convert on the fly your CQC templates, to the extent that that's possible in HTML. So you won't have to (though you could) create separate templates for these devices. We have already implemented Websockets a few versions back on our Web Server so that stuff is already in place as well.
 
capall said:
On the interface and usage point vs Irule (and others)
 
It seems to me that CQC was primarily written to act as an alternative to a hardware control such as Elk, Omni.  yes no?..but that being said, how would CQC control or react to Z wave, Zigbee devices (lights, entry door access etc), wired door contact sensors being triggered, multiple RS232 devices (such as multiple AV receivers around the house without the use of a global cache or similar). All of these these need some kind of hardware interface yes?
 
and to clarify my use of "react" here is the automation part of the equation
 
You can interface to almost anything from a PC based system. One thing we don't have yet is native Zigbee support. But a user on the forum has been doing a lot of preliminary exploration of what's involved so that I can get into that post-5.0, and hopefully skip over a lot of head scratching weeks. It would involve an XBee board, which is a Zigbee module on a chip, basically the equivalent of a Z-Stick for USB more or less. As with the guts of a Z-Stick, it's really intended to be used to create Zigbee modules, but can be also used as an on-ramp for PCs to interface with the Zigbee network.
 
Thanks for the responses guys, and yes, I do take your point about maybe this thread is possibly not the place to ask my question. I was hoping that it might while not diverging from the original question by dean. Maybe I should start another thread and keep it on topic that way.
 
123 said:
I just looked at iRule and I need your help. Is it not a means to create a "universal remote control" and nothing else? If it is true home automation, where do the automation rules reside and what executes them?
 
For example, I arm my home in Away mode, open the garage door and drive away. I forget to close the garage door. After a grace period has expired, my automation system notices the home is armed and the garage door has been left open. It closes the door and then sends me an email reporting its actions. If the door fails to close, it reports that.
 
Another example: it periodically checks for weather alerts. If there is a storm warning, it displays a message on our HAI Omnistat and changes the display's background color to red. When the alert is over, it eliminates the message and restores the display color to blue.
 
Another example: it turns certain interior lights on shortly before sunset. However, it may turn them on earlier if we are home, the interior light-level is less than a preset amount, and the time is within two hours of sunset (i.e. It is cloudy outside so the lights should turn on before sunset).
 
It accomplishes this by executing rules I've written, that run on a PC, and read and control external devices like my alarm and lighting systems as well glean online weather information.
 
How would I use iRule to create this functionality?
 
PS
You'll notice that none of the examples use or require a user-interface.
Just wanted to follow up on this, and I'll probably leave it at that and start a new thread, so as not not hijack this one.
 
Yes, I would agree it looks like irule is a more of a remote control software, but all the examples you describe, including your statement "You'll notice that none of the examples use or require a user-interface."  lead me to believe they are programmed in your Elk (as seen in your signature) and nothing to do with CQC. I get that you may use CQC to turn on the lights or adjust the thermostat as well, but these would be control actions and not automation actions, and after which the Elk would track your control inputs so it it would take them in account when running its rules later in the day. (ie knows that you've manually already turned on the lights).
 
Such 'rules' can live in CQC or the Elk (or Omni or whatever.) If they require interacting with anything that the Elk doesn't understand (not that terribly uncommon), then CQC would have to handle them. Sometimes folks prefer to do them in CQC because it's just a more extensive environment when it comes to setting up user logic.
 
That's a nice way to say that Elk rules are to a bicycle what CQC rules are to a car (or insert preferred order of magnitude analogy here).
 
RichardU said:
That's a nice way to say that Elk rules are to a bicycle what CQC rules are to a car (or insert preferred order of magnitude analogy here).
Very true. Bicycles don't require constant software updates like today's cars.
 
Just as an aside, though systems like iRule can use things like iTachs or whatever to do IP to serial communications, you have to keep in mind that serial comm is fundamentally a point to point system. Most serial devices will not correctly deal with two things talking to it at once, in an uncoordinated way (and multiple smart phones are inherently not coordinated.) So commands could fail if two of them come from separate phones at the same time, sometimes in a way that would confuse the device fairly severely. 
 
A dedicated back end controller avoids that issue because all communications with devices goes through that back end server indirectly and it acts as the traffic cop. 
 
Beginning to understand now. and just let me be clear, I do appreciate that CQC  is a far more power piece of software than IRule, Haiku etc and that CQC doesn't really have a true competitive in the DIY residential and commercial market.  its just I don't yet understand the complexities of it and what it does, so I hope I didn't come across as suggesting that Irule is anywhere as good.
 
Back
Top