Introduction to Hubitat Elevation: Smart Home Automation Hub

 
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
 
Hubitat Connector
 
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
Slide Note
Embed
Share

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.


Uploaded on Jul 17, 2024 | 2 Views


Download Presentation

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


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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)

  6. 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))

  7. 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

  8. 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

  9. 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

  10. Hubitat API Set Up 2 Next, select the Maker API App

  11. 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

  12. 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

  13. 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

  14. Hubitat Connector

  15. 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.

  16. 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

  17. 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.

  18. 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.

  19. 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

  20. 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

  21. 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

Related


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#