IP Library Granted Patent US 10,386,807
Granted Patent B2
US 10,386,807 · App. 15/357,433 · Granted Aug 20, 2019

Device-type handlers for remote control and monitoring of devices through a data network

Inventors: Jeffrey Hagins (Santa Rosa Valley, CA); Alexander Hawkinson (Great Falls, VA)
Assignee: SmartThings, Inc.
G05B19/042G05B15/02G05B19/0423H04L41/00G05B2219/2642
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,386,807
App. No.
15/357,433
Granted
Aug 20, 2019
Kind
B2
Abstract

A method for providing automatic control of one or more devices in an environment including assessing information for the devices being paired with a hub or with a central server where the hub and the central server are configured to receive status messages from the devices and to issue commands to the devices; determining device-type handlers to use with the devices; installing the device-type handlers at the hub or the central server; installing an automation application on the hub or on the central server where the automation application responds to an event and issuing a command in response to the event; receiving a device-specific message from a source device at the hub or the central server; generating, using a device-type handler associated with the source device, a normalized event message; and providing the normalized event message to a processor in the hub or the central server.

Claims (53)

1. A node arranged for use in an automation system for providing automatic control of one or more devices in an environment, the automation system including a central server and a hub paired with the one or more devices, the node being selected from the group consisting of the central server and the hub, the node comprising:

a processor;

a memory coupled with the processor;

an automation application at least partially installed on the node and configured to execute in response to the receipt of a normalized event message from a source device and to issue a normalized command in response to the normalized event message; and

a first device-type handler installed on the node, the first device-type handler configured to receive the normalized command and to generate a device specific command to a target device among the one or more devices paired with the hub; and

wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:

receive a normalized event message, the normalized event message received from a second event handler associated with a source device, the normalized event message being generated based on a device-specific message from the source device;

in response to the normalized event message, execute the automation application on the node to cause the automation application to issue a normalized command in response to the normalized event message;

use the first device-type handler installed at the node, to generate a device-specific command based on the normalized command; and

send the device-specific command to the target device.

2. The node as recited in claim 1 wherein the node is the first hub.

3. The node as recited in claim 1 wherein the node is the central server.

4. The node as recited in claim 1 , wherein the normalized event message is received from a second hub paired with the source device, and the memory is further configured to provide the processor with instructions which when executed cause the processor to cause the normalized event message to be stored at the central server.

5. The node as recited in claim 1 , wherein the memory is further configured to provide the processor with instructions which when executed cause the processor to:

obtain identifying information associated with the one or more devices paired with the hub; and

determine using the identifying information device-type handlers to use with each of the one or more devices.

6. The node as recited in claim 1 , wherein the memory is further configured to provide the processor with instructions which when executed cause the processor to:

determine a set of devices being paired with a hub;

determine a set of device-type handlers to use with the set of devices; and

install the set of device-type handlers at the hub.

7. The node as recited in claim 1 , wherein the memory is further configured to provide the processor with instructions which when executed cause the processor to:

determine a set of devices being paired with a hub;

determine a set of device-type handlers to use with the set of devices; and

install a second device-type handler from the set of device-type handlers at the hub when a second automation application is installed at the hub to be executed on the hub to control or monitor a first device, the first device-type handler being associated with the first device.

8. The node as recited in claim 1 wherein the memory is further configured to provide the processor with instructions which when executed cause the processor to:

install the automation application on the central server.

9. The node as recited in claim 1 wherein the memory is further configured to provide the processor with instructions which when executed cause the processor to:

determine whether device-type handlers should be installed at the central server or the hub;

based on the determination, install device type handlers at the hub and the central server.

10. The node as recited in claim 1 wherein the memory is further configured to provide the processor with instructions which when executed cause the processor to:

determine whether device-type handlers should be installed at the central server or the hub;

based on the determination, install the device-type handler at the central server and not the hub.

11. A method for providing automatic control of one or more devices in an environment using an automation system that includes a central server and a hub paired with the one or more devices, the hub and the central server each having device-type handlers installed thereon and being configured to receive status messages from the devices and to issue commands to the devices, the method comprising:

executing an automation application on a node selected from the group consisting of the central server and the hub, the automation application responding to an event and issuing a command in response to the event;

generating a normalized command for the target device at the node;

generating, using the device-type handler installed at the node, a device-specific command based on the normalized command; and

sending the device-specific command to the target device.

12. The method of claim 11 wherein the node is the central server and the device-specific command is sent to the target device through the hub without using the device-type handler installed at the hub to generate the device-specific command.

13. The method of claim 11 wherein the node is the hub, the normalized command is generated at the node and the device-specific command is generated at the node based on the normalized command.

14. The method of claim 11 , wherein the hub is in communication with the central server through a data network, and a source device is paired with the hub, the method further comprising:

receiving a device-specific message from the source device at the hub;

generating, using a device-type handler associated with the source device, a normalized event message at the hub;

providing the normalized event message to a processor in the hub;

sending the normalized event message from the hub to the central server; and

storing or processing the normalized event message at the central server.

15. The method of claim 14 , wherein the hub is in communication with the central server through a data network, and the target device is paired with the hub, wherein the execution of the automation application is performed in response to the normalized event message.

16. The method of claim 14 , wherein the device-specific message from the source device comprises a protocol-specific message from the source device, the protocol-specific message being related to the communication protocol used by the source device.

17. The method of claim 14 , wherein the device-specific command for the target device comprises a protocol-specific command being related to the communication protocol used by the target device.

18. The method of claim 11 , further comprising:

receiving, at the hub, a device-specific message from a source device paired with the hub;

generating, using the device-type handler installed at the hub, a normalized event message based on the received device-specific message; and

providing the normalized event message to a processor in the nose wherein the execution of the automation application on the node is in response to the normalized event message and wherein the normalized command generated at the nose is based on the normalized event message.

19. The method of claim 11 wherein at least some of the device-type handlers are installed at both the central server and the hub and are arranged to process device-specific messages for the same target device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2020
From: SMARTTHINGS, INC.
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 051520/0895 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2017
From: HAGINS, JEFFREY; HAWKINSON, ALEXANDER
To: SMARTHINGS, INC.
Reel/Frame 041062/0435 →
Continuity (2)
Continuation 13838687 · Mar 15, 2013
Related Publication 20170068230A1 · Mar 9, 2017