Patent Publication Number: US-2022217827-A1

Title: Photocontroller and/or lamp with photocontrols to control operation of lamp

Description:
BACKGROUND 
     Technical Field 
     The present application is directed to a photocontroller and/or a lamp with photocontrols operable to control operation of the lamp. 
     Description of the Related Art 
     Conventional photocontrollers (commonly referred to as “photocontrols”) for many types of outdoor luminaires require a window or other optical port to detect ambient daylight. This is because the luminaire produces light in the visible spectrum which may reflect off of the interior transparent surfaces of the sealed lens, or light output window, and represent a light level higher than the ambient light during the day or night. This, along with a high light level produced by the light output of the luminaire, may cause the ambient light detector to be unable to detect the low ambient light level at near dawn, or even the light level during the daytime, and cannot therefore turn off the luminaire during the day as desired. 
     Typically, a luminaire will be turned on by a photocontroller at night and turned off during the day. In a conventional photocontroller, a relay in the photocontroller switches power to the luminaire. In some cases, such as the AreaMax™ luminaires from Evluma (Renton, Wash.), software periodically reads a voltage output by the photocontroller and outputs a signal to other software elements which control the luminaire indicating whether it is day or night. In dusk or dawn (i.e., twilight) periods, the ambient light level may fluctuate due to environmental conditions (e.g., wind, clouds, other luminaires, car headlights, etc.). This may cause the luminaire to flicker and/or repeatedly turn on and off due to fluctuating light levels. 
     BRIEF SUMMARY 
     Disclosed embodiments provide a photocontroller for a lamp which is to be installed in the light emitting chamber (i.e., refractor or lens) of a luminaire and which can measure the outside ambient light at dawn, daytime, dusk, and nighttime levels without substantial interference from the light produced by the lamp and without the need for an external window for receiving light, e.g., a window positioned on the exterior of the luminaire. 
     In disclosed embodiments, a photodiode, phototransistor, photo-integrated circuit, or other photosensor, is positioned such that light from outside of the luminaire falls upon a sensitive area of the photosensor. In disclosed embodiments, the photosensor is specifically sensitive to light wavelengths longer than the longest wavelength output by the light source of the luminaire and/or has an optical filter to absorb and/or reflect the shorter wavelengths. In disclosed embodiments, the photosensor, with or without an optical filter, may be sensitive to light wavelengths shorter than the short wavelength of light emitted by the lamp, or longer than the long wavelength of light emitted by the lamp. 
     In disclosed embodiments, software of the photocontroller or luminaire may provide a state machine to determine the output signal during dusk and dawn periods to prevent the luminaire from flickering or repeatedly turning on and off due to fluctuating light levels. 
     In other disclosed embodiments the photosensor may output values of a light level signal, e.g., based on an output voltage level, which are stored in memory for some period of time and used to compute the solar time of day. The computed time of day may be used to recalibrate a real time clock (RTC) circuit, or RTC software algorithm, within the luminaire. The recalibrating of the RTC is to account for long-term drift in the RTC and/or to re-establish the local time-of-day after a power failure. The RTC time is used by software, such as FailSafe™ from Evluma, to control the light output of the luminaire in the event of the failure of an external primary photocontroller. The photosensor and/or the microcontroller may calibrate a RTC, realized in hardware or software, to enable operation of software in the luminaire which continues proper day/night control and/or scheduled dimming of the light output, e.g., in the event of power failure or failure of the photocontroller, without requiring the use of a battery. 
     A photocontroller, for use with a luminaire and one or more solid state light sources that cumulatively emit light across an emitted light band of wavelengths, may be summarized as including at least one photosensor positioned to detect light in an external environment that is external to the luminaire and responsive primarily to wavelengths of light outside the emitted light band of wavelengths that the solid state light source emit and which produces a light level signal representative of a level of light in the external environment primarily for wavelengths outside of the emitted light band of wavelengths; and a microcontroller communicatively coupled to the at least one photosensor to receive the light level signal representative of a level of light in the external environment primarily for wavelengths outside of the emitted light band of wavelengths, the microcontroller operable to determine an external light condition based at least in part on the light level signal and to produce a control signal to control an operation of the one or more solid state light sources based at least in part on the determination of the external light condition. 
     The photocontroller may further include the microcontroller being operable to compute a time of day based at least in part on the light level signal; recalibrate a real time clock of the luminaire based on the computed time of day; and use the real time clock to control operation of the one or more solid state light sources in an event of failure of the photocontroller. 
     A lamp for use in a luminaire may be summarized as including a housing having an exterior, an interior, and a base to communicatively couple to a socket of the luminaire; one or more solid state light sources that cumulatively emit light across an emitted light band of wavelengths; and a photocontroller to control operation of the one or more solid state light sources, the photocontroller having a set of circuitry housed in the interior of the housing, the set of circuitry including: at least one photosensor positioned to detect light in an external environment that is external to the luminaire and responsive primarily to wavelengths of light outside the emitted light band of wavelengths that the solid state light source emit and which produces a light level signal representative of a level of light in the external environment for wavelengths primarily outside of the emitted light band of wavelengths, and a microcontroller operably coupled to the at least one photosensor to receive the light level signal representative of a level of light in the external environment for wavelengths primarily outside of the emitted light band of wavelengths, the microcontroller operable to select an operating mode of the luminaire based at least in part on the light level signal and to produce a control signal to control an operation of the one or more solid state light sources based at least in part on the selected operating mode of the photocontroller. 
     A method of operation of a photocontroller, for use with a luminaire and one or more solid state light sources that cumulatively emit light across an emitted light band of wavelengths, the photocontroller including at least one photosensor positioned to detect light in an external environment that is external to the luminaire and responsive primarily to wavelengths of light outside the emitted light band of wavelengths that the solid state light source emit, and a microcontroller communicatively coupled to the at least one photosensor. The method may be summarized as including: producing, by the at least one photosensor, a light level signal representative of a level of light in the external environment primarily for wavelengths outside of the emitted light band of wavelengths; receiving, by the microcontroller, the light level signal representative of a level of light in the external environment primarily for wavelengths outside of the emitted light band of wavelengths; selecting an operating mode of the luminaire based at least in part on the light level signal representative of a level of light in the external environment primarily for wavelengths outside of the emitted light band of wavelengths; and producing a control signal to control an operation of the one or more solid state light sources based at least in part on the selected operating mode of the photocontroller. 
     The method may further include, in the selecting of the operating mode of the photocontroller based at least in part on the light level signal representative of the level of light in the external environment primarily for wavelengths outside of the emitted light band of wavelengths, determining, by the microcontroller, a current light sensor level category based at least in part on the light level signal representative of the level of light in the external environment primarily for wavelengths outside of the emitted light band of wavelengths; retrieving, from the memory of the microcontroller, a current designated temporal state from a set of defined temporal states; selecting the operating mode of the photocontroller based at least in part on the current light sensor level category and the current designated temporal state from a set of defined temporal states; and determining, and storing in the memory of the microcontroller, a subsequent designated temporal state, from the set of defined temporal states, based at least in part on the current light sensor level category and the current designated temporal state from the set of defined temporal states. 
     The method may further include computing a time of day based at least in part on the light level signal; recalibrating a real time clock of the luminaire based on the computed time of day; and using the real time clock to control operation of the one or more solid state light sources in an event of failure of the photocontroller. 
     A method of operation of a system to control one or more solid state light sources that cumulatively emit light across an emitted light band of wavelengths when in an ON state, the system comprising at least one photosensor responsive primarily to wavelengths of light outside the emitted light band of wavelengths that the one or more solid state light sources emit when the one or more solid state light sources are in the ON state and a set of circuitry communicatively coupled to the at least one photosensor to receive the light level signal representative of the sensed level of light. The method may be summarized as including: producing, by the at least one photosensor, a light level signal representative of a level of sensed light primarily for wavelengths outside of the emitted light band of wavelengths; determining, by the set of circuitry, a contribution by the one or more solid state light sources to the sensed level of light as sensed by the at least one photosensor; and assessing, by the set of circuitry, using a compensated light level or a compensated threshold, at least one of a dusk condition or a dawn condition when the solid state light sources are in the ON state, where the compensated light level or the compensated threshold compensate for the contribution by the one or more solid state light sources to the sensed level of light as sensed by the at least one photosensor. 
     The method may further include assessing, by the set of circuitry, using an uncompensated light level or an uncompensated threshold, at least one of the dusk condition or the dawn condition when the solid state light sources are in the OFF state. In the determining the contribution by the one or more solid state light sources to the sensed level of light as sensed by the at least one photosensor, the method further include comparing, by the set of circuitry, a level of light sensed during a first period of time in at least one diurnal cycle with the solid state lights sources in the ON state with a level of light sensed during a same period of time as the first period of time in at least one diurnal cycle with the solid state light sources in an OFF state. In the determining the contribution by the one or more solid state light sources to the sensed level of light as sensed by the at least one photosensor, the method further include: storing, by the set of circuitry, a plurality of values that represent a respective level of light sensed when the solid state lights sources are in the ON state; comparing a level of light sensed when the solid state lights sources are in the ON state with a level of light sensed when the solid state light sources are in an OFF state; and storing at least one value that represents the contribution by the one or more solid state light sources to the sensed level of light as sensed by the at least one photosensor. The method may further include subtracting, by the set of circuitry, from the sensed level of light the stored value that represents the contribution by the one or more solid state light sources to the sensed level of light as sensed by the at least one photosensor. The method may further include increasing, by the set of circuitry, at least one of a dusk threshold or a dawn threshold by the stored value that represents of the contribution by the one or more solid state light sources to the sensed level of light as sensed by the at least one photosensor. 
     A method of operation of a photocontroller for use with a luminaire and one or more solid state light sources that cumulatively emit light across an emitted light band of wavelengths, the photocontroller comprising at least one photosensor positioned to detect light in an external environment that is external to the luminaire and responsive primarily to wavelengths of light outside the emitted light band of wavelengths that the solid state light source emit, and a microcontroller communicatively coupled to the at least one photosensor. The method may be summarized as including: producing, by the at least one photosensor, a light level signal representative of a level of light in the external environment primarily for wavelengths outside of the emitted light band of wavelengths; receiving, by the microcontroller, the light level signal representative of a level of light in the external environment primarily for wavelengths outside of the emitted light band of wavelengths; periodically storing in memory, by the microcontroller, a value of the light level signal received while the one or more solid state light sources are in a first state, the first state being one of an OFF state and an ON state; determining a visible light correction value by computing a difference between the periodically stored value of the light level signal received while the one or more solid state light sources are in the first state and a value of the light level signal received while the one or more solid state light sources are in a second state, the second state being an opposite one of the OFF state and the ON state; selecting an operating mode of the photocontroller based at least in part on the light level signal representative of the level of light in the external environment primarily for wavelengths outside of the emitted light band of wavelengths and the determined visible light correction value; and producing a control signal to control an operation of the one or more solid state light sources based at least in part on the selected operating mode of the photocontroller. 
     The method may further include, in the selecting of the operating mode of the photocontroller based at least in part on the light level signal representative of the level of light in the external environment primarily for wavelengths outside of the emitted light band of wavelengths and the determined visible light correction value: determining, by the microcontroller, a corrected light level signal by subtracting the determined visible light correction value from the light level signal representative of the level of light in the external environment primarily for wavelengths outside of the emitted light band of wavelengths; determining, by the microcontroller, a current light sensor level category based at least in part on: (i) the light level signal representative of the level of light in the external environment primarily for wavelengths outside of the emitted light band of wavelengths, while the one or more solid state light sources are in the OFF state; and (ii) the corrected light level signal, while the one or more solid state light sources are in the ON state; retrieving, from the memory of the microcontroller, a current designated temporal state from a set of defined temporal states; selecting the operating mode of the photocontroller based at least in part on the current light sensor level category and the current designated temporal state from a set of defined temporal states; and determining, and storing in the memory of the microcontroller, a subsequent designated temporal state, from the set of defined temporal states, based at least in part on the current light sensor level category and the current designated temporal state from the set of defined temporal states. 
     The method may further include, in the selecting of the operating mode of the photocontroller based at least in part on the light level signal representative of the level of light in the external environment primarily for wavelengths outside of the emitted light band of wavelengths and the determined visible light correction value: determining a set of corrected light level threshold values by adding the determined visible light correction value to a set of light level threshold values stored in the memory of the photocontroller; determining, by the microcontroller, a current light sensor level category based at least in part on comparing the light level signal representative of the level of light in the external environment primarily for wavelengths outside of the emitted light band of wavelengths to: (i) the set of light level threshold values stored in the memory of the photocontroller, while the one or more solid state light sources are in the OFF state; and (ii) the set of corrected light level threshold values, while the one or more solid state light sources are in the ON state; retrieving, from the memory of the microcontroller, a current designated temporal state from a set of defined temporal states; selecting the operating mode of the photocontroller based at least in part on the current light sensor level category and the current designated temporal state from a set of defined temporal states; and determining, and storing in the memory of the microcontroller, a subsequent designated temporal state, from the set of defined temporal states, based at least in part on the current light sensor level category and the current designated temporal state from the set of defined temporal states. 
     The method may further include wherein said periodic storing in memory, by the microcontroller, of the value of the light level signal received while the one or more solid state light sources are in the first state is performed only if there has been at least one instance, within a preceding 24 hours, of the microcontroller changing the one or more solid state light sources from the first state to the second state, or the second state to the first state. 
    
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
       In the drawings, identical reference numbers identify similar elements or acts. The sizes and relative positions of elements in the drawings are not necessarily drawn to scale. For example, the shapes of various elements and angles are not necessarily drawn to scale, and some of these elements are arbitrarily enlarged and positioned to improve drawing legibility. Further, the particular shapes of the elements as drawn, are not necessarily intended to convey any information regarding the actual shape of the particular elements, and have been solely selected for ease of recognition in the drawings. 
         FIG. 1  shows a decorative luminaire with a diffusing globe in which a screw-in retrofit lamp is installed, according to at least one illustrated implementation. 
         FIG. 2  shows a circuit diagram of a photocontroller which includes a photosensor and a microcontroller, according to at least one illustrated implementation. 
         FIG. 3  is a plot of a photosensor responsivity spectrum, according to at least one illustrated implementation. 
         FIG. 4  shows the optical spectrum of light emitted by a white-light LED used as a luminaire light source, according to at least one illustrated implementation. 
         FIG. 5  is a block diagram of a hardware and software architecture for processing photosensor readings to obtain a day or night signal based on a software state machine, according to at least one illustrated implementation. 
         FIG. 6  depicts a defined set of light sensor level categories which are indicative of specific times of day, according to at least one illustrated implementation. 
         FIG. 7  is a table representing operation of the software state machine, according to at least one illustrated implementation. 
         FIG. 8  represents photosensor data recorded over time to be used to calculate the solar time of day. 
         FIG. 9  is a flow diagram of a method of operation of a system to control one or more solid state light sources that cumulatively emit light across an emitted light band of wavelengths when in an ON state. 
         FIG. 10  is a flow diagram of a method of operation of a photocontroller, including selection of an operating mode based on a light level signal and a visible light correction value. 
     
    
    
     DETAILED DESCRIPTION 
     Disclosed embodiments provide a photocontroller for a lamp which is to be installed inside a globe (i.e., refractor or lens) of a luminaire. The photocontroller can measure outside ambient light levels as they change from daytime to nighttime, and vice versa, and provide a stable day or night control signal without substantial interference from the light produced by the luminaire. The lamp may include one or more lights sources, e.g., solid state light sources, such as light emitting diodes (LED). The lamp may be used to replace a high intensity discharge (HID) lamp, or similar lamp, to retrofit an existing decorative outdoor luminaire. 
     In disclosed embodiments, software of the photocontroller may provide a state machine to determine the day/night control signal during dusk and dawn periods to prevent the luminaire from flickering and/or repeatedly turning on and off due to ephemeral fluctuations in light levels. An aspect of the state machine is that once the day/night control signal has changed (e.g., from day to night or vice versa), no further control signal changes will occur until the light level has moved outside a twilight light level range associated with periods in which night time light conditions transition into day time light conditions (i.e., dawn) and day time light conditions transition into night time light conditions (i.e., dusk). The light levels defined as dusk and dawn may be set using threshold values determined based on, for example, desired lighting characteristics for a particular lighting use or installed environment. 
       FIG. 1  shows a decorative luminaire  100  with a diffusing globe  110  (i.e., refractor) in which a lamp  120  having a self-contained housing  125  is installed. The lamp may be shaped and sized, and may have some components in common with, e.g., an Evluma (Renton, Wash.) OmniMax™ LED decorative luminaire replacement lamp, which is an omnidirectional LED replacement lamp for high-intensity discharge (HID) decorative outdoor light fixtures. In implementations, the lamp  120  emulates the light center and pattern of a legacy HID bulb. A lamp  120  of this type may be an easy to install, screw-in lamp which is self-ballasted and which provides energy and maintenance savings. 
     In implementations, incoming ambient light  130  having longer wavelengths passes through the glass or plastic globe  110  and strikes a longer-wavelength ambient light sensor  140  via a port  145  (e.g., an opening covered with a plastic lens) in the housing  125 . The lamp  120  may have an arrangement of LED sources  150  (which may encircle the cylindrically-shaped housing  125  and which may be covered by a translucent window) having relatively shorter wavelengths. The light  155  emitted by the LED sources  150  undergoes internal reflections in the globe  110  and also illuminates the longer-wavelength ambient light sensor  140  via the port  145  but is not detected by the ambient light sensor  140 , as explained in further detail below. 
       FIG. 2  shows a circuit diagram of a photocontroller  200  which includes a photosensor  210  and a microcontroller  220 . In implementations, the photosensor  210  may be a phototransistor Q 200  with a visible light blocking filter, e.g., the SML-810TB reverse mount type phototransistor (Rohm Co., Ltd.). The phototransistor Q 200  serves as a main component of the photosensor  210  by outputting a current from its source in response to received ambient light. There may be more than one photosensor  210  in particular embodiments. The source of the phototransistor Q 200  is connected to ground through a bias resistor R 200 , thereby producing an output voltage at the junction  215  of the source of the phototransistor Q 200  and the resistor R 200 . The voltage output of the phototransistor Q 200  is higher in response to higher ambient light levels and is also higher in a particular frequency range, e.g., in the 750 nm to 1100 nm wavelength range. 
     In implementations, the at least one photosensor  210  is positioned to detect ambient light  130  (see  FIG. 1 ), i.e., light in an environment that is external to the luminaire  100 . For example, the at least one photosensor  210  may be positioned at or near a port  145  in the housing  125  of the lamp  120 —the photocontroller  200  circuitry being contained within the lamp housing  125 —to detect ambient light  130  which passes through the globe  110  of the luminaire  100  from the external environment, i.e., the environment outside the globe  110  of the luminaire  100 . In alternative embodiments, the at least one photosensor  210  may be positioned on the exterior of the lamp housing  125 —or elsewhere within the globe  110 —so that a port  145  is not required. For example, the at least one photosensor  210  may be positioned on an appendage or surface extending from the lamp  120 . As explained in further detail below, the at least one photosensor  210  may be responsive primarily to wavelengths of light outside the emitted light band of wavelengths that the solid state light sources emit, e.g., LED sources  150 , and may produce a light level signal representative of a level of light in the external environment primarily for wavelengths outside of the emitted light band of wavelengths. 
     In implementations, the phototransistor Q 200  may form part of a set of light level detection circuitry, which may include one or more processors, for example the microcontroller  220  depicted in  FIG. 2  (or a microprocessor) with an analog or digital interface to the photosensor  210 , and firmware processor-executable instructions or data stored on one or more non-transitory processor-readable media. The microcontroller  220  may be implemented as a single integrated circuit, with one or more of the following features: a central processing unit (CPU), volatile memory, e.g., random access memory (RAM), for data storage, read-only memory (ROM) for program and operating parameter storage, serial input/output such as serial ports (UARTs), analog-to-digital converters, digital-to-analog converters, and in-circuit programming and debugging support. Thus, the microcontroller  220  may be considered to be a microprocessor or CPU integrated with various other functionalities. One of ordinary skill in the art would understand that the functions of the microcontroller  220  could be performed by a single microcontroller chip or by a microcontroller or microprocessor in conjunction with one or more communicatively-coupled chips and/or sets of circuitry. 
     Execution of the firmware processor-executable instructions or data may cause the microcontroller  220  to determine, inter alia, if light detected in the ambient environment is above or below one or more light level thresholds. In embodiments, the photosensor  210  may include a solid state device, such as, for example, a photodiode, a phototransistor, or other photo-sensitive semiconductors, with or without amplifier circuitry, to produce voltage or current levels to be compared to the one or more thresholds. In embodiments, the photosensor  210  may use filtered cadmium sulfide photoresistors. 
       FIG. 3  is an example plot of a photosensor responsivity spectrum for the phototransistor Q 200  which shows that the phototransistor Q 200  is primarily sensitive to a range of longer wavelengths, e.g., longer than wavelengths emitted by the LED sources  150 . Specifically, the phototransistor Q 200  has a responsivity range with a lower cutoff at about 750 nm such that, below that wavelength, the relative intensity of the photosensor responsivity (plotted in  FIG. 3  in arbitrary units [a. u.]) drops off sharply. The precise cutoff wavelength is not important for proper performance of the photocontroller, as discussed in further detail below. In implementations, the photo sensor may have an associated, or built-in, optical filter to produce the cutoff in the responsivity spectrum. In particular embodiments, a photosensor may have higher sensitivity to longer wavelength light due to its internal characteristics, without the addition of an external optical filter. 
     In implementations, the lower cutoff wavelength may be determined by referring to a specification sheet for the particular photosensor or by considering a range on the photosensor responsivity spectrum in which the relative intensity is at about 50% or more of its peak. In the example depicted in  FIG. 3 , a wavelength of about 750 nm can be deemed the lower cutoff wavelength of the range. Based on this determination, it may be said that the photosensor is primarily responsive to wavelengths greater than about 750 nm. Therefore, the photosensor is responsive primarily to wavelengths of light outside the emitted light band of wavelengths that the solid state light source emit, as discussed in further detail below. 
     As a practical matter, given the sharp cutoff of the responsivity spectrum, there may be implementations in which the relative intensity at a wavelength below about 750 nm, e.g., 749 nm, may be high (e.g., greater than about 50%) if, for example, the actual responsivity spectrum were to be shifted downward in wavelength by about 1 nm from the example depicted. However, such a shift would not have a significant effect on performance of the photocontroller because the light intensity output by the solid state light sources typically has a relatively gradual downward slope in this wavelength region (see discussion of  FIG. 4 ). Alternatively, if the light intensity output by the solid state light sources were to have a sharp cutoff, it would be selected to be sufficiently separated in wavelength from the cutoff wavelength of the photosensor to avoid detection of a significant amount of light from the solid state light sources by the photosensor (e.g., an intensity greater than about 50%). 
       FIG. 4  shows the optical spectrum of light emitted by a white-light LED used as a luminaire light source. In the example depicted, substantially all of the spectrum being below about 750 nm—the relative power output of the solid state light source is less than about 0.1 at that wavelength. Therefore, the phototransistor Q 200  is substantially insensitive to the shorter wavelengths emitted by the white LED, i.e., it is responsive primarily to wavelengths of light outside the emitted light band of wavelengths that the solid state light source emits. 
     Referring again to  FIG. 2 , in implementations, the photosensor  210  may be mounted on an LED off-line driver board and the output of the photosensor  210 , e.g., the output voltage at the junction  215  of the source of the phototransistor Q 200  and the bias resistor R 200 , may be communicatively coupled to an analog input  230  of the microcontroller  220  (which may be as a Bluetooth wireless module). In implementations, the microcontroller  220  may be, e.g., a BL652 series Bluetooth v5+near field communication (NFC) wireless module (Laird PLC), which is based on the Nordic Semiconductor nRF52832 Bluetooth Low Energy (BLE) chipset. The BL652 modules are supported with an event-driven programming language that enables development of an embedded application inside the BL652 hardware. In implementations, the output of the photosensor  210  may be input to an analog input  230  (e.g., SIO_02/AIN0) which functions as an analog-to-digital converter (ADC) having configurable input and reference pre-scaling and sample resolution (e.g., 8, 10, and 12 bit). 
     In disclosed embodiments, the microcontroller  220  digitizes the voltage level across bias resistor R 200 , which is indicative of the output of the photosensor  210 , and compares the resulting digital value to one or more threshold values. The result of the comparison is used to control the operation of the lamp  120 . To do so, the microcontroller  220  may output a control signal to a set of circuitry which performs, e.g., a switching operation to control a power input, or other control input, of the lamp  120 . In addition, the microcontroller  220  may use the ambient light level, so measured, to dim or brighten the output of the lamp  120 , e.g., by outputting a signal to dimming inputs of the lamp  120  (or to a set of circuitry connected to the dimming inputs), so that the light output changes in accordance with a determined function and/or algorithm relative to the ambient light level. Other embodiments may use a frequency or pulse-width output signal from a photo-integrated circuit which is sensitive to longer or shorter wavelengths than primarily emitted by the lamp  120 . In such a case, the frequency, period, pulse width or other digital value may be compared to one or more digital values representing one or more threshold values for day or night. In other embodiments, transistor or integrated circuit comparators may be used to detect, e.g., daytime or nighttime external light conditions by comparing the voltage across bias resistor R 200  with one or more threshold voltages or currents. 
     For implementations in which the luminaire  100  contains a retrofit LED replacement bulb powered by a legacy photo-control, the system may monitor the time of day of actuation of the photocontroller  200  using a real time clock. Approximately at each day-to-night or night-to-day actuation, the digitized photosensor values may be stored in non-volatile memory to be used by control algorithms to establish switching thresholds in the event of external photo-control failure. 
     In embodiments, a photosensor  210  (with or without an optical filter) may be used which has some sensitivity to the longest and shortest wavelengths emitted by the lamp  120 , provided the energy contained in those wavelengths is not such that it causes the photocontroller  210  to falsely detect daytime when it is nighttime. In embodiments, the system may have hysteresis in either the software or hardware, such that the lamp  120  will have a different threshold for detecting nighttime when it is daytime versus daytime being detected when it is nighttime. The use of hysteresis may reduce optical and electrical noise susceptibility by the photocontroller. 
     In embodiments, the system stores minimum and maximum daily photosensor values each day, which are averaged over time and used to revise the thresholds as outside environmental changes occur, such as aging of the globe  110  (i.e., refractor or lens), loss or gain of nearby foliage, changes in nearby artificial light sources, and other changes occurring over time. For example, a decorative globe  110  made of polycarbonate resin may become less transparent with age, thereby transmitting lower ambient light values. In such a case, adjustment of the thresholds in view of the lower photosensor levels may provide more accurate turn-on and turn-off times, so that the outside ambient light level, e.g., about 4 foot-candles, remains closer to the optimal level for turning on or off the luminaire light output. 
     Embodiments may include a second, visible ambient light sensor  142 , included in the housing  125  of the lamp  120 , which has higher responsivity in the visible wavelengths emitted by LED light sources  150 , in addition to the longer wavelength ambient light sensor  140  discussed above (the visible ambient light sensor  142  may receive light via the same port  145  as the longer wavelength ambient light sensor  140 ). During daytime external light conditions, both light sensors would measure high levels of natural ambient light. During nighttime external light conditions, only the visible ambient light sensor  142  would detect high levels of light emitted by the LED light sources  150  in the lamp  120 . In such a case, the visible ambient light sensor  142  can be used to detect malfunction of the light sources  150  and/or control electronics. For example, during the daytime, the longer wavelength ambient light sensor  140  would measure the approximate level of natural light and the visible wavelength ambient light sensor  142  would measure the natural ambient light level. In the case of a “day burner” failure, the visible wavelength ambient light sensor  142  would measure the sum of the natural light and the light emitted from the light sources  150  of the lamp  120  due to the hypothetical control failure. In other words, if the light sources  150  of the lamp  120  are in the ON state during the daytime, this state can be detected by subtracting the natural light detected by the longer wavelength ambient light sensor  140  from the total light measured by the visible ambient light sensor  142 . 
     In embodiments, the visible ambient light sensor  142  and the longer wavelength ambient light sensor  140  may be used to roughly calculate the level of yellowing, haze, and dirt accumulated over time on a plastic luminaire globe  110 . To do so, the ambient light level in the visible wavelengths is measured when the lamp  120  is turned off, i.e., switched to the OFF state, and stored in non-volatile memory. The longer wavelength light level is recorded at approximately the same time of day and stored in non-volatile memory. Over time the ratio of visible to longer-wavelength light may become smaller as the plastic globe  110  begins to absorb more visible light than longer-wavelength light during the aging process. To counteract this effect, the output light level of the light sources  150  in the lamp  120  may be increased over time to keep the light emitted from the luminaire  100  relatively constant over the life of the globe  110  of the luminaire  100 . 
       FIGS. 5-7  depict a photocontroller system, including software, to reduce the sensitivity of the system to normal changes in natural light levels due to clouds, passing automobiles, and other temporary causes. Optically-filtered photocontrollers may more accurately represent the human eye response curve, and also may give some immunity to reflected luminaire light from snow accumulation or foliage outside of the luminaire, but are not necessarily well suited for ephemeral environmental changes. 
       FIG. 5  is a block diagram of a hardware and software architecture for processing photosensor readings to obtain a day or night control signal based on a software state machine. In implementations, the photosensor  510  may be an integrated photocell which is integrated into the retrofit LED lamp  120  installed in the luminaire  100  (see  FIG. 1 ). In the arrangement depicted, the output (e.g., voltage output) from the photosensor  510  is input to a processor running software having the architecture of a software state machine  520 . As discussed in further detail below, as the photosensor  510  input fluctuates, specifically programmed transitions occur in the software state machine  520  which, in turn, define an output signal  530  indicative of day or night operation of the luminaire. 
       FIG. 6  depicts a defined set of light sensor level categories which are indicative of specific times of day and, hence, specific operating modes of the photocontroller and luminaire. The set of defined light sensor levels may correspond to a set of threshold values obtained from the software running on a processor of the photocontroller and/or stored in a memory of the photocontroller. Measured light levels obtained from the photosensor may be compared to the set of threshold values to categorize the received light level into one of the defined light sensor level categories, e.g., bright, light gray, dark gray, and dark. Received light levels in the bright and light gray categories correspond to day operation of the photocontroller and luminaire in which the luminaire (or, in implementations, the lamp which is installed in the luminaire globe) is in the OFF state. Received light levels in the dark gray and dark categories correspond to night operation of the photocontroller and luminaire in which the luminaire is in the ON state. Received light levels in the light gray and dark gray categories correspond to dawn or dusk periods in which the operation of the photocontroller and luminaire is susceptible to fluctuations between day and night operation due to ephemeral changes in environmental conditions. 
       FIG. 7  is a table representing operation of the software state machine running on a processor, and using memory of, the photocontroller. In a state machine architecture, the operation mode of the photocontroller depends on both the received light level reading and a currently designated state from among a set of defined states. In such a configuration, the correspondence between the received light level readings and the operation mode of the photocontroller and luminaire is not fixed. Rather, the correspondence depends on events occurring in the past, i.e., the events which have led to the state machine being in the currently designated state. Thus, in effect, the state machine is able to evaluate a transition from a past light level reading to a current received light level reading, rather than relying solely on the current received light level reading. 
     In a stateless software model, by way of comparison, there is a fixed correspondence between received light level readings and the resulting operation mode of the photocontroller. For example, bright or light gray light level readings always correspond to day operation and dark gray work dark light level readings always correspond to night operation. Therefore, the correspondence does not depend on events occurring in the past. 
     In implementations, the state machine periodically samples the photosensor output voltage and assigns it to one of a set of defined temporal states (e.g., a set of four temporal states as depicted in the table of  FIG. 7 ). In such a case, the state machine always has a determined “current state” which is one of the set of defined temporal states. For example, a first temporal state may be defined as “stable day,” which is indicative of a daytime light level, i.e., a high received light level, which has not yet begun to transition to a nighttime light level (i.e., has not begun to approach the dusk period). A second temporal state may be defined as “stable night,” which is indicative of a nighttime light level, i.e., a low received light level, which has not yet begun to transition to a daytime light level (i.e., has not begun to approach the dawn period). A third temporal state may be defined as “newly day,” which is indicative of a light level transitioning from night to day, but which is still in the dawn period. A fourth temporal state may be defined as “newly night,” which is indicative of a light level transitioning from day to night, but which is still in the dusk period. 
     In the example of  FIG. 7 , the four defined temporal states—each of which may be designated as the current state—each correspond to a row in the state table of the state machine, while the defined set of four light sensor level categories each correspond to a column in the state table. This configuration results in a set of 16 possible state transitions, including combinations of current state and received light level reading which do not result in a change in the current state (e.g., when a bright light level is received while the current state is “stable day”). 
     Thus, the state machine periodically evaluates the current light level in the context of the current state. The result of the evaluation is the output signal indicating day or night. The evaluation may also result in a change of the current state. As noted above, an aspect of the state machine is that once the day/night control signal has changed (e.g., from day to night or vice versa), no further control signal changes will occur until the light level has moved outside the twilight range. 
     For example, as dusk) approaches, a current state of “stable day” remains the current state, and the photocontroller continues to “signal day,” as the light level reading passes from “bright” to “light gray.” After the light level changes to “dark gray,” the current state changes to “newly night” and the photocontroller begins to “signal night.” In such a case, if the light level were to fluctuate between “dark gray” and “light gray,” the photocontroller would continue to “signal night.” Thus, after the photocontroller begins to “signal night” at dusk), the system remains in the “signal night” mode of operation as the light level changes to “dark” (at which point the current state changes to “stable night”). 
     Similarly, as dawn approaches, a current state of “stable night” remains the current state, and the photocontroller continues to “signal night,” as the light level reading passes from “dark” to “dark gray.” After the light level changes to “light gray,” the current state changes to “newly day” and the photocontroller begins to “signal day.” In such a case, if the light level were to fluctuate between “light gray” and “dark gray,” the photocontroller would continue to “signal day.” Thus, after the photocontroller begins to “signal day” at dawn, the system remains in the “signal day” mode of operation as the light level changes to “bright” (at which point the current state changes to “stable day”). 
       FIG. 8  is a graphic representation of photosensor data recorded over time to be used to calculate the solar time of day. Specifically, the plot shows ambient light level (e.g., in arbitrary units) detected by a photosensor which is sensitive to longer (and/or shorter) wavelengths than emitted by white LEDs versus time (e.g., in days). Recorded data of this type may be used to recalibrate a real time clock (RTC) implemented in software executed in the luminaire, which is used in the event of the failure of a primary photocontroller or contactor. The use of a software RTC eliminates the need for the luminaire to include a hardware RTC, as the microcontroller running the software RTC typically has an accurate enough crystal for many days of operation (versus many years of operation in the case of a precision hardware RTC). Such an implementation also eliminates the need for the luminaire to include a battery, which would typically be used with a hardware RTC to ensure that the correct time remains set even if, for example, the luminaire has been stored in a warehouse for several months before being powered on. 
     The recorded data are analyzed to find a specified reference time of day, such as solar midnight, to use in adjusting the RTC time so that it will correctly read midnight when solar midnight occurs (e.g., by computing a current time from the determined reference time and then adjusting the RTC if it differs from the computed current time). The recorded photosensor data is typically fairly noisy due to environmental effects, such as, for example, clouds passing over, rainy days, etc. Therefore, software-based filtering, smoothing, and/or analysis may be used to clean up the data to find the true solar time of day. For example, smoothing and filtering may be applied to the recorded data, followed by application of a peak search algorithm to find the locations of the peaks and troughs of the light intensity, as described in further detail below. Such an implementation enables use of a commercial grade crystal—despite the typical temperature drift and inaccuracy—in conjunction with the RTC calculations being done in the microcontroller instead of being obtained from a hardware RTC. If the power fails, or the luminaire is disconnected, at least one day of operation to gather ambient light data is performed to set the RTC to at least an approximately correct time of day. 
     In implementations, the microcontroller  220  receives signals from the photosensor  210  (or photosensors) which are indicative of levels of light sensed in the external environment. The microcontroller  220  may store information in memory, and/or to nonvolatile storage media, related to or indicative of the sensed levels of illumination. An analog-to-digital converter input of the microcontroller  220  may digitize the signals before further processing by the microcontroller  220 . The microcontroller  220  can store the information so as to correlate or create logical relationships between the sensed levels and a time (e.g., real time) as indicated by the real time clock (RTC). The microcontroller  220  can use the information to determine times as indicated by the RTC (i.e., in the temporal reference frame of the clock) with the solar cycle for any daily cycle, and to control the light sources accordingly. 
     In implementations, the microcontroller  220  may determine the times as indicated by the clock at which a time of dusk and/or time of dawn occur based at least in part on the information stored in the nonvolatile storage media and/or memory. For example, the microcontroller  220  may determine the times at which solar midnight (i.e., average or median minimum light or illumination levels) and solar noon (i.e., average or median maximum light or illumination levels) occur, and set a time of dusk and/or time of dawn to be at the times which are midway between the time of dusk and/or time of dawn. Also for example, the microcontroller  220  may determine the times at which a particular rate of change occurs. For instance, the microcontroller  220  may determine the times at which a maximum rate of change occurs or when a minimum rate of change occurs. The times of maximum rate of change may correspond to the midpoints between solar midnight and solar noon, and may be set as the time of dusk and the time of dawn. The microcontroller  220  may determine a direction of change, for example whether the light or illumination level is increasing or decreasing. The microcontroller  220  may use such to match or relate the times of maximum rate of change respectively with solar midnight and solar noon. For instance, a time of maximum rate of change which occurs while the light or illumination level is increasing would indicate dawn, while a time of maximum rate of change which occurs while the light or illumination level is decreasing would indicate dusk. Relying on rate of change and direction may advantageously allow the microcontroller  220  determine the diurnal cycle in a relatively short period of time as compared to other approaches. 
       FIG. 9  shows a method  900  of operation of a system to control one or more solid state light sources that cumulatively emit light across an emitted light band of wavelengths when in an ON state. The system operated according to this method  900  includes or is communicatively coupled to at least one photosensor responsive primarily to wavelengths of light outside the emitted light band of wavelengths that the one or more solid state light sources emit when the one or more solid state light sources are in the ON state. The system also includes a set of circuitry (e.g., microcontroller, digital and/or analog circuitry) communicatively coupled to the at least one photosensor to receive the light level signal representative of the sensed level of light. 
     At  910 , the at least one photosensor produces a light level signal representative of a level of sensed light primarily for wavelengths outside of the emitted light band of wavelengths. At  920 , the set of circuitry determines a contribution by the one or more solid state light sources to the sensed level of light as sensed by the at least one photosensor. At  925 , the set of circuitry determines whether the solid state light sources are in the ON state or the OFF state. If the solid state light sources are in the ON state, control passes to  930 , while if the solid state light sources are in the OFF state control passes to  940 . 
     At  930 , the set of circuitry assesses a dusk condition or a dawn condition using a compensated light level or a compensated threshold. The compensated light level or the compensated threshold compensates for the contribution by the one or more solid state light sources to the sensed level of light as sensed by the at least one photosensor. 
     At  940 , the set of circuitry assesses a dusk condition or a dawn condition using an uncompensated light level or an uncompensated threshold. 
     To determine the contribution by the one or more solid state light sources to the sensed level of light ( 920 ), the set of circuitry may compare (e.g., subtract): a level of light sensed at a first time in at least one diurnal cycle with the solid state lights sources in the ON state with a level of light sensed during a second time in the at least one diurnal cycle with the solid state light sources in an OFF state, where the second time is within a defined period (e.g., 5 seconds, 30 seconds, 1 minute, 2 minutes, 5 minutes) of time of the first time. Such may occur during a same diurnal cycle. Alternatively, to determine the contribution by the one or more solid state light sources to the sensed level of light ( 920 ), the set of circuitry may compare (e.g., subtract): a level of light sensed during a first relative period of time (e.g., 2 PM) in a first diurnal cycle with the solid state lights sources in the ON state with a level of light sensed during a same period of time (e.g., 2 PM) as the first period of time in second diurnal cycle with the solid state light sources in an OFF state, where the first diurnal cycle and the second diurnal cycle immediately adjacent one another (e.g., one day and the following day). 
     Alternatively or additionally, the set of circuitry may store a plurality of values that represent a respective level of light sensed when the solid state lights sources are in the ON state and/or store a plurality of values that represent a respective level of light sensed when the solid state lights sources are in the OFF state. Where values that represent a respective level of light sensed when the solid state lights sources are in the ON and the OFF state, the stored values should include an indication of whether they represent or correspond to a sampling in the ON state or the OFF state. For example, one portion of memory or one vector of stored values may be dedicated to ON state samples, while another portion of memory or a second vector of stored values are dedicated to OFF state samples. 
     The set of circuitry may store one or more values that represent (e.g., proportional) the determined contribution by the one or more solid state light sources to the sensed level of light. In some implementations, the set of circuitry may subtract the value of the determined contribution from a current value of the sensed level of light to produce a compensated sensed level of light before assessing a dusk condition or a dawn condition, using the compensated sensed level of light during periods when the solid state light sources are in the ON state and using an uncompensated sensed level of light when the solid state light sources are in the OFF state. In some implementations, the set of circuitry may adjust at least one of a dusk threshold or a dawn threshold, for example by adding the value of the determined contribution to a dusk threshold or a dawn threshold to produce a compensated dusk threshold and/or compensated dawn threshold before assessing a dusk condition or a dawn condition, using the compensated dusk threshold and/or compensated dawn threshold during periods when the solid state light sources are in the ON state and using an uncompensated dusk threshold and/or uncompensated dawn threshold when the solid state light sources are in the OFF state. 
       FIG. 10  shows a method  1000  of operation of a photocontroller, including selection of an operating mode based on a light level signal and a visible light correction value. As in the embodiments above, the photocontroller is for use with a luminaire and one or more solid state light sources that cumulatively emit light across an emitted light band of wavelengths. The photocontroller includes a photosensor positioned to detect light in the environment external to the luminaire and responsive primarily to wavelengths of light outside the emitted light band of wavelengths that the solid state light source emit. The photocontroller also includes a microcontroller communicatively coupled to the photosensor. As a practical matter, as noted above, the photosensor may detect some amount of visible light. Therefore, a visible light correction value is determined and used to control the solid state light sources, as described in further detail below. 
     The visible light correction value is determined based on differences between light level measurements made while the solid state light sources are in the ON state and the OFF state. In at least some implementations, the ON-state and OFF-state light level values used in the determination of the visible light correction value are measured within a short time window (e.g., under 1 minute) to avoid possible inaccuracies due to fluctuating visible light in the environment. For example, the ON-state and OFF-state light level values may be measured just as the solid state light sources switch from the OFF state to the ON state, or vice versa. This ON/OFF switching typically occurs twice in a 24 hour period—at dusk and dawn. To determine the visible light correction value in this manner at other times of the 24 hour cycle, it would be necessary to perform an undesirable blinking of the solid state light sources during an operational period, i.e., during a period of the night or day in which the solid state light sources were meant to be constantly in an ON state or an OFF state, respectively. 
     In implementations, light level measurements performed by the photocontroller are periodically stored while the solid state light sources are in the OFF state (i.e., during the day). When the solid state light sources are switched to the ON state (i.e., at dusk), the periodically stored OFF-state light level measurement is retrieved and used to determine the visible light correction value. The computed visible light correction value is used during the subsequent operational period while the solid state light sources are in the ON state (i.e., during the night), as this is when the photosensor potentially receives visible light from the solid state light sources. 
     At  1010 , the at least one photosensor produces a light level signal representative of a level of light in the external environment primarily for wavelengths outside of the emitted light band of wavelengths. At  1020 , the microcontroller receives light level signal. At  1030 , it is determined whether the one or more solid state light sources (e.g., LEDs) are in the OFF state (i.e., not in the ON state), and if in the OFF state the microcontroller at  1040  periodically stores the value of the received light level in memory. This stored value is used as a reference, i.e., baseline, value because the photosensor does not receive any contribution of visible light from the solid state light sources while the solid state light sources are in the OFF state. The storing of the reference value ( 1040 ) may, for example, be repeated periodically until the solid state light sources are switched to the ON state. 
     In at least some implementations, the periodic storing in memory of the value of the light level signal received while the solid state light sources are in the OFF state may be performed only if the photocontroller is functioning properly. For example, the storing may be performed only if there has been at least one instance, within a preceding 24 hours, of the microcontroller changing the solid state light sources from the ON state to the OFF state, or from the OFF state to the ON state. 
     At  1050 , the microcontroller determines a visible light correction value, for example by subtracting the periodically stored value of the light level signal received while the solid state light sources were in the OFF state from a value of the light level signal received while the solid state light sources are in the ON state. This determined difference provides a measure of the visible light received by the photosensor contributed by the solid state light sources. In at least some implementations, the microcontroller may be operable to change the solid state light sources from the OFF state to the ON state based on an assessment of a dusk condition using a light level signal compensated by a visible light correction value determined in a previous iteration of the method  1000 . 
     In at least some implementations, light level measurements performed by the photocontroller are periodically stored while the solid state light sources are in the ON state (i.e., during the night). The stored light level values are used as a reference for a received light level which includes visible light, because the photosensor potentially receives visible light from the solid state light sources while they are in the ON state. A visible light correction value may be determined by taking the periodically stored value of the light level signal received while the solid state light sources were in the ON state and subtracting a value of the light level signal received while the solid state light sources are in the OFF state. This computed difference provides a measure of the visible light received by the photosensor from the solid state light sources. The computed visible light correction value may be used during a subsequent operational period while the solid state light sources are in the ON state (e.g., during the following night), as this is when the photosensor potentially receives visible light from the solid state light sources. 
     At  1060 , the microcontroller determines an operating mode of the photocontroller, which may, for example, be selected based at least in part on the received light level signal representative of the level of light in the external environment primarily for wavelengths outside of the emitted light band of wavelengths (which may include some amount of visible light) and the determined visible light correction value. In the selection of the operating mode, a corrected light level signal is determined by subtracting the determined visible light correction value from the received light level signal. Thus, the corrected light level signal is the received light level signal adjusted to account for the visible light received by the photosensor from the solid state light sources. The corrected light level signal is applicable only when the solid state light sources are in the ON state, because that is when visible light is potentially being received by the photosensor. Therefore, a current light sensor level category is determined based at least in part on the received light level signal (i.e., the uncorrected light level signal) while the solid state light sources are in the OFF state and based at least in part on the corrected light level signal while the solid state light sources are in the ON state. At  1070 , the microcontroller produces a control signal to control an operation of the solid state light sources based at least in part on the selected operating mode of the photocontroller in a manner similar to that discussed above with respect to other embodiments. 
     In alternative embodiments, rather than determining a corrected light level signal, a corrected set of light level threshold values may be determined by subtracting the determined visible light correction value from a set of light level threshold values stored in the memory of the photocontroller. The corrected light level threshold values are applicable only when the solid state light sources are in the ON state. Therefore, a current light sensor level category is determined based at least in part on comparing the light level signal representative of the level of light in the external environment primarily for wavelengths outside of the emitted light band of wavelengths (which may include some amount of visible light) to: (i) the set of light level threshold values stored in the memory of the photocontroller, while the one or more solid state light sources are in the OFF state; and (ii) the set of corrected light level threshold values, while the one or more solid state light sources are in the ON state. As noted above, at  1070 , the microcontroller produces a control signal to control an operation of the solid state light sources based at least in part on the selected operating mode of the photocontroller in a manner similar to that discussed above with respect to other embodiments. 
     The various implementations and embodiments described above can be combined to provide further implementations and embodiments. All of the commonly assigned US patent application publications, US patent applications, foreign patents, and foreign patent applications referred to in this specification and/or listed in the Application Data Sheet, including but not limited to: U.S. Provisional Patent Application No. 61/052,924, filed May 13, 2008; U.S. Pat. No. 8,926,138, issued Jan. 6, 2015; PCT Publication No. WO2009/140141, published Nov. 19, 2009; U.S. Provisional Patent Application No. 61/051,619, filed May 8, 2008; U.S. Pat. No. 8,118,456, issued Feb. 21, 2012; PCT Publication No. WO2009/137696, published Nov. 12, 2009; U.S. Provisional Patent Application No. 61/088,651, filed Aug. 13, 2008; U.S. Pat. No. 8,334,640, issued Dec. 18, 2012; U.S. Provisional Patent Application No. 61/115,438, filed Nov. 17, 2008; U.S. Provisional Patent Application No. 61/154,619, filed Feb. 23, 2009; U.S. Patent Publication No. 2010/0123403, published May 20, 2010; U.S. Patent Publication No. 2016/0021713, published Jan. 21, 2016; PCT Publication No. WO2010/057115, published May 20, 2010; U.S. Provisional Patent Application No. 61/174,913, filed May 1, 2009; U.S. Pat. No. 8,926,139, issued Jan. 6, 2015; PCT Publication No. WO2010/127138, published Nov. 4, 2010; U.S. Provisional Patent Application No. 61/180,017, filed May 20, 2009; U.S. Pat. No. 8,872,964, issued Oct. 28, 2014; U.S. Patent Publication No. 2015/0015716, published Jan. 15, 2015; PCT Publication No. WO2010/135575, published Nov. 25, 2010; U.S. Provisional Patent Application No. 61/229,435, filed Jul. 29, 2009; U.S. Patent Publication No. 2011/0026264, published Feb. 3, 2011; U.S. Provisional Patent Application No. 61/295,519, filed Jan. 15, 2010; U.S. Provisional Patent Application No. 61/406,490, filed Oct. 25, 2010; U.S. Pat. No. 8,378,563, issued Feb. 19, 2013; PCT Publication No. WO2011/088363, published Jul. 21, 2011; U.S. Provisional Patent Application No. 61/333,983, filed May 12, 2010; U.S. Patent No. 8,541,950, issued Sep. 24, 2013; PCT Publication No. W02010/135577, published Nov. 25, 2010; U.S. Provisional Patent Application No. 61/346,263, filed May 19, 2010; U.S. Pat. No. 8,508,137, issued Aug. 13, 2013; U.S. Pat. No. 8,810,138, issued Aug. 19, 2014; U.S. Pat. No. 8,987,992, issued Mar. 24, 2015; PCT Publication No. WO2010/135582, published Nov. 25, 2010; U.S. Provisional Patent Application No. 61/357,421, filed Jun. 22, 2010; U.S. Pat. No. 9,241,401, granted Jan. 19, 2016; PCT Publication No. WO2011/163334, published Dec. 29, 2011; U.S. Pat. No. 8,901,825, issued Dec. 2, 2014; U.S. Patent Publication No. 2015/0084520, published Mar. 26, 2015; PCT Publication No. WO2012/142115, published Oct. 18, 2012; U.S. Pat. No. 8,610,358, issued Dec. 17, 2013; U.S. Provisional Patent Application No. 61/527,029, filed Aug. 24, 2011; U.S. Pat. No. 8,629,621, issued Jan. 14, 2014; PCT Publication No. WO2013/028834, published Feb. 28, 2013; U.S. Provisional Patent Application No. 61/534,722, filed Sep. 14, 2011; U.S. Pat. No. 9,312,451, issued Apr. 12, 2016; PCT Publication No. WO2013/040333, published Mar. 21, 2013; U.S. Provisional Patent Application No. 61/567,308, filed Dec. 6, 2011; U.S. Pat. No. 9,360,198, issued Jun. 7, 2016; U.S. Provisional Patent Application No. 61/561,616, filed Nov. 18, 2011; U.S. Patent Publication No. 2013/0141010, published Jun. 6, 2013; PCT Publication No. WO2013/074900, published May 23, 2013; U.S. Provisional Patent Application No. 61/641,781, filed May 2, 2012; U.S. Patent Publication No. 2013/0293112, published Nov. 7, 2013; U.S. Patent Publication No. 2013/0229518, published Sep. 5, 2013; U.S. Provisional Patent Application No. 61/640,963, filed May 1, 2012; U.S. Patent Publication No. 2013/0313982, published Nov. 28, 2013; U.S. Patent Publication No. 2014/0028198, published Jan. 30, 2014; U.S. Pat. No. 9,801,248, issued Oct. 24, 2017; PCT Publication No. WO2014/018773, published Jan. 30, 2014; U.S. Provisional Patent Application No. 61/723,675, filed Nov. 7, 2012; U.S. Pat. No. 9,301,365, issued Mar. 29, 2016; U.S. Provisional Patent Application No. 61/692,619, filed Aug. 23, 2012; U.S. Patent Publication No. 2014/0055990, published Feb. 27, 2014; U.S. Provisional Patent Application No. 61/694,159, filed Aug. 28, 2012; U.S. Pat. No. 8,878,440, issued Nov. 4, 2014; U.S. Patent Publication No. 2014/0062341, published Mar. 6, 2014; U.S. Patent Publication No. 2015/0077019, published Mar. 19, 2015; PCT Publication No. WO2014/039683, published Mar. 13, 2014; U.S. Provisional Patent Application No. 61/728,150, filed Nov. 19, 2012; U.S. Patent Publication No. 2014/0139116, published May 22, 2014; U.S. Pat. No. 9,433,062, issued Aug. 30, 2016; PCT Publication No. WO2014/078854, published May 22, 2014; U.S. Provisional Patent Application No. 61/764,395, filed Feb. 13, 2013; U.S. Pat. No. 9,288,873, issued Mar. 15, 2016; U.S. Provisional Patent Application No. 61/849,841, filed Jul. 24, 2013; U.S. Patent Publication No. 2015/0028693, published Jan. 29, 2015; PCT Publication No. WO2015/013437, published Jan. 29, 2015; U.S. Provisional Patent Application No. 61/878,425, filed Sep. 16, 2013; U.S. Patent Publication No. 2015/0078005, published Mar. 19, 2015; PCT Publication No. WO2015/039120, published Mar. 19, 2015; U.S. Provisional Patent Application No. 61/933,733, filed Jan. 30, 2014; U.S. Pat. No. 9,185,777, issued Nov. 10, 2015; PCT Publication No. WO2015/116812, published Aug. 6, 2015; U.S. Provisional Patent Application No. 61/905,699, filed Nov. 18, 2013; U.S. Pat. No. 9,414,449, issued Aug. 9, 2016; U.S. Pat. No. 9,781,797, issued Oct. 3, 2017; U.S. Provisional Patent Application No. 62/068,517, filed Oct. 24, 2014; U.S. Provisional Patent Application No 62/183,505, filed Jun. 23, 2015; U.S. Pat. No. 9,445,485, issued Sep. 13, 2016; PCT Publication No. WO2016/064542, published Apr. 28, 2016; U.S. Provisional Patent Application No. 62/082,463, filed Nov. 20, 2014; U.S. Publication No. 2016/0150369, published May 26, 2016; PCT Publication No. WO2016/081071, published May 26, 2016; U.S. Provisional Patent Application No. 62/057,419, filed Sep. 30, 2014; U.S. Publication No. 2016/0095186, published Mar. 31, 2016; PCT Publication No. WO2016/054085, published Apr. 7, 2016; U.S. Provisional Patent Application No. 62/114,826, filed Feb. 11, 2015; U.S. Non-provisional patent application Ser. No. 14/939,856, filed Nov. 12, 2015; U.S. Provisional Patent Application No. 62/137,666, filed Mar. 24, 2015; U.S. Non-provisional patent application Ser. No. 14/994,569, filed Jan. 13, 2016; U.S. Non-provisional patent application Ser. No. 14/844,944, filed Sep. 3, 2015; U.S. Provisional Patent Application No. 62/208,403, filed Aug. 21, 2015; U.S. Non-provisional patent application Ser. No. 15/238,129, filed Aug. 16, 2016; U.S. Provisional Patent Application No. 62/264,694, filed Dec. 8, 2015; U.S. Non-provisional patent application Ser. No. 15/369,559, filed Dec. 5, 2016; U.S. Provisional Patent Application No. 62/397,709, filed Sep. 21, 2016; U.S. Non-provisional patent application Ser. No. 15/709,022, filed Sep. 19, 2017; U.S. Provisional Patent Application No. 62/397,713, filed Sep. 21, 2016; U.S. Non-provisional patent application Ser. No. 15/709,028, filed Sep. 19, 2017; U.S. Provisional Patent Application No. 62/327,939, filed Apr. 26, 2016; U.S. Non-provisional patent application Ser. No. 15/496,985, filed Apr. 25, 2017; U.S. Provisional Patent Application No. 62/379,037, filed Aug. 24, 2016; U.S. Non-provisional patent application Ser. No. 15/681,927, filed Aug. 21, 2017; U.S. Provisional Patent Application No. 62/458,970, filed Feb. 14, 2017; U.S. Non-provisional patent application Ser. No. 15/895,439, filed Feb. 13, 2018; U.S. Provisional Patent Application No. 62/480,833, filed Apr. 3, 2017; U.S. Non-provisional patent application Ser. No. 15/943,183, Apr. 2, 2018; U.S. Provisional Patent Application No. 62/507,730, filed May 17, 2017; U.S. Non-provisional patent application Ser. No. 15/980,978, filed May 16, 2018; U.S. Non-provisional patent application Ser. No. 15/799,744, filed Oct. 31, 2017; U.S. Provisional Patent Application No. 62/669,883, filed May 10, 2018; U.S. Provisional Patent Application No. 62/701,392, filed Jul. 20, 2018; U.S. patent application Ser. No. 16/517,137, filed Jul. 19, 2019 (now published as US2020/0029404); U.S. patent application Ser. No. 16/842,924, filed Apr. 8, 2020; U.S. patent application 62/864,121, filed Jun. 20, 2019; U.S. patent application 63/010,412, filed Apr. 15, 2020; and U.S. Non-provisional application Ser. No. 16/906,800, filed Jun. 19, 2020, are each incorporated herein by reference, in their entirety. These and other changes can be made to the embodiments in light of the above-detailed description. 
     The various embodiments described above can be combined and/or modified to provide further embodiments in light of the above-detailed description, including the material incorporated by reference. In general, in the following claims, the terms used should not be construed to limit the claims to the specific implementations disclosed in the specification and the claims, but should be construed to include all possible implementations along with the full scope of equivalents to which such claims are entitled. Accordingly, the claims are not limited by the disclosure.