Introduction to Hubitat Elevation: Smart Home Automation Hub
Hubitat Elevation is a local smart home automation hub that connects to Zigbee and Z-wave devices, offering features like command and control of various devices through a private network. The hub provides flexibility with licensing, loggable sensors, and support for a wide range of devices. Learn how to enhance your home automation experience with Hubitat Elevation.
Download Presentation
![](/assets/img/so-down.gif)
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
Hubitat The Hubitat Elevation is a hub that connects to many Zigbee and Zwave devices The Hubitat itself needs to connect to a standard internet router so that SkySpark has http access to it It has a static access token but no ssl/https which gives it very light security It is recommended that you connect to the Hubitat over a private network due to its low security A major advantage to the Hubitat is that it is completely local; reads and commands do not go to the cloud
Zigbee and Zwave Zigbee and Zwave networks are called mesh networks meaning their devices can extend the range of the networks and they also dynamically adjust to provide the strongest possible signal if devices move Devices on battery power will not extend the network to conserve energy Zwave devices can hop four times to extend the network Zigbee devices have no defined limit to number of hops to extend their network Zigbee and Zwave networks operate on difference frequencies than wifi so they do not interfere with wifi networks and vice-versa which is a major advantage Although Hubitat can connect to Zigbee and Zwave simultaneously, Zigbee will be its own network and Zwave will be its own network meaning the one will not extend the other
Licensing Each Hubitat connector extension is licensed to a single SkySpark Node Id Each Hubitat connector extension is licensed to a set maximum number of zwave and zigbee devices (a device can have multiple points) If either of these states goes into fault, the issue must be corrected and SkySpark must be restarted
Command and Control These technologies can send commands as well as receive sensor values Can control: Wall plugs (some measure energy) Other devices modelled as on/off switches Dimmable lights Colored lights These can be controlled via virtually anything you can imagine: Time/schedule Remote control Sensors on the following page
Loggable Sensors The following have been modelled and can be logged: Lux Konoz (zigbee) thermostat Temperature Humidity Light level Motion UV Vibration Door/Window open/close Water leak sensor/presence of water Power, energy, current, and voltage Light level of a dimmable bulb Hue, saturation, level of a colored bulb Some Samsung TVs (using mostly the on/off to control stereos)
Control Applications Here are some popular control applications: Water main off when leak detected Window shades up/down based on outside light Outside lights on/off based on outside light level Irrigation system on/off based on if it rained recently, the season, and the time Lights on when door open or motion detected Remote-controlled lights and TVs (yes, SkySpark can log and use the actual values of remote controls (ie 1,2,3,4))
Ziva is an Aeotec Distributor These devices have been tested and work great: Aeotec Smart Switch 6 (controllable and measures energy) Aeotec Multisensor 6 (measures 6 attributes/states at once) Aeotec Home Energy Monitor 5 Aeotec Nanomote Quad https://aeotec.com/products/ Contact us at: adam@ziva-tech.com to discuss
Other Devices that were Tested Most Samsung SmartThings devices except the remote button Sylvania color-changing bulbs Several other wall plugs Some wall plugs that did not work well: Inovelli, Neo, Zooz, and Peanut If a device is not explicitly mentioned, please contact us before purchasing at: adam@ziva-tech.com
Hubitat API Set Up 1 To have SkySpark talk to the Hubitat, it is necessary to install the Maker API App First, select the Add Built-In App option
Hubitat API Set Up 2 Next, select the Maker API App
Hubitat API Set Up 3 You also need to select the devices you want accessible via the API Note that you need to update this every time you add devices that you want to use with SkySpark
Hubitat API Set Up 4 You will then see a bunch of commands We need two things here: The uri for our connector up through devices/ The access_token for our connector Note that once you give this to SkySpark, you will not be able to retrieve it from within SkySpark since it is stored in the password store, but you can get it at anytime on this screen
Hubitat Connectors in SkySpark Creating a Hubitat connector: dis: Any Readable Name hubitatAccessToken: This will be provided by the Maker API App and acts as both a username and password uri: `http://host/apps/api/number/devices/` ie `https://192.168.1.229/apps/api/30/devices/` The hubitatPollFreq tag determines the minimum amount of time before the cache can be refreshed and how often the curVal values will be updated (which is from where both polling with intervals and COV come). The default value of 1min is good for detecting COV changes, but the Hubitat has been tested down to 1sec for real-time control and works very well. Of course, these records will have the hubitatConn and conn tags These can be created in the connector app
Polling of curVal hubitatPollFreq (duration) How often you want SkySpark to poll the connector for COV The default is 1min It is a tuning parameter Note that this determines how often the curVal in SkySpark changes. You would still need to set how often the data is collected with the hisCollect tags.
Hubitat Functions hubitatCmd send the hubitat a custom request; defaults to a lobby that you can walk read(hubitatConn).hubitatCmd hubitatLearn return a grid of all available cur and his points read(hubitatConn).hubitatLearn hubitatSyncCur force one or more points to sync readAll(hubitatCur).hubitatSyncCur hubitatWrite write a value back to the hubitat read(plug and hubitatWrite and cmd).hubitatWrite(true, 9, "me") hubitatPing send ping to connector to check connection read(hubitatConn).hubitatPing
Getting Data for Hubitat Points Manually or Automatically Collecting current values (from curVal): Each point must have these tags: hubitatConnRef (ref) which is a ref that points to the Hubitat Connector hubitatCur (str) which points to the Hubitat point object his (marker) cur (marker) hisCollectCov (marker or number) for cov collection OR hisCollectInterval (duration) for polling Note: we recommend also using a hisCollectInterval of 24hr when using a hisCollectCov to catch faulty sensors.
Writing to Hubitat Points from SkySpark Manually or with Automated Tasks Writing/Sending current values to a Hubitat point: Each point must have these tags: hubitatConnRef (ref) which is a ref that points to the Hubitat Connector hubitatWrite (string) which points to the Hubitat point object writable (marker) writeAttempts (number) (optional) this tag will send the write command multiple times if used when this point is sent a command Note: The pointWrite() command is the only writing command that is truly supported. The pointAuto() function is only used to clear the writeVal on SkySpark s end. It does not do anything on the device s end.
Basic Troubleshooting Note that it is normal for a connection to close when it has no points in a watch for a given period of time For larger systems, you want to set the poll frequency to a higher value to avoid network congestion
Getting Points via Code () => do conn: read(hubitatConn) conn.hubitatLearn().map r => do r = r.merge( { equipRef: read(equip)->id, siteRef: read(site)->id, hisCollectInterval: if (r->kind == "Number") 15min, hisCollectCov: if (r->kind != "Number") marker(), }) end.each r => commit(diff(null, r, {add})) Run as a task in large systems to avoid a timeout error
Getting Points with GUI We recommend using the Builder App s drag and drop capability to select which points are of interest as there are often many superfluous points