The present disclosure generally relates to systems and methods for controlling movable barrier operators and, more specifically, relates to systems and methods to limit unauthorized control of a movable barrier operator by a transmitter.
Many movable barrier operators, such as garage door openers, are not internet-enabled and are instead operated by transmitters such as portable transmitters that may be carried by a user on a keychain, for example, or clipped to a visor of a vehicle. A user may desire to control the user's garage door over the internet, for example, using a remote computing device such as the user's smartphone. To address this user desire without the inconvenience and/or cost of replacing the user's previously installed movable barrier operator, the user may install a movable barrier operator enhancement device or an operator enhancement device to control the user's previously installed movable barrier operator. One example operator enhancement device is the myQ® smart garage hub sold by the Chamberlain Group, Inc. The user sets up a user account and associates the operator enhancement device with the user's movable barrier operator. The user may then communicate with the operator enhancement device via a network (e.g. the internet) and a user device, such as a smartphone.
The operator enhancement device operates as a transmitter and controls the movable barrier operator in a manner similar to other transmitters. When the operator enhancement device receives a state change request from a user over the internet, the operator enhancement device transmits a radio frequency control command to the movable barrier operator and causes the movable barrier operator to carry out the requested state change. Like the radio frequency control command of other transmitters, the radio frequency control command transmitted by the operator enhancement device includes a transmitter identifier (ID), a button ID (which corresponds to a button of a portable transmitter), and a payload. The payload includes a changing code value such as a rolling code that changes with each transmission of a radio frequency control command by the operator enhancement device. The transmitter IDs for conventional operator enhancement devices and transmitters are fixed and do not change for the life of the operator enhancement device or transmitter.
A user may cause a movable barrier operator to learn multiple transmitters including a keypad transmitter, a visor-mounted transmitter in the user's car, and an operator enhancement device. When a movable barrier operator learns a transmitter, the movable barrier operator stores the transmitter ID of the transmitter in a whitelist, table, or data structure maintained in a memory of the movable barrier operator. In many situations, the only way to remove a transmitter ID from the movable barrier operator whitelist is to erase the entire whitelist and relearn the transmitters to the operator that the user still desires to control the movable barrier operator.
A problem may arise when the user sells the user's operator enhancement device or simply wishes to decommission or remove an operator enhancement device from being able to control the user's movable barrier operator. A user may mistakenly believe that using a client application executing on the user's smartphone to delete the operator enhancement device from the user's user account prevents the operator enhancement device from being able to control the user's movable barrier operator. However, because the movable barrier operator stores the transmitter ID of the operator enhancement device in the movable barrier operator whitelist, the movable barrier operator may still respond to a command from an operator enhancement device having a transmitter ID in the whitelist even if the operator enhancement device is no longer associated with the user account.
For example, Alice may give her operator enhancement device to a neighbor, Bob. Even if Bob's movable barrier operator learns the operator enhancement device, Alice's movable barrier operator may still respond to the operator enhancement device transmitter's commands if Bob's operator enhancement device (formerly Alice's) is within range of Alice's movable barrier operator. That is, Alice's movable barrier operator recognizes the transmitter ID of the operator enhancement device and may respond to control commands originating from Bob's use of a client application executing on Bob's smartphone as if the operator enhancement device were still in Alice's garage.
As another example, a user may have two or more movable barrier operators (e.g. installed in a garage with multiple doors for controlling opening/closing of the doors separately) and change the movable barrier operator associated with the operator enhancement device via the user account. Once the user has caused the new movable barrier operator to learn the operator enhancement device, both movable barrier operators will respond to a single command from the operator enhancement device.
To address these situations, a user currently erases the memory of the movable barrier operator originally paired with the operator enhancement device. However, this is inconvenient for the user because the entire whitelist of the movable barrier operator is deleted. The balance of the user's transmitters would again need to be learned by the movable barrier operator. If a user has many transmitters, this could be a difficult and time-consuming process.
With reference to
Each transmitter 110 is paired with the garage door opener 100 by placing the garage door opener 100 into the learn mode. The user may then press a button on the transmitter 110 or otherwise cause the transmitter 110 to send a radio frequency control command. When the garage door opener 100 receives the command from the transmitter 110, the garage door opener 100 may decode and/or parse the data contained in the command. The command may include a fixed code and a rolling code. The transmitter's 110 fixed code is the transmitter ID 130 (see
During the learning mode, the movable barrier operator 110 determines the fixed code and the current rolling code of the transmitter 110. The garage door opener 100 utilizes a rolling code algorithm similar to the rolling code algorithm of the transmitter 110 to predict a range of expected rolling code values for each transmitter 110 stored in a data structure, such as a whitelist 190 (
The garage door opener 100 may also be controlled by a keypad 115 mounted outside of the garage 131 or a wall control 120. The keypad 115 and wall control 120 may communicate with the garage door opener 100 over a wired or wireless connection. In one approach, the keypad 115 or wall control 120 communicate using a wireless connection and the keypad 115 or wall control 120 may be learned by the garage door opener 100 in a manner similar to the transmitter 110.
Regarding
The operator enhancement device 125 may also include one or more sensors 205. The one or more sensors 205 may include, for example, a door position sensor such as a tilt sensor and/or limit switch for detecting the position of the garage door 105. The one or more sensors 205 may include other sensors, such as a camera for detecting the presence of an object in the garage 131. As an example, the operator enhancement device 125 may receive a signal from a door position sensor indicative of a state (e.g., open/closed/moving) of the garage door and the operator enhancement device 125 communicates status information regarding the state of the garage door to the server computer 200. The server computer 200 provides the status information to the application 195 on the user device 185. As another example, the processor 144 may decide to refrain from causing the operator communication interface 145 from transmitting a radio frequency control signal in response to the current state of the garage door corresponding to a state of the garage door associated with a state change request the operator enhancement device 125 receives from the server computer 200.
The gateway 150 is configured to communicate with remote devices over one or more networks, such as the internet 155, using wired or wireless approaches. In the embodiment of
The processor 144 is in communication with the gateway 150 and operates an endpoint device 165 within the operator enhancement device 125. The endpoint device 165 is a logical interface for a virtual garage door opener 170 also operated by the processor 144. The virtual garage door opener 170 monitors the status of the physical garage door opener 100 that is being controlled by the operator enhancement device 125. When the sensor 205 sends a signal to the operator enhancement device 125 indicating that a status of the garage door opener 100 has changed, the virtual garage door opener 170 functions as a state machine and updates the status of the virtual garage door opener 170. The virtual garage door opener 170 also receives communications from a user device 185 over the internet 155 via the gateway 150. If the communication is a state change request, the virtual garage door opener 170 functions as a state machine and responds by causing the movable barrier operator communication interface 145 to transmit a radio frequency command to the garage door opener 100, such as in the 300 MHz-400 MHz range.
In one embodiment, a user 175 uses an application 195 (e.g. client application or browser) on a user device 185 to communicate with the operator enhancement device 125 and pair the operator enhancement device 125 to the garage door opener 100. The pairing process may involve directing the operator enhancement device 125 to send radio frequency control commands to the garage door opener 100 while the garage door opener 100 is in a learn mode. The operator enhancement device 125 is configured to communicate with a plurality of movable barrier operator types by sending communication signals by wireless communication protocols. So configured, the operator enhancement device 125 readily facilitates installation and coordination with a variety of previously installed barrier operator types. For example, the operator enhancement device is configured to communicate with all or a subset of barrier operators currently installed. Thus, a user who purchases a barrier operator feature operator enhancement device can be reasonably assured that the operator enhancement device is compatible with the user's previously installed barrier operator.
One approach for configuring communication between the operator enhancement device 125 and the previously installed garage door opener 100 includes the movable barrier operator communication interface 145 being configured to effect sending radio frequency control commands via a plurality of communication protocols to the pre-installed barrier operator 100. For example, the movable barrier operator communication interface 145 may be configured to be able to communicate with the plurality of barrier operator types by sending radio frequency control commands by a first wireless transmission protocol based on a hand-held transmitter frequency, a second wireless transmission protocol different from the first wireless transmission protocol, and/or radio frequency communications based on a frequency different from hand-held transmitter frequencies. Other approaches include radio frequency communications based on frequency hopping for spread spectrum.
By one approach, the processor 144 can wait for a period of time after causing the movable barrier operator communication interface 145 to send a radio frequency control command to the pre-installed barrier operator 100 to receive a communication indicating a response from the pre-installed barrier operator 100 before sending another radio frequency control command signal using a different protocol. The communication indicating the response from the pre-installed barrier operator can be received in a number of ways. For example, sensor 205 may be a door sensor that indicates movement of the garage door 105. In response to receiving the communication indicating the response from the pre-installed garage door opener 100, the processor 144 configures the movable barrier operator communication interface 145 to operate according to the communication protocol that effected the response from the pre-installed barrier operator 100. By this example approach, the operator enhancement device 125 may configure itself or learn the communication protocol with which the operator enhancement device 125 can communicate with the pre-installed garage door opener 100 with minimal intervention or effort on behalf of the device's user. Other approaches may be employed for configuring communications between the operator enhancement device 125 and the garage door opener 100.
With reference to
In one approach, the user 175 configures a user account on user platform 199. Once the user 175 has established a user account, the user 175 identifies the garage door opener 100 (such as by providing the serial number of the garage door opener 100) to the user platform 199 and associates the garage door opener 100 with the transmitter 110, the keypad 115, and the operator enhancement device 125. In one approach, the user platform 199 includes an application 195 provided on the user device 185 and software provided on the server computer 200. The user 175 may use the application 195 to setup the user account, identify the garage door opener 100, and associate the garage door opener 100 with transmitters such as the operator enhancement device 125. The user platform 199 stores the relationships between the garage door opener 100 and the transmitters associated with the user's account. The user 175 may have to provide one or more user credentials to login to the application 195 and modify the relationships specified in the user's account.
Once the garage door opener 100 has learned the operator enhancement device, and the user 175 has associated the garage door opener 100 with the operator enhancement device 125, the user platform 199 permits the user 175 to control the garage door opener 100 with various user devices 185. The user devices 185 may include, for example, a smartphone, smartwatch, tablet computer, laptop computer, and/or personal computer. The user platform 199 may also be configured to provide information to the user 175 via the user device 185, for example, whether the garage door 105 is open or closed. The user platform 199 may also permit the user 175 to control other controllable devices associated with the user's account such as a door lock, a security system, a camera, and/or a light. An example of a user platform that may be utilized in conjunction with the disclosures of the subject application is the myQ® user platform offered by The Chamberlain Group, Inc.
For example, when the user 175 desires to change the state of the garage door 105, e.g., close or open the garage door 105, the user 175 provides an input to a user interface of the user device 185. The user device 185 communicates a state change request to the server computer 200. The server computer 200 sends a control command to the operator enhancement device 125. The operator enhancement device 125 receives the control command and the movable barrier operator communication interface 145 sends a radio frequency command signal to the garage door opener 100.
Upon the garage door opener 100 receiving the radio frequency command signal from the operator enhancement device 125, the garage door opener 100 determines whether the radio frequency command signal contains a transmitter ID 130 in the transmitter whitelist 190 (see
More specifically and with reference to
Upon receiving the control command at the gateway 150, the virtual garage door opener 170 causes the movable barrier operator communication interface 145 to send a radio frequency control command to the garage door opener 100. The radio frequency control command may include a button ID value that is representative of the button of a transmitter 110 that operated the garage door opener 100 of the larger paneled door 105A. The garage door opener 100 associated with larger paneled door 105A receives the signal from the operator enhancement device 125. The garage door opener 100 determines the transmitter ID 130 and the rolling code 135 and determines whether the transmitter ID 130 is on the whitelist 190 stored in memory 140 and whether the rolling code 135 falls within the accepted range. If the transmitter ID 130 is on the whitelist 190 and the rolling code 135 is acceptable, the garage door opener 100 performs the command. In this example, the garage door opener 100 opens the garage door 105. The movable barrier operator associated with the smaller paneled door 105B may also receive the radio frequency control command from the operator enhancement device 125 but does not respond because the button ID contained in the radio frequency control command does not match the button ID expected by the movable barrier operator of the smaller paneled door 105B.
The operator enhancement device 125 may communicate with the sensor 205 to determine whether the requested state change has been carried out by the controllable device. The controllable device may include, for example, the garage door opener 100, a door lock, a security system, a camera, and/or a light. If the controllable device is the garage door opener 100, the sensor 205 may include a tilt sensor attached to the garage door to detect the orientation of the garage door 105. For example, the tilt sensor detecting a change in the orientation of the door from vertical to horizontal indicates the garage door has opened. The sensor 205 may also include a camera, a temperature sensor, a limit switch on the track of the garage door, and/or a proximity sensor as a few examples. Upon detecting a change in the status of the garage door 105, the operator enhancement device 125 sends a status update over the network 155 to the server computer 200. The server computer 200 provides the updated status of the garage door 105 to the user 175 via the application 195.
With reference to
Regarding
The transmitter IDs 130 include most significant digits or bits digits 231 for each of the entries in the whitelist 190. In one embodiment, the most significant bytes 231 of the transmitter ID 130 of the operator enhancement device 125 is programmed by the manufacturer of the operator enhancement device to be “000.” As discussed in greater detail below, the most significant bytes 231 of the transmitter ID 130 of the operator enhancement device 125 changes, e.g., indexes, upon the operator enhancement device 125 being reset or newly paired with a movable barrier operator. For example, the most significant bytes 231 index from “000” to “001” when the user pairs the operator enhancement device 125 with the garage door opener 100 for the first time. When the user subsequently resets the operator enhancement device 125, the most significant bytes 231 index to “002.” Because the transmitter ID 130 of the operator enhancement device 125 changes when the user resets the operator enhancement device 125, the radio frequency control signals transmitted by the operator enhancement device 125 will be unable to operate the garage door opener 100 unless the user 175 causes the garage door opener 100 to re-learn the operator enhancement device 125.
In one embodiment, the most significant bytes 231 for the transmitters 110 and the keypad 115 are programmed by the manufacturers of the devices and do not change for the life of the devices. The fixed transmitter ID 130 for these transmitters may be acceptable because transmitters 110 and the keypad 115 are typically discarded or disposed rather than being sold or transferred to other users.
The controller 220 determines whether a radio frequency control command received by the communication circuitry 215 contains a transmitter ID 130 and the associated rolling code 135 stored in the whitelist 190 in the memory 140. If both the transmitter ID 130 and the rolling code 135 received match an entry in the whitelist 190, the controller 220 carries out the command by causing the motor 210 to move the garage door 105 between open and closed positions. As another example, if the controllable device is a light, the control command may be executed by turning the light on or off.
The operator enhancement device 125 provides improved security by changing the transmitter ID 130 of the operator enhancement device 125 in response to a transmitter ID change event, for example, when the operator enhancement device 125 is reset, such as one or more of entering into a factory reset mode, being removed from a user's user account (e.g. via the application 195), and deletion of a user's user account (e.g. by server computer 200). The user may cause the operator enhancement device 125 to enter the factory reset mode by pressing a reset button of the operator enhancement device 125. In this manner, the user may reset the operator enhancement device 125 before giving the operator enhancement device 125 to the user's neighbor (or another subsequent user) in order to change the transmitter ID 130 of the operator enhancement device. The operator enhancement device 125 will, upon change of the transmitter ID 130, be unable to operate the user's garage door opener 100 because the operator enhancement device 125 will now have a transmitter ID 130 different than the transmitter ID 130 learned by the garage door opener 100.
The operator enhancement device 125 may also provide improved security by changing the transmitter ID 130 in response to other transmitter ID change events, for example, when the operator enhancement device 125 is newly paired with a garage door opener 100. Thus, if the user 175 gives the operator enhancement device 125 to the user's neighbor, the operator enhancement device 125 will change the transmitter ID 130 of the operator enhancement device 125 upon the neighbor pairing the operator enhancement device 125 to the neighbor's garage door opener. The new transmitter ID 130 will not be stored in the whitelist 190 of the user's garage door opener 100. The original garage door opener 100 would therefore not recognize radio frequency control commands from the operator enhancement device 125 as being authorized.
With reference to
The initiation of the reset of the operator enhancement device 125 may be caused by the operator enhancement device 125 receiving a transmitter ID change request from the user device 185 or from the server computer 200. For example, a user may request a reset of the operator enhancement device 125 using the client application 195 instantiated on the user device 185 to cause the server computer 200 to send a transmitter ID change request to operator enhancement device 125. As another example, the resetting of the operator enhancement device 125 may be initiated 255 by pressing a physical or virtual button of the user interface 148 of the operator enhancement device 125 or by sending a reset request from the user device 185.
The method 250 includes changing 260 the transmitter ID 130 of the operator enhancement device 125 transmitter. The changing 260 may include changing the transmitter ID 130 from a first transmitter ID to a second transmitter ID that may be distinct, different, and/or unique from the first transmitter ID. The changing 260 may include changing all or a portion of the transmitter ID 130. The changing 260 may include indexing, such as incrementing or decrementing, the most significant bytes 231 of the transmitter ID 130 as discussed previously with respect to
The operator enhancement device 125 may be configured to control two or more garage door openers 100. To accommodate this operation, the manufacturer may provide the operator enhancement device 125 with two or more initial transmitter IDs 130 that are each associated with a different one of the garage door openers 100. The two or more initial transmitter IDs 130 are different to keep a radio frequency control command intended for one garage door opener 100 from operating another garage door opener 100. The initial transmitter IDs 130 are offset, such as by being spaced numerically by one, five, or ten digits.
When the operator enhancement device 125 is reset, the changing 260 may involve changing all of the transmitter IDs 130 of the operator enhancement device 125. For example, the changing 260 may include incrementing both transmitters IDs 130 by the same value to maintain the offset between the numerical values of the transmitter IDs 130. This approach keeps the transmitter IDs 130 from overlapping. In another approach, the two or more transmitter IDs 130 are spaced apart numerically, such as one digit, and the changing 260 includes incrementing the higher numerical value transmitter ID 130 and decrementing the lower numerical value transmitter ID 130.
Alternatively or additionally, when the user 175 changes the operator enhancement device 125 from being paired with one garage door opener to another garage door opener, the changing 260 may involve changing only the transmitter ID 130 that was associated with the one garage door opener. For example, the operator enhancement device 125 may have a first transmitter ID 130 associated with a first garage door opener and a numerically larger second transmitter ID 130 associated with a second garage door opener. Upon the user 175 changing the operator enhancement device 125 from being paired with the second garage door opener to a third garage door opener, the second transmitter ID 130 would be incremented while the first transmitter ID 130 would remain unchanged and continue to operate the first garage door opener. Likewise, the changing 260 may involve changing only one of the transmitter IDs 130 of the operator enhancement device 260 when the user 175 deletes, using the application 195, a connection between the operator enhancement device 125 and a garage door opener associated with the one transmitter ID 130.
The changing 260 may include the processor 144 determining all or a portion of the new transmitter ID 130. In another approach, the changing 260 involves the operator enhancement device 125 receiving all or a portion of a new transmitter ID 130 from a remote device such as the user device 185 or the server computer 200.
Once the transmitter ID 130 of the operator enhancement device 125 has been changed at operation 260, any garage door openers 100 formerly associated with the operator enhancement device 125 will no longer actuate in response to a radio frequency control command from the operator enhancement device 125. This is because the new transmitter ID 130 of the operator enhancement device 125 is not in the memory 140 of the garage door opener 100.
To setup the operator enhancement device 125 to operate a new garage door opener, the new garage door opener learns the operator enhancement device 125. The learning process may involve detecting or determining 265 initiation of a learn mode of the new garage door opener and transmitting 270 a radio frequency control command from the operator enhancement device 125 to the new garage door opener. The radio frequency control command includes the new transmitter ID 130 obtained at operation 260. The new garage door opener may then store 275 the new transmitter ID 130 and all or a portion of the rolling code 135 in a memory of the new garage door opener.
While the above example method describes the method using operator enhancement device 125, one or more of the transmitters 110 may also be configured to change the transmitter ID 130 of the transmitter 110 upon the transmitter 110 being reset, receiving a pairing command, and/or otherwise determining that the transmitter 110 is being paired or learned by a movable barrier operator. For example, a user desiring that the transmitter 110 no longer control the currently associated garage door opener 100 may put the transmitter 110 into a reset mode. The transmitter 110 then generates a new transmitter ID 130. Then, to associate the transmitter 110 with a new garage door opener, the user causes the new garage door opener to enter a learn mode and causes the transmitter to send a radio frequency command signal. The new garage door opener may thereby learn the transmitter 110.
Uses of singular terms such as “a,” “an,” are intended to cover both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context. The terms “comprising,” “having,” “including,” and “containing” are to be construed as open-ended terms. It is intended that the phrase “at least one of” as used herein be interpreted in the disjunctive sense. For example, the phrase “at least one of A and B” is intended to encompass only A, only B, or both A and B.
While there have been illustrated and described particular embodiments of the present invention, it will be appreciated that numerous changes and modifications will occur to those skilled in the art, and it is intended for the present invention to cover all those changes and modifications which fall within the scope of the appended claims.
This application claims the benefit of U.S. Provisional application No. 62/828,858, filed Apr. 3, 2019, which is incorporated by reference in its entirety herein.
Number | Date | Country | |
---|---|---|---|
62828858 | Apr 2019 | US |