Charmed Quark Systems, Ltd. - Support Forums and Community

Full Version: ARTIK Cloud
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
While exploring the vast array of new voice command and integration options, I came across a cloud service that excited me as much as IFTTT. Since everyone’s experiences might vary, given the wealth of devices that CQC supports, I wanted to (possibly over-) explain my journey so far.

While IFTTT is awesome, in order to integrate CQC with Google Home or Alexa, it has a few short-comings that I was looking to improve on. I have tested both Google Home (via Google Home mini) and Amazon Alexa (via Fire TV), with my personal preference to the former.  I can say, ‘Ok Google, turn on <LightName>’ and it sends a HTTP request via IFTTT to my home CQC server. I can use the parameter <LightName> in the url of the web request for command parameter options.

My initial concerns with IFTTT were the lack of security (HTTPS is somewhat costly to implement) and dependency on a open port for incoming connections. Additionally, this also requires a dynamic DNS setup. While an advanced firewall could mitigate these concerns, I hoped to find an alternative connection method that would be persistent and low-bandwidth. Of course, many of the so called ‘smart hubs’ (Samsung SmartThings, Google Home Max, etc) do much of what I describe. Yet, IMHO, this is why I maintain a server with CQC, in my local network; another ‘hub’ would be redundant. Software smart hubs are seaming nonexistent since there are so many cloud services that are being born.

My search lead me to ARTIK cloud services, a subsidiary of Samsung. Over the past days of testing, I have prototyped light actions (dim and relay) and outlet power operations natively in google assistant, all from devices that only communicate locally to CQC, such as Insteon, X10, and APC Powerstrips via SNMP. This connection is persistent from CQC to ARTIK via a secure websocket.

Future improvements will hopefully allow for text parameters to ARTIK, as they can be parsed in IFTTT now (such as ‘Turn On <LightName>’), but these parameters don’t yet appear available to ARTIK response actions in IFTTT. However, the native device support capability and security improvements are likely enough drive for me to develop a ARTIK driver that allows for device communication between CQC and ARTIK.

Here’s the basic user actions once all the configuration is completed:

Upon “linking” Google Home and ARTIK cloud services using the Google Home app, your devices will be discovered if they match the following criteria:
    •    The device type contains the setOn and setOff Actions.
    •    The device type contains a percentage type Action, i.e. setLevel (0–100), setTemperature (0–100).
To interact with ARTIK cloud services devices on Google Home, say “Okay Google…”
    •    "turn on Living Room Light"
    •    "turn off Kitchen Light"
    •    "dim Living Room Light 50 percent"


PROs:
— Voice response latency has decreased due to websocket connection
— More secure than open HTTP port
— IFTTT setup/maintenance not required

CONs
— Only On/Off/Dim seems to be supported. Transmitting a text value is still unsupported.
— Requires setup/maintenance of light configuration in ARTIK cloud and new ARTIK driver config file
— Free service is limited to 100K messages per month


In time, if anyone else is interested, I'll post more details on how I created device templates and devices in ARTIK.

Anyone have any thoughts?