All Projects → DeanRoddey → CQC

DeanRoddey / CQC

Licence: MIT License
CQC (Charmed Quark Controller) a commercial grade, full featured, software based automation system. CQC is built on our CIDLib C++ development system, which is also available here on GitHub.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
typescript
32286 projects
Batchfile
5799 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to CQC

Irremoteesp8266
Infrared remote library for ESP8266/ESP32: send and receive infrared signals with multiple protocols. Based on: https://github.com/shirriff/Arduino-IRremote/
Stars: ✭ 1,964 (+3750.98%)
Mutual labels:  home-automation, hvac-control
nibeuplink
Nibe Uplink asyncronous python interface
Stars: ✭ 20 (-60.78%)
Mutual labels:  home-automation
HADailySensor
Sensor for Home Assistant that gets reset at midnight
Stars: ✭ 20 (-60.78%)
Mutual labels:  home-automation
homeassistant-lightwave2
Lightwave RF custom component for Home Assistant. Requires generation 2 ("Link Plus") hub, but will control both generation 1 ("Connect Series") and generation 2 ("Smart Series") devices.
Stars: ✭ 31 (-39.22%)
Mutual labels:  home-automation
smarterblinds
ESP8266 controller for Blinds-To-Go motorized blinds
Stars: ✭ 32 (-37.25%)
Mutual labels:  home-automation
HomeAssistant-CustomComponents
No description or website provided.
Stars: ✭ 25 (-50.98%)
Mutual labels:  home-automation
homeassistant-config
My elaborate home automation configuration + scripts
Stars: ✭ 17 (-66.67%)
Mutual labels:  home-automation
nefit-easy-core
Core functionality to implementation communications with Nefit/Bosch backend.
Stars: ✭ 19 (-62.75%)
Mutual labels:  home-automation
tuyaface
Python Tuya client that allows you to locally communicate with tuya devices
Stars: ✭ 44 (-13.73%)
Mutual labels:  home-automation
Home-Fi
Home Automation App using Flutter, Adafruit IO & Esp32 dev board.
Stars: ✭ 60 (+17.65%)
Mutual labels:  home-automation
texecom2mqtt-hassio
Home Assistant add-on. Connect to Texecom Premier Elite alarm panels and publish updates to MQTT. Supports arming/disarming as well as zone updates and alarm events.
Stars: ✭ 15 (-70.59%)
Mutual labels:  home-automation
GoogleSpeak
No description or website provided.
Stars: ✭ 14 (-72.55%)
Mutual labels:  home-automation
awesome-ha-blueprints
A curated collection of automation blueprints for Home Assistant.
Stars: ✭ 258 (+405.88%)
Mutual labels:  home-automation
ioBroker.cloud
Enable access to ioBroker from internet
Stars: ✭ 36 (-29.41%)
Mutual labels:  home-automation
home-assistant-notebooks
📓 Sample Jupyter Notebooks to explore Home Assistant data
Stars: ✭ 49 (-3.92%)
Mutual labels:  home-automation
mac-api
Command your Mac from afar
Stars: ✭ 33 (-35.29%)
Mutual labels:  home-automation
home-assistant-config
Ma configuration Home Assistant commentée en anglais et en français | My Home Assistant config with French and English comments.
Stars: ✭ 29 (-43.14%)
Mutual labels:  home-automation
hhnl.HomeAssistantNet
No description or website provided.
Stars: ✭ 31 (-39.22%)
Mutual labels:  home-automation
light-card
Lovelace light-card for home assistant
Stars: ✭ 18 (-64.71%)
Mutual labels:  home-automation
pyawair
a very simple python class to access the (private) awair api
Stars: ✭ 24 (-52.94%)
Mutual labels:  home-automation

The CQC Automation System

What It Is

CQC is a commercial quality, software based automation system, suitable for residential or commercial applications. If you aren't familiar with automation systems, this read me isn't the place to learn about that fairly large subject. There's a lot of information out there about them. You can also read through the broad overview in the CQC documentation (which will be available locally if you install it or build it, but it's also available online until then) at:

https://www.charmedquark.com/Web2/CQCDocs/CQCDocs.html?topic=/&page=/Overview

See the 'Automation Overview' topic on the left. You can also get a lot of information from the CQC Youtube channel as well. This will be CQC specific content but a lot of it will be generally applicable.

https://www.youtube.com/user/CharmedQuarkSystems/playlists

But, just to give a very simple list of the types of functionality CQC provides:

  • Obviously control over devices is at the core of automation, to get information from them (and make it available internally in a consistent form) and to send out commands to devices.
  • Powerful touch screen UI design which lets you visually expose device functionality to your users in a highly customized way.
  • React to changes in device state and do things (turn on the lights when a motion sensor triggers, etc...)
  • Invoke operations on a scheduled basis (turn on outside lights just before sunset, arm security system after a particular time, remind you to take out the trash on tuesday, etc...)
  • Control devices via various means, e.g. phones, computers, remote controls, voice, wall mounted panels, motion, etc...)
  • Have the system speak to you with important information.
  • Manage media and media systems.
  • Create your own custom clients that consume device data or control devices in some useful way.
  • To combine multiple device states into single composite values so that they are much more convenient to react to or deal with.
  • Send e-mails or texts when important changes in devices occur
  • Create custom logic, which can be invoked in the various ways mentioned above

Platform Support

CQC is Windows based, but it supports non-Windows touch screen clients, which is where cross platform support is important. You will though need a Windows machine to install it on and for management. CQC has a Windows based flagship touch screen client, and it has a browser based client for phones and non-Windows tablets. The same interfaces are available on both, so you don't need separate UI designers.

CQC is a network distributed system, and you can install various parts of it on multiple machines in your local network, and manage them all from any CQC enabled Windows machine.

The back end could be available on Linux, but that requires that the work to get the underlying CIDLib system available on Linux to be completed. It used to be available, but that wasn't used for a long time and so that support sort of atrophied and needs to be redone. See the next section.

CIDLib Based

CQC is based on our very powerful CIDLib C++ development system, and it demonstrates the power and cleanliness of CIDLib as a development platform. There are no standard C++ or third party interfaces involved, it's all in terms of CIDLib APIs.

  • Well, there are a few small places that haven't been abstracted down to CIDLib yet, but it's 99% in terms of CIDLib APIs.

This means that, if you want to build CQC, you will also need to load the CIDLib repository and build that first. They are separate repositories but designed to work together very easily. They both use the CIDLib build tool which fully understands all of the tools and requirements of CIDLib based development.

https://github.com/DeanRoddey/CIDLib

Build Process

The build process is now fairly well documented in the help. You will have the help available locally, but have to install and build CIDLib/CQC first so you can build the help. So initially you'll want to look at the online version of the help on the web site. Use the Advanced Topics link on the left. Here is a direct link to that section:

https://www.charmedquark.com/Web2/CQCDocs/CQCDocs.html?topic=/AdvancedTopics/CQCDevelopment&page=/Overview

Git Issues

Since we have two separate Git repositories, you can't use Git from within Visual Studio Code since it can only understand one Git repository, but you definitely want it to see both code bases for all the obvious practical purposes. So I set my VSC project directory in the shared directory above the two code bases (the CQSL directory in the example above.)

So all Git operations are done outside of the IDE, at least if you use VSC. Visual Studio Code is available on Windows and Linux and provides an identical experience on both, so I'd definitely recommend looking into it. Whatever anyone uses we need to make sure Git ignores any housekeeping files they generate.

History

CQC builds on the history of CIDLib, so see the Readme.md in the CIDLib repository. CQC was initially started just to have something to do with the massive amount of general purpose code provided by CIDLib. It was also started as a commercial undertaking. Though, being business impaired, it was not because of any actual proof that this would be a good business venture. I just was interested in automation.

In retrospect, being business impaired isn't probably a good thing if you are going to go into business. We were never really albe to grow a viable market for CQC. It was too powerful for the average user, and the professional installers are extremely sensitive to the long term viability of the products they depend on, and the automation system is at the core of the business. Then of course a lot of large companies got into the lower end of automation, and the traditional high end, proprietary hardware based systems started migrating downwards as well.

After a couple decades of ever declining prospects, we open sourced the product. Hopefully it will attract developers who can help to leverage the massive power inherent in this system. It could be much more than just an automation system.

License

Both CQC and CIDLib are available under the MIT open source license.

https://opensource.org/licenses/MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].