# Patent

## Title
Event identification and notification via an automation hub

## Abstract

An automation hub may automatically identify the arrival of a package to a location and provide a notification of the delivery to a user. A package authenticator may be generated via the automation hub at the location for embedment in a packaging of a product that is being ordered from a merchant for delivery to the location. Subsequently, the package authenticator may be associated with a pending delivery of the product at the location in response to receiving an indication that the package authenticator is submitted to the merchant via an order. The presence of an arrived package authenticator may be detected in proximity of the location via a sensor that is connected to the automation hub. A notification of arrival for the product may be generated for presentation on connected user devices in response to the arrived package authenticator matching the package authenticator.

## Background
RELATED APPLICATIONS
The present application is a divisional application of U.S. patent application Ser. No. 15/276,312, filed Sep. 26, 2016, entitled “Event Identification and Notification Via an Automation Hub,” which is hereby incorporated by reference in its entirety.


BACKGROUND
An automation hub may be used to control the automation of temperature control, lighting, appliances, and access. The automation hub may control multiple devices, such as sensors, controllers, and switches that are connected to the automation hub, as well as generate messages regarding the operational statuses of the multiple devices. The automation hub may be deployed at a residential location or a business location to provide convenience, security, and comfort to users at the location. The automation hub may have network connectivity capabilities, such that the automation hub communicates with additional user devices that are remote to the location. For example, the user devices may be smartphones, tablet computers, and embedded computing devices.



BRIEF DESCRIPTION OF THE DRAWINGS
The detailed description is described with reference to the accompanying figures, in which the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical items.
FIG. 1 illustrates an example scheme for performing event identification and notification via an automation hub.
FIG. 2 is a block diagram showing various components of an automation hub that performs event identification and notification via the automation hub.
FIG. 3 is a flow diagram of an example process for using an automation hub to identify a delivered package and provide notifications regarding the delivery of the package.
FIG. 4 is a flow diagram of an example process for using an automation hub to identify a package delivery and a delivery person and provide notifications regarding the delivery of the package.
FIG. 5 is a flow diagram of an example process for using an automation hub to detect the delivery of a package and provide notifications regarding the delivery of the package.
FIG. 6 is a flow diagram of an example process for using an automation hub to identify a service person and provide notifications regarding the authorization status of the service person.
FIG. 7 is a flow diagram of an example process for using an automation hub to identify the status of a user and an associated vehicle in order to notify one or more additional users regarding the status.



DETAILED DESCRIPTION
This disclosure is directed to techniques for using an automation hub to identity event occurrences and provide notifications regarding the event occurrences. The events may include the delivery of a package to a delivery location, the arrival of a service person at a service location, or the expected arrival of a user at a home of the user. The automation hub may be deployed at a residential location or a business location to provide convenience, security, and comfort to users at the location. The automation hub may be a control unit that controls multiple devices, such as sensors, controllers, and switches that are connected to the automation hub, as well as generate automatic notification messages regarding the operational statuses of the multiple devices.
With respect to the delivery of a package, the automation hub may sense via a proximity sensor that a package has arrived at a delivery location. In turn, the automation hub may generate a notification that informs a user that the package has arrived at the delivery location. Alternatively, the automation hub may use an image sensor and an image recognition algorithm to detect the arrival of the package at the delivery location. In instances in which a delivery person or service person is seeking to obtain access to a building at the location, the automation hub may use a personal authenticator of the delivery or service person to verify the identity of the person prior to providing a notification regarding the arrival of the person. In other instances, the automation hub may use geolocation data that is transmitted by a vehicle communication device and a mobile user device (e.g., a smartphone) to determine that a user is heading to a destination location. Accordingly, the automation hub may calculate an estimated time of arrival for the user and activate one or more connected devices to perform specific actions. The actions may include notifying one or more other users (e.g., family members, friends, etc.) regarding the imminent arrival of the user. However, in some scenarios, the automation hub may reroute the user to complete one or more tasks prior to the arrival of the user at the destination location.
In at least one embodiment, a package authenticator may be generated via the automation hub at the location for embedment in a packaging of a product that is being ordered from a merchant for delivery to the location. Subsequently, the package authenticator may be associated with a pending delivery of the product at the location in response to receiving an indication that the package authenticator is submitted to the merchant via an order. The presence of an arrived package authenticator may be detected in proximity of the location via a sensor that is connected to the automation hub. A notification of arrival for the product may be generated for presentation on connected user devices in response to the arrived package authenticator matching the package authenticator.
The techniques may enable an automation hub to automatically identify the arrival of a package to a destination location and provide a notification of the delivery to a user. For example, a delivery person may drop off the package at an exterior entrance to the building while the user is away from the building. Accordingly, the user may make arrangements to secure the package to prevent theft or damage to the package. For example, the user may make a trip to the destination location to secure the package (e.g., move the package into the building) or arrange for another person to secure the package. In alternative instances, the verification of the identity of a delivery person or a service person who seeks entry into a destination building by the automation hub may provide a margin of safety to persons who are inside the destination building. This is because the persons inside may otherwise be fearful or reluctant to admit the delivery person or the service person. Furthermore, the detection of an imminent arrival of a user at a destination location may enable the automation hub to perform automatic actions that prepares for the arrival of the user at the destination. Example implementations are provided below with reference to the following figures.
Example Scheme
FIG. 1 illustrates an example scheme 100 for performing event identification and notification via an automation hub. The scheme 100 may include a building 102 that is equipped with an automation hub 104. The building 102 may be a residence, a business facility, or any enclosed structure with access controlled entrances. The automation hub 104 may be a control unit that controls multiple devices, such as sensors 106, controllers 108, and switches 110 that are connected to the automation hub. The control unit may further generate automatic notification messages. In some instances, the automatic notification messages may pertain to the operational statuses of the multiple devices. In other instances, the automatic notifications may pertain to events that are detected or initiated by the multiple devices. Accordingly, the automation hub 104 may provide convenience, security, and comfort to users at the building 102. For example, the automation hub may provide automatic control of temperature, lighting, appliances, access control mechanisms, and/or so forth for a business structure or a residential dwelling. The notifications that are generated by the automation hub may be provided to one or more user devices for presentation to users via a network 112. Such user devices may include a user device 114 that is operated by a user 116. The notifications may be in the form of text messages, application alerts, application pop-up banners, and/or so forth, that are displayed by different devices.
The user device 114 may be a smartphone, a tablet computer, an embedded computer system, or any other device that is capable of using wireless communication services that are provided by the network 112. The user device 114 may have software and/or hardware components that are configured to interface with the automation hub 104. The network 112 may include a local area network (“LAN”), a larger network such as a wide area network (“WAN”), or a collection of networks, such as the Internet. In other instances, the network 112 may include a carrier network operated by a telecommunication carrier. The carrier network may provide telecommunication and data communication in accordance with one or more technical standards, such as such as Enhanced Data Rates for GSM Evolution (EDGE), Wideband Code Division Multiple Access (W-CDMA), High Speed Packed Access (HSPS), Long Term Evolution (LTE), CDMA-2000 (Code Division Multiple Access 2000), and/or so forth.
In some embodiments, the automation hub 104 may assist in tracking the arrival of a package. In such embodiments, the user 116 may order a product from a merchant 118. The order may be initiated via an online transaction, a telephone transaction, or an in-store transaction. The order may involve the purchasing or leasing of the product. Alternatively, the product may be gratuitously provided to the user via the order. During the transaction, the user 116 may activate the automation hub 104 to generate a package authenticator 120. For example, the package authenticator 120 may be a unique code or identifier that is generated by the automation hub 104. Accordingly, the user 116 may submit the package authenticator 120 to a transaction server 122 of the merchant 118. The transaction server 122 may be a server controlled by the merchant 118 that executes a transaction application 124. The transaction application 124 may be responsible for receiving orders for products, obtaining payments for the product, directing the fulfillment of the products, and tracking shipments of the products. The package authenticator 120 associated with the order of the product by the user 116 may be provided to the transaction server 122 by the user 116 via an online order web page. For example, the online order web page may include a special text field for the entry of the package authenticator 120. Alternatively, the package authenticator 120 may be provided by the user 116 to the transaction server 122 through entry via a numeric keypad of a telecommunication device, or entered into the transaction server 122 by an in-store employee of the merchant 118 on behalf of the user 116. In response to receiving the package authenticator 120, the transaction application 124 may command a tag generator 126 to generate an encoded proximity sensor tag 128 that embeds the package authenticator 120. For example, the encoded proximity sensor tag 128 may be a radio-frequency identification (RFID) tag or a near field communication (NFC) tag. The encoded proximity sensor tag 128 may be affixed to or inside a package 130 prepared by the merchant 118 or a third-party shipper that contains the product ordered by the user 116.
In the meantime, the automation hub 104 may generate an expected package arrival database entry that associates the package authenticator 120 with the product ordered by the user 116. Aside from the package authenticator 120, the expected package arrival entry may further include information such as a name of the product ordered, a description of the product ordered, an expected arrival date of the product, a name of the recipient, and/or so forth. In at least one embodiment, such information may be provided by the transaction application 124 as the user completes the order of the product with the merchant 118. In some instances, the expected package arrival entry may be stored in an expected delivery database with one or more other expected package arrival entries.
When the package 130 is delivered to the building 102, a sensor that is connected to the automation hub 104 may detect the package authenticator 120. For example, the sensor may be a NFC sensor positioned at a delivery entrance of the building 102 that is configured to detect encoded proximity sensor tags that are placed within a predetermined distance from the sensor. Upon detection of the package authenticator 120, the automation hub 104 may check the package authenticator 120 against the expected delivery database. Accordingly, the automation hub 104 may determine that the package authenticator 120 matches an expected package. Accordingly, the automation hub 104 may generate a notification of product arrival for presentation on connected user devices. The connected user devices may include the user devices 132. The user devices may be connected to the automation hub 104 via the network 112 or a local area network. For example, the user devices 132 may include the user device 114 as the user 116 is traveling offsite from the building 102. Alternatively or concurrently, the user devices 132 may include a laptop computer, a smart television, a mobile phone, and/or so forth, which are located inside the building 102.
The notification may prompt one or more users to take active steps to secure the package 130, thereby shortening the duration during which the package 130 is susceptible to theft or damage. For example, a user inside the building 102 may view the notification via a smart television. In response, the user may retrieve the package 130 from the delivery entrance of the building 102 for safekeeping inside the building 102 or another secure location. In another example, the user 116 may receive the notification via the user device 114. In turn, the user 116 may request via a telephone call or a text message that an additional user that is closer to the building 102 retrieve the package for safekeeping. In an additional example, the user 116 may travel back to the building 102 to secure the package 130.
In additional embodiments, the automation hub 104 may generate a package arrival notification for the delivery of a package that lacks a package authenticator. In such embodiments, the automation hub 104 may store delivery information regarding a pending delivery of such a package. For example, the automation hub 104 may be configured to automatically receive such information from a user device application that is used to order the product. Alternatively, the user 116 may input the pending delivery information (e.g., delivery date, sender information, recipient information, package description, package description, etc.) into the automation hub 104 via a user interface page. The package description may include product name, product model number, product image, product inventory number, and/or so forth. The package description may include package dimension, package weight, package color, and/or so forth. The automation hub 104 may store the information in a package description database for pending deliveries.
The automation hub 104 may be equipped with an image recognition algorithm that is capable of determining the dimensions of objects, as well as recognizing graphics and texts. Thus, when image sensors (e.g., a video camera, an infrared camera, a still-shot camera, etc.) that are connected to the automation hub 104 detects the presence of a stationary object at the delivery entrance of the building 102, the automation hub 104 may use the image recognition algorithm to ascertain the identity of the object. In such instances, the automation hub 104 may compare image feature details of the object that are recognized by the image recognition algorithm to package description details that are stored in the package description database. The automation hub 104 may determine that the object matches a package that contains a product when a minimal number of images feature details match the details in the package description for a product. Subsequently, the automation hub 104 may generate a notification of product arrival for presentation on connected user devices in the same manner as described above.
In alternative embodiments, the package 130 may be delivered to the building 102 by a delivery person 134. The delivery person 134 may be wearing a personal authenticator 136. Thus, the automation hub 104 may further verify the personal authenticator 136 of the delivery person 134. In such embodiments, the delivery person 134 may be assigned to deliver the package 130 to the building 102. As such, the personal authenticator 136 may be associated with the package authenticator 120 of the package 130 in a pending delivery database entry stored in a verification database. The verification database may reside on a verification server that is operated by the merchant 118 or a shipping company that assigned the delivery person 134 to deliver the package 130. The personal authenticator 136 may be a unique personal identifier of the delivery person 134 that is embedded in an encoded proximity sensor tag or broadcast by a proximity data transceiver. For example, the proximity data transceiver may be a RFID transceiver or a NFC transceiver. The encoded proximity sensor tag or the proximity data transceiver may be embedded in a name tag, an identification badge, or a user device, and/or so forth.
When the delivery person 134 arrives with the package 130, the delivery person 134 may seek access to the building 102 to deliver the package 130. For example, the delivery person 134 may trigger a door buzzer or a door intercom that is connected to the automation hub 104. A NFC sensor of the automation hub 104 at the delivery entrance of the building 102 may detect the personal authenticator 136 of the delivery person 134. The automation hub 104 may send the detected personal authenticator 136 and the detected package authenticator 120 to the verification server. In turn, the verification server may compare the detected personal authenticator and package authenticator to entries in the verification database. Upon determining that there is a pending delivery entry that matches both the detected personal authenticator and the detected package authenticator, the verification server may return an indication that the personal authenticator is valid for the delivery attempt to the automation hub 104. In response, the automation hub 104 may generate a notification that a particular product included in the package 130 has arrived and the delivery person is authorized to make the delivery. The notification may be presented by the automation hub 104 on the connected user devices 132, such notification may prompt a user inside the building 102 to grant access to the delivery person 134. Alternatively or concurrently, the automation hub 104 may automatically unlock a delivery entrance door by activating a door switch to permit the delivery person 134 entry into the building 102.
In other embodiments, rather than the delivery person 134, the personal authenticator 136 may belong to a service person that is seeking access to the building 102 to provide a service. For example, the service person may be an appliance repair person, a plumber, or another type of service provider. In such embodiments, the verification server may be operated by a service provider or a third-party on behalf of the service provider, and the personal authenticator 136 may be associated with a particular service that is scheduled to be performed on a specific scheduled date and/or time window in a pending service entry in a verification database. Accordingly, the automation hub 104 may provide the detected personal authenticator 136 along with the date and/or time to the verification server. The server may check the verification database to verify that a pending service entry exists for the personal authenticator, and that the associated date and/or time falls within the scheduled date and/or time window. When the information match, the verification server may return an indication that the personal authenticator is valid for the scheduled service call. In response, the automation hub 104 may generate a notification that the service person is authorized to perform the scheduled service call. The notification may be presented by the automation hub 104 on the connected user devices 132, such notification may prompt a user inside the building 102 to grant access to the service person. Alternatively or concurrently, the automation hub 104 may automatically unlock an entrance door by activating a door switch to permit the service person entry into the building 102.
In other implementations, the automation hub 104 may be used to activate one or more connected devices in the building 102 upon the detection of the imminent occurrence of an event. In one instance, the event may be the arrival of a user 116 at the location of the building 102. In such an instance, the user 116 may be traveling to the location of the building 102 in a vehicle 138. The vehicle 138 may be equipped with a vehicle communication device 140. The vehicle communication device 140 may provide communication, in-vehicle security, trouble diagnostics, and/or global positioning system (GPS) navigation capabilities by communicating with multiple service providers via a cellular communication network. Accordingly, the vehicle may use the cellular communication network to send the geolocations of the vehicle 138 to the automation hub 104. The user 116 may also have the user device 114, in which the user device 114 has a device application 142 that is able to ascertain the geolocations of the user device 114. The device application 142 may also use the cellular communication capabilities of the user device 114 to provide the geolocations to the automation hub 104.
In turn, the automation hub 104 may continuously monitor the geolocations of both the user device 114 and the automation hub 104. Thus, when the automation hub 104 determines that the user device 114 is within a predetermined distance to the destination location of the building 102, the automation hub 104 may make a determination as to whether the geolocation of the user device is within a predetermined proximity to the geolocation of the vehicle 138. When the geolocations are within the predetermined proximity, the automation hub 104 may determine that the user 116 is driving or riding in the vehicle 138. Subsequently, the automation hub 104 may determine a route of the vehicle 138 for reaching the destination location. The automation hub 104 may then check a task database to determine whether there are one or more tasks that can be completed at locations that are on the route. For example, the tasks may include pick up groceries, drop off drying cleaning, return a movie rental, and/or so forth. In some instances, the task database may be populated from information that are retrieved from a calendar application that is used by the user 116, or information that are inputted by users that are related to the user 116 (e.g., family members).
Accordingly, if one or more tasks can be completed, the automation hub 104 may generate task notifications for presentation on the user device 114. If the user agrees to complete the one or more tasks, the automation hub 104 may further determine an estimated time of arrival at the destination location for the user. The user may agree to complete a task by selecting an agree option that is provided by a notification presented by the user device 114. In turn, the user device 114 may transmit the user agreement to the automation hub 104. The estimated time of arrival may take into account the estimated extra time that will be spent to complete the one or more tasks. In some embodiments, the route may be modified by the automation hub 104 to account for the rerouting to one or more task locations. The automation hub 104 may generate notifications that provide the estimated time of arrival of the user 116 for delivery to one or more additional user devices. The additional user devices may belong to users or are otherwise accessible to users that are related to the user 116. For example, a smart television inside the building 102 may inform a spouse of the user 116 that the user will be arriving at home at the estimated time of arrival. In some instances, the automation hub 104 may further activate one or more connected controllers 108 or switches 110. For example, the automation hub 104 may activate a heating, ventilation, and air conditioning (HVAC) system, a lighting system, an entertainment system, and/or so forth, to prepare for the expected arrival of the user 116 at the destination location.
Example Automation Hub Components
FIG. 2 is a block diagram showing various components of the automation hub 104 that performs event identification and notification via the hub. The automation hub 104 may include a communication interface 202, one or more processors 204, memory 206, and device hardware 208. The communication interface 202 may include wireless and/or wired communication components that enable the automation hub 104 to transmit data to and receive data from other networked devices via the network 112. The communication interface 202 may further include wireless and/or wired communication components (e.g., Universal Serial Bus (USB), Bluetooth, Wi-Fi, etc.) that enable the automation hub 104 to communicate with sensors 106, the controllers 108, and the switches 110. The device hardware 208 may include additional hardware that performs user interface, data display, data communication, data storage, and/or other server functions. In at least one embodiment, the device hardware 208 may include a data output device (e.g., visual display, audio speakers), and one or more data input devices. The data input devices may include, but are not limited to, combinations of one or more of keypads, keyboards, mouse devices, touch screens that accept gestures, microphones, voice or speech recognition devices, and any other suitable devices or other electronic/software selection methods.
The memory 206 may be implemented using computer-readable media, such as computer storage media. Computer-readable media includes, at least, two types of computer-readable media, namely computer storage media and communications media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information for access by a computing device. In contrast, communication media may embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, or other transmission mechanism.
The processors 204 and the memory 206 of the automation hub 104 may implement an operating system 210. The operating system 210 may include components that enable the automation hub 104 to receive and transmit data via various interfaces (e.g., user controls, communication interface, and/or memory input/output devices), as well as process data using the processors 204 to generate output. The operating system 210 may include a presentation component that presents the output (e.g., display the data on an electronic display, store the data in memory, transmit the data to another electronic device, etc.). Additionally, the operating system 210 may include other components that perform various additional functions generally associated with an operating system. The operating system 210 may be used to implement an account management module 212, an authentication module 214, an analysis module 216, a notification module 218, a controller module 220, and a user interface module 222. These modules may include routines, program instructions, objects, and/or data structures that perform particular tasks or implement particular abstract data types. The memory 206 may further include a data store 224.
The account management module 212 may enable users, such as the user 116, to create user accounts. A user may establish a corresponding user account by providing registration information to the account management module 212 via an electronic device, such as the user device 114. The registration information may include a user name, user contact information, a login name, a password, and/or so forth. The user account may enable the user to customize the automation hub 104 such that the hub may activate or deactivate the controllers 108 and switches 110 based on a set schedule or input from the sensors 106. In various embodiments, the account management module 212 may provide authentication functions that control access to the user accounts.
The authentication module 214 may generate and verify package authenticators. Each package authenticator may be a unique identifier that is assigned to an expected package when a corresponding product is ordered by a user. The authentication module 214 may store each generated package authenticator in an expected package arrival entry in an expected delivery database. Each expected package entry may further include information such as a name of the product ordered, a description of the product ordered, an expected arrival date of the product, a name of the recipient, and/or so forth. Following the detection of an encoded proximity sensor tag that contains a package authenticator by a sensor connected to the automation hub 104, the authentication module 214 may perform a validation of the package authenticator against the expected package arrival entries in the expected delivery database. Accordingly, the authentication module 214 may command the notification module 218 to generate notification messages based on the outcome of the verifications.
In some embodiments, the authentication module 214 may be configured to validate the personal authenticators of delivery persons or service persons. In such embodiments, a personal authenticator may include a unique identifier that identifies a particular delivery person or service person. The personal authenticator may further include a unique identifier that identifies the entity providing the delivery or the service. Accordingly, following the detection of a personal authenticator that is embedded in an encoded proximity sensor tag or a proximity data transceiver by a sensor connected to the automation hub 104, the authentication module 214 may send the personal authenticator to a verification server that is affiliated with the entity identified by the personal authenticator. The verification server may be operated by a service provider or a third-party that performs personal authenticator verification on behalf of the service provider. In some instances, the personal authenticator may be transmitted to the verification server along with a date and/or time that the personal authenticator is detected by the sensor. The verification server may determine whether the personal authenticator is associated with a package authenticator. Alternatively, the verification server may determine whether the personal authenticator is affiliated with a scheduled service call. The verification server may provide the outcome of the personal authenticator verification to the automation hub 104. In turn, the authentication module 214 may command the notification module 218 to send notifications to user devices based on the outcome. In some instances, the authentication module 214 may perform verification on a personal authenticator following a sensor detecting a request for building access that is initiated in the proximity of the personal authenticator.
The analysis module 216 may use an image recognition algorithm to ascertain the identity of the object. The analysis module 216 may be activated following the detection of a stationary object by a sensor of the automation hub 104. The image recognition algorithm may recognize image feature details of the object. Subsequently, the analysis module 216 may compare image feature details of the object that are recognized by the image recognition algorithm to package description details that are stored in a package description database for pending deliveries. Thus, the automation hub 104 may determine that the object matches a package that contains a product when a minimal number of feature details match the details in the package description for a product. Accordingly, the analysis module 216 may command the notification module to generate different notifications depending whether there is a match between the object and a package of a pending product delivery.
In other embodiments, the analysis module 216 may further analyze the geolocations of devices, such as the user device 114 and the vehicle communication device 140. The analytic results that are generated by the analysis may trigger the performance of certain actions or notifications. In some instances, the analysis module 216 may determine that a user is not traveling in a vehicle when geolocation of a user device 114 is outside of a predetermined proximity of the geolocation of the vehicle communication device 140. As a result, the analysis module 216 may generate a notification of such user status for distribution to other devices. In another instances, the analysis module 216 may generate an estimated time of arrival for a user device at a destination location as the user device is traveling along a route based on the geolocations of the user device during a time interval. Further, the analysis module 216 may determine whether there are one or more tasks that can be completed at locations that are on the route within a predetermined time period. If so, the analysis module 216 may command the notification module 218 to request that the user 116 associated with the user device 114 to complete the one or more tasks.
The notification module 218 may generate different notifications under the direction of the authentication module 214 and the analysis module 216. For example, the notification module 218 may generate a notification indicating that a product has arrived or that an unknown package has arrived. In another example, the notification module 218 may generate a notification indicating that a delivery person or a service person is authorized to deliver a package or make a service call. Alternatively, the notification module 218 may generate a notification that the delivery person or the service person is not authorized to deliver the package or make the service call. In various embodiments, the notification module 218 may use the communication interfaces 202 to send the notifications to user devices. The notifications may be in the form of text messages, application alerts, application pop-up banners, and/or so forth, that are displayed by the user devices.
The controller module 220 may activate or deactivate the controllers 108 or the switches 110 based on a preset schedule or input from the sensors 106. In one instance, the controller module 220 may turn on or turn off lights of the building 102 based on a predetermined schedule. In another instance, the controller module 220 may turn on an air conditioning system when a sensor senses that the temperature inside the building 102 exceeds a predetermined threshold. In additional instances, the controller module 220 may perform other more actions based on commands from the authentication module 214 and the analysis module 216.
The user interface module 222 may enable a user to access the functions of the automation hub 104 via user interfaces of the automation hub 104 or the user interfaces of a user device that is connected to the automation hub 104. The data store 224 may include one or more databases, such as relational databases, object databases, object-relational databases, and/or key-value databases that store data. The data store 224 may store an expected delivery database 226, a package description database 228, and a task database 230.
Example Processes
FIGS. 3-7 present illustrative processes 300-700 for performing event identification and notification via an automation hub. Each of the processes 300-700 is illustrated as a collection of blocks in a logical flow chart, which represents a sequence of operations that can be implemented in hardware, software, or a combination thereof. In the context of software, the blocks represent computer-executable instructions that, when executed by one or more processors, perform the recited operations. Generally, computer-executable instructions may include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular abstract data types. The order in which the operations are described is not intended to be construed as a limitation, and any number of the described blocks can be combined in any order and/or in parallel to implement the process. For discussion purposes, the processes 300-700 are described with reference to the scheme 100 of FIG. 1.
FIG. 3 is a flow diagram of an example process 300 for using an automation hub to identify a delivered package and provide notifications regarding the delivery of the package. At block 302, the automation hub 104 may generate a package authenticator at the automation hub 104 for embedment in a packaging of a product that is being ordered from a merchant. The order may be initiated via an online transaction, a telephone transaction, or an in-store transaction. In alternative embodiments, the package authenticator may be generated by a transaction application and communicated to the automation hub 104 via the network 112.
At block 304, the automation hub 104 may receive an indication that the package authenticator is submitted to the merchant via an order at the automation hub 104. In various embodiments, the indication may be a confirmation of the completion of the order by the transaction application 124 that is transmitted to the device application 142 on the user device 114. In turn, the device application 142 may send the confirmation to the automation hub 104.
At block 306, the automation hub 104 may associate the package authenticator with a pending delivery of the product. In various embodiments, the automation hub 104 may generate an expected package arrival entry that associated the package authenticator with the product. The expected package arrival entry may be stored in an expected delivery database with one or more other expected package arrival entries.
At block 308, the automation hub 104 may detect a presence of an arrived package authenticator in proximity of a delivery location via a sensor that is connected to the hub. For example, the sensor may be a NFC sensor positioned at a delivery entrance of the building 102 that is configured to detect encoded proximity sensor tags that are placed within a predetermined distance from the sensor. The package authenticator may arrive at the delivery location when a package containing the product is delivered to the delivery location.
At block 310, the automation hub 104 may determine whether the arrived authenticator matches a pending package authenticator known to the hub. In other words, the automation hub 104 may check the package authenticator against the expected package arrival entries in an expected delivery database. Accordingly, at decision block 312, if the automation hub 104 determines that the arrived package authenticator matches a pending package authenticator (“yes” at decision block 312), the process 300 may proceed to block 314. At block 314, the automation hub 104 may generate a notification of product arrival for presentation on one or more connected user devices. In various embodiments, the one or more user devices may be connected to the automation hub 104 via the network 112 or a local area network. The notification may be in the form of a text message, an application alert, or an application pop-up banner.
However, if the automation hub 104 determines that the arrived package authenticator does not match a pending package authenticator (“no” at decision block 312), the process 300 may proceed to block 316. At block 316, the automation hub 104 may generate a notification that an unknown package has arrived for presentation on one or more connected user devices.
FIG. 4 is a flow diagram of an example process 400 for using an automation hub 104 to identify a package delivery and a delivery person and provide notifications regarding the delivery of the package. At block 402, the automation hub 104 may detect a presence of an arrived package authenticator in proximity of a delivery location via a sensor that is connected to the hub. In various embodiments, the package authenticator may be generated and stored in the automation hub 104 in the same manner as described in blocks 302-306 of the process 300.
At block 404, the automation hub 104 may detect a presence of a personal authenticator that identifies a delivery person along with the detection of the package authenticator. In various embodiments, the personal authenticator may be a unique personal identifier of the delivery person that is embedded in an encoded proximity sensor tag or broadcast by a proximity data transceiver. The encoded proximity sensor tag or the proximity data transceiver may be embedded in a name tag, an identification badge, or a user device, and/or so forth.
At block 406, the automation hub 104 may detect a request to access the delivery location via an access request sensor connected to the hub. For example, the delivery location may be the building 102 and the access request may be from the delivery person. In various embodiments, the access request sensor may be a door buzzer or door intercom that is communicatively connected to the automation hub 104 and triggered by the delivery person.
At block 408, the automation hub 104 may determine whether the arrived authenticator matches a pending package authenticator known to the hub. In other words, the automation hub 104 may check the package authenticator against the expected package arrival entries in an expected delivery database. Accordingly, at decision block 312, if the automation hub 104 determines that the arrived package authenticator does not match a pending package authenticator (“no” at decision block 410), the process 300 may proceed to block 412. At block 412, the automation hub 104 may generate a notification of an unknown package arrival for presentation to one or more connected user devices. Accordingly, a person at the delivery location may choose to not grant the delivery person access to the delivery location.
However, if the automation hub 104 determines that the arrived package authenticator matches a pending package authenticator (“yes” at decision block 410), the process 400 may proceed to block 414. At block 414, the automation hub 104 may send the personal authenticator of the delivery person to a verification server that verifies personal authenticators. In some embodiments, the verification server may contain information that indicates whether the delivery person associated with the personal authenticator is scheduled to make a delivery at the delivery location at the time and/or date at which the personal authenticator is received. Accordingly, the verification server may verify that the personal authenticator is valid if the delivery person is scheduled to make the delivery. Otherwise, the verification server may return an indication that the personal authenticator is invalid.
In other embodiments, the automation hub 104 may also concurrently receive the package authenticator from the automation hub 104. In turn, the verification server may compare the detected personal authenticator and package authenticator to entries in the verification database. Upon determining that there is a pending delivery entry that matches both the detected personal authenticator and the detected package authenticator, the verification server may return an indication that the personal authenticator is valid for the delivery attempt to the automation hub 104. Otherwise, the verification server may return an indication that the personal authenticator is invalid.
Thus, at decision block 416, if the automation hub 104 receives an indication that the personal authenticator is valid, the process 400 may proceed to block 418. At block 418, the automation hub 104 may generate a notification that the product has arrived and the delivery person is authorized to make the delivery for presentation on one or more connected user devices. However, if the automation hub receives an indication that the personal authenticator is invalid, the process 400 may proceed to block 420. At block 420, the automation hub 104 may generate a notification that the product has arrived but the delivery person is unauthorized to make the delivery for presentation on the one or more connected user devices.
FIG. 5 is a flow diagram of an example process 500 for using an automation hub to detect the delivery of a package and provide notifications regarding the delivery of the package. At block 502, the automation hub 104 may receive an indication that a package is to be delivered to a delivery location. In some embodiments, the indication may be transmitted by the merchant 118 or a shipper that is shipping the package on behalf of the merchant 118. In other embodiments, the indication may be manually inputted into the automation hub 104 by a user, such as the user 116. The indication may include an expected data and/or time for the delivery, as well as a package description. The package description may include product name, product model number, product image, product inventory number, and/or so forth. The package description may include package dimension, package weight, package color, and/or so forth. The automation hub 104 may store the information in a package description database for pending deliveries.
At block 504, the automation hub 104 may detect via a connected image sensor a presence of object dropped off at a monitored area of the delivery location. For example, the monitored area may be an exterior delivery entrance of the building 102. The image sensor may include a video camera, an infrared camera, a still-shot camera, and/or so forth.
At block 506, the automation hub 104 may determine via an image recognition algorithm whether the object matches the package that is to be delivered. In various embodiments, the automation hub 104 may compare image feature details of the object that are recognized by the image recognition algorithm to package description details that are stored in the package description database. Thus, the automation hub 104 may determine that the object matches a package that contains a product when a minimal number of feature details match the details in the package description for a product.
Accordingly, at decision block 508, if the automation hub 104 determines that the object matches the package that is to be delivered (“yes” at decision block 508), the process 500 may proceed to block 510. At block 510, the automation hub 104 may generate a notification that the package is delivered to the delivery location for presentation on one or more user devices. In various embodiments, the one or more user devices may be connected to the automation hub 104 via the network 112 or a local area network. The notification may be in the form of a text message, an application alert, or an application pop-up banner. However, if the automation hub 104 determines that the object does not match a package that is to be delivered (“no” at decision block 508), the process 500 may proceed to block 512. At block 512, the automation hub 104 may refrain from generating any notification.
FIG. 6 is a flow diagram of an example process 600 for using an automation hub to identify a service person and provide notifications regarding the authorization status of the service person. At block 602, the automation hub 104 may detect a presence of a personal authenticator that identifies a service person. In various embodiments, the personal authenticator may be a unique personal identifier of the service person that is embedded in an encoded proximity sensor tag or broadcast by a proximity data transceiver. The encoded proximity sensor tag or the proximity data transceiver may be embedded in a name tag, an identification badge, or a user device, and/or so forth.
At block 604, the automation hub 104 may detect a request to access the service location via an access request sensor connected to the hub. For example, the service location may be the building 102 and the access request may be from the service person. In various embodiments, the access request sensor may be a door buzzer or door intercom that is communicatively connected to the automation hub 104 and triggered by the service person.
At block 606, the automation hub 104 may send the personal authenticator of the service person to a verification server that verifies personal authenticators. In some embodiments, the verification server may contain information that indicates whether the service person associated with the personal authenticator is scheduled to perform a service call at the service location at the time and/or date at which the personal authenticator is received. Accordingly, the verification server may verify that the personal authenticator is valid if the service person is scheduled to make the service call. Otherwise, the verification server may return an indication that the personal authenticator is invalid.
At block 608, the automation hub 104 may receive a verification message from the verification server. In various embodiments, the verification server may send the verification message to the automation hub 104 via the network 112. At block 610, the automation hub 104 may determine whether the verification message indicates that the personal authenticator is verified as being valid for the service. Accordingly, at decision block 612, if the person authenticator is indicated as valid, the process 600 may proceed to block 614. At block 614, the automation hub 104 may generate a notification that the personal authenticator is valid for presentation on one or more connected user devices. In various embodiments, the one or more user devices may be connected to the automation hub 104 via the network 112 or a local area network. The notification may be in the form of a text message, an application alert, or an application pop-up banner.
However, if the person authenticator is indicated as invalid, the process 600 may proceed to block 616. At block 616, the automation hub 104 may generate a notification indicating that the personal authenticator is invalid for presentation on the one or more connected user devices. The invalidity of the personal authenticator may indicate to a user that the service person is not authorized to make the service call.
FIG. 7 is a flow diagram of an example process 700 for using an automation hub to identify the status of a user and an associated vehicle in order to notify one or more additional users regarding the status. At block 702, the automation hub 104 at a destination location may receive via a wireless communication connection a geolocation of a user device of a user. In various embodiments, the wireless communication connection may be a cellular network connection. The geolocation may be provided by a GPS transceiver of the user device.
At block 704, the automation hub 104 at the destination location may receive via the wireless communication connection a geolocation of a vehicle communication device of a vehicle. In various embodiments, the vehicle communication device may provide communication, in-vehicle security, trouble diagnostics, and GPS navigation capabilities by communicating with multiple service providers via a cellular communication network.
At block 706, the automation hub 104 may determine that the user device is within a predetermined distance of the destination location. At block 708, upon determining that the user device is within the predetermined distance, the automation hub 104 may further determine whether the geolocation of the user device is within a predetermined proximity of the geolocation of the vehicle communication device. In various embodiments, the automation hub 104 may make such a determination by comparing the geolocation provided by the user device with the geolocation provided by the vehicle communication device.
Thus, at decision block 710, if the automation hub 104 determines that the geolocation of the user device is within the predetermined proximity of the geolocation of the vehicle communication device, the process 700 may proceed to block 712. At block 712, the automation hub 104 may determine a route of the vehicle for reaching the destination location. At block 714, the automation hub 104 may determine whether at least one task can be completed at one or more locations along the route within a predetermined time period. Thus, at decision block 716, if the automation hub 104 determines that the at least one task can be completed within the predetermined time period, the process 700 may proceed to block 718. At block 718, the automation hub 104 may generate a notification to the user device for the user to complete the at least one task. In various embodiments, the notification may be in the form of a text message, an application alert, or an application pop-up banner.
At block 720, the automation hub 104 may generate an estimated time of arrival at the destination location of the user for presentation on one or more additional user devices. In various embodiments, the additional user devices may belong to users or are otherwise accessible to users that are related to the user 116. At block 722, the automation hub 104 may activate one or more connected devices based on the estimated arrival time of the user. For example, the automation hub 104 may activate a heating, ventilation, and air conditioning (HVAC) system, a lighting system, an entertainment system, and/or so forth, to prepare for the expected arrival of the user 116 at the destination location.
Returning to decision block 716, if the automation hub 104 determines that no task can be completed within the predetermined time period, the process 700 may proceed directly to block 720. Returning to decision block 710, if the automation hub 104 determines that the geolocation of the user device is not within the predetermined proximity of the geolocation of the vehicle communication device, the process 700 may proceed to block 724. At block 724, the automation hub 104 may generate a notification that the user is not in the vehicle and an estimated time of arrival for the user at the destination location for presentation on one or more additional user devices.
The techniques may enable an automation hub to automatically identify the arrival of a package to a destination location and provide a notification of the delivery to a user. For example, a delivery person may drop off the package at an exterior entrance to the building while the user is away from the building. Accordingly, the user may make arrangements to secure the package to prevent theft or damage to the package. For example, the user may make a trip to the destination location to secure the package (e.g., move the package into the building) or arrange for another person to secure the package. In alternative instances, the verification of the identity of a delivery person or a service person who seeks entry into a destination building by the automation hub may provide a margin of safety to persons who are inside the destination building. This is because the persons inside may otherwise be fearful or reluctant to admit the delivery person or the service person. Furthermore, the detection of an imminent arrival of a user at a destination location may enable the automation hub to perform automatic actions that prepares for the arrival of the user at the destination.
CONCLUSION
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as exemplary forms of implementing the claims.

## Claims

1. An automation hub, comprising:
one or more processors; and
memory having instructions stored therein, the instructions, when executed by the one or more processors, cause the one or more processors to perform acts comprising:
receiving via a wireless communication connection a geolocation of a user of a user device and a geolocation of a vehicle communication device of a vehicle;
generating a route of the vehicle for reaching a destination location in response to a determination that the geolocation of the user device is within a predetermined proximity of the geolocation of the vehicle communication device;
sending a notification to the user device requesting completion of at least one task in response to a determination that the at least one task can be completed at one or more locations along the route within a predetermined time period;
generating, for presentation on one or more additional user devices, a first notification of a first estimated time of arrival at the destination location to complete the at least one task;
providing the generated first notification to the one or more additional user devices;
modifying the route of the vehicle to complete the at least one task prior to arrival of the vehicle at the destination location, the modifying resulting in the vehicle being unable to reach the destination location at the first estimated time of arrival;
generating, for presentation on the one or more additional user devices, a second notification of a second estimated time of arrival at the destination location, based on the modified route;
providing the generated second notification to the one or more additional user devices; and
activating one or more connected devices that are connected to the automation hub, based on the second estimated time of arrival at the destination location,
wherein the automation hub is at the destination location.

2. The automation hub of claim 1, wherein the acts further comprise at least one of:
generating a first alternative notification indicating a first alternative estimated time of arrival of the user device for presentation on one or more additional user devices in response to a determination that the geolocations indicate that the user device is outside of a predetermined proximity of the vehicle communication device; and
generating a second alternative notification indicating a second alternative estimated time of arrival in response to determining that no task can be completed at the one or more locations along the route within the predetermined time period.

3. The automation hub of claim 1,
wherein the vehicle communication device is configured to provide communication, in-vehicle security, trouble diagnostics, and global positioning system (GPS) navigation capabilities by communicating with multiple service providers via a cellular communication network, and
wherein the activating the one or more connected devices includes activating at least one of a controller or a switch connected to the automation hub.

4. The automation hub of claim 1, wherein the acts further comprise retrieving the at least one task from a calendar application on the user device.

5. The automation hub of claim 1, wherein the acts further comprise generating a notification to the user device that includes an option to agree to complete the one or more tasks.

6. A computer-implemented method, comprising:
receiving, at an automation hub via a wireless communication connection, a geolocation of a user device and a geolocation of a vehicle communication device of a vehicle;
generating, at the automation hub, a route of the vehicle for reaching a destination location in response to a determination that the geolocation of the user device is within a predetermined proximity of the geolocation of the vehicle communication device;
sending, from the automation hub, a notification to the user device requesting completion of at least one task in response to a determination that the at least one task can be completed at one or more locations along the route within a predetermined time period;
generating, by the automation hub for presentation on one or more additional user devices, a first notification of a first estimated time of arrival at the destination location to complete the at least one task;
providing, by the automation hub, the generated first notification to the one or more additional user devices;
modifying, by the automation hub, the route of the vehicle to complete the at least one task prior to arrival of the vehicle at the destination location, the modifying resulting in the vehicle being unable to reach the destination location at the first estimated time of arrival;
generating, by the automation hub for presentation on the one or more additional user devices, a second notification of a second estimated time of arrival at the destination location, based on the modified route;
providing, by the automation hub, the generated second notification to the one or more additional user devices; and
activating, by the automation hub, one or more connected devices that are connected to the automation hub, based on the second estimated time of arrival at the destination location,
wherein the automation hub is at the destination location.

7. The computer-implemented method of claim 6, further comprising at least one of:
generating, at the automation hub, a first alternative notification indicating a first alternative estimated time of arrival of the user device for presentation on one or more additional user devices in response to a determination that the geolocations indicate that the user device is outside of a predetermined proximity of the vehicle communication device; and
generating, at the automation hub, a second alternative notification indicating a second alternative estimated time of arrival in response to determining that no task can be completed at the one or more locations along the route within the predetermined time period.

8. The computer-implemented method of claim 6, wherein the activating the one or more connected devices includes activating at least one of a controller or a switch connected to the automation hub.

9. The computer-implemented method of claim 6, further comprising retrieving, at the automation hub, the at least one task from a calendar application on the user device.

10. The computer-implemented method of claim 6, further comprising generating, at the automation hub, a notification to the user device that includes an option to agree to complete the one or more tasks.

11. A non-transitory computer-readable medium storing executable instructions which, if executed by one or more computing devices at an automation hub, cause the one or more computing devices to perform acts comprising:
receiving via a wireless communication connection a geolocation of a user device of a user device and a geolocation of a vehicle communication device of a vehicle;
generating a route of the vehicle for reaching a destination location in response to a determination that the geolocation of the user device is within a predetermined proximity of the geolocation of the vehicle communication device;
sending a notification to the user device requesting completion of at least one task in response to a determination that the at least one task can be completed at one or more locations along the route within a predetermined time period;
generating, for presentation on one or more additional user devices, a first notification of a first estimated time of arrival at the destination location to complete the at least one task;
providing the generated first notification to the one or more additional user devices;
modifying the route of the vehicle to complete the at least one task prior to arrival of the vehicle at the destination location, the modifying resulting in the vehicle being unable to reach the destination location at the first estimated time of arrival;
generating, for presentation on the one or more additional user devices, a second notification of a second estimated time of arrival at the destination location, based on the modified route;
providing the generated second notification to the one or more additional user devices; and
activating one or more connected devices that are connected to the automation hub, based on the second estimated time of arrival at the destination location,
wherein the automation hub is at the destination location.

12. The non-transitory computer-readable medium of claim 11, wherein the acts further comprise at least one of:
generating a first alternative notification indicating a first alternative estimated time of arrival of the user device for presentation on one or more additional user devices in response to a determination that the geolocations indicate that the user device is outside of a predetermined proximity of the vehicle communication device; and
generating a second alternative notification indicating a second alternative estimated time of arrival in response to determining that no task can be completed at the one or more locations along the route within the predetermined time period.

13. The non-transitory computer-readable medium of claim 11, wherein the activating the one or more connected devices includes activating at least one of a controller or a switch connected to the automation hub.

14. The non-transitory computer-readable medium of claim 11, wherein the acts further comprise retrieving the at least one task from a calendar application on the user device.

15. The non-transitory computer-readable medium of claim 11, wherein the acts further comprise generating a notification to the user device that includes an option to agree to complete the one or more tasks.