Configuration of the building occluding gateway before network connection
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- HUNTER DOUGLAS INC
- Filing Date
- 2022-09-16
- Publication Date
- 2026-08-03
Smart Images

Figure 0007899311000001 
Figure 0007899311000002 
Figure 0007899311000003
Abstract
Description
Technical Field
[0001] Cross - Reference to Related Applications This application claims the benefit and priority of U.S. Provisional Application No. 63 / 245,544, filed on September 17, 2021, which is hereby incorporated by reference herein.
Background Art
[0002] Building structure covers such as blinds, shades, shutters, and curtains provide shade and privacy in buildings such as office buildings, multi - unit residential facilities, and homes. Some building structure covers may be operable manually (e.g., via the use of lift cords), while other building structure covers may be electric (e.g., by an electric motor). Electric building structure covers can be remotely operated by a user device (e.g., a remote control, a mobile device, a keypad). However, it is often difficult to connect a building structure cover to a data network to enable remote connection. Usually, this process is done by trial and error. This process becomes even more difficult when the data network is not available during installation or when the installer's device is not given access to the data network.
[0003] Non - limiting and non - exhaustive examples are described with reference to the following figures.
Brief Description of the Drawings
[0004] [Figure 1] A perspective view of an exemplary building structure cover in an open and extended state is shown. [Figure 2] A block diagram of an exemplary building structure cover controller for the building structure cover shown in FIG. 1 is shown. [Figure 3] An exemplary building structure cover system in a usage - based environment is shown. [Figure 4] Exemplary steps for configuring and using a building structure cover are shown. [Figure 5] This illustrates an example of proximity information collection. [Figure 6] This shows exemplary user interface features available on the installer's device. [Figure 7] This illustrates an exemplary interaction between a device and a gateway and computer system. [Figure 8] This flowchart shows an exemplary method for determining the placement of gateways. [Figure 9] This illustrates the connections between the gateway and building structural shields, devices, and computer systems. [Figure 10] This shows an example connection between a gateway radio and a building structure shield. [Figure 11] This flowchart shows an exemplary method for configuring a gateway. [Figure 12] This flowchart shows an exemplary method for manipulating building structure shielding via a multi-radio gateway. [Figure 13] This illustrates an exemplary connection between a computer system and devices and gateways. [Figure 14] This shows an exemplary assignment of building structure shields to multiple gateways. [Figure 15] This flowchart illustrates an exemplary method for a computer system to transmit configurations related to building structural occlusions to a gateway. [Figure 16] This flowchart illustrates an exemplary method for assigning building structure occluders to multiple gateways and monitoring their proximity over time. [Figure 17] A block diagram of an exemplary operating environment in which one or more of these embodiments may be implemented is shown. [Modes for carrying out the invention]
[0005] Architectural shields are typically located within structures such as apartments, houses, and buildings, without limitation. These shields may be connected to a data network via a gateway to enable remote control by user devices. These user devices include, but are not limited to, a variety of electronic devices, such as dedicated wireless remote controllers, mobile computing devices (e.g., smartphones), tablet computing devices, laptop computing devices, or desktop computing devices. While architectural shields can be distributed within various spaces within a structure (e.g., rooms, areas), gateways may be located in specific locations within the structure. Gateways can communicate wirelessly with architectural shields. Gateways may be connected to a home network (e.g., via an access point) via a wired connection (e.g., via an Ethernet cable) or a wireless connection (e.g., via Wi-Fi), and the home network is then connected to a public network (e.g., the internet). Therefore, the placement of the gateway in a specific location directly impacts communication with and accessibility to the architectural shields by user devices. Placing gateways and connecting them to a home network presents numerous challenges.
[0006] Traditionally, gateways could be deployed using a trial-and-error approach, but this method may require the data network to be fully established. For example, the installer operating the device might connect to the data network, place the gateway in a location, connect the gateway to the data network, and test the connectivity between the gateway and any structural occupants of the building. If the placement is not satisfactory in terms of connectivity, the gateway may be repositioned and the connectivity retested. Thus, the traditional approach can be time-consuming and may require either a pre-existing home network or the installer to set up a home network or temporary data network as well.
[0007] In comparison, embodiments of the present disclosure can significantly reduce trial and error and may eliminate the need to set up a data network to deploy the gateway. In the embodiments, the installer's device may send a request to the gateway via a direct connection (e.g., a Bluetooth connection). This request may include a structural identifier (e.g., a residential ID) that identifies the structure. The gateway may receive signal broadcasts (e.g., Bluetooth advertising beacons) from building structure occlusions. These broadcasts may include the structural identifier and the occlusion identifier of the building structure occlusion. The gateway may generate proximity metrics based on signal broadcasts (e.g., a received signal strength indicator (RSSI)) indicating the gateway's proximity to each building structure occlusion. The device then receives a response to the request, which includes proximity metrics and occlusion identifiers. Based on a configuration indicating that building structure occlusions are installed in the space of the structure, the device may generate, for each space, an indication of whether the gateway is within the wireless connectivity range of the space and an indication of the gateway's connectivity to each building structure occlusion installed in the space. Such indications can be presented to the installer through the device's user interface.
[0008] The device may transmit proximity information to a computer system, such as a cloud-based server, and then update its configuration to indicate that the gateway is assigned to a spatial and / or structural building occupant within that space. Once the home network is set up and the gateway is connected to the home network, the gateway may request and receive a configuration from the computer system. The gateway may then identify the structural building occupants assigned to it and establish connections (e.g., Bluetooth connections) with these structural building occupants. When the gateway receives a request to operate on one or more structural building occupants, it may generate an operation command and send it to the structural building occupant(s) via the associated connection(s).
[0009] Figure 1 is a perspective view of an exemplary building structure shading 100 in its open and extended states. For brevity, building structure shadings such as building structure shading 100 may be referred to herein as building shading or shading. Building structure shading 100 includes a shade panel 102 configured to extend vertically between a roller assembly 104 and a bottom rail assembly 106. The shade panel 102 may typically be configured to move vertically 108 relative to the roller assembly 104 between a fully lowered, i.e., fully extended position (e.g., shown in Figure 1) and a fully raised, i.e., fully retracted position (not shown). When building structure shading 100 is in the retracted position, the shade panel 102 is configured to expose adjacent building structures (e.g., windows), and when shading 100 is in the extended position, the shade panel 102 is configured to cover adjacent building structures. Furthermore, the shielding device 100 is configured to move the shade panel 102 to any number of intermediate positions defined between the fully retracted position and the fully extended position, so that the shade panel 102 partially covers the adjacent building structure.
[0010] In the embodiments, it should be understood that the term “vertical” as used herein refers to the orientation or arrangement of the building structure shading 100 in its extended position (e.g., closed), such as when the shading 100 is installed for use against an adjacent building structure, as indicated by arrow 108. Similarly, the term “horizontal” typically refers to a direction perpendicular to the vertical 108 and extending laterally relative to the shading 100, as indicated by arrow 110. Furthermore, the term “intersecting vertical and horizontal” typically refers to a direction perpendicular to both the vertical 108 and the horizontal 110 and extending forward and backward relative to the shading 100, as indicated by arrow 111. The various directional references used herein are simply used to illustrate the circumstances of the embodiments shown and should not be interpreted as any other limitation. For example, in some building structure shadings 100, the shade panel 102 may be configured to extend and retract horizontally.
[0011] In some embodiments, the shade panel 102 includes both a front panel 112 and a back panel 114, and when the shade panel 102 is moved to its fully extended position (see Figure 1), the front panel 112 and / or the back panel 114 are configured to be positioned substantially parallel to each other in the vertical direction 108. Typically, the panels 112 and / or 114 may be formed from any material suitable for use within the disclosed shielding 100, such as woven fabrics, textiles, and / or nonwoven fabrics. However, in some embodiments, one or both of the panels 112 and 114 may be formed from a sheer fabric or other suitable material(s) that allows at least some of the light striking the shade panel 102 to pass from one panel to the other. Furthermore, it should be understood that the front panel 112 and / or the back panel 114 may typically be sized as needed or desired for use with any suitable building structure. For example, panels 112 and / or 114 define a vertical height 116 and / or horizontal width 118 sufficient to cover a window or other building structure. In one embodiment, the front panel 112 and / or rear panel 114 may define substantially the same height 116 and / or width 118 so that when the shade panel 102 is in the fully extended position, panels 112 and / or 114 have substantially the same spread.
[0012] The shade panel 102 also includes a plurality of light-shielding members, or vanes 120, extending between the front panel 112 and / or the rear panel 114, the vanes 120 being perpendicularly spaced apart from one another along the vertical height 116 of the shade panel 102. In some embodiments, each vane 120 is configured to extend across the entire depth between the front panel 112 and / or the rear panel 114, i.e., in the longitudinal-transverse direction 111. For example, each vane 120 includes a front edge connected to the front panel 112 and a back edge connected to the rear panel 114, using any suitable means such as sewing, gluing, adhesive, and / or mechanical fasteners. Furthermore, like the panels 112 and / or 114, the vanes 120 are formed from any material suitable for use within the disclosed shielding 100, such as woven fabrics, textiles, and / or nonwoven fabrics. However, in some embodiments, the vanes 120 are formed from the same material used to form the front panel 112 and / or the rear panel 114. For example, each vane 120 may be formed from a light-shielding material, or an opaque material, or a translucent material.
[0013] When the shade panel 102 is in operation and is in its fully extended position (e.g., closed position) (see Figure 1), the vanes 120 can be tilted to control the amount of light passing through the shade panel 102 (and to allow the view through the shade panel) as needed or desired, by adjusting the relative positions of the front panel 112 and / or the rear panel 114. In some embodiments, the shade panel 102 is configured such that when the front panel 112 and / or the rear panel 114 are moved perpendicular to each other (e.g., when the rear panel 114 is raised and the front panel 112 is lowered, or when the rear panel 114 is lowered and the front panel 112 is raised), the orientation or tilt angle of the vanes 120 defined between the front panel and the rear panel is adjusted. For example, as shown in Figure 1, the vanes 120 are moved to a nearly horizontal position between panels 112 and / or 114, so that a vertical optical gap 124 is defined between each pair of adjacent vanes 120, and the vanes 120 are fully open. In this "open" position, light can directly pass through the optical gap 124 defined between the vanes 120. Alternatively, the vanes 120 are tilted (not shown) to a nearly vertical position where they at least partially overlap between panels 112 and / or 114, so that the vanes 120 are fully closed (not shown). In this closed position, the overlapping vanes 120 function to prevent all or part of the light striking the shade panel 102 from passing through the shade panel 102.
[0014] Furthermore, the vane 120 can be tilted to any number of intermediate tilt positions defined between the fully open position and the fully closed position. The orientation of the vane 120 between these, including the fully open and fully closed positions, may also be referred to as the view-through position. In one embodiment, it should be understood that when the vane 120 is moved to the open position, the vane 120 is oriented approximately horizontally 110 between the vertically hung panels 112 and / or panel 114, and when the vane 120 is moved to the closed position, the shade panel 102 is in a down position, and the vane 120 is spaced apart and / or sized so that both the vane 120 and panels 112 and / or 114 are oriented approximately vertically 108.
[0015] The roller assembly 104 of the building structure shelter 100 includes an operating mechanism 126, which supports the shade panel 102 and is configured to control the expansion and contraction of the shade panel 102 between its fully extended position and its fully retracted position. Further, the operating mechanism 126 controls the tilt of the vanes 120 between the fully open position and the fully closed position. In some embodiments, the operating mechanism 126 is covered by a balance or other suitable shelter. For example, as shown in FIG. 1, the roller assembly 104 includes a head rail or cover 132 and corresponding end caps 132a and / or 132b that at least partially enclose the operating mechanism 126. Further, various other components of the roller assembly 104 can also be configured to be housed within the head rail 132 as needed or desired. In an embodiment, the operating mechanism 126 includes a single assembly (e.g., a motor 128 and a controller 130) that drives the expansion and contraction movement of the shade panel 102 and the opening and closing movement of the vanes 120. In another embodiment, the operating mechanism 126 can have separate assemblies that drive the expansion and contraction movement and the opening and closing movement respectively. The building structure shelter 100 may further include a separate rear panel 1100 such as a blackout shade, the extension (closed) / retraction (open) position of which is controlled separately from the shelter 100. As shown in FIG. 1, the shade 1100 is shown in a partially retracted position. The roller assembly 104 of the building structure shelter 100 includes a lift assembly 1102 configured to control the expansion and contraction of the shade 1100 between its extended position and its retracted position.
[0016] It should be understood that FIG. 1 shows and describes an embodiment of the building structure shelter 100. However, the building structure shelter 100 can be any type of shelter that at least partially covers building elements such as windows, doors, openings, or walls. In one embodiment, the building structure shelter 100 can be a shear-type shelter. In one aspect, the shade panel has a front panel and a rear panel of a telescoping shear, and a plurality of light-blocking vanes that extend between the panels and open and close the shelter by tilting. In another aspect, the shade panel has a single telescoping shear panel and a plurality of light-blocking vanes attached to the shear panel, the plurality of light-blocking vanes opening and closing by sliding one end of the vanes relative to the panel. In yet another aspect, the shade panel has a single telescoping shear panel and a plurality of light-blocking vanes that extend substantially vertically and open and close by rotating.
[0017] In another embodiment, the building structure shelter 100 can be a cell-type shelter. In one aspect, the shade panel has front and rear panels connected to each other in a cell pattern (such as a honeycomb pattern, a Roman pattern, etc.), and the front and rear panels that expand and contract in an accordion-like motion. This type of cell pattern forms a blocking layer (such as an air blocking layer) within the shelter.
[0018] In yet another embodiment, the building structure shelter 100 can be a Roman-type shelter. In one aspect, the shade panel is a single panel having a plurality of fabric pleats, and has a single panel that expands and contracts by a rolling motion (such as rolling the pleats) or a stacking motion (such as stacking the pleats). In another aspect, the shade panel has front and rear panels that expand and contract and are connected in a cell pattern as described above. These panels include extra fabric that forms Roman-type pleats when the shelter is contracted, but are not necessarily configured to move in the opening and closing direction.
[0019] In yet another embodiment, the building structure shading 100 may be a roller-type shading. In one embodiment, the shade panel has front and back panels connected in a cellular pattern as described above, but expands and contracts by a rolling motion. In another embodiment, the shade panel has a single panel that expands and contracts by a rolling motion. This type of single panel can completely or partially block light as needed or desired, but is not necessarily configured to move in the opening and closing direction. In another embodiment, the single panel may be a UV-blocking shade. In yet another embodiment, the shade panel has a front panel and a back panel, each having alternating shear bands and shading bands. In this embodiment, the shade panel expands and contracts by a rolling motion and opens and closes by moving the panels relative to each other.
[0020] Additionally or alternatively, the building structure shading 100 may be a shutter-type shading. In some embodiments, the shade panel has a plurality of shading vanes that open and close the shading by tilting, but are not necessarily configured to move in the expansion and contraction direction. The building structure shading 100 may be a slat-type shading. In some embodiments, the shade panel has a plurality of shading vanes (e.g., slats) that expand and contract the shading by moving relative to each other and open and close the shading by tilting. Alternatively, the building structure shading 100 may be a vertical shading. In some embodiments, the shade panel has a plurality of shading vanes (e.g., panels or louvers) that expand and contract the shading by moving horizontally relative to each other and open and close the shading by rotating. In general, the building structure shading 100 may be any type of shading that is expandable and / or open and closed, as described herein.
[0021] In the embodiment, since the operating mechanism 126 is electronic and motorized, the building structure shield 100 can be remotely operated as needed or desired. The controller 130 of the operating mechanism 126 includes one or more printed circuit boards 136 for manipulatively controlling the movement of the shade panel 102 via the motor 128. The circuit board 136 includes electronic components (e.g., a building structure shield controller such as the building structure shield controller 142 in Figure 2) for operating the building structure shield 100, which electronically communicates with the motor 128 that drives the movement of the shade panel 102 via wired or wireless communication. The circuit board 136 and / or the motor 128 may be powered as needed or desired by a combination of internal and / or external power line connections, batteries, fuel cells, solar panels, wind turbines, and / or any other power sources. The circuit board 136 includes one or more sensors 138 to determine the position of the operating mechanism 126 and, consequently, the position of the shade panel 102 (e.g., the extended position and / or the open / closed position). Furthermore, the circuit board 136 includes communication devices 140 such as transmitters, receivers, transceivers, and / or other interfaces to facilitate data exchange with remote devices (e.g., user devices 212 in Figures 3 and 4).
[0022] During operation, the building structure shield 100 receives operation commands from a remote device via a gateway and processes and responds according to the received commands. For example, a user device may, as needed or desired, control the movement of the operation mechanism 126 (see Figure 1) to extend and / or open and close the shade panel 102, and control the movement of the lift assembly 152 to extend and / or open the shade panel 152. As further described herein, the building structure shield 100 further generates a broadcast signal that the user device receives, so that the user device can identify, among many, the type, proximity, identification, and location(s) of the shield 100.
[0023] Figure 2 is a block diagram of an exemplary structural shield controller 142 for a structural shield 100 (see Figure 1). In later embodiments, the structural shield controller 142 will be described in relation to the operating mechanism 126 (see Figure 1), but it will be understood that the controller 142 may also be used to control any other components of the structural shield 100 as needed or desired. In some embodiments, the structural shield controller 142 is mounted on a circuit board 136 (see Figure 1).
[0024] In this embodiment, the building structure shield controller 142 includes a motor controller 144 that controls one or more motors 128 of the assembly based on one or more commands. For example, the motor controller 144 controls the rotational direction of the output shaft of the motor 128, the speed of the output shaft, and / or other operation of the motor to extend and / or open and close the shade panel 102 (see Figure 1).
[0025] The building structure shield controller 142 also includes a position sensor interface 148 that receives signals from position sensors 138. Examples of position sensors 138 include magnetic encoders, rotary encoders, and gravity sensors. While the shield is being driven (e.g., by a rotating member or any other driving member), the position sensors 138 are used to count pulses or rotations of the motor 128 in order to track the position of the rotating element (e.g., an output shaft, roller assembly 104 (see Figure 1)). The position sensor interface 148 processes the signals from the position sensors 138, and the positioner 150 determines the position of the building structure shield 100 (see Figure 1) based on the processed signals from the position sensor interface 148.
[0026] The action identifier 152 is used to determine the action (if any) that the motor 128 should perform, based on input information from the communication device 140 (e.g., an operation command received from a remote device via the gateway) and / or input information from the location identifier 150. In the embodiment, the communication device is capable of communicating with the remote device via the gateway, and any number of different networks or protocols can be used to connect to the gateway, such as Wi-Fi, Bluetooth, Bluetooth Low Energy, ZIGBEE, etc. For example, if the communication device 140 receives an operation signal to open the shield, the action identifier 152 sends a signal to the motor controller 144 to actuate the motor 128 in the opening direction. Similarly, if the communication device 140 receives an operation signal to close the shield, the action identifier 152 sends a signal to the motor controller 144 to actuate the motor 128 in the closing direction. In another embodiment, if the communication device 140 receives an action signal to extend the shield, the action identifier 152 transmits a signal to the motor controller 144 to operate the motor 128 in the extension direction. Similarly, if the communication device 140 receives an action signal to retract the shield, the action identifier 152 transmits a signal to the motor controller 144 to operate the motor 128 in the retraction direction. Based on the received action control signals, the action identifier 152 and the position identifier 150 selectively use the motor controller 144 to command the motor 128 to move in one direction or the other, thereby moving the shield as needed or desired.
[0027] Data is stored as needed or desired using the data store 154 (e.g., memory) of the building structure shield controller 142. For example, the data store 154 includes information transmitted by broadcast signals from the shield, such as shield information data (e.g., shield identifier), structure identifier (e.g., building identification number or house ID), and / or power transmission data.
[0028] Figure 3 shows an exemplary building structure shielding system 300. In this embodiment, the system 300 includes a structure 301 (e.g., a building structure) divided into spaces 320, 330, 356, and 370 (e.g., building areas), each space including one or more windows or doors, and each containing one or more building structure shields. For example, the first building space 320 (e.g., kitchen) includes a window 322 with a first shield 324; the second building space 330 (e.g., living room) includes a door 332 with a second shield 336, a window 338 with a third shield 344, a window 346 with a fourth shield 350, and a window 352 with a fifth shield 356; the third building space 356 (e.g., bedroom) includes a window 358 with a sixth shield 363 and a window 364 with a seventh shield 362; and the nth building space 370 (e.g., children's room) includes a window 372 with an nth shield 378. Although only eight shields are illustrated and described, it should be understood that the structure 301 may have any number of shields as needed or desired.
[0029] The building structure shields 324, 336, 344, 350, 356, 362, 363, and 378 are connected to the gateway 390 in a communicative manner using a communication protocol (e.g., Wi-Fi, Bluetooth, Bluetooth Low Energy, ZIGBEE, etc.). The gateway 390 may be installed within the structure 301, such as in one of the four spaces described above, or any other space (in Figure 3, it is shown to be located within space 370).
[0030] The user device 312 is communicatively connected to the gateway 390 for remote access to the building structure shields 324, 336, 344, 350, 356, 362, 363, and 378. The shields 324, 336, 344, 350, 356, 362, 363, and 378 receive commands from the user device 312 via the gateway 390 and process and respond according to the received commands. For example, commands include extending and / or opening and closing the shields. In this embodiment, the user device 312 may be a mobile computing device, tablet computing device, laptop computing device, or desktop computing device, among many other electronic devices including remote control devices.
[0031] The user device 312 can communicate with the gateway using a number of communication mechanisms, depending on whether the gateway is being set up or has already been set up. In setup mode, the gateway may not have access to the data network 395 (e.g., the Internet or local area network (LAN) to which the user device 312 is also connected). In this case, the user device 312 communicates with the gateway 390 via a direct connection (indicated by the two dotted arrows above between the user device 312 and the gateway 390). In operation mode, the gateway has access to the data network (indicated by the two dotted arrows below between the gateway 390 and the data network 395). In this case, communication from the user device 312 can be sent to the gateway 390 via the data network 395.
[0032] In addition to the user device 312, a computer system 308 (including, but not limited to, a local server or a cloud-based server, such as a remote server) can communicate with the gateway 390. Normally, in setup mode, the computer system 308 can communicate with the user device 312 via the data network 395 or another data network (e.g., a cellular network), but cannot communicate with the gateway 390. In this case, configuration information regarding building structural shields 324, 336, 344, 350, 356, 362, 363, and 378, as well as structure 301, can be exchanged between the user device 312 and the computer system 308. For example, this information includes the structural identifier of structure 301, the spatial identifier for each space, the occluder identifier for each occluder, and the gateway identifier of gateway 390, and shows the distribution of building structure occluders 324, 336, 344, 350, 356, 362, 363, and 378 within spaces 320, 330, 356, and 370, the scenes of building occluders, and the automation of building occluders. Furthermore, during setup, the user device 312 can collect proximity information regarding the proximity between gateway 390 and building structure occluders 324, 336, 344, 350, 356, 362, 363, and 378. The computer system 308 may use this proximity information to determine that spaces 320, 330, 356, and 378, and / or building structure occluders 324, 336, 344, 350, 356, 362, 363, and 378 should be controlled via gateway 390. Gateway-space assignments, i.e., gateway-occluder assignments, may be stored in configuration information. A data store 306 (e.g., a database) is accessible by the computer system 308 and may store configuration information. This configuration information may also include the types and models of occluders and gateway 390. Display names may be system-generated or user-generated. If system-generated, these may be modified by the user.
[0033] In the embodiment, proximity information may be generated based on a broadcast signal including a structural identifier and an occlusion identifier, as further illustrated in the following figure. Specifically, each of the building structural occlusions 324, 336, 344, 350, 356, 362, 363, and 378 is configured to transmit broadcast signals 326, 334, 340, 348, 354, 360, 361, and 371, which are received by the gateway. This broadcast signal may conform to a communication protocol ultimately used to connect the gateway 390 to the building structural occlusions 324, 336, 344, 350, 356, 362, 363, and 378 (e.g., Wi-Fi broadcast, Bluetooth advertising beacon, etc.). The gateway can generate proximity metrics, such as the RSSI, from each broadcast signal 326, 334, 340, 348, 354, 360, and 361, and transmits these metrics, along with their association with associated occluder identifiers, to the user device 312 in proximity information.
[0034] When gateway 390 connects to data network 395, computer system 308 may transmit configuration information or a portion thereof to gateway 390 via data network 395. For example, computer system 308 may indicate to gateway 390 that control of spaces 320, 330, 356, and 370 and / or building structure occluders 324, 336, 344, 350, 356, 362, 363, and 378 has been assigned to gateway 390, and that such control may be performed according to the setting of the building occluders, the automation of the building occluders, etc.
[0035] Figure 4 shows exemplary steps for configuring and using a building structure shield. The steps include installation and setup stage 401, connection and configuration stage 402, operation and distribution stage 403, and monitoring and notification stage 404. Typically, installation and setup stage 401 includes installing the building structure shield within the space of the structure and positioning one or more gateways in one or more of the space so that the building structure shield is within the connection range of the gateway(s). Subsequently, connection and configuration stage 402 includes connecting the gateway(s) to a data network (e.g., a secure LAN connected to the Internet) and providing the gateway(s) with configuration information about the building structure shield and the space. Operation and distribution stage 403 includes operating the building structure shield, and in response to an operation request, the gateway(s) may send relevant commands to the building structure shield. In parallel with the operation and distribution phase 403, a monitoring and notification phase 404 may occur, during which the gateway(s) may report proximity information of building structure occupants so that the connection range and proximity can be monitored over time. Each of these phases is described in further detail below. For clarity, a single gateway is described; however, the embodiments are equally applicable to a larger number of gateways.
[0036] During the installation and setup phase 401, the installer may install several shields 410 and gateways 420 within the space of the structure. The installer may also operate a device 430 that runs an application for setting up gateways 420. An embodiment of the graphical user interface (GUI) of the application is shown in Figure 6. During the installation and setup phase 401, device 430 may have a data connection to computer system 440 (e.g., via a cellular network). However, if a data connection is unavailable, device 430 may store in its local memory (e.g., a cache) information received from computer system 440 before arriving at the structure and information to be sent to computer system 440 after leaving the structure.
[0037] In one embodiment, device 430 may receive a configuration of the occluder 410 from a computer system 440. In another embodiment, the configuration may be generated locally on device 430 using an application. In either embodiment, the configuration may include an occluder identifier for the occluder 410, a spatial identifier for the space, a structural identifier for the structure, and parameters for controlling the occluder (e.g., scene, automation, etc.).
[0038] The gateway 420 may be powered. Using the application, the installer can set up a direct connection (e.g., a Bluetooth connection) between device 430 and gateway 420. Through this direct connection, device 430 can transmit a structure identifier and a gateway identifier to gateway 420. In one embodiment, the gateway identifier may be defined based on the installer's input in the application's GUI. In another embodiment, the gateway identifier may be defined in the configuration.
[0039] Furthermore, the occluder 410 periodically transmits broadcast signals, each of which may indicate the structural identifier of the structure and the occluder identifier of the occluder. The gateway 420 receives the broadcast signals, identifies the structural identifier and the occluder identifier, and can generate proximity metrics (e.g., RSSI). The gateway 420 may transmit proximity information to the device 430 upon request from the device 430. This information includes proximity metrics and the association between proximity metrics and occluder identifiers (e.g., association of data structures such as {occluder ID: bedroom; RSSI: -80dB}; {occluder ID: child's room; RSSI: -76dB}). Then, based on the configuration and proximity information, the device 430 may identify and present (e.g., in a GUI) an indication of whether the gateway 420 is within the connectivity range of each space and an indication (e.g., RSSI) of the connectivity strength for each occluder within each space. Therefore, the installer can determine in real time whether the placement of gateway 420 is satisfactory, whether gateway 420 should be relocated, and / or whether another gateway should be added.
[0040] Device 430 may also transmit proximity information to the computer system 440. Based on the configuration and proximity information, the computer system 440 may assign Gateway 420 to control a particular one of the occluders 410 (e.g., assignment by occluder), or to control a particular space containing an occluder (e.g., assignment by space over which control is performed). This assignment is shown as a Gateway-Occluser Assignment, which may be transmitted to Device 430 for presentation in the GUI.
[0041] During the connection and configuration phase 402, the gateway 420 establishes a connection to a LAN access point within the structure. This connection provides a path between the gateway 420 and the computer system 440 via a public data network (e.g., the Internet). The gateway may request a configuration for controlling the shields 410. This request may include a structure identifier and a gateway identifier. In response, the computer system 440 may transmit the configuration and gateway-shield assignment. Alternatively, the computer system 440 may identify the spaces and shields to be assigned to the gateway 420 and transmit the portion of the configuration related to these spaces and shields. In either embodiment, upon receiving the configuration and assignment, or the portion of the configuration, the gateway 420 may identify the shields that need to be controlled and establish connections (e.g., Bluetooth connections) with these shields.
[0042] During the operation and distribution phase 403, the gateway may receive a request to operate one or more of the occluders. In an embodiment, the operation request may be received from a user device 450, such as a smartphone or remote control device connected to a LAN or public data network. In another embodiment, a computer system 440 may receive an operation request from a third-party system (for example, the third-party system may provide functionality to a smart appliance such as a smart speaker, which receives user input such as natural language utterances, and the third-party system processes this input via an application programming interface (API), generates an operation request, and outputs it to the computer system 440). In this embodiment, the computer system sends the operation request to the gateway 420. In either embodiment, the operation request may refer to a space and / or a set of occluders, and the gateway sends a command to the relevant occluder(s). In an embodiment, if a command needs to be sent to multiple occluders in the same space, as further illustrated in Figures 10 and 12, the gateway 420 may establish simultaneous connections with these occluders and sequentially send the command to each occluder.
[0043] During monitoring and notification phase 404, the occluder may periodically transmit broadcast signals. Gateway 420 may receive these signals. In one embodiment, Gateway 420 processes all received signals. In another embodiment, Gateway 420 processes only signals transmitted from occluders assigned to Gateway 420. In either embodiment, signal processing may include identifying proximity metrics. Gateway 420 may transmit proximity information, including proximity metrics and the association between proximity metrics and occluder identifiers, upon request from or periodically to the computer system 440. Computer system 440 may then identify changes in proximity information over time, and the changes may indicate a decrease in the connection strength (e.g., signal strength such as RSSI) between Gateway 420 and a particular occluder, and / or that Gateway 420 is no longer within the connectivity range of a particular space. In either case, computer system 440 may send a notification to user device 450 about the change in connectivity.
[0044] Figure 5 shows an exemplary proximity information collection. As shown, the space of structure 501 includes four shields 504, 514, 524, and 534. Each of these shields transmits a broadcast signal 510, 520, 530, or 540. Gateway 550 receives the broadcast signals 510, 520, 530, and 540. In response to a placement request 562 from device 560, gateway 550 generates a placement response 552 based on the broadcast signals 510, 520, 530, and 540 and transmits it to device 560. Shields 504, 514, 524, and 534, gateway 550, and device 560 are embodiments of shield 410, gateway 420, and device 430 in Figure 4.
[0045] Typically, a broadcast signal represents a signal transmitted at predetermined intervals (or rates) regardless of requests from remote devices for data that the broadcast signal may indicate, and without being specifically transmitted to any particular remote device. For example, in the case of packet-based transmission rather than unicast transmission, a broadcast signal may be broadcast as one or more packets. Packet broadcasting involves transmitting packets from a single source to all possible final destinations within the reach of a network (e.g., a Wi-Fi network, a Bluetooth network, a Bluetooth Low Energy network, etc.). In contrast, packet unicasting involves transmitting packets from a single source to a single destination. Broadcast signal 526 may be transmitted (e.g., broadcast) as packets at predetermined time intervals, for example, about 4 to 12 times per second. In this embodiment, broadcast signals 510, 520, 530, and 540 include header and occluding information data. For example, the information data may include the name and / or type of the occluding. In one embodiment, the name or type of occluder may be an eight-digit code including the type of occluder (e.g., SIL for Silhouette®, PIR for Pirouette®) and a corresponding serial number or part thereof. Additionally or alternatively, the information data may include a model identification number. The model identification number allows for the identification of further characteristics of that type of occluder, such as horizontal occluder, vertical occluder, tilt function, vane position, opacity control, and lateral stretching.
[0046] The broadcast signal also includes information to uniquely identify each shield within the structure, such as a structural identifier (e.g., a residential identifier (ID)) and a shield identifier (e.g., a shield ID). The structure ID can be a unique ID or hash associated with structure 501, which allows shields 504-510 to be associated with structure 501. This enables gateway 550 to filter and exclude broadcast signals received from shields located in adjacent structures (e.g., the house next door).
[0047] Furthermore, the broadcast signal also includes positional information for each shield to identify the possible location of each shield in real time. For example, shield 100 in Figure 1 includes three types of positional information: the extension position of the shade panel 102, the tilt position of the vane 120, and the extension position of the light-shielding panel 150. While three types of positional information are discussed, any number and any type of positional information is transmitted in broadcast signals 510, 520, 530, and 540. In another embodiment, shields 504, 514, 524, and 534 have two types of positional information. The first position identifier is the extension of the shade panel. The second position identifier is the tilt angle of the vane within the shade panel. The positional information is reported to device 540 as light transmittance. For example, the identifier for position 1 of shield 504 is 100%, because the shield panel transmits 100% of the light that could pass through the window 505. The identifier for position 2 of shade 504 is 100% because the vane is perpendicular to the shielding panel, and therefore 100% of the available light enters through this vane portion of the shield. In another embodiment, the identifier for position 1 of shade 514 is 66% because the shielding panel is contracted by 66%, and therefore 66% of the available light can pass through door 515. The identifier for position 2 of shield 514 is 100% because the vane is tilted at 510 degrees, and therefore 100% of the light can pass through the vane portion of the shield. The position information in the broadcast signal is updated in real time, so whenever any position information of any shield changes, that changed information is transmitted in the next broadcast packet. In this embodiment, the shield may store logic that converts the contraction position of the shade panel, the tilt position of the vane, and the contraction position of the light-shielding panel with the light transmittance. For example, the logic may include a function that correlates position data with transmittance. The logic may also include, additionally or alternatively, a table to store such correlations. In this way, the occluder may report either position data or light transmittance. The occluder may also receive commands to move to a specific position, and these commands may include position data or light transmittance.In the latter case, light transmittance is input to the logic, specific positional data which is the output of the logic is identified, and the movement of the shade panel, vane, and / or shading panel is controlled. Up to three types of positional information have been discussed, but it should be understood that any number of types of positional information can be collected and included in broadcast signals 510, 520, 530, and 540. Furthermore, although the positional information is transmitted as light transmittance, the positional information may be recorded in a number of ways, including, for example, length, angle, etc.
[0048] The broadcast signal may further include a Media Access Control (MAC) address, battery strength (e.g., battery level), and additional information that may help identify each of the shields 504, 514, 524, and 534.
[0049] Gateway 550 may selectively scan (e.g., periodically) and receive broadcast signals 510, 520, 530, and 540 from building structural occluders 504, 514, 524, and 534, respectively. Gateway 550 may identify structural identifiers and occluder identifiers from the received broadcast signals. Gateway 550 may also determine the signal strength of the broadcast signals to determine the proximity to building structural occluders 504, 514, 524, and 534. For example, Gateway 550 may measure the power present in the received broadcast signals to generate an RSSI value. The RSSI value may be smoothed over a time window (e.g., a 6-second time window) to obtain a relative proximity value.
[0050] Device 560 may send a placement request 562 to gateway 550. This request 562 may include a structural identifier. Gateway 550 may then filter out received broadcast signals indicating other structural identifiers and may further process received broadcast signals indicating structural identifiers. This processing may include identifying the RSSI value of the broadcast signal received from an obstruction having an obstruction identifier, generating a proximity value, and including the RSSI value and / or proximity value, as well as the association between the RSSI value and / or proximity value and the obstruction identifier, in proximity information. The proximity information is then included in a placement response 552 sent to device 560.
[0051] Figure 6 shows exemplary user interface features available on the installer's device. The device is an embodiment of device 560 in Figure 5. As shown, a GUI 600 to the application running on the device is presented to the installer. The GUI features allow the installer to input information about the gateway and visually perceive the quality of the gateway's placement within the structure's space in relation to the gateway's connectivity to obstacles within the structure.
[0052] In the embodiment, the GUI may first present a page that includes a first field for entering information about the gateway (such as a gateway identifier) and an option to add the gateway to the occlusion configuration. The gateway identifier may be a unique name given to the gateway within the context of the configuration. The gateway identifier may additionally or alternatively identify the space in which the gateway is installed. User input 610, received by the GUI, may include text input in the first field and the selection of an option. The GUI may then present a page showing a graphic of the gateway and its identifier (in Figure 6, the identifier is shown as "Basement Gateway"), along with an option to confirm the placement of the gateway. If the user selects this option, a placement request 620 will be sent from the device to the gateway, which will include the structural identifier described herein. In response, the device may receive a placement response including proximity information.
[0053] The application can identify each proximity metric (e.g., RSSI value or proximity value) and the association between occluder identifiers and proximity metrics from proximity information. Based on the configuration, the application can identify the mapping between occluder identifiers and spatial identifiers and associate the proximity metrics of occluders located in the same space with that space. Thus, the application can generate proximity metrics for each space (e.g., the average or other statistical measure of proximity metrics associated with occluders located in that space).
[0054] Through GUI600, the application can display proximity metrics indications for each space. These indications can inform the installer whether a space is within the gateway's connectivity range. The indications may include text and / or graphics. For example, a space icon, text indicating the space's name, and a checkbox may be used. Icons and text may be available from the configuration. The checkbox will be checked when the space is within connectivity range and unchecked otherwise. Of course, other methods are possible for displaying space-specific indications in GUI600.
[0055] Furthermore, in GUI600, indications in different spaces can be organized in a specific order. For example, an application can generate an order of spaces (e.g., descending order) based on the corresponding proximity metrics of the spaces. These indications are then listed in GUI600 in the same order.
[0056] Furthermore, each indication may be expandable. For example, a user selecting a spatial indication may correspond to an expansion request 630 to present the connection strength between the gateway and the occluders located in that space. The strength associated with an occluder may correspond to its proximity metric. Here again, occluders may be identified in a specific order (e.g., descending order) determined by their proximity metrics. As shown in Figure 6, when the installer selects a living room indication, the indication expands to display the four occluders contained in that living room and their corresponding proximity metrics. Here, each occluder indication may use an icon for the occluder, text to identify it, and a signal strength bar. The icon and text may be available from the configuration. Furthermore, the icon may be animated or updated to indicate the location of the occluder based on location information received in the occluder's signal broadcast. Of course, other methods are possible for presenting spatial indications in GUI 600.
[0057] Figure 7 shows an exemplary interaction between device 740 and gateways 720 and 730 and computer system 750. Device 740, gateways 720 and 730, and computer system 750 are embodiments of device 430, gateway 420, and computer system 440 in Figure 4. Typically, device 740 can receive proximity information from each gateway, transmit such information to computer system 750, and then receive gateway-obstacle assignments from computer system 750.
[0058] In this embodiment, gateways 720 and 730 are located within the same structure, which includes a shield 710. First, device 740 may send a placement request 742 to gateway 720. This request 742 may include a structure identifier. Next, gateway 720 sends a placement response 722 to device 740 based on a signal broadcast from shield 710. This response 722 includes proximity information, for example, showing the proximity metrics for each shield with respect to gateway 720. Secondly, device 740 may similarly send a placement request 732 to gateway 730 and receive a placement response 732. This response 732 includes proximity information for the shields with respect to gateway 730 (but not gateway 730). Although requests 722 and 732 are described as being sent at different times, they may be sent simultaneously, or a single request may be sent in a broadcast, which is received by gateways 720 and 730.
[0059] Device 740 may transmit proximity information 746 to the computer system 750. This information 746 includes proximity information received from gateway 720 and proximity information received from gateway 730. Although the two pieces of information are described as being transmitted together in proximity information 746, they may not be transmitted together, but rather separately to the computer system 750.
[0060] As further illustrated in Figures 14 and 15, the computer system 750 may, based on proximity information 746, assign a first set of occluders 710 to gateway 720 and the remaining set of occluders 710 to gateway 730. For example, this assignment balances the number of occluders controlled per gateway and ensures that occluders belonging to the same space are assigned to the same gateway. Device 740 may receive and present gateway-occluder assignments in a GUI (e.g., on a page presented by GUI 600).
[0061] Figure 8 is a flowchart illustrating an exemplary method for determining the placement of gateways. The operations in the flowchart may be performed by the installer's device, such as device 430 in Figure 4. Some or all of the instructions for performing the operations may be implemented as hardware circuits and / or stored as computer-readable instructions on the device's non-transient computer-readable medium. Implemented instructions represent modules containing circuits or code executable by the device's processor(s). Using such instructions, the device is configured to perform specific operations described herein. Each circuit or code, in combination with the associated processor(s), represents a means for performing each operation(s). While operations are shown in a specific order, it should be understood that the order is not required, and one or more operations may be omitted, skipped, executed simultaneously, and / or reordered.
[0062] The flowchart may begin with operation 802, in which the device identifies the configuration of the occlusion. In one embodiment, the configuration is received by the device from a computer system and associated with a structure. The configuration may include, among other things, a structural identifier for the structure, a spatial identifier for the space within the structure, and an occlusion identifier for the occlusion. In another embodiment, the configuration is generated locally by the device based on user input to an application running on the device.
[0063] In operation 804, the device identifies the gateway identifier of the gateway. In one embodiment, the application's GUI presents a field for entering the gateway identifier. User input is received in the field, and the gateway identifier is specified. In another embodiment, the gateway identifier is predefined in the configuration.
[0064] In operation 806, the device sends the gateway identifier to the gateway. For example, when an application is run, the device establishes a direct connection with the gateway. Once the gateway identifier is identified, the device sends the gateway identifier to the gateway via the direct connection. The device may also send the structure identifier to the gateway so that the gateway can store both the gateway identifier and the structure identifier in local memory.
[0065] In operation 808, the device identifies a request regarding the gateway's placement. For example, the GUI presents an option to request placement information. The user's selection of this option is received via the GUI.
[0066] In operation 810, the device sends a request to the gateway. For example, the request is sent via a direct connection and includes a structure identifier.
[0067] In operation 812, the device receives a placement response from the gateway to a placement request. In the embodiment, the placement response includes proximity information of an obstacle associated with the gateway. The proximity information may be generated based on a signal broadcast indicating a structural identifier.
[0068] In operation 814, the device determines the spatial connectivity range to the gateway and the connectivity strength of occluders to the gateway, based on configuration and proximity information. In the embodiment, the device identifies the mapping of occluders to spaces from the mapping, and occluder identifiers grouped together by spatial identifiers indicate that corresponding occluders are located in the corresponding spaces. Next, for each space, the device identifies the proximity metrics of the occluders mapped to the space. For each space, the device generates the mean (or other statistical measure) of the mapped proximity metrics, resulting in the spatial proximity metrics. The device may then compare the spatial proximity metrics to a threshold (e.g., a given dB value). If it is less than the threshold, the device determines that the space is outside the gateway's connectivity range. Otherwise, the device determines that the space is within the connectivity range. Another check may be performed, which may be a check specific to occluders in the space. For example, the device identifies occluders with the lowest proximity metrics (e.g., minimum RSSI value or minimum proximity value). These metrics may be compared to a second threshold. If the value is less than the second threshold, the connectivity of the occluder to the gateway is weak, even if the gateway's average proximity metric is acceptable. In this case, the device may declare that the space is outside the connectivity range. Otherwise, the device may declare that the space is within the connectivity range. Furthermore, the device may determine the connectivity strength between the occluder and the gateway for each occluder. For example, this strength may correspond to the occluder's proximity metric (e.g., RSSI value or proximity value). The proximity metric is compared to a threshold set, and the quality of the connectivity strength may be indicated (e.g., high, medium, low, or 1, 2, 3, 4, or 5 bars out of 5).
[0069] In operation 816, the device presents indications of connectivity range and connectivity strength. For example, the indications may be presented in a GUI, where the spatial connectivity range indication can be expanded to show the connectivity strength of occluders placed in the space. Furthermore, the device may rank or sort spaces based on spatial proximity metrics. Spaces may then be listed in the GUI in that order. Similarly, the device may rank or sort occluders in a space based on occluder proximity metrics. Expanding the spatial indications may then list the occluders in the GUI in that order.
[0070] In operation 818, the device transmits proximity information to the computer system. For example, proximity information may be transmitted over the data network in response to a request from the computer system or automatically when a request is received from the gateway.
[0071] In operation 820, the device determines whether further gateway information is requested. For example, user input for adding another gateway may be received via the GUI, in which case operation 806 may occur following operation 820. In another embodiment, user input for selecting another gateway and requesting placement information for this gateway may be received via the GUI, in which case operation 810 may occur following operation 820. If further gateway information is not requested, operation 830 may occur following operation 820.
[0072] In operation 830, the device receives a gateway-obstacle assignment from the computer system. This assignment may be received depending on the proximity information transmitted. The device may present the assignment in a GUI, for example, by indicating the space and obstacles that each gateway is responsible for controlling.
[0073] Figure 9 shows exemplary connections between the gateway 920 and the building structure shield 910, devices 930 and 950, and the computer system 940. The type of connection may vary depending on the operating mode of the gateway 920 and may include direct connections and network connections. Operating modes include setup mode 901 and operation mode 902.
[0074] Setup mode 901 is typically used during the installation and setup phase 401. In the embodiment, a direct connection 920 exists between the gateway 920 and the device 930 (e.g., a device operated by the installer of gateway 920). This direct connection may use, for example, the Wi-Fi protocol, the Bluetooth protocol, the Bluetooth Low Energy protocol, or the ZIGBEE protocol. This connection can be bidirectional, and information can be exchanged between gateway 920 and device 930. Furthermore, a direct connection may exist between gateway 920 and the shield 910. Again, each direct connection may use, for example, the Wi-Fi protocol, the Bluetooth protocol, the Bluetooth Low Energy protocol, or the ZIGBEE protocol. However, these direct connections are typically unidirectional. Specifically, gateway 920 can receive broadcast signals from shield 910, but cannot transmit information to shield 910.
[0075] Operation mode 902 is typically used during the connection and configuration phase 402, the operation and distribution phase 403, and the monitoring and notification phase 404. In the embodiment, gateway 720 is part of a LAN (e.g., by being connected to an access point or another node on the LAN). The LAN may be connected to another data network, such as a public network (e.g., the Internet) (e.g., via a router). A network connection may exist between gateway 920 and computer system 940. This network connection may include a data network (if computer system 940 is not on the LAN) and a network path through the LAN. A network connection may also exist between gateway 920 and device 950. This network connection may include a data network (if device 950 is not on the LAN) and a network path through the LAN. While computer system 940 provides configuration information to gateway 920, device 950 may be operated by a user to control shield 910 via the gateway. Furthermore, a direct connection may exist between gateway 920 and shield 910. Here, gateway 920 is configured, and therefore each direct connection can be bidirectional, thereby enabling the exchange of information between gateway 920 and the associated shield. Again, each direct connection can use, for example, the Wi-Fi protocol, Bluetooth protocol, Bluetooth Low Energy protocol, or ZIGBEE protocol.
[0076] Figure 10 shows an exemplary connection between the gateway 1020's radios and the building structure shield 1010. The gateway 1020 may include multiple radios (e.g., Wi-Fi radios, Bluetooth radios, ZIGBEE radios, etc.). Each radio can handle a maximum number of connections (e.g., 15 connections), thus enabling the gateway 1020 to connect to an equivalent maximum number of shields simultaneously.
[0077] As shown in Figure 10, the gateway includes a first radio 1021, a second radio 1022, and a radio controller 1024. The radio controller 1020 can determine the number of connections each radio should establish and the target endpoints of the connections (e.g., shields to be connected to each radio). As further illustrated in Figure 12, the radio controller 1024 may perform this determination by implementing a minimum load per space algorithm. Typically, the radio controller 1024 balances the number of connections across radios while connecting shields in the same space to the same radio. The radio controller 1024 can then instruct each radio to establish the connections associated with it.
[0078] As shown, the shields 1010A of the first set, 1010B of the second set, and so on, up to the shield 1010K of the K set are arranged in the first space 1012A, the second space 1012B, and so on, up to the K space 1012K, respectively. The first space 1012A and space K 1012K are assigned to the first radio 1021 (for example, their shields 1010A and 1010K are connected to the first radio 1021). In contrast, the second space 1012B is assigned to the second radio 1022 (for example, its shield 1010B is connected to the second radio 1022).
[0079] If there is a command to activate one of the shields 1010A, the first radio 1021 transmits the command to the shield via connection 1030A. If there are commands to activate multiple or all of the shields 1010A, the first radio 1021 sequentially transmits these commands to the shields via connection 1030A (for example, using a unicast mechanism, the first radio 1021 transmits the command to the first shield among the shields 1010A, then to the second shield among the shields 101A, and so on). If there are commands to activate one or more of the shields 1010A and one or more of the shields 1010K, the first radio 1021 sequentially transmits the commands to these shields via connections 1030A and 1030K. Typically, the relevant connections are established first, followed by the sequential transmission of commands. Establishing a connection can take longer than sending a command. Furthermore, sending a command over a separate connection can take relatively less time (e.g., about 100 milliseconds). Therefore, from the user's perspective, it may appear as if the hembars of shims located in the same space are operating simultaneously.
[0080] Similarly, when there is a command to activate one of the shields 1010B, the second radio 1022 transmits the command to the shield via connection 1030B. When there are commands to activate multiple or all of the shields 1010B, the second radio 1022 sequentially transmits these commands to the shields via connection 1030B. When there are commands to activate one or more of the shields 1010A and / or 1010K, and one or more of the shields 1010B, the first radio 1021 transmits commands to the shields 1010A and / or 1010K via connections 1030A and / or 1030K, while the second radio 1022 transmits commands to the shields 1010B via connections 1030B in parallel with or following the command transmission by the first radio 1021.
[0081] Figure 11 is a flowchart illustrating an exemplary method for configuring a gateway. The operations in the flowchart may be performed by a gateway, such as gateway 420 in Figure 4. Some or all of the instructions for performing the operations may be implemented as hardware circuits and / or stored as computer-readable instructions on the gateway's non-transient computer-readable medium. The implemented instructions represent modules containing circuits or code that can be executed by the gateway's processor(s). By using such instructions, the gateway is configured to perform the specific operations described herein. Each circuit or code, in combination with the associated processor(s), represents a means for performing the respective operation(s). While the operations are shown in a specific order, it should be understood that the order is not required, and one or more operations may be omitted, skipped, executed simultaneously, and / or reordered.
[0082] The flowchart may begin with operation 1102, in which the gateway receives a structure identifier and a gateway identifier from a device via a direct connection. For example, the device may be operated by an installer. The structure identifier corresponds to the structure in which the gateway is located. The gateway identifier can uniquely identify the gateway within the structure.
[0083] In operation 1104, the gateway stores the structure identifier and the gateway identifier. For example, these two pieces of information may be stored in the gateway's local memory.
[0084] In operation 1106, the gateway receives a signal broadcast from an occluder. In this embodiment, the signal broadcast received from the occluder includes the occluder's occluder identifier, as well as the structural identifier of the structure in which the occluder is installed. The gateway may filter out signal broadcasts indicating a structure different from the structure in which the gateway is installed. The gateway may also process the remaining signal broadcasts to generate proximity metrics and associations between the proximity metrics and the occluders located on the structures. Such proximity metrics and associations may be stored in local memory (for example, in a rolling buffer of a certain size, such as one that stores proximity information identified over the most recent 6 seconds or other time interval).
[0085] In operation 1108, the gateway receives a request from the device regarding the gateway's location. This request may also be received via a direct connection and may include a structural identifier for the structure in which the gateway is located.
[0086] In operation 1110, the gateway filters out received signal broadcasts that do not contain their structure identifier.
[0087] In operation 1112, the gateway generates proximity information in response to the request and sends it to the device. The response may be sent via a direct connection. The proximity information may be generated from the information stored in the buffer and all new broadcast signals, including its structure identifier.
[0088] In operation 1114, the gateway establishes a connection to a data network. For example, the data network includes a LAN in a structure. The data network may also include a public network (e.g., the Internet) to which the LAN is connected. The gateway may be powered on and connected to a user device via a direct connection, and the user device then sends the LAN access point credentials to the gateway. Additionally or alternatively, the Wi-Fi Protected Setup (WPS) procedure may be followed to establish a connection to the LAN.
[0089] In operation 1116, the gateway transmits a request for shield configuration to the computer system via the data network. In the embodiment, the request is transmitted automatically by the gateway when it first gains access to the data network, in response to a command from a user device, or in response to a user selection of a button on the gateway. The request may include a structure identifier and a gateway identifier.
[0090] In operation 1118, the gateway receives a response to a request from a computer system via the data network. In an embodiment, the response includes a configuration and an indication of the occluders and / or spaces assigned to the gateway. Alternatively, the response includes only a portion of the configuration, which is specific to the occluders and / or spaces assigned to the gateway.
[0091] In operation 1120, the gateway establishes connections to the assigned obstacle(s) based on the configuration and indication. For example, the connection to an obstacle is a direct connection. When multiple connections are established, a star topology may be used. Furthermore, connections may be distributed among multiple radios of the gateway.
[0092] In operation 1122, the gateway receives a request for an operation to be performed. This request may be specific to an occluder, a set of occluders, a space, or a set of spaces. If no occluder or space is assigned to the gateway, the gateway may ignore the request. Otherwise, the gateway may determine the command to perform the operation from the configuration of the occluder and / or space.
[0093] In operation 1124, the gateway sends a command to the connected shield(s). The command may be sent to multiple shields via multiple connections. The command transmission may be sent sequentially to the same radio of the gateway via the connections, or it may be sent simultaneously to multiple radios of the gateway via the connections, as illustrated in Figure 10.
[0094] In operation 1126, the gateway receives broadcast signals from building occupants. Similar to operation 1106, if the received signals indicate a structure other than the one the gateway is located on, the gateway may ignore the signals. Otherwise, the gateway further processes the received signals to generate proximity metrics and the association between the proximity metrics and the occupants. This information may be stored in a memory buffer.
[0095] In operation 1128, the gateway reports proximity information from its memory buffer to the computer system via the data network. This information may be transmitted upon request from the computer system or automatically at regular intervals. In some situations, the proximity information may indicate changes in space within the gateway's radio range and / or changes in the connection strength between the gateway and the obstacle. In such situations, as shown by the dashed loop from operation 1128 to operation 1118, the computer system may generate an updated gateway-obstacle assignment and transmit this update to the gateway.
[0096] Figure 12 is a flowchart illustrating an exemplary method for manipulating building structure shielding via a multi-radio gateway. The operations in the flowchart may be performed by the radio controller of the multi-radio gateway, such as radio controller 1024 in Figure 10. Some or all of the instructions for performing the operations may be implemented as hardware circuits and / or stored as computer-readable instructions on a non-temporary computer-readable medium of the radio controller. The implemented instructions represent modules containing circuits or code that can be executed by the processor(s) of the radio controller. Using such instructions, the radio controller is configured to perform the specific operations described herein. Each circuit or code, in combination with the associated processor(s), represents a means for performing the respective operation(s). While the operations are shown in a specific order, it should be understood that the order is not required, and one or more operations may be omitted, skipped, performed simultaneously, and / or reordered.
[0097] The flowchart may begin with operation 1202, at which point the radio controller may receive an operation request. The request may be sent from a user device or computer system via a data network.
[0098] In operation 1204, the radio controller determines whether the operation should be performed by multiple obstacles. For example, the request may include obstacle identifiers and / or spatial identifiers. If spatial identifiers for space are included, the radio controller may, based on the configuration, identify obstacle identifiers for the obstacle(s) located in the space. If the operation should be performed by a single obstacle, operation 1210 may occur following operation 1204. Otherwise, operation 1220 occurs following operation 1204.
[0099] In operation 1210, the radio controller uses the first radio to send a command to the obstruction. For example, the command includes a set of instructions for performing an action (e.g., open, close, move to a predetermined position). The obstruction may correspond to the obstruction identifier identified in operation 1204. The radio controller may select one of the gateway radios, which may then establish a direct connection with the obstruction. Alternatively, if a radio has already established a connection with the obstruction, that radio may be selected. In either case, the selected radio may send a command to the obstruction by unicast. Alternatively, the selected radio may send a broadcast containing the command and the obstruction identifier. In this case, an obstruction that does not have its own obstruction identifier may ignore the broadcast.
[0100] In operation 1220, the radio controller determines whether the operation should be performed in multiple spaces. As described above in this specification, the request may include an obstruction identifier and / or space identifier(s). If an obstruction identifier is included, the radio controller may, based on the configuration, identify the space(s) to which the obstruction identifier is mapped. If only one space is identified, operation 1230 may occur following operation 1220. Otherwise, operation 1240 may occur following operation 1220.
[0101] In operation 1230, the radio controller uses the first radio to transmit a command to an obstacle in space. For example, the command includes a set of instructions for performing an action (e.g., open, close, move to a predetermined position). The space may correspond to a space identifier identified in operation 1220. The radio controller may select one of the gateway radios, which may then establish a direct connection with the obstacle. Alternatively, if a radio has already established a connection with an obstacle, that radio may be selected. In either case, the selected radio may sequentially transmit a command to each of the obstacles via unicast. Alternatively, the selected radio may transmit a broadcast containing the command and an obstacle identifier. In this case, obstacles that do not have any of these obstacle identifiers may ignore the broadcast.
[0102] In operation 1240, the radio controller assigns building obstructions to radios based on a minimum load space connection algorithm. This algorithm ensures that obstructions located in the same space are assigned to the same radio, while also balancing the total number of connections each radio needs to establish. For example, the radio controller identifies a set of obstructions located in a space based on its configuration. Obstructions in the first set located in the first space are assigned to the first radio, obstructions in the second set located in the second space are assigned to the second radio, and so on. Assume the gateway has a total of "K radios" (e.g., "K=2"). For the obstructions in the "K+1" set located in the "K+1" space, the radio controller identifies the radio with the fewest connections to the obstruction among the "K" radios. The "K+1" set is then assigned to this radio. This process is repeated for each of the remaining sets of obstructions.
[0103] In operation 1242, the radio controller uses multiple radios to transmit commands to obstacles. For example, a radio assigned to a set of obstacles establishes connections with these obstacles. The radios may then transmit commands sequentially via unicast over the connections, or they may transmit commands using broadcast over the connections.
[0104] Figure 13 shows an exemplary connection between computer system 1310 and endpoints such as devices 1320 and 1340 and gateway 1330. Computer system 1310 is an embodiment of computer system 440 in Figure 4. The endpoints to which computer system 1310 can connect may vary depending on the operating mode and / or computer system 1310. Operating modes include setup mode 1301 and operation mode 1302.
[0105] Setup mode 1301 is typically used during the installation and setup phase 401. In this embodiment, gateway 1330 has not yet joined the LAN in the structure where gateway 1330 is located. Device 1320 may have already arrived at the structure and may be operated by the installer to set up gateway 1330. In this case, a network connection may exist between the computer system 1310 and the user device. This network connection may include a network via a public network (e.g., the Internet) and possibly other networks (e.g., a cellular network).
[0106] Operation mode 1302 is typically used during the connection and configuration phase 402, the operation and distribution phase 403, and the monitoring and notification phase 404. In this embodiment, gateway 720 is participating in the LAN at this point. The LAN may be connected to another data network, such as a public network (e.g., the Internet) (e.g., via a router). A network connection may exist between computer system 1310 and gateway 1330. This network connection may include a data network (if computer system 1310 is not on the LAN) and a network path through the LAN. A network connection may also exist between computer system 1310 and device 1340. This network connection may include a data network (if device 1340 and computer system 1310 are not on the LAN) and a network path through the LAN (if device 1340 is on the LAN), and possibly another network (if device 1340 is not on the LAN, e.g., a cellular network). While the computer system 1310 provides configuration information to the gateway 1330, the computer system 1310 may send notifications to the device 1340 regarding the gateway 1330 and / or obstacles controlled by the gateway 1330.
[0107] Figure 14 shows an exemplary assignment of building structure shims 1432 to multiple gateways 1420. Typically, the gateways 1420 (shown as the first gateway 1420A and the second gateway 1420B, but more gateways are possible) are located within the same structure as the structure on which the shims 132 are installed. A device 1440 (e.g., device 1320 in Figure 13) may be operated by the installer and may receive proximity metrics from each of the gateways 1420. Over a data network, the device 1440 may transmit the received proximity metrics as proximity information 1442 to a computer system 1410. The computer system 1410 may then determine gateway-shield assignments based on the proximity information 1442, and may store such assignments along with the configuration of the shims 1432. As further illustrated in the following diagram, in order to determine the allocation, the computer system 1410 assigns shields belonging to the same space to the same gateway, and at the same time balances the distribution of different spaces to the gateway (for example, load balancing so that a similar number of spaces and / or shields are ultimately allocated to the gateway).
[0108] As shown in Figure 14, the first space 1432, the second space 1432B, and so on, up to the Kth space 1432K, each contains the first set's shield 1430A, the second set's shield 1430B, and so on, up to the Kth set's shield 1430K. The computer system 1410 assigns the first space 1432A and the second space 1432B (i.e., the first set's shield 1430A and the second set's shield 1430B) to the first gateway 1420A, and the Kth space 1432K (i.e., the Kth set's shield 1430K) to the second gateway 1420B.
[0109] Over the data network, computer system 1410 may transmit a configuration and a first gateway-shield assignment 1412A to the first gateway. This assignment 1412A indicates spaces and / or shields (e.g., spaces 1432A and 1432B and / or shields 1430A and 1430B) for which gateway 1420A is responsible for control. Similarly, computer system 1410 may transmit a configuration and a second gateway-shield assignment 1412B to the second gateway over the data network. This assignment 1412B indicates spaces and / or shields (e.g., spaces 1432K and / or shields 1430K) for which gateway 1420B is responsible for control. As described above in this specification, in alternative embodiments, instead of transmitting the configuration and gateway-shield assignment to the gateway, the computer system 1410 may identify a portion of the configuration that includes configuration information specific to the space(s) and / or shield(s) assigned to the gateway, and transmit only this portion to the gateway.
[0110] Figure 15 is a flowchart illustrating an exemplary method for a computer system to transmit a configuration regarding a building structure shim to a gateway. The operations in the flowchart may be performed by a computer system, such as computer system 440 in Figure 4. Some or all of the instructions for performing the operations may be implemented as hardware circuits and / or stored as computer-readable instructions on a non-transient computer-readable medium of the computer system. Implemented instructions represent modules containing circuits or code that can be executed by the processor(s) of the computer system. Using such instructions, the computer system is configured to perform specific operations described herein. Each circuit or code, in combination with the associated processor(s), represents a means for performing each operation(s). While operations are shown in a specific order, it should be understood that the order is not required, and one or more operations may be omitted, skipped, executed simultaneously, and / or reordered.
[0111] The flowchart may begin with operation 1502, in which the computer system sends and / or receives the shield configuration from the device. The configuration may be received / sent as configuration information between the computer system and the device via a data connection. The device may be operated by the shield installer.
[0112] In operation 1504, the computer system transmits and / or receives the gateway identifier of the gateway to the device. For example, the gateway identifier is entered by the installer into the device's GUI and then transmitted to the computer system via a data connection. In another embodiment, the gateway identifier may be predefined in the configuration and transmitted to the device via a data connection.
[0113] In operation 1506, the computer system receives proximity information from the device. In the embodiment, proximity information may be received via a data connection and may include a gateway identifier, proximity metrics, and an association between the proximity metrics and an occlusion identifier.
[0114] In operation 1508, the computer system generates multiple gateway assignments for multiple occluders. The number and process of generating these assignments vary depending on the number of gateways. In one embodiment, proximity information identifies a single gateway. In this embodiment, the computer system assigns a gateway to the occluder identified by the proximity information (i.e., to spaces where multiple occluders are equally located). In another embodiment, proximity information identifies multiple gateways. In this embodiment, the computer system follows a process of balancing the total number of occluders (and / or spaces) assigned to each gateway, taking proximity information into account, with the goal of assigning the same gateway to occluders belonging to the same space. An embodiment of this process is further illustrated in Figure 16.
[0115] In operation 1510, the computer system sends the assignment(s) to the device. For example, the assignment(s) may be sent via a data connection, so that the device can present the assignment(s) to the installer via a GUI.
[0116] In operation 1512, the computer system receives a configuration request from the gateway. In this embodiment, the request includes a structure identifier and a gateway identifier. Once the gateway can access the data network (for example, by joining a LAN), this request may be received via a data connection between the computer system and the gateway.
[0117] In operation 1514, the computer system sends a response to the request to the gateway. In an embodiment, the response is sent over a data connection and includes a configuration and the assignment of the gateway to at least one or more shields. Alternatively, the computer system may send a portion of the configuration specific to the shield(s) and / or the space(s) in which the shield(s) are located.
[0118] Figure 16 is a flowchart illustrating an exemplary method for assigning building structure occupants to multiple gateways and monitoring their proximity over time. The operations in the flowchart may be performed by a computer system, such as computer system 440 in Figure 4. Some or all of the instructions for performing the operations may be implemented as hardware circuits and / or stored as computer-readable instructions on a non-transient computer-readable medium of the computer system. Implemented instructions represent modules containing circuits or code that can be executed by the processor(s) of the computer system. Using such instructions, the computer system is configured to perform the specific operations described herein. Each circuit or code, in combination with the associated processor(s), represents a means for performing each operation(s). While the operations are shown in a specific order, it should be understood that a specific order is not required, and one or more operations may be omitted, skipped, executed simultaneously, and / or reordered. Furthermore, some of the operations may be performed as sub-operations in the flowchart of Figure 15.
[0119] The flowchart may begin at operation 1602, in which the computer system receives first proximity information from the device. In the embodiment, the first proximity information includes a plurality of gateway identifiers, each such identifier being associated with a proximity metric, and each such proximity metric being associated with an occlusion identifier. The computer system may store this proximity information (e.g., in local memory or a datastore).
[0120] In operation 1604, the computer system identifies proximity metrics for each obstacle to the gateway. For example, for each gateway identifier that the computer system has previously stored in memory, the computer system analyzes proximity information to identify the relevant proximity metrics. The identified proximity metrics indicate the proximity between the relevant obstacle and the gateway associated with the gateway identifier (e.g., depending on signal strength).
[0121] In operation 1606, the computer system identifies the mapping of occluders to space. For example, the mapping may be identified from a configuration, which associates occluder identifiers with spatial identifiers.
[0122] In operation 1608, the computer system generates gateway assignments to occluders based on mapping and proximity metrics. In the embodiment, the computer system generates proximity metrics for each spatial identifier and gateway identifier by averaging (or using other statistical measures) the proximity metrics associated with the occluders associated with the spatial identifier and gateway identifier (e.g., proximity metrics generated by gateways corresponding to gateway identifiers from broadcast signals of occluders located in the space corresponding to the spatial identifier). This spatial proximity metric is associated with the spatial identifier and gateway identifier (e.g., the corresponding space and the corresponding gateway). The computer system then compares this spatial proximity metric with another spatial proximity metric associated with the same space but with a different gateway identifier. This comparison allows the computer system to identify the optimal spatial proximity metric for a space across different gateways. The optimal spatial proximity metric is associated with a particular gateway. The computer system can then assign this gateway to a space and occluders located in that space. This process can be repeated using the corresponding spatial proximity metric for each space. When a computer system assigns gateways to spaces (and spatial occluders), it tracks the total number of spaces and / or occluders assigned to each gateway. The totals can be compared, and the comparison may indicate whether an imbalance exists. For example, an imbalance exists when the difference between the totals of two gateways exceeds a predetermined threshold difference. In this case, the assignment process may be repeated and continued. However, instead of using the optimal spatial proximity metric for each space, the computer system may use the second-best proximity metric (or any of the spatial proximity metrics for spaces exceeding the threshold) to resolve the imbalance.
[0123] In operation 1610, the computer system sends the assignment to the device and / or gateway. For example, during the installation and setup phase, the assignment may be sent to the device, and during the connection and configuration phase, the assignment may be sent to the gateway.
[0124] In operation 1612, the computer system receives second proximity information from the gateway. This second proximity information may have the same content as the first proximity information, except that it is limited to that gateway and does not include any metrics associated with the gateway identifier of other gateways.
[0125] In operation 1614, the computer system identifies changes in proximity metrics. For example, the computer system identifies a portion of the first proximity information that is specific to the gateway. This portion represents a first proximity snapshot at a first time point (e.g., during the installation and setup phase). The computer system also compares this portion with a second proximity information that represents a second proximity snapshot at a second time point (e.g., during the monitoring and notification phase). The comparison may be performed at the occlusion granularity level, and proximity metrics associated with occlusions may be tracked over time (e.g., as a function of the difference between the first and second time points). The comparison may also be performed additionally or alternatively at the spatial granularity level, and spatial proximity metrics associated with space may be tracked over time (e.g., as a function of the difference between the first and second time points).
[0126] In operation 1616, the computer system identifies the type of change. In one embodiment, if, at the granularity level of the occluders, only the proximity metric of one occluder has changed significantly (for example, the difference in this metric between two points in time exceeds a threshold), but the proximity metrics of other occluders have not changed significantly, the computer system may determine that the connection strength between the occluder and the gateway has changed (for example, due to an object being placed within the structure in a manner that affects the signal transmitted from the occluder to the gateway), but the placement of the gateway has not changed. In contrast, if the proximity metrics of multiple occluders have changed significantly (for example, if the proximity metrics of a certain percentage of occluders have changed significantly, exceeding a threshold percentage), the computer system may determine that the placement has changed. In one embodiment, if, at the spatial granularity level, only the spatial proximity metric of one space changes significantly (for example, the difference in this metric between two points in time exceeds a threshold), but the spatial proximity metrics of other spaces do not change significantly, the computer system may determine that the space has moved out of the gateway's wireless range (for example, due to an object being placed within a structure in a way that affects the signal transmitted from the obstruction in that space to the gateway), but the gateway's placement has not changed. In contrast, if the spatial proximity metrics of multiple obstructions change significantly (for example, if the spatial proximity metrics of a certain percentage of space change significantly, exceeding a threshold percentage), the computer system may determine that the placement has changed. In yet another embodiment, information at both granularity levels is used. For example, if the proximity metric of an obstruction changes significantly, the computer system may determine whether the spatial proximity metric of a space has also changed significantly. If the spatial proximity metric has not changed, the change is limited to the connection between the obstruction and the gateway. Otherwise, the change may be due to a change in the gateway's placement in the space. In this case, the computer system can examine the spatial proximity of other spaces to determine if there have been significant changes to them. If so (for example, if the spatial proximity metrics of another space have significantly improved or significantly worsened), the computer system can formally recognize that the gateway's placement has changed.
[0127] In operation 1618, the computer system sends a notification about the change to the user device. In the embodiment, the user device may be operated by the user to control an obstruction via a gateway. The notification may indicate that a change has occurred and, if possible, may identify the type of change.
[0128] While embodiments of this disclosure are described in relation to building structural shields, embodiments are not limited thereto. Rather, embodiments are equally applicable to any type of device that can connect to a gateway, such as an Internet of Things (IoT) device.
[0129] While embodiments of this disclosure are described in relation to gateways, embodiments are not limited thereto. Rather, embodiments are equally applicable to any type of device that can connect to multiple devices in order to provide remote control of those devices and / or access to the functions of those devices. For example, embodiments are equally applicable to network extenders and other types of network nodes.
[0130] Figure 17 is a block diagram of an exemplary operating environment 1700 in which one or more of these embodiments may be implemented. For example, the operating environment 1700 may be implemented by any of the following: the building structure shield controller 142 (see Figure 2), the gateway 420 (Figure 4), devices 430 and 450 (Figure 4), and / or the computer system 440 (Figure 4). This is merely one example of a suitable operating environment and is not intended to imply any limitation on the scope of use or functionality. Other well-known computing systems, environments, and / or configurations suitable for use include, but are not limited to, personal computers, server computers, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, programmable consumer electronics such as smartphones, network PCs, minicomputers, mainframe computers, and distributed computing environments including any of the above systems or devices.
[0131] In its most basic configuration, the operating environment 1700 typically includes at least one processing unit 1702 and memory 1704. Depending on the exact configuration and type of computing device, the memory 1704 (instructions for performing the embodiments disclosed herein) may be volatile (such as RAM), non-volatile (such as ROM, flash memory), or any combination of the two. This most basic configuration is shown in Figure 17 by a dashed line 1706. Furthermore, the environment 1700 may also include storage devices (removable storage devices 1708 and / or non-removable storage devices 1710), which include, but are not limited to, magnetic disks, magnetic tapes, optical disks, or optical tapes. Similarly, the environment 1700 may also have input devices 1714 such as a keyboard, mouse, pen, or voice input, and / or output devices 1716 such as a display, speaker, or printer. One or more communication connections 1712, such as a LAN, WAN, or point-to-point connection, may also be included in the environment.
[0132] The operating environment 1700 typically includes at least some form of computer-readable medium. The computer-readable medium may be any available medium accessible by the processing unit 1702 or other devices comprising the operating environment. In non-limiting examples, computer-readable medium may include computer storage medium and communication medium. Computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technique for storing information such as computer-readable instructions, data structures, program modules, or other data. Computer storage medium includes RAM, ROM, EEPROM, flash memory, or other memory technologies, CD-ROM, digital versatile disk (DVD), or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage, or other magnetic storage devices, or any other tangible non-temporary medium that can be used to store desired information. Computer storage medium does not include communication medium.
[0133] A communication medium is a medium that embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, or other transmission mechanism, and includes any information distribution medium. The term “modulated data signal” means a signal in which one or more of the characteristics of the signal are set or modified in order to encode the information within the signal. Non-limiting examples of communication mediums include wired media such as wired networks or direct wired connections, as well as wireless media such as acoustic, RF, infrared, and other wireless media. Any combination of the above should be included within the scope of computer-readable media.
[0134] Operating environment 1700 may be a networked environment in which a single computer operates using logical connections to one or more remote computers. Remote computers may be personal computers, servers, routers, network PCs, peer devices, or other common network nodes, and typically include many or all of the elements described above, as well as other elements not mentioned. Logical connections include any method supported by available communication media. Such network environments are common in offices, enterprise-wide computer networks, intranets, and the internet.
[0135] Aspects of this disclosure are described above, for example, with reference to block diagrams and / or operational examples of methods, systems, and computer program products relating to aspects of this disclosure. The functions / operations described in the blocks may be performed in an order different from the order shown in any flowchart. For example, two consecutively shown blocks may actually be executed almost simultaneously, depending on the functions / operations involved, or sometimes the blocks may be executed in reverse order.
[0136] The descriptions and examples of one or more embodiments provided in this application are not intended to limit or restrict in any way the scope of the claimed disclosure. The embodiments, examples, and details provided in this application are considered sufficient to convey the possession, thereby enabling others to create and use the best form of the claimed disclosure. The claimed disclosure should not be construed as being limited to any embodiment, example, or detail provided in this application. Various features (both structural and methodological features) are intended to be selectively included or selectively omitted, whether illustrated and described together or separately, to create embodiments having a particular set of features. With the descriptions and examples provided in this application, a person skilled in the art can envision variations, alterations, and alternative embodiments that fall within the spirit of a broader aspect of the overall inventive concept embodied in this application, without departing from the broader scope of the claimed disclosure.
Claims
1. A method implemented by a gateway, The device receives a structural identifier associated with the structure where the gateway is located, via a direct connection to the device. The aforementioned structure identifier is stored, Transmitting to a computer system via a data network a first request for the configuration of a plurality of building shields located within the structure, wherein the first request includes the structure identifier, Receiving a first response to the first request from the computer system via the data network, wherein the first response includes the configuration and indicates that the gateway is associated with at least one of the plurality of building shields, Based on the above configuration, establish a connection with the first building shield, The method, including the method described above.
2. The gateway identifier of the gateway is received from the device via the direct connection with the device, The storage of the gateway identifier, wherein the first request further includes the gateway identifier, and the first response indicates that the configuration is associated with the gateway identifier. The method according to claim 1, further comprising:
3. The storage of the configuration, wherein the configuration identifies a set of building occupants to be controlled via the gateway and a mapping of the set to a space within the structure. The method according to claim 1, further comprising:
4. Receiving a second request from the device for proximity metrics of a building occupant, via the direct connection to the device, wherein the second request includes the structural identifier, Receiving a first broadcast signal from the first building shield, wherein the first broadcast signal indicates the structure identifier and the first building shield identifier of the first building shield, Identifying a first proximity metric based on the first broadcast signal, wherein the first proximity metric indicates the proximity between the gateway and the first building occlusion, Transmitting a second response to the second request to the device, wherein the second response includes the first proximity metric and an indication that the first proximity metric is associated with the first building occlusion identifier. The method according to claim 1, further comprising:
5. The method according to claim 4, wherein the first proximity metric is determined based on a plurality of received signal strength indicators (RSSIs) corresponding to the broadcast signal of the first building occlusion.
6. Receiving a second broadcast signal from a second building obstruction that indicates a different structural identifier, Filtering out and excluding information about the second building obstruction from the information to be included in the second response, The method according to claim 4, further comprising:
7. The broadcast signal of the first building obstruction identifier is monitored at predetermined time intervals, The device receives a second request for proximity metrics of building occlusions, After receiving the second request, generate a first proximity metric based on the broadcast signal, wherein the first proximity metric indicates the proximity between the gateway and the first building occlusion. Transmitting a second response to the second request to the device, wherein the second response includes the first proximity metric, The method according to claim 1, further comprising:
8. The computer system receives a third request for the proximity metric of the building obstruction, After receiving the third request, a second proximity metric is generated based on the broadcast signal, The transmission to the computer system includes the third response to the third request, wherein the third response includes the second proximity metric. The method according to claim 7, further comprising:
9. One or more processors, One or more memory locations for storing computer-readable instructions, A gateway comprising the above, wherein the computer-readable instruction is executed by one or more processors, The device receives a structural identifier associated with the structure where the gateway is located, via a direct connection to the device. The aforementioned structure identifier is stored, Transmitting to a computer system via a data network a first request for the configuration of a plurality of building shields located within the structure, wherein the first request includes the structure identifier, Receiving a first response to the first request from the computer system via the data network, wherein the first response includes the configuration and indicates that the gateway is associated with at least one of the plurality of building shields, Based on the above configuration, establish a connection with the first building shield, Configure the gateway to perform the following: The aforementioned gateway.
10. The execution of the computer-readable instruction further includes: The first request includes the gateway identifier of the gateway, The configuration is stored in the local memory of the gateway, The gateway according to claim 9, configured to perform the following:
11. The gateway according to claim 10, wherein the configuration identifies a plurality of spaces within the structure and a set of building occupants for each space to be controlled via the gateway.
12. The execution of the computer-readable instruction further includes: The computer system receives a second request for the proximity metric of the building obstruction, After receiving the second request, a second proximity metric is generated corresponding to one or more of the multiple building occupants, The transmission to the computer system of a second response to the second request, wherein the second response includes the second proximity metric, The gateway according to claim 11, configured to perform the following:
13. The execution of the computer-readable instruction further includes: Receiving a second request from the aforementioned device, another device, or the computer system for controlling the operation of a first set of building shields associated with a first space within the structure, Based on the above configuration, a first building occupant belonging to the first set is identified, To establish connections with each of the first building shields, Sending a command to the first building barrier to perform the above action, The gateway according to claim 11, configured to perform the following:
14. The gateway according to claim 13, wherein the connection with the first building shield is established simultaneously, and the command is sequentially transmitted to one of the first building shields.
15. The gateway comprises a first radio and a second radio, and the execution of the computer-readable instructions further includes, Receiving a second request from the aforementioned device, another device, or the computer system for controlling the operation of building shims associated with the plurality of spaces, The first building shield located within the first space is determined to be connected to the gateway via the first wireless device, The second building shield located within the second space is determined to be connected to the gateway via the second radio, Based on the determination that the number of connections for the first radio is the smallest, the third building shield located in the third space is determined to connect to the gateway via the first radio, Sending a command to perform the above action to the first building barrier, the second building barrier, and the third building barrier, The gateway according to claim 11, configured to perform the following:
16. One or more computer-readable media for storing computer-readable instructions, wherein the computer-readable instructions, when executed by the gateway, The device receives a structural identifier associated with the structure where the gateway is located, via a direct connection to the device. The aforementioned structure identifier is stored, Transmitting to a computer system via a data network a first request for the configuration of a plurality of building shields located within the structure, wherein the first request includes the structure identifier, Receiving a first response to the first request from the computer system via the data network, wherein the first response includes the configuration and indicates that the gateway is associated with at least one of the plurality of building shields, Based on the above configuration, establish a connection with the first building shield, One or more computer-readable media that causes the gateway to perform an operation including the above.
17. The aforementioned operation is, The gateway identifier of the gateway is received from the device via the direct connection with the device, The storage of the gateway identifier, wherein the first request further includes the gateway identifier, and the first response indicates that the configuration is associated with the gateway identifier. One or more computer-readable media according to claim 16, further comprising:
18. The aforementioned operation is, The storage of the configuration, wherein the configuration identifies a set of building occupants to be controlled via the gateway and a mapping of the set to a space within the structure. One or more computer-readable media according to claim 16, further comprising:
19. The aforementioned operation is, Receiving a second request from the device for proximity metrics of a building occupant, via the direct connection to the device, wherein the second request includes the structural identifier, Receiving a first broadcast signal from the first building shield, wherein the first broadcast signal indicates the structure identifier and the first building shield identifier of the first building shield, Identifying a first proximity metric based on the first broadcast signal, wherein the first proximity metric indicates the proximity between the gateway and the first building occlusion, Transmitting a second response to the second request to the device, wherein the second response includes the first proximity metric and an indication that the first proximity metric is associated with the first building occlusion identifier. One or more computer-readable media according to claim 16, further comprising:
20. The first proximity metric is determined based on a plurality of received signal strength indicators (RSSIs) corresponding to the broadcast signal of the first building occlusion, in one or more computer-readable media according to claim 19.