# US 2014/0195012 A1 · Automated control-schedule acquisition within an intelligent controller

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0195012 A1
- Document ID: US20140195012A1
- Status: Published application
- Kind: A1
- Application number: 14/099,853
- Filed: 2013-12-06
- Published: 2014-07-10
- Earliest claimed: 2011-10-21
- Assignees: Nest Labs, Inc.
- Applicants: Nest Labs, Inc.
- Inventors: Yoky Matsuoka; Eric A. Lee; Steven A. Hales; Mark D. Stefanski; Rangoli Sharan
- Web page: https://patentgrep.com/patent/US20140195012A1

## CPC

- F24F 11/64: using pre-stored data
- F24F 11/30: for purposes related to the operation of the system, e.g. for safety or monitoring
- F24F 11/58: using Internet communication
- F24F 11/62: characterised by the type of control or by internal processing, e.g. using fuzzy logic, adaptive control or estimation of values
- G05B 13/0265: {the criterion being a learning criterion}
- G05D 23/1904: {variable in time}
- G05D 23/1917: {using digital means}
- H04L 12/2803: {Home automation networks}
- H04L 12/2825: {Reporting to a device located outside the home and the home network (access arrangements H04L12/2856; for remote control or remote monitoring of applications H04L67/025; telephonic communication systems adapted for combination with telemetering systems H04M11/002)}
- H04L 12/40013: {Details regarding a bus controller}
- F24F 11/523: for displaying temperature data
- H04L 2012/285: {Generic home appliances, e.g. refrigerators}
- F24F: AIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING (removing dirt or fumes from areas where they are produced B08B15/00; vertical ducts for carrying away waste gases from buildings E04F17/02; tops for chimneys or ventilating shafts, terminals for flues F23L17/02)
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- G05D: SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The current application is directed to intelligent controllers that initially aggressively learn, and then continue, in a steady-state mode, to monitor, learn, and modify one or more control schedules that specify a desired operational behavior of a device, machine, system, or organization controlled by the intelligent controller. An intelligent controller generally acquires one or more initial control schedules through schedule-creation and schedule-modification interfaces or by accessing a default control schedule stored locally or remotely in a memory or mass-storage device. The intelligent controller then proceeds to learn, over time, a desired operational behavior for the device, machine, system, or organization controlled by the intelligent controller based on immediate-control inputs, schedule-modification inputs, and previous and current control schedules, encoding the desired operational behavior in one or more control schedules and/or sub-schedules.

## Claims

### Claim 1

An intelligent controller comprising:
a processor;
a memory;
a control schedule stored in the memory;
a schedule interface;
a control interface; and
instructions stored within the memory that, when executed by the processor,
receive immediate-control inputs through the control interface during a monitoring period and record the received immediate-control inputs in memory;
receive schedule changes through the schedule interface during the monitoring period and record received schedule changes of at least one type in the memory;
generate an updated monitoring-period schedule, after the monitoring period, based on the recorded immediate-control inputs, recorded schedule changes, and the control schedule;
substitute the updated monitoring-period schedule for a portion of the control schedule corresponding to the monitoring period; and
propagate the updated monitoring-period schedule to additional time periods within the control schedule.

### Claim 2 (depends on 1)

The intelligent controller of claim 1
wherein the processor includes one or more of
one or more local processors, and
one or more remote processors; and
wherein the memory includes one or more of
one or more local electronic memories,
one or more local mass-storage devices,
one or more remote electronic memories, and
one or more remote mass-storage devices.

### Claim 3 (depends on 1)

The intelligent controller of claim 1 wherein control schedule stored in the memory includes one or more setpoints, each setpoint associated with a time and one or more parameter values.

### Claim 4 (depends on 1)

The intelligent controller of claim 1 wherein an immediate-control input is made through the control interface to specify one or more parameter values to be implemented by one or more intelligent-controller outputs.

### Claim 5 (depends on 1)

The intelligent controller of claim 1 wherein a control-schedule change is input through the schedule interface to specify a control-schedule setpoint to be implemented by one or more intelligent-controller outputs when a current time is equal to the time associated with the schedule setpoint.

### Claim 6 (depends on 1)

The intelligent controller of claim 1 wherein the instructions generate an updated monitoring-period schedule, after the monitoring period, based on the recorded immediate-control inputs, recorded schedule changes, and the control schedule by:
combining the recorded immediate-control inputs, recorded schedule changes, and setpoints of the control schedule to produce a provisional schedule;
clustering the immediate-control inputs, schedule changes, and setpoints of the provisional schedule into one or more clusters;
resolving the one or more clusters within the provisional schedule; and
generating the updated monitoring-period schedule from the resolved clusters of the provisional schedule.

### Claim 7 (depends on 6)

The intelligent controller of claim 6 wherein combining the recorded immediate-control inputs, recorded schedule changes, and setpoints of the control schedule to produce the provisional schedule further comprises:
representing immediate-control inputs as time-associated values of one or more parameters within a portion of the control schedule corresponding to the monitoring period;
representing recorded control-schedule changes as time-associated values of one or more parameters, additionally associated with input times, within the portion of the control schedule corresponding to the monitoring period; and
considering the represented immediate-control inputs, retrospective control-schedule changes, and setpoints of the provisional schedule to be events.

### Claim 8 (depends on 7)

The intelligent controller of claim 7 wherein clustering the immediate-control inputs, schedule changes, and setpoints within the provisional schedule into one or more clusters further comprises:
collecting together, as a separate cluster, each group of events that are each within a first threshold time interval of another event of the separate cluster; and
collecting, as a separate cluster, each event that is not within the first threshold time interval of another event.

### Claim 9 (depends on 8)

The intelligent controller of claim 8 wherein resolving the one or more clusters within the provisional schedule further includes replacing each cluster of events with one of:
no event, when no control-change trend is discerned in the cluster;
one event, when a single-event control-change trend is discerned in the cluster; and
two events, when a two-event control-change trend is discerned in the cluster.

### Claim 10 (depends on 1)

The intelligent controller of claim 1 wherein the instructions propagate the updated monitoring-period schedule to additional time periods within the control schedule by:
selecting, according to one or more rules, one or more additional time periods within the control schedule related to the time period of the updated monitoring-period schedule; and
to each of the selected time periods,
copying setpoints corresponding to immediate-control inputs of the provisional monitoring-period schedule onto a portion of the control schedule corresponding to the selected time period, and
resolving the portion of the control schedule corresponding to the selected time period.

### Claim 11 (depends on 10)

The intelligent controller of claim 10 wherein resolving the portion of the control schedule corresponding to the selected time period further comprises:
applying, to each copied setpoint, one or more rules that result in one of
deleting the copied setpoint,
deleting an existing setpoint,
moving either the copied setpoint or another setpoint in time, and
no change to the copied setpoint.

### Claim 12 (depends on 1)

The intelligent controller of claim 1 further comprising:
at least three phases of control-schedule learning implemented by instructions stored in the memory, including
an initial phase,
at least one aggressive-learning phase, and
one or more steady-state learning phases.

### Claim 13 (depends on 12)

The intelligent controller of claim 12
wherein, during the aggressive-learning phase, learning parameters are provided values to encourage frequent, additional immediate-control inputs; and
wherein, during the steady-state learning phase, learning parameters are provided values to discourage frequent, additional immediate-control inputs.

### Claim 14 (depends on 1)

The intelligent controller of claim 1 wherein the intelligent controller controls one or more of:
an HVAC unit;
a furnace;
an air conditioner;
a heat pump;
an irrigation system;
a pump;
a fan;
one or more light sources;
a machine;
a device;
an organization; and
a system.

### Claim 15 (depends on 1)

The intelligent controller of claim 1 wherein the setpoints of the control schedule specify one or more of:
temperature;
flow rate of a liquid or gas;
rate of energy dissipation;
pressure;
current density;
voltage;
a machine setting;
a position of a machine component;
a computational state;
a mechanical state; and
process throughput.

### Claim 16

An intelligent controller comprising:
a processor;
a memory;
a schedule interface;
a control interface; and
instructions stored within the memory that, when executed by the processor,
acquire an initial control schedule and store the initial control schedule in memory as a current control schedule,
during an aggressive-learning phase, modify the current control schedule based on immediate-control inputs received through the control interface and schedule changes received through the schedule interface, and
during a steady-state learning phase, modify the current control schedule based on immediate-control inputs received through the control interface, schedule changes received through the schedule interface, and historical control schedules.

### Claim 17 (depends on 16)

The intelligent controller of claim 16 wherein, during the aggressive-learning phase and the steady-state learning phase, the intelligent controller
receives immediate-control inputs through the control interface during a monitoring period and records the received immediate-control inputs in memory;
receives schedule changes through the schedule interface during the monitoring period and records received schedule changes of at least one type in the memory;
generates an updated monitoring-period schedule, after the monitoring period, based on the recorded immediate-control inputs, recorded schedule changes, and the current control schedule;
substitutes the updated monitoring-period schedule for a portion of the current control schedule corresponding to the monitoring period; and
propagates the updated monitoring-period schedule to additional time periods within the current control schedule.

### Claim 18 (depends on 17)

The intelligent controller of claim 17 wherein the intelligent controller generates an updated monitoring-period schedule, after the monitoring period, based on the recorded immediate-control inputs, recorded schedule changes, and the current control schedule by:
combining the recorded immediate-control inputs, recorded schedule changes, and setpoints of the current control schedule to produce a provisional schedule;
clustering the immediate-control inputs, schedule changes, and setpoints of the provisional schedule into one or more clusters;
resolving the one or more clusters within the provisional schedule; and
generating the updated monitoring-period schedule from the resolved clusters of the provisional schedule.

### Claim 19

A method that automatically learns a control schedule implemented within an intelligent controller that includes one or more processors and one or more memories, the method comprising:
acquiring an initial control schedule and storing the initial control schedule in one of the one or more memories as a current control schedule;
during each of a set of successive monitoring periods,
receiving immediate-control inputs through a control interface and recording the received immediate-control inputs in one of the one or more memories, and
receiving schedule changes through a schedule interface and recording the received schedule changes of at least one type in the memory; and
after each of the set of successive monitoring periods,
generating an updated monitoring-period schedule based on the recorded immediate-control inputs, the recorded schedule changes, and the current control schedule,
substituting the updated monitoring-period schedule for a portion of the current control schedule corresponding to the monitoring period, and
propagating the updated monitoring-period schedule to additional time periods within the current control schedule.

### Claim 20 (depends on 19)

The method of claim 19 further including:
acquiring an initial control schedule and storing the initial control schedule in one of the one or more memories as a current control schedule,
during an aggressive-learning phase, modifying the current control schedule based on immediate-control inputs received through a control interface and schedule changes received through a schedule interface, and
during a steady-state learning phase, modifying the current control schedule based on immediate-control inputs received through the control interface, schedule changes received through the schedule interface, and historical control schedules.
